Categorieën: Alle - visualization - modeling - interaction - architecture

door Hend Khalid 13 jaren geleden

545

UML Basics

UML, or Unified Modeling Language, serves as a versatile tool for visualizing, specifying, constructing, and documenting the various artifacts of software-intensive systems, such as requirements, architecture, design, source code, and test cases.

UML Basics

UML Basics

diagrams (nodes are elements, edges are relationships)

static deployment view
deployment

is related to component diagram w/ nodes hosting one or more components

shows configuration of run-time processing nodes and the components hosted on them

static implementation view

shows how components map to one or more class, interface and collaborations

shows the organization and dependencies amongst a set of components

dynamic view
activity

for modeling system's functions

shows control/data flows from activity to another

statechart

emphasizes the event-driven ordering

shows state machine consisting of states, transitions, events and activities

interaction diagrams

shows structural organization of objects that send & receive msgs

sequence

emphasis on the chronological ordering of messages

set of objects and the messages sent and received by them

static view
object

static snapshot of element instances found in class diagram

organizing and modeling the external behaviour of the system

relationships

realization
dashed arrow w/ hollow head
two basic scenarios

use cases Vs realizing collaborations

interfaces Vs realizing classes/components

one element specifies a contract and another guarantees to carry it out
generalization
solid line w/ hollow arrowhead pointing to parent
child share the structure/behaviour of the parent
objects of a specialized element (child) are substitutable for objects of a generalized element (parent)
associations
solid line labelled w/ adornments (multiplicity and role names)
aggregation is a special type of it
describing a set of links bw objects
dependency
directed dashed line (w/ label)
a change in one element may affect the meaning of another

UML background

UML goals
recommended with processes:
incremental
iterative
architecture-centic
use case driven
UML is process independent
what is UML?
fo modeling: enterprise info. systems, distributed web-based, real time embedded etc.
language for visualizing, specifying, constructing and documinting artifacts of sw-intensive systems

artifacts: requi. architecture, design, source code, test cases etc.

unified modeling language
modeling principles
why model?
modeling
providing a bluprint of a system
representation or simplification of reality

elements

annotation
rectangle with dog-eared corner
comments (text and graphical) added to models for better explanation
note
grouping
tabbed folder
conceptual, only available at development time
organizes diagrams
package of classes or components
behavioural

state machine

rounded rectangle with a name and sub-states

includes a number of elements

activities

events

transition

states

a sequance of states an object or interacton goes through during its lifetime

interaction

an arrow

involve a number of other elements

links (connection bw obj)

action sequences (behaviour invoked by a message)

messages

a set of messages exchanged among a set of objects

verb
structural
kinds

node

cube

may contain a set of components that may migrate from one node to another

represents a computational resource w/memory and processing capacity

a physical element exists at run time

component

repreasents a physical packaging of logical elements such as classes, interfaces and collaborations

repreasents deployment components (COM+ java beans)

physical replaceable part of a system (app, files,libraries, pages, tables)

active class

drawn like a class but w/ thick line

a class whose objects have concurrent behaviour w/ other objects

a class whose objects own one or more processe and can initiate an action

collaboration

named ellipse drawn w/ a dashed line

interaction bw elements

interface

circle with name

defines a set of operations but not their implem.

describes the externally visible behaviour of a class

operations that specifies a service of a class

class

rectangle

use case

named (verb) ellipse drawn w/solid line

used to stucture the behavioural elements in a model

description of sequence of actions a sys performs to deliver results to an actor

noun
static part, represent conceptual elements