صفحه 1:
Analysis and Design
with UML
صفحه 2:
What is the UML?
UML stands for Unified Modeling Language
The UML combines the best of the best from
Data Modeling concepts (Entity Relationship Diagrams)
Business Modeling (work flow)
Object Modeling
وستاع ه81 خعمهمهوع
The UML is the standard language for visualizing,
specifying, constructing, and documenting the
artifacts of a software-intensive system
معط اجمطوتم بط رععععم»هس اج ات 0عوته عظ صهه ۲۲
development life cycle, and across different
implementation technologies
صفحه 3:
UML Concepts
= The UML may be used to:
Display the boundary of a system & its major
functions using use cases and actors
Cee me Cee ا ane
diagrams
Represent a static structure of a system using
class diagrams
Model the behavior of objects with state
transition diagrams
Reveal the physical implementation architecture
with component & deployment diagrams
Extend your functionality with stereotypes
5501000
صفحه 4:
Putting the UML to Work
"= The ESU University wants to computerize their
registration system
- The Registrar sets up the curriculum for a semester
0 ل ter
1 ا 2 meet cet)
Prats
1۳ tse oe Rr onCccmms Ce Tint,
| Tite nC eta re ich B Crary
semester
- Students may use the system to add/drop courses for a
period of time after registration
- Professors use the system to receive their course offering
Bey
io oa cect tae oe ا
Po Nt even etic tity
Cees cette tor tee
oan ©
صفحه 5:
Actors
An actor is someone or some thing that must
interact with the system under development
i
a 8 9
مه
Crome
10 ett ee Co eee 1
صفحه 6:
Use Cases
= A use case is a pattern of behavior the
0
- Each use case is a sequence of related
transactions performed by an actor and the
system in a dialogue
= Actors are examined to determine their
needs
- Registrar -- maintain the curriculum
- Professor -- pea roster
Cent تأستهممد -- غصع4ك4
RG) 0 وصنلانط - ig System
Co) Mt ene ea Coton as 2
صفحه 7:
Documenting Use Cases
= A flow of events document is created for each
use cases
- Written from an actor point of view
Lee CMMI ACC Cc Ul Cm Rem AIT
Pe K amma ات
۰ ری contents
كله اسه كماد ععقه مكنا عط ه110
- Normal flow of events
Seow CeCe mY)
- Exceptional flow of events
صفحه 8:
Maintain Curriculum
Flow of Events
This use case begins when the Registrar logs onto the
Registration System and enters his/her password. The
system verifies that the password is valid (E-1) and prompts
the Registrar to select the current semester or a future
semester (E-2). The Registrar enters the desired semester.
۱ نعل عط غععاعد ما مدو 01م عط عأمرصسممم تصع
activity: ADD, DELETE, REVIEW, or QUIT.
۱ ingeo Cc Be) er Cac Eee GCE Monterey iGo
is performed.
If the activity selected is DELETE, the S-2: Delete a Course
subflow is performed.
If the activity selected is REVIEW, the S-3: Review
ا قلاف Cpe Ce Tuc aT
If the activity selected is QUIT, the use case ends.
10 ett ee Co eee 1
صفحه 9:
Use Case Diagram
Use case diagrams are created to visualize
the relationships between actors and use
cases
= 7
1 Dies
ere
مه
5 10 ett ee Co eee 1
صفحه 10:
Uses and Extends Use Case
Relationships
As the use cases are documented, other use
case relationships may be discovered.
SGC wao iam eMC aus m Atle)
COON aBC ecm Cor Coy
۳ ۱۱ e ل ا CNC el
errant
Cees cette tor tee
صفحه 11:
Use Case Realizations
The use case diagram presents an outside
view of the system
= Interaction diagrams describe how use cases
are realized as interactions among societies
of objects
= Two types of interaction diagrams
- Sequence diagrams
- Collaboration diagrams
02 مد لسع رو 99 6 لوط
صفحه 12:
Sequence Diagram
A sequence diagram displays object
interactions arranged in a time sequence
BS
55 تیه ae [01 sata
aera
9: مه
۲ LO)
اجه سرصی 9
جسسصتتت |
10 ett ee Co eee 1
صفحه 13:
Collaboration Diagram
(can ا ا ال ال ا ال ا ا
interactions organized around objects and
ل ما ععاصنا تما
صفحه 14:
Class Diagrams
= A class diagram shows the existence of
classes and their relationships in the logical
view of a system
= UML modeling elements in class diagrams
- Classes and their structure and behavior
- Association, aggregation, dependency, and
inheritance relationships
- Multiplicity and navigation indicators
- Role names
۳ موق
صفحه 15:
Classes
A class is a collection of objects with common
structure, common behavior, common
relationships and common semantics
= Classes are found by examining the objects in
sequence and collaboration diagram
۱ SCRE ال Mista accy
compartments
™ Classes should be named using the vocabulary
of the domain
- Naming standards should be created
- e.g., all classes are singular nouns starting with a
۳:۱۱ ات
صفحه 16:
ماه
eee
(eect
Classes
Orfeo
5 0ك ered
صفحه 17:
= The behavior of a class is represented by its
Operations
operations
= Operations may be found by examining
Se
| enn
interaction diagrams
eae [۱۳۳
em سح
تست
صفحه 18:
Le WC ور aK Mm Ly
Attributes
attributes
= Attributes may be found by examining class
definitions, the problem requirements, and
by applying domain knowledge
سم
اف هاگ م9
Each course offering
has a number, locations)
and time
02 مد لسع رو 99 6 لوط <a
صفحه 19:
ماه
|
[07
9
aa
بت ۳1
fr 00
سس
eee eee
poe =
۳
0
5 0ك ered 1
صفحه 20:
Relationships
1۳12 ج ۳۳۵۲۱06 وورتجاوطمنا ۵۵0۵ ۲
communication between objects
= Sequence and/or collaboration diagrams are
examined to determine what links between
ا ا ل ا للا مک
behavior -- if two objects need to “talk” there
must be a link between them
= Three types of relationships are:
۳۳۳۰۲ رای ری
- Aggregation
- Dependency
02 مد لسع رو 99 6 لوط
صفحه 21:
Relationships
PURO C EC SCE Be neta nn econ ase ones Cec
Seer CR EOE e Ete nnn ۳/۳ ۳/۹
| CSE ee SCO ON Roce CRE Co tty
PER AOR CTC Bc a rd
- An aggregation is shown as a line connecting the related classes with a diamond
0 gear
A dependency relationship is a weaker form of relationship showing a
امد عممل احعناه مطا معط بمنلووده د فصه غصعناه د جمعماوط ونطعدهتامامر
] semantic knowledge of the supplier
A dependency is shown as a dashed line pointing from the client to the
supplier
9 0 ee or er 1
صفحه 22:
Finding Relationships
= Relationships are discovered by examining
interaction diagrams
- If two objects must “talk” there must be a
pathway for communication
BegarsmnkD oxen
3۳ 4
—
ایح - =
Coen oe ete
صفحه 23:
Relationships
ماه
]
000000 |
۳1
ees)
i
Course 7
1
erecta)
55 10 ett ee Co eee 1
صفحه 24:
Multiplicity and Navigation
Multiplicity defines how many objects
participate in a relationships
- Multiplicity is the number of instances of one class
related to ONE instance of the other class
- For each association and aggregation, there are
two multiplicity decisions to make: one for each
end of the relationship
Although associations and aggregations are
bi-directional by default, it is often desirable
to restrict navigation to one direction
Lee bts rat wea الت ال
added to indicate the direction of the
navigation
عت مم
صفحه 25:
Multiplicity and Navigation
4
00
ماه
۳۹
id)
103
0
یوت
9
٩
0 ee or er
سس
یه
سح
صفحه 26:
Inheritance
د «هعساعط عوتحاعصهناهام 2 كذ معصماتمطص1
superclass and its subclasses
There are two ways to find inheritance: =
لا ”©
Specialization -
Common attributes, operations, and/or =
relationships are shown at the highest
applicable level in the hierarchy
Cees cette tor tee
صفحه 27:
Inheritance
ماه
]
000000
Diora د
Cee aa
oe e—__[e =
3
۱۳" 0
09 7
1
erecta)
55 10 ett ee Co eee 1
صفحه 28:
The State of an Object
= A state transition diagram shows
- The life history of a given class
- The events that cause a transition from one state
16 تعطامسة
0 ا ال ا ل ام Til Cd
= State transition diagrams are created for
objects with significant dynamic behavior
صفحه 29:
State Transition Diagram
00 > سد ]سيد لج
_ 0
2 سح 52
10 ett ee Co eee
صفحه 30:
The Physical World
= Component diagrams illustrate the
(۱ ۱ 22012
software components
= A component may be
- A-source code component
- Arun time components or
- An executable component
151111
oo)
صفحه 31:
Component Diagram
0 ee or er 1
صفحه 32:
Deploying the System
= The deployment diagram shows the
configuration of run-time processing
elements and the software processes living
on them
= The deployment diagram visualizes the
distribution of components across the
Conca tahoe
or & 10 ett ee Co eee 1
صفحه 33:
Deployment Diagram
هه
""
1
cere
03
0 ee or er
صفحه 34:
Extending the UML
Stereotypes can be used to extend the UML
notational elements
= Stereotypes may be used to classify and
extend associations, inheritance
relationships, classes, and components
= Examples:
- Class stereotypes: boundary, control, entity,
utility, exception
- Inheritance stereotypes: uses and extends
- Component stereotypes: subsystem
02 مد لسع رو 99 6 لوط
جم عم