uml explained step bystep
TRANSCRIPT
![Page 1: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/1.jpg)
Presenter : Waseem khan
1
![Page 2: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/2.jpg)
What is UML? Motivations for UML Types of UML diagrams UML Syntax Descriptions of the various diagram types Tools for UML
2
![Page 3: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/3.jpg)
A standardized, graphical “modeling language” for communicating software design.
Prototyping is used in some industries which have problems
Allows implementation-independent specification of:◦ user/system interactions (required behaviors)◦ partitioning of responsibility (OO)◦ integration with larger or existing systems◦ data flow and dependency◦ operation orderings (algorithms)◦ concurrent operations
3
![Page 4: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/4.jpg)
UML is a fusion of ideas from several precursor modeling languages.
We need a modeling language to:◦ help develop efficient, effective and correct designs,
particularly Object Oriented designs.◦ communicate clearly with project stakeholders
(concerned parties: developers, customer, etc).◦ give us the “big picture” view of the project.
4
![Page 5: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/5.jpg)
There are different types of UML diagram, each with slightly different syntax rules:◦ use cases.◦ class diagrams.◦ sequence diagrams.◦ package diagrams.◦ state diagrams◦ activity diagrams◦ deployment diagrams.
5
![Page 6: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/6.jpg)
Actors: Indicates an interface (point of interaction) with the system.
Boxes: Used variously throughout UML to indicate discrete elements, groupings and containment.
Arrows: All manner of things, depending on which particular type of UML diagram they’re in. Usually, arrows indicate flow, dependency, association or generalization.
Cardinality: shows numerical relationships between elements in a model.
Stereotypes: allow us to extend the semantics of UML with English denoted by <<>>
6
![Page 7: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/7.jpg)
A use case encodes a typical user interaction with the system. In particular, it:◦ captures some user-visible function.◦ achieves some concrete goal for the user.
A complete set of use cases largely defines the requirements for your system.
7
![Page 8: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/8.jpg)
8
![Page 9: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/9.jpg)
9
![Page 10: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/10.jpg)
Motivated by Object-Oriented design and programming (OOD, OOP).
A class diagram partitions the system into areas of responsibility (classes), and shows “associations” (dependencies) between them.
Attributes (data), operations (methods), constraints, part-of (navigability) and type-of (inheritance) relationships, access, and cardinality (1 to many) may all be noted.
10
![Page 11: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/11.jpg)
11
![Page 12: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/12.jpg)
12
What is a Class Diagram?
• A class diagram is a view of the static structure of a system– Models contain many class diagrams
• Class diagrams contain:– Packages, classes, interfaces, and relationships
• Notation:
Package Name
Class NameInterface Name
<<Interface>>
![Page 13: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/13.jpg)
13
Relationships
• Class diagrams may contain the following relationships:– Association, aggregation, dependency, realize, and
inheritance
• Notation:
Association Aggregation Dependency
Inheritance Realize
![Page 14: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/14.jpg)
14
Class Relationships
![Page 15: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/15.jpg)
15
Zero or more0..*
One or more1..*
Zero or one0..1
Specified range2..7
Exactly one1
Multiplicity Indicators
• Each end of an association or aggregation contains a multiplicity indicator– Indicates the number of objects participating in the
relationship
![Page 16: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/16.jpg)
16
Multiplicity Indicators
![Page 17: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/17.jpg)
Sequence diagram describe algorithms, though usually at a high level
the operations in a useful sequence diagram specify the “message passing” (method invocation) between objects (classes, roles) in the system.
May in principle be used at the same three levels as class diagrams, though the specification level will usually be most useful.
At implementation level one must use pseudo code
17
![Page 18: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/18.jpg)
18
![Page 19: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/19.jpg)
A type of class diagram, package diagrams show dependencies between high-level system component.
A “package” is usually a collection of related classes, and will usually be specified by it’s own class diagram.
The software in two distinct packages is separate; packages only interact through well-defined interfaces, there is no direct sharing of data or code.
Not all packages in a system’s package diagram are new software; many packages (components) in a complex system are often already available as existing or off-the-shelf software.
19
![Page 20: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/20.jpg)
20
![Page 21: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/21.jpg)
21
Deployment Diagram
A deployment diagram is useful for showing how your software will be deployed on hardware. It may show how your system will integrate with existing systems in the domain.
![Page 22: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/22.jpg)
State diagrams: similar in function to sequence diagrams, but with focus on the prerequisites for an operation, rather than the exact sequence of actions.
Activity diagram : is another important diagram in UML to describe dynamic aspects of the system.
Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system.
22
![Page 23: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/23.jpg)
23
![Page 24: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/24.jpg)
UML collaboration/communication diagrams like UML sequence diagrams,
Used to explore the dynamic nature of your software.
Collaboration diagrams show the message flow between objects in an OO application, and also imply the basic associations (relationships) between classes
24
![Page 25: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/25.jpg)
25
![Page 26: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/26.jpg)
Rational Rose Microsoft Visio
26
![Page 27: Uml Explained Step ByStep](https://reader031.vdocuments.mx/reader031/viewer/2022030318/58f1b46d1a28ab22678b461f/html5/thumbnails/27.jpg)