An Introduction to the Unified Modeling Language (UML)

An Introduction to the Unified Modeling Language (UML)

An Introduction to the Unified Modeling Language (UML) Copyright 2000 by Kendall V. Scott 1 UML in One Sentence The UML is a graphical language for visualizing specifying constructing

documenting artifacts of a software-intensive system. Copyright 2000 by Kendall V. Scott 2 Visualizing explicit model facilitates communication some structures transcend what can be represented in programming language each symbol has well-defined semantics behind it

Copyright 2000 by Kendall V. Scott 3 Specifying The UML addresses the specification of all important analysis, design, and implementation decisions. Copyright 2000 by Kendall V. Scott 4

Constructing Forward engineering: generation of code from model into programming language Reverse engineering: reconstructing model from implementation Round-trip engineering: going both ways Copyright 2000 by Kendall V. Scott 5 Documenting Artifacts include:

deliverables, such as requirements documents, functional specifications, and test plans materials that are critical in controlling, measuring, and communicating about a system during development and after deployment Copyright 2000 by Kendall V. Scott 6 UML and Blueprints The UML provides a standard way to write a

systems blueprints to account for conceptual things (business processes, system functions) concrete things (C++/Java classes, database schemas, reusable software components) Copyright 2000 by Kendall V. Scott 7 Reasons to Model to communicate the desired structure and behavior of the system

to visualize and control the systems architecture to better understand the system and expose opportunities for simplification and reuse to manage risk Copyright 2000 by Kendall V. Scott 8 Principles of Modeling choice of models to create very influential as far as how to attack problem and shape solution

every model may be expressed at different levels of precision best models connected to reality no single model is sufficient Copyright 2000 by Kendall V. Scott 9 Structural Diagrams Used to visualize, specify, construct, document static aspects of system class diagram package diagram [not standard UML]

object diagram component diagram deployment diagram Copyright 2000 by Kendall V. Scott 10 Common Uses of Class Diagrams to model vocabulary of the system, in terms of which abstractions are part of the system and which fall outside its boundaries to model simple collaborations (societies of elements that work together to provide

cooperative behavior) to model logical database schema (blueprint for conceptual design of database) Copyright 2000 by Kendall V. Scott 11 Class A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. An attribute is a named property of a class that describes a range of values that instances

of the property may hold. An operation is a service that can be requested from an object to affect behavior. Copyright 2000 by Kendall V. Scott 12 Class Notation Name Attributes Operations

Copyright 2000 by Kendall V. Scott 13 Alternative Class Notations Name Name Attributes Attributes

Name Operations italics abstract Copyright 2000 by Kendall V. Scott Operations Responsibilities 14

Relationships connections between classes dependency generalization association Copyright 2000 by Kendall V. Scott 15 Dependency A dependency is a using relationship within which the change in the specification of one

class may affect another class that uses it. Example: one class uses another in operation Window Event handleEvent() Copyright 2000 by Kendall V. Scott 16 Generalization A generalization is a kind of or is a relationship between a general thing (superclass or parent) and a more specific

thing (subclass or child). Shape Circle Copyright 2000 by Kendall V. Scott Rectangle 17 Association An association is a structural relationship within which classes or objects are connected to each other. (An association between objects

is called a link.) Person Company Copyright 2000 by Kendall V. Scott 18 Association Adornments

name role multiplicity aggregation composition Copyright 2000 by Kendall V. Scott 19

Association Name describes nature of relationship: Person works for Company can also show direction to read name: Person works for

Copyright 2000 by Kendall V. Scott Company 20 Association Roles describe faces that classes present to each other within association class can play same or different roles within different associations Person employee

employer Copyright 2000 by Kendall V. Scott Company 21 Association Multiplicity possible values same as for classes: explicit value, range, or * for many Example: a Person is employed by one Company; a Company employs one or more Persons

Person 1..* 1 Copyright 2000 by Kendall V. Scott Company 22 Aggregation Aggregation is a whole/part or has a relationship within which one class represents

a larger thing that consists of smaller things. Company Department Copyright 2000 by Kendall V. Scott 23 Composition Composition is a special form of aggregation within which the parts are inseparable from the whole. Window

Frame Copyright 2000 by Kendall V. Scott 24 Association Classes An association class has properties of both an association and a class. Person Company Job

description dateHired salary Copyright 2000 by Kendall V. Scott 25 Interfaces An interface is a named collection of operations used to specify a service of a class without dictating its implementation. Observer

