UML Basics
elements
structural
static part, represent conceptual elements
noun
kinds
use case
description of sequence of actions a sys performs to deliver results to an actor
used to stucture the behavioural elements in a model
named (verb) ellipse drawn w/solid line
class
rectangle
interface
operations that specifies a service of a class
describes the externally visible behaviour of a class
defines a set of operations but not their implem.
circle with name
collaboration
interaction bw elements
named ellipse drawn w/ a dashed line
active class
a class whose objects own one or more processe and can initiate an action
a class whose objects have concurrent behaviour w/ other objects
drawn like a class but w/ thick line
component
physical replaceable part of a system (app, files,libraries, pages, tables)
repreasents deployment components (COM+ java beans)
repreasents a physical packaging of logical elements such as classes, interfaces and collaborations
node
a physical element exists at run time
represents a computational resource w/memory and processing capacity
may contain a set of components that may migrate from one node to another
cube
behavioural
verb
kinds
interaction
a set of messages exchanged among a set of objects
involve a number of other elements
messages
action sequences (behaviour invoked by a message)
links (connection bw obj)
an arrow
state machine
a sequance of states an object or interacton goes through during its lifetime
includes a number of elements
states
transition
events
activities
rounded rectangle with a name and sub-states
grouping
package of classes or components
organizes diagrams
conceptual, only available at development time
tabbed folder
annotation
note
comments (text and graphical) added to models for better explanation
rectangle with dog-eared corner
UML background
modeling
representation or simplification of reality
providing a bluprint of a system
why model?
modeling principles
what is UML?
unified modeling language
language for visualizing, specifying, constructing and documinting artifacts of sw-intensive systems
artifacts: requi. architecture, design, source code, test cases etc.
fo modeling: enterprise info. systems, distributed web-based, real time embedded etc.
UML is process independent
recommended with processes:
use case driven
architecture-centic
iterative
incremental
UML goals
relationships
dependency
a change in one element may affect the meaning of another
directed dashed line (w/ label)
associations
describing a set of links bw objects
aggregation is a special type of it
solid line labelled w/ adornments (multiplicity and role names)
generalization
objects of a specialized element (child) are substitutable for objects of a generalized element (parent)
child share the structure/behaviour of the parent
solid line w/ hollow arrowhead pointing to parent
realization
one element specifies a contract and another guarantees to carry it out
two basic scenarios
interfaces Vs realizing classes/components
use cases Vs realizing collaborations
dashed arrow w/ hollow head
diagrams
(nodes are elements, edges are relationships)
static view
use case
organizing and modeling the external behaviour of the system
class
object
static snapshot of element instances found in class diagram
dynamic view
interaction diagrams
sequence
set of objects and the messages sent and received by them
emphasis on the chronological ordering of messages
collaboration
shows structural organization of objects that send & receive msgs
statechart
shows state machine consisting of states, transitions, events and activities
emphasizes the event-driven ordering
activity
shows control/data flows from activity to another
for modeling system's functions
static implementation view
component
shows the organization and dependencies amongst a set of components
shows how components map to one or more class, interface and collaborations
static deployment view
deployment
shows configuration of run-time processing nodes and the components hosted on them
is related to component diagram w/ nodes hosting one or more components