UML 2015-10-251. What Is the UML? The Unified Modeling Language (UML) is the successor to the wave...
-
Upload
valentine-brown -
Category
Documents
-
view
220 -
download
1
Transcript of UML 2015-10-251. What Is the UML? The Unified Modeling Language (UML) is the successor to the wave...
UML
23/4/20 1
What Is the UML?
• The Unified Modeling Language (UML) is the successor to the wave of object-oriented analysis and design (OOA&D) methods that appeared in the late '80s and early '90s
• It most directly unifies the methods of Booch, Rumbaugh (OMT), and Jacobson
23/4/20 2
• Unified because it …– Combines main preceding OO methods (Booch by Grady Booch, OMT by Jim Rumbaugh and OOSE by Ivar Jacobson)
• Modelling because it is …– Primarily used for visually modelling systems. Many system views are supported by appropriate models
• Language because …– It offers a syntax through which to express modelled knowledge
23/4/20 3
Notations and Meta-Models
• The UML, in its current state, defines a notation and a meta-model
• The notation is the graphical stuff you see in models; it is the syntax of the modeling language
• a meta-model: a diagram, usually a class diagram, that defines the notation
23/4/20 4
UML Ancestry
23/4/20 5
Further (latest) UML Evolution
23/4/20 6
UML Partners
23/4/20 7
UML components
23/4/20 8
UML diagrams
23/4/20 9
UML Diagrams
• Use-Case• Class• Object State• Sequence• Collaboration Activity • Component• Deployment
23/4/20 10
UML Diagram Philosophy
• Any UML diagram:• Depicts concepts
– as symbols• Depicts relationships between concepts
– as directed or undirected arcs (lines)• Depicts names
– as labels within or next to symbols and lines
23/4/20 11
The Main 4 UML Diagrams
• Use-Case• Class• Sequence• State
23/4/20 12
The Other 5 UML Diagrams
• Object• Collaboration• Activity• Component• Deployment
23/4/20 13
UML Relationships
23/4/20 14
Use Case Diagrams
• In addition to introducing use cases as primary elements in software development, Jacobson (1994) also introduced a diagram for visualizing use cases
23/4/20 15
23/4/20 16
• Components: use-cases and actors– a use-case must always deliver a value to an
actor– the aggregate of all use-cases is the system‘s
complete functionality
• Goals:– consolidate system functional requirements– provide a development synchronisation
point– provide a basis for system testing– provide a basic function-class/operation
map
23/4/20 17
• The use case itself is drawn as an oval• The actors are drawn as little stick
figures• The actors are connected to the use
case with lines
23/4/20 18
UCD Components
UCD Relationships
• Association relationship
• Extend relationship
• Include relationship
• Generalisation relationship
23/4/20 19
• Associations• Links actors to their UCs• Use (or include)• Drawn from base UC to used UC, it shows
inclusion of functionality of one UC in another (used in base)
• Extend • Drawn from extension to base UC, it ext-ends
the meaning of UC to include optional behaviour
• Generalisation• Drawn from specialised UC to base UC, it
shows the link of a specialised UC to a more generalised one
23/4/20 20
The UML Class Diagram• there are three perspectives you can use in
drawing class diagrams• Conceptual
– If you take the conceptual perspective, you draw a diagram that represents the concepts in the domain under study
• Specification– You often hear the word "type" used to talk about
an interface of a class; a type can have many classes that implement it, and a class can implement many types.
• Implementation – In this view, we really do have classes and we are
laying the implementation bare
23/4/20 21
A UML Class
• Properties of class diagrams:- Static model;- Models structure and behaviour;- Used as a basis for other diagrams;- Easily converted to an object diagram
23/4/20 22
UML Class Attribute Examples
23/4/20 23
Operations
23/4/20 24
Constraints on Operations
23/4/20 25
Association Examples
23/4/20 26
Association by Aggregation
23/4/20 27
Roles in Aggregation
23/4/20 28
Aggregation and Generalisation
23/4/20 29
UML Packages
• The idea of a package can be applied to any model element, not just classes
• Without some heuristics to group classes together, the grouping becomes arbitrary
23/4/20 30
Examples of UML Packages andtheir Logical Grouping
23/4/20 31
Examples of Relationships between UML Packages
23/4/20 32
Examples of UML PackageImportation
23/4/20 33
Packaging Steps
1. Set the context2. Cluster classes together based on
shared relationships3. Model clustered classes as a package4. Identify dependency relationships
amongst packages5. Place dependency relationships
between packages
23/4/20 34