The Unified Modeling Language (UML) is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development.UML combines techniques from data modeling (entity relationship diagrams), business modeling (work flows), object modeling, and component modeling.
3. UML - language and notation for specification,
construction,
visualisation and documentation of models of software
systems.
UML is not:
◦ programming language
◦ a CASE tool
◦ method
UML modelling language.
Methods: modelling language + process
Modelling language : Notation that methods use to
express design
Process: Steps in doing a design
Associate with UML is Unified Software Development
Process.
Object Management Group an industry standards body
requested
standard object modelling language (1996).
UML: Developed by Grady Booch, Ivar Jacobson, James
Rumbaugh Collaberos: "We Create Professionals" 3
7. Use case:
Describes a task that a user can perform using the
system.
Describes requirements for the system
Task described by a use case is composed of activities
Use case can have different variations called scenarios
Should not be used for functional decomposition !
Actors:
Actor is an external entity which is involved in the
interaction with the system described in a use case.
Actors = roles
Actors can be also dialogs, and external systems
Collaberos: "We Create Professionals" 7
8. Generalisation and specialisation of actors
Collaberos: "We Create Professionals" 8
9. Use Case Diagrams
Shows the relationships between a set of use cases and
the actors involved in these use cases.
◦ Tool for requirement determination
◦ Use case describes those activities which are to be
supported by the software under development
Relationships between use cases
◦ Include: base use case includes the functionality of
included use case
◦ Extend: a use case is optionally extended by
functionality of
another use case
◦ Generalisation: sub use case inherits behaviour and
semantics from super use cases
Collaberos: "We Create Professionals" 9
12. Class Attributes:
Represent named properties of a UML class
Attribute declaration may include visibility, type and
initial
value: +attributeName : type = initial-value
Class Operations:
Represent named services provided by a UML class
Operation may include visibility, parameters, and return
type: +opName(param1 : type = initial_value) : return-
type
Class Visibility:
Three levels of class, attribute and operation visibility:
Private (-), available only to the current class
Protected (#), available to the current and inherited
classes
Public (+), available to the current and other classes
Collaberos: "We Create Professionals" 12
13. Collaberos: "We Create Professionals" 13
Class Objects:
Each class represents a set of objects that share the same attributes,
operations, relationships, and semantics
14. Represent a relation between a parent (a more
abstract class) and a child (a more specific class)
Generally referred to as a “is-a-kind-of” relationship
Child objects may be used instead of parent objects
since
they share attributes and operations; the opposite is
not true
Collaberos: "We Create Professionals" 14
15. Represent a structural relationship between class objects
and may be used to navigate between connected objects
Association can be binary, between two classes, or n-ary,
among more than two classes
Can include association name, direction, role names,
multiplicity, and aggregation type
Collaberos: "We Create Professionals" 15
16. Represent a specific, whole/part structural relationship
between class objects
Composition (closed diamond) represents exclusive
relationship between two class objects (e.g., a faculty
cannot exist without nor be a part of more than one
university)
Aggregation (open diamond) represents nonexclusive
relationship between two class objects (e.g., a student is a
part of one or more faculties)
Collaberos: "We Create Professionals" 16
18. Represent interaction between class
objects based on conditions and
operations
Can also represent a use case scenario of
interaction between actors and the system
Two main subtypes: sequence and
collaboration diagrams
Sequence diagrams emphasize the
temporal order of interaction and show
lifetime of each object
Collaberos: "We Create Professionals" 18
24. Shows an example of objects with slots and links that could be
instantiated from defined classes and relationships
Validates class diagrams
Collaberos: "We Create Professionals" 24
25. Decomposes system into logical units of work
Describe the dependencies between logical units of work
Provide views of a system from multiple levels of abstraction
Collaberos: "We Create Professionals" 25
26. Shows the internal structure of a classifier, including its interaction
points to other parts of the system
More useful for modeling hardware, real-time systems,integrated
device modeling
Collaberos: "We Create Professionals" 26
27. Shows a procedural flow for a process
Useful for workflow modeling
Supports parallel behavior for multithreaded programming
Collaberos: "We Create Professionals" 27
29. Provides an alternative view to the sequence diagram in a format
based on structure rather than time
Emphasizes how objects interact with each other
More efficient use of space
Collaberos: "We Create Professionals" 29
30. Describes how an object changes its state that govern its
behavior in response to stimuli from the environment
A statechart diagram is a finite automaton extended with
Output (combinaton of Moore and Mealy automaton)
Collaberos: "We Create Professionals"
30
34. Describes the configuration of hardware in a system in
terms of nodes and connections
Describes the physical relationships between software and
hardware
Displays how artifacts are installed and move around a
distributed system
Collaberos: "We Create Professionals" 34
35. http://www.objectsbydesign.com
– UML and OO links, forums, and
resources
http://www.devx.com/uml/
– UML developer zone
http://www.sdmagazine.com/
– Magazine with many UML related
articles
http://www.omg.org
– The UML Specification and other UML
resources
Collaberos: "We Create Professionals" 35