Professional Documents
Culture Documents
Unified Modeling Language
Unified Modeling Language
Modeling
Modeling is a way of thinking about the problems using models
organized around the real world ideas.
A modeling method comprises a language and also a procedure for using
the language to construct models.
Modeling is the only way to visualize your design and check it against
requirements before your crew starts to code.
Elements
Four basic types of elements:
Structural
Behavioral
Grouping
Annotation
Relationships
Four basic types of relationships:
Dependency, a semantic relationship between two elements in which a
change to one element (independent element) may affect the meaning of
another (dependent element). Given as a directed dashed line
Associations, a structural relationship describing a set of links, links are
connections between objects, aggregation is a special type of association
depicting the whole-part relationship, association is presented as a solid
line, possibly directed, labeled and with adornments (multiplicity and role
names)
Generalization, a relationship in which objects of a specialized element
(child) are substitutable for objects of a generalized element (parent),
rendered graphically as a solid line with hollow arrowhead pointing to the
parent.
Realization, a semantic relationship between elements, wherein one
element specifies a contract and another guarantees to carry out this
contract, graphically depicted as a dashed arrow with hollow head, a cross
between dependency and generalization.
Diagrams
A diagram is a graph presentation of a set of elements and relationships where
nodes are elements
edges are relationships
UML is characterized by nine major diagrams:
class
object
use case
sequence
collaboration
state chart
activity
component
deployment
Class Diagrams
Class Diagrams describe the static structure of a system, or how it is structured
rather than how it behaves. These diagrams contain the following elements.
• Classes, which represent entities with common characteristics or features.
These features include attributes, operations and associations
• Associations, which represent relationships that relate two or more other
classes where the relationships have common characteristics or features.
These attributes and operations.
Class Notation
Basic notation: a solid-outline rectangle with three compartments separated by
horizontal lines.
Three compartments:
top compartment holds the class name and other general properties of the class
middle compartment holds a list of attributes
bottom compartment holds a list of operations
Class Relationships
Four relationships between classes:
association
aggregation
generalization
dependency
Multiplicities Syntax
Value Description
0..0 zero
0..1 Zero or one
0..* Zero or more
1..1 one
1..* One or more
* Unlimited number
<literal> Exact number (eg. 4)
<literal>_* Exact number or more (eg: 4..*
indicates 4 or more
<literal>_<literal> specified range (eg: 4..13)
<literal>_<literal>,<literal> Specified range or exact number
(4..13,31 indicating 4 through 13 and
31
<literal>_<literal>,<literal>_<literal> Multiple specified ranges
(eg:4..13,31..41)
Sequence Diagram
Sequence Diagrams describe interactions among classes. These interactions are
modeled as exchange of messages. These diagrams focus on classes and the
messages they exchange to accomplish some desired behavior. Sequence diagrams
are a type of interaction diagrams. Sequence diagrams contain the following
elements:
• Class roles, which represent roles that objects may play within the
interaction.
• Lifelines, which represent the existence of an object over a period of time.
• Activations, which represent the time during which an object is performing
an operation.
• Messages, which represent communication between objects.
Collaboration Diagrams
Collaboration Diagrams describe interactions among classes and associations.
These interactions are modeled as exchanges of messages between classes through
their associations. Collaboration diagrams are a type of interaction diagram.
Collaboration diagrams contain the following elements.
• Class roles, which represent roles that objects may play within the
interaction.
• Association roles, which represent roles that links may play within the
interaction.
• Message flows, which represent messages sent between objects via links.
Links transport or implement the delivery of the message.
Collaboration Diagram Example
Activity Diagrams
Activity diagrams describe the activities of a class. These diagrams are similar to
state chart diagrams and use similar conventions, but activity diagrams describe the
behavior of a class in response to internal processing rather than external events as
in state chart diagram.
• Swim lanes, which represent responsibilities of one or more objects for
actions within an overall activity; that is, they divide the activity states into
groups and assign these groups to objects that must perform the activities.
• Action States, which represent atomic, or noninterruptible, actions of
entities or steps in the execution of an algorithm.
• Action flows, which represent relationships between the different action
states of an entity.
• Object flows, which represent the utilization of objects by action states and
the influence of action states on objects.
Activity Diagram Example
Component diagrams
Component diagrams describe the organization of and dependencies among
software implementation components. These diagrams contain components, which
represent distributable physical units, including source code, object code, and
executable code.