The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
IT1206 Object Oriented Analysis And Design-L6
1. Object Oriented
Analysis and
Design L6
IT1206
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
1
Sameera
Gunathilaka
Lead Software
Engineer
ERP Technical
Consultant
2. What is a
UML Diagram
UML is a way of visualizing a
software program using a
collection of diagrams
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 2
3. UML
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 3
UML is a standard language for specifying, visualizing, constructing,
and documenting the artifacts of software systems
UML was created by the Object Management Group (OMG) and UML
1.0 specification draft was proposed to the OMG in January 1997.
4. What is Meant by UML?
UML stands for Unified
Modelling Language.
UML 2.0 helped extend the
original UML specification to
cover a wider portion of
software development efforts
including agile practices.
The original UML specified nine
diagrams; UML 2.x brings that
number up to 13
UML is different from the other
common programming
languages such as C++, Java,
COBOL
5. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 5
6. A picture is
worth a
thousand
words
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 6
7. The key to making a UML diagram is
connecting shapes that represent
an object or class with other shapes
to illustrate relationships and the
flow of information and data
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
7
8. Types of UML
Diagrams
(Modelling Types)
Structural UML
diagrams
Class diagram
Package diagram
Object diagram
Component diagram
Composite structure
diagram
Deployment diagram
Behavioural UML
diagrams
Activity diagram
Sequence diagram
Use case diagram
State diagram
Communication diagram
Interaction overview
diagram
Timing diagram
9. Types of UML
Diagrams
(Modelling Types)
Structural UML
diagrams
Package diagram
Object diagram
Component diagram
Composite structure
diagram
Deployment diagram
Behavioural UML
diagrams
Activity diagram
Sequence diagram
Use case diagram
State diagram
Communication diagram
Interaction overview
diagram
Timing diagram
10. Object Oriented Analysis and Design Using UML
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
10
Requirement
Specification
11. Object Oriented Analysis and Design Using UML
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
11
Documents
12. Use Case Diagram
Use case diagrams are typically developed in the early stage of
development and people often apply use case modeling for the
following purposes:
• Specify the context of a system
• Capture the requirements of a system
• Validate a systems architecture
• Drive implementation and generate test cases
• Developed by analysts together with domain experts
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
12
13. Use Case
Diagram at a
Glance
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 13
14. Actor
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
14
• Actors may represent roles played by human users, external hardware, or
other subjects
• Named by noun.
• Actor plays a role in the business
• Similar to the concept of user, but a user can play different roles
• For example:
• A prof. can be instructor and also researcher
• plays 2 roles with two systems
• Actor triggers use case(s).
• Actor has a responsibility toward the system (inputs), and Actor has
expectations from the system (outputs).
15. How to Identify Actor
• Who uses the system?
• Who installs the system?
• Who starts up the system?
• Who maintains the system?
• Who shuts down the system?
• What other systems use this system?
• Who gets information from this system?
• Who provides information to the system?
• Does anything happen automatically at a present time?
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
15
16. Use Case
• System function (process - automated or manual)
• Named by verb + Noun (or Noun Phrase).
• i.e. Do something
• Each Actor must be linked to a use case, while some use cases may
not be linked to actors.
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
16
17. How to Identify Use Cases?
• What functions will the actor want from the system?
• Does the system store information? What actors will create, read,
update or delete this information?
• Does the system need to notify an actor about changes in the internal
state?
• Are there any external events the system must know about? What
actor informs the system of those events?
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
17
18. Communication Link
• The participation of an actor in a use case is shown by connecting an
actor to a use case by a solid link.
• Actors may be connected to use cases by associations, indicating that
the actor and the use case communicate with one another using
messages.
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
18
19. Boundary of system
IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
19
• The system boundary is potentially the entire system as defined in the
requirements document.
• For large and complex systems, each module may be the system
boundary.
• For example, for an ERP system for an organization, each of the
modules such as personnel, payroll, accounting, etc.
• can form a system boundary for use cases specific to each of these
business functions.
• The entire system can span all of these modules depicting the overall
system boundary
20. Structuring
Use Case
Diagram with
Relationships
Extends Relationship
The <<extend>> relationship is used to include
optional behavior from an extending use case in an
extended use case
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 20
21. Structuring
Use Case
Diagram with
Relationships
Include Relationship
The include relationship adds additional functionality
not specified in the base use case. The <<Include>>
relationship is used to include common behavior from
an included use case into a base use case in order to
support the reuse of common behavior.
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 21
22. Structuring
Use Case
Diagram with
Relationships
Generalization Relationship
A generalization relationship means that a child use
case inherits the behavior and meaning of the
parent use case
IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka - OOAD 22
23. IT1206 - Institute of Technology, University of Moratuwa
Sameera Gunathilaka - OOAD
23
24. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 24
25. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 25
26. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 26
27. IT1206 - Institute of Technology, University of Moratuwa Sameera Gunathilaka -
OOAD 27