interface Observer update() Copyright 2000 by Kendall V. Scott 26 Interface Relationships An interface may participate in generalization, association, and dependency relationships. Tracker Observer

Periodic Observer Observation Copyright 2000 by Kendall V. Scott 27 Realization A realization is a relationship between an interface and the class that provides the interfaces services.

interface Observer TargetTracker Observer update() A class may realize many interfaces. Copyright 2000 by Kendall V. Scott 28

Copyright 2000 by Kendall V. Scott 29 Adornments and Extensibility An adornment is an item, such as a note, that adds text or graphical detail to a model. The UML offers various mechanisms that you can use to extend the official language. stereotypes tagged values constraints Copyright 2000 by Kendall V. Scott

30 Notes A note is a graphical symbol containing text and/or graphics that offer(s) some comment or detail about an element within a model. Check with Mike on this. See http://www. softdocwiz.com

See encrypt.doc Copyright 2000 by Kendall V. Scott 31 Stereotypes A stereotype is an extension of the vocabulary of the UML that allows you to create a new kind of building block thats specific to the problem youre trying to solve. interface Observer

update() control TargetTracker Humidity Sensor Copyright 2000 by Kendall V. Scott 32 UML Standard Stereotypes around 50, including: become (indicates a dependency within

which one object becomes another) enumeration (specifies an enumerated type, including its possible values) utility (indicates a class whose attributes and operations all have class scope) Copyright 2000 by Kendall V. Scott 33 Tagged Values A tagged value is an extension of the properties of a model element that allows you to create new information within the

specification of that element. GL Account {persistent} TargetTracker {release = 2.0} Copyright 2000 by Kendall V. Scott 34 Constraints A constraint is an extension of the semantics

of one or more model elements which specifies a condition that must be true. Portfolio {secure} Person {or} Bank Account Copyright 2000 by Kendall V. Scott Corporation

35 Package A package is a general-purpose mechanism for organizing elements of a model, such as classes or diagrams, into groups. Every element within a model is uniquely owned by one package. Also, that elements name must be unique within that package. Copyright 2000 by Kendall V. Scott 36

Sample Package Diagrams General Ledger Posting GL Account Posting Rule G/L A/R Accounting

A/P Copyright 2000 by Kendall V. Scott 37 Object Diagram An object diagram shows a set of objects, and their relationships, at a specific point in time. c: Company d1: Department name = R&D

: Contact Info phone = 411 p1: Person ID = 13 Copyright 2000 by Kendall V. Scott 38 Component A component is a physical, replaceable part of a system that conforms to, and provides the realization of, a set of interfaces. examples:

dynamic link library (DLL) COM+ component Enterprise Java Bean (EJB) Copyright 2000 by Kendall V. Scott 39 Component Notation -------------------------------------------------------- Scheduler

signal.cpp Copyright 2000 by Kendall V. Scott 40 Copyright 2000 by Kendall V. Scott 41 Node A node is a physical element, which exists at run time, that represents some computation resource.

This resource generally has at least some memory; it often has processing capability. Copyright 2000 by Kendall V. Scott 42 Nodes and Components Components are things that participate in the execution of a system; nodes are things that execute components. A distribution unit is a set of components that have been allocated to a node as a

group. Copyright 2000 by Kendall V. Scott 43 Deployment Diagram Notation : kiosk deploys user.exe 10-T Ethernet

s: server deploys dbadmin.exe c: console deploys config.exe : RAID farm RS-232 Copyright 2000 by Kendall V. Scott 44

Copyright 2000 by Kendall V. Scott 45 Behavioral Diagrams Used to visualize, specify, construct, document dynamic aspects of system use case diagram sequence diagram collaboration diagram statechart diagram activity diagram

Copyright 2000 by Kendall V. Scott 46 Use Case and Actor A use case is a sequence of actions, including variants, that a system performs to yield an observable result of value to an actor. An actor is a coherent set of roles that human and/or non-human users of use cases play when interacting with those use cases. Copyright 2000 by Kendall V. Scott

47 Flows of Events The main flow of events (basic course of action) describes the sunny-day scenario. Each exceptional flow of events (alternate course of action) describes a variant, such as an error condition or an infrequently occurring path. Copyright 2000 by Kendall V. Scott

48 Simple Use Case Diagram Do Trade Entry Generate Reports Update Portfolio Info Copyright 2000 by Kendall V. Scott

