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