intro to UML

Text-only Preview

Object-oriented Software
Engineering
Introduction to
Unified Modeling
Language
TOPIC FIVE
Software Engineering
1

Unified Modeling
Language

The Unified Modeling Language (UML) is the standard
language for specifying, visualizing, constructing, and
documenting all the work products or artifacts of a software
system.

It unifies the notation of Booch, Rambaugh, and Jacobson,
and augmented with other contributors once submitted to
OMG.

It proposes a standard for technical exchange of models and
designs.
Software Engineering
2

UML is NOT

It is not a method or methodology.

It does not indicate a particular process.

It is not a programming language.
Software Engineering
3

Difference of Terminology
UML
Class
Association
Generalization
Aggregation
B
ooch
Class
Uses
I
nherits
Containing
Coad
Class & Object
I
nstance
Gen S
- pec
Part W
- hole
Connnection
J
acobson
Object
A
cquaintance
I
nherits
Consists of

A
ssociation
Odell
Object T
ype
Relationship
Subtype
Composition
Rambaugh
Class
A
ssociation
Generalizationn
A
ggregation
Shlaer M
/ el or
Object
Relationship
Subtype
n a
/
Software Engineering
4

Model

A model is a pattern of something to be made.

It is a representation of something in the real world.
- They are built quicker and easier that the objects they represent.
- They are used to simulate to better understand the objects they
represent.
- They are modified to evolve as one learns about a task or problem.
- They are used to represent details of the models that one chooses
to see, and others ignored.
- They are representation of real or imaginary objects in any domain.
Software Engineering
5

Four General Elements

Icons

Two-dimensional Symbols

Paths

Strings
Software Engineering
6

Changes in the Models

Level of Abstraction

Degree of Formality

Level of Detail
Software Engineering
7

UML Baseline Diagrams

Use Case Diagrams*

Class Diagrams*

Package Diagrams

Activity Diagrams

State-Transition Diagrams

Sequence Diagrams

Collaboration Diagrams

Deployment Diagrams
Software Engineering
8

Use Case Diagram

Provides a basis of communication between end-users,
stakeholders and developers in the planning of the software
project.

Attempts to model the system environment by showing the
external actors and their connection to the functionality of
the system.
Software Engineering
9

Sample Use Case Diagram
Software Engineering
10