49 Organizing Use Cases packages generalization include extend

Copyright 2000 by Kendall V. Scott 50 Use Case Packages Packages of use cases can be very useful in assigning work to sub-teams. Portfolios Create New Portfolio

Aggregate Portfolios View Portfolio Copyright 2000 by Kendall V. Scott Generate Portfolio Report 51 Use Case Generalization You can generalize use cases just like you

generalize classes: the child use case inherits the behavior and meaning of the parent use case, and can add to or override that behavior. Check Password Validate User Copyright 2000 by Kendall V. Scott Perform

Retinal Scan 52 Include You can use the include stereotype to indicate that one use case includes the contents of another use case. This enables you to factor out frequent common behavior. Place Order

include Validate User include Copyright 2000 by Kendall V. Scott Track Order 53

Extend You can use the extend stereotype to indicate that one use case is extended by another use case. This enables you to factor out infrequent common behavior. Validate User extend Place Rush

Order Copyright 2000 by Kendall V. Scott 54 Copyright 2000 by Kendall V. Scott 55 Interaction and Message An interaction is a behavior that comprises a set of messages, exchanged among a set of

objects, to accomplish a specific purpose. A message is the specification of a communication between objects that conveys information, with the expectation that some kind of activity will ensue. Copyright 2000 by Kendall V. Scott 56 Sequence Diagram A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. A lifeline is a vertical dashed line that

represents the lifetime of an object. A focus of control is a tall, thin rectangle that shows the period of time during which an object is performing an action. Copyright 2000 by Kendall V. Scott 57 Sequence Diagram Notation c: Client : Ticket Agent

create setItinerary(i) route Copyright 2000 by Kendall V. Scott calculateRoute() 58 Copyright 2000 by Kendall V. Scott 59

Collaboration Diagram A collaboration diagram is an interaction diagram that emphasizes the organization of the objects that participate in the interaction. A path is a link between objects, perhaps with a stereotype such as local attached. Sequence numbers indicate the time ordering of messages, to one or more levels. Copyright 2000 by Kendall V. Scott 60

Collaboration Diagram Notation c: Client 1: create 2: setActions (a,d,o) 3: destroy global : Transaction p: ODBCProxy 2.1: setValues(d,3,4) 2.2: setValues(a,CO) Copyright 2000 by Kendall V. Scott

61 Copyright 2000 by Kendall V. Scott 62 State, Event, and Signal A state is a condition in which an object can reside during its lifetime while it satisfies some condition, performs an activity, or waits for an event. An event is a significant occurrence that has a location in time and space.

A signal is an asynchronous communication from one object to another. Copyright 2000 by Kendall V. Scott 63 State Notation Idle Heating Activating Active

Cooling Copyright 2000 by Kendall V. Scott 64 State Machine and Transition A state machine is a behavior that specifies the sequences of states that an object goes through in its lifetime, in response to events, and also its responses to those events. A transition is a relationship between two

states; it indicates that an object in the first state will perform certain actions, then enter the second state when a given event occurs. Copyright 2000 by Kendall V. Scott 65 Entry and Exit Actions An entry action is the first thing that occurs each time an object enters a particular state. An exit action is the last thing that occurs each time an object leaves a particular state. Tracking

entry/setMode(onTrack) exit/setMode(offTrack) Copyright 2000 by Kendall V. Scott 66 Activities An activity is an interruptible sequence of actions that an object can perform while it resides in a given state. (Actions are not interruptible.) Tracking do/followTarget

Copyright 2000 by Kendall V. Scott 67 Initial and Final States The initial state is the default starting place for a state machine. The final state indicates the completion of the state machines execution. Copyright 2000 by Kendall V. Scott

68 Copyright 2000 by Kendall V. Scott 69 Why Activity Diagrams? An activity diagram, which resembles a flowchart, is useful for modeling workflows and the details of operations. While an interaction diagram looks at the objects that pass messages, an activity diagram looks at the operations that are

passed among objects. Copyright 2000 by Kendall V. Scott 70 State Diagram Carryovers The following items are common to state diagrams and activity diagrams: activities Bid plan actions transitions Do construction

initial/final states guard conditions entry/setLock() Copyright 2000 by Kendall V. Scott 71 Breaking Up Flows alternate paths: branch merge parallel flows: fork

join Copyright 2000 by Kendall V. Scott 72 Branching A branch has one incoming transition and two or more outgoing transitions: Charge credit card [today 7 days before show]

