![Page 1: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/1.jpg)
1
An Introduction to theAn Introduction to theUnified ModelingUnified ModelingLanguage (UML)Language (UML)
An Introduction to theAn Introduction to theUnified ModelingUnified ModelingLanguage (UML)Language (UML)
UML seminaras
![Page 2: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/2.jpg)
2
UML in One Sentence
The UML is a graphical language for• visualizing• specifying• constructing• documentingartifacts of a software-intensive
system.
UML seminaras
![Page 3: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/3.jpg)
3
Visualizing• explicit model facilitates
communication• some structures transcend what
can be represented in programming language
• each symbol has well-defined semantics behind it
UML seminaras
![Page 4: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/4.jpg)
4
Specifying
The UML addresses the specification of all important analysis, design, and implementation decisions.
UML seminaras
![Page 5: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/5.jpg)
5
Constructing
• Forward engineering: generation of code from model into programming language
• Reverse engineering: reconstructing model from implementation
• Round-trip engineering: going both ways
UML seminaras
![Page 6: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/6.jpg)
6
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
UML seminaras
![Page 7: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/7.jpg)
7
UML and Blueprints
The UML provides a standard way to write a system’s “blueprints” to account for
•conceptual things (business processes, system functions)
•concrete things (C++/Java classes, database schemas, reusable software components)
UML seminaras
![Page 8: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/8.jpg)
8
Reasons to Model• to communicate the desired
structure and behavior of the system• to visualize and control the system’s
architecture• to better understand the system and
expose opportunities for simplification and reuse
• to manage risk
UML seminaras
![Page 9: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/9.jpg)
9
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
UML seminaras
![Page 10: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/10.jpg)
10
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
UML seminaras
![Page 11: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/11.jpg)
11
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)
UML seminaras
![Page 12: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/12.jpg)
12
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.
UML seminaras
![Page 13: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/13.jpg)
13
Class Notation
Name
Attributes
Operations
UML seminaras
![Page 14: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/14.jpg)
14
Alternative Class Notations
Name
Attributes
Operations
Responsibilities
Name
Attributes
OperationsName
italics abstract
UML seminaras
![Page 15: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/15.jpg)
15
Relationships
connections between classes• dependency• generalization• association
UML seminaras
![Page 16: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/16.jpg)
16
DependencyA 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
handleEvent()
Event
UML seminaras
![Page 17: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/17.jpg)
17
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
RectangleCircle
UML seminaras
![Page 18: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/18.jpg)
18
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.)
CompanyPerson
UML seminaras
![Page 19: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/19.jpg)
19
Association Adornments
• name• role• multiplicity• aggregation• composition
UML seminaras
![Page 20: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/20.jpg)
20
Association Name
describes nature of relationship:
can also show direction to read name:
CompanyPerson works for
CompanyPerson works for
UML seminaras
![Page 21: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/21.jpg)
21
Association Roles
• describe “faces” that classes present to each other within association
• class can play same or different roles within different associations
CompanyPersonemployee
employer
UML seminaras
![Page 22: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/22.jpg)
22
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
CompanyPerson1..*
1
UML seminaras
![Page 23: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/23.jpg)
23
Aggregation
Aggregation is a “whole/part” or “has a” relationship within which one class represents a larger thing that consists of smaller things.
Department
Company
UML seminaras
![Page 24: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/24.jpg)
24
Composition
Composition is a special form of aggregation within which the parts are inseparable from the whole.
Frame
Window
UML seminaras
![Page 25: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/25.jpg)
25
Association Classes
An association class has properties of both an association and a class.
CompanyPerson
JobdescriptiondateHired
salary
UML seminaras
![Page 26: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/26.jpg)
26
InterfacesAn interface is a named collection of operations used to specify a service of a class without dictating its implementation.
Observer
«interface»Observer
update()
UML seminaras
![Page 27: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/27.jpg)
27
Interface RelationshipsAn interface may participate in generalization, association, and dependency relationships.
Observer
Tracker
PeriodicObserver
Observation
UML seminaras
![Page 28: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/28.jpg)
28
RealizationA realization is a relationship between an interface and the class that provides the interface’s services.
A class may realize many interfaces.
Observer
TargetTracker«interface»Observer
update()
UML seminaras
![Page 29: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/29.jpg)
29UML seminaras
![Page 30: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/30.jpg)
30
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
UML seminaras
![Page 31: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/31.jpg)
31
NotesA 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 Mikeon this.
See encrypt.doc
See http://www.softdocwiz.com
UML seminaras
![Page 32: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/32.jpg)
32
StereotypesA stereotype is an extension of the vocabulary of the UML that allows you to create a new kind of “building block” that’s specific to the problem you’re trying to solve.
«interface»Observer
update()
«control»
TargetTrackerHumidity Sensor
UML seminaras
![Page 33: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/33.jpg)
33
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)
UML seminaras
![Page 34: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/34.jpg)
34
Tagged ValuesA 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}
UML seminaras
![Page 35: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/35.jpg)
35
ConstraintsA constraint is an extension of the semantics of one or more model elements which specifies a condition that must be true.
Portfolio
Bank Account
Person
Corporation{secure}
{or}
UML seminaras
![Page 36: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/36.jpg)
36
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 element’s name must be unique within that package.
UML seminaras
![Page 37: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/37.jpg)
37
Sample Package Diagrams
Posting Posting RuleGL Account
General Ledger
Accounting
A/P G/L A/R
UML seminaras
![Page 38: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/38.jpg)
38
Object DiagramAn object diagram shows a set of objects, and their relationships, at a specific point in time.
c: Company
d1: Department
name = “R&D”
p1: Person
ID = “13”
: Contact Info
phone = “411”
UML seminaras
![Page 39: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/39.jpg)
39
ComponentA 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)
UML seminaras
![Page 40: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/40.jpg)
40
Component Notation
Scheduler
-------------------------------------------------------------
signal.cpp
UML seminaras
![Page 41: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/41.jpg)
41UML seminaras
![Page 42: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/42.jpg)
42
NodeA 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.
UML seminaras
![Page 43: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/43.jpg)
43
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.
UML seminaras
![Page 44: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/44.jpg)
44
Deployment Diagram Notation
: kioskdeploysuser.exe
c: consoledeploys
config.exe
s: serverdeploys
dbadmin.exe
: RAID farm
«10-T Ethernet»
«RS-232»
UML seminaras
![Page 45: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/45.jpg)
45UML seminaras
![Page 46: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/46.jpg)
46
Behavioral Diagrams
Used to visualize, specify, construct, document dynamic aspects of system
• use case diagram• sequence diagram• collaboration diagram• statechart diagram• activity diagram
UML seminaras
![Page 47: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/47.jpg)
47
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.
UML seminaras
![Page 48: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/48.jpg)
48
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.
UML seminaras
![Page 49: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/49.jpg)
49
Simple Use Case Diagram
Do
TradeEntry
GenerateReports
UpdatePortfolio
Info
UML seminaras
![Page 50: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/50.jpg)
50
Organizing Use Cases
• packages• generalization• include• extend
UML seminaras
![Page 51: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/51.jpg)
51
Use Case Packages
Packages of use cases can be very useful in assigning work to sub-teams.
Portfolios
CreateNew
Portfolio
ViewPortfolio
AggregatePortfolios
GeneratePortfolioReport
UML seminaras
![Page 52: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/52.jpg)
52
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.
ValidateUser
CheckPassword
PerformRetinalScan
UML seminaras
![Page 53: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/53.jpg)
53
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.
ValidateUser
PlaceOrder
TrackOrder
«include» «include»
UML seminaras
![Page 54: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/54.jpg)
54
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.
ValidateUser
PlaceRushOrder
«extend»
UML seminaras
![Page 55: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/55.jpg)
55UML seminaras
![Page 56: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/56.jpg)
56
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.
UML seminaras
![Page 57: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/57.jpg)
57
Sequence DiagramA 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.
UML seminaras
![Page 58: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/58.jpg)
58
Sequence Diagram Notation
: Ticket Agentc: Client
«create»setItinerary(i)
calculateRoute()route
UML seminaras
![Page 59: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/59.jpg)
59UML seminaras
![Page 60: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/60.jpg)
60
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.
UML seminaras
![Page 61: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/61.jpg)
61
Collaboration Diagram Notation
: Transaction
c: Client
1: «create»
p: ODBCProxy
2: setActions (a,d,o)3: «destroy»
2.1: setValues(d,3,4)2.2: setValues(a,“CO”)
«global»
UML seminaras
![Page 62: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/62.jpg)
62UML seminaras
![Page 63: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/63.jpg)
63
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.
UML seminaras
![Page 64: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/64.jpg)
64
State Notation
Idle
Cooling
Heating
Activating
Active
UML seminaras
![Page 65: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/65.jpg)
65
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.
UML seminaras
![Page 66: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/66.jpg)
66
Entry and Exit ActionsAn 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)
UML seminaras
![Page 67: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/67.jpg)
67
ActivitiesAn 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
UML seminaras
![Page 68: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/68.jpg)
68
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 machine’s execution.
UML seminaras
![Page 69: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/69.jpg)
69UML seminaras
![Page 70: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/70.jpg)
70
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.
UML seminaras
![Page 71: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/71.jpg)
71
State Diagram Carryovers
The following items are common to state diagrams and activity diagrams:
• activities• actions• transitions• initial/final states• guard conditions
Bid plan
Do construction
entry/setLock()
UML seminaras
![Page 72: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/72.jpg)
72
Breaking Up Flows
alternate paths:• branch• mergeparallel flows:• fork• join
UML seminaras
![Page 73: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/73.jpg)
73
BranchingA branch has one incoming transition and two or more outgoing transitions:
Charge creditcard
Hold in will-callMail tickets
[today 7 days before show] [today < 7 days before show]
UML seminaras
![Page 74: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/74.jpg)
74
Merging
A merge has two or more incoming transitions and one outgoing transition:
Customersees show
Mail tickets Customer picksup tickets
UML seminaras
![Page 75: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/75.jpg)
75
Forking
A fork represents the splitting of a single flow of control into two or more concurrent flows of control:
Receive order
Process orderLog order
UML seminaras
![Page 76: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/76.jpg)
76
JoiningA join represents the synchronization of two or more flows of control into one sequential flow of control:
Pay bill
Bill customerReceive product
UML seminaras
![Page 77: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/77.jpg)
77
SwimlanesSwimlanes partition groups of activities based on, for instance, business organizations:
Pay bill
Bill customerReceive product
Customer Billing
UML seminaras
![Page 78: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/78.jpg)
78UML seminaras
![Page 79: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/79.jpg)
79
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:
PlaceOrder
OrderManagement
OrderValidation
«refine»
UML seminaras
![Page 80: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/80.jpg)
80
Analysis ClassesIntroduced 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
UML seminaras
![Page 81: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/81.jpg)
81
Boundary Class• Used to model interactions between
system and its actors and clarify and collect requirements on system’s boundaries
• Often represent windows, screens, APIs
UML seminaras
![Page 82: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/82.jpg)
82
Control Class
• Used to encapsulate control related to specific use case
• Represent coordination, sequencing, transactions, and control of other objects
UML seminaras
![Page 83: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/83.jpg)
83
Entity Class
• Used to model long-lived (possibly persistent) information
• Usually correlates directly to class on class diagram
UML seminaras
![Page 84: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/84.jpg)
84
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)
UML seminaras
![Page 85: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/85.jpg)
85UML seminaras
![Page 86: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/86.jpg)
86
Flow of Data Between Diagrams
Use Case Model
Interaction Model
State Model
Object Model
Classes & Attributes
Events
Operation
Classes
States
Interactions
Classes
Operations
UML seminaras
![Page 87: 1 An Introduction to the Unified Modeling Language (UML) UML seminaras](https://reader035.vdocuments.mx/reader035/viewer/2022062304/56649e685503460f94b64e2d/html5/thumbnails/87.jpg)
87
Flow of Data Between Models
BusinessModel
Use Case Model
Interaction Model
State Model
Object Model
States
Logical Model
ComponentModel
DeploymentModel
BusinessModel
UML seminaras