[today < 7 days before show] Mail tickets Hold in will-call Copyright 2000 by Kendall V. Scott 73 Merging A merge has two or more incoming transitions and one outgoing transition: Customer picks

up tickets Mail tickets Customer sees show Copyright 2000 by Kendall V. Scott 74 Forking A fork represents the splitting of a single flow of control into two or more concurrent flows

of control: Receive order Log order Process order Copyright 2000 by Kendall V. Scott 75 Joining A join represents the synchronization of two

or more flows of control into one sequential flow of control: Receive product Bill customer Pay bill Copyright 2000 by Kendall V. Scott 76 Swimlanes Swimlanes partition groups of activities based

on, for instance, business organizations: Customer Billing Receive product Bill customer Pay bill Copyright 2000 by Kendall V. Scott 77

Copyright 2000 by Kendall V. Scott 78 Organizing Collaborations A collaboration realizes a classifier, such as a class or a use case, or an operation. A collaboration may also refine another one: Place Order Order

Management refine Order Validation Copyright 2000 by Kendall V. Scott 79 Analysis Classes Introduced by Jacobson in his white book (Object-Oriented Software Engineering;

Addison-Wesley, 1992) Used in Analysis workflow of Unified Process Boundary class Control class Entity class Copyright 2000 by Kendall V. Scott 80 Boundary Class Used to model interactions between system and its actors and clarify and collect requirements on systems boundaries

Often represent windows, screens, APIs Copyright 2000 by Kendall V. Scott 81 Control Class Used to encapsulate control related to specific use case Represent coordination, sequencing, transactions, and control of other objects Copyright 2000 by Kendall V. Scott

82 Entity Class Used to model long-lived (possibly persistent) information Usually correlates directly to class on class diagram Copyright 2000 by Kendall V. Scott 83

Robustness Analysis Used to close gap between what (results of use case modeling) and how (detailed design) See Chapter 4 of Use Case Driven Object Modeling with UML (Rosenberg/Scott) Copyright 2000 by Kendall V. Scott 84 Copyright 2000 by Kendall V. Scott

85

Recently Viewed Presentations

  • Waves - Northern Highlands

    Waves - Northern Highlands

    Standing waves are used to store energy at specific frequencies. Musical instruments use standing waves to create sound energy of exactly the right frequency. Radio transmitters and cell phones also use standing waves to create power at specific frequencies.
  • Reporting quantitative data - University of Warwick

    Reporting quantitative data - University of Warwick

    The formed salt must have a very low solubility product Precipitate must be a pure compound (avoid co-precipitation) Precipitate must be easy to filter Why gravimetry is still in use, although time-consuming and challenging: Accurate and precise (if done properly)...
  • Program Developer Dan Olweus  The Olweus Bullying Prevention

    Program Developer Dan Olweus The Olweus Bullying Prevention

    Sample logs: SWG CD Doc. 23 & the TM Tab 4, Doc. 6). 4. Consider attitudes of supervising adults (see SWG, pp. 59-60). All adults are responsible for supervising all children in the school at all times. When they don't,...
  • The Divine Comedy

    The Divine Comedy

    The Organization The basic structural component of The Divine Comedy is the canto. The poem consists of 100 cantos, which are grouped together into three sections, or canticles, Inferno, Purgatorio, and Paradiso. There are 33 cantos in each canticle and...
  • Loan classification and provisioning - Public Documents Search

    Loan classification and provisioning - Public Documents Search

    Definition of "default" is generally 90 days past due (Basel II para 452 and 453) Breach of contract. Economic loss. Carrying value of loan minus PV of cash flow discounted at effective rate. Exposure at default includes future draws.
  • The Major Battles of World War I

    The Major Battles of World War I

    Despite many Canadian casualties, the Allies saved the situation. 2 days later, the Germans released gas on the Canadians. Those in St. Julien were overrun; the Candians in Ypres held on. ... The Major Battles of World War I Last...
  • Brain imaging research in speech motor control and speech ...

    Brain imaging research in speech motor control and speech ...

    It should be added, however, that this equation refers to the RH caudate nucleus, we found a negative rate / response function within LH caudate nucleus. But that must not matter here. As an explanation, John Sidtis in a personal...
  • MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM ...

    MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM ...

    MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 4 File Systems Author: Steve Armstrong Last modified by: Classroom Support Document presentation format: On-screen Show (4:3) Other titles