ASE - 5-3 Object Oriented Analysis and Design PDF
ASE - 5-3 Object Oriented Analysis and Design PDF
BY
DR. L. RANATHUNGA
Requirements specifications
¡ Hard to read
Context Diagram
¡ Specifies users, software, hardware that interface with system
Data-flow Diagrams (DFD)
¡ Useful for technical people but tend to confuse users
¡ Useful in design of non-object-oriented systems
Entity-relationship diagrams (ERD)
¡ Critical to database design but are not easily understood by users
Prototypes
¡ Good communication tool to elicit information from user.
¡ Great for proof-of-concept tasks.
¡ Useful in developing user interface designs.
1
1/4/20
UML Diagrams
Instead of the Context, Data-Flow and Entity-
Relationship Diagrams used in Structured
Analysis, UML produces 9 types of diagrams
¡ Use Case Diagram
¡ Sequence Diagram
¡ Collaboration Diagram
¡ State chart Diagram
¡ Activity Diagram
¡ Class Diagram
¡ Object Diagram
¡ Component Diagram
¡ Deployment Diagram
Use Cases
2
1/4/20
Use Cases
Scenario
3
1/4/20
Buy a Product
Use case
4
1/4/20
5
1/4/20
Basic Information
§ Each use case has a name and number, and brief
description.
§ The priority may be assigned to indicate the relative
significance.
§ The actor refers to a person, another system, or a
hardware device that interacts with the system to
achieve a useful goal.
§ The trigger for the use case – the event that causes the
use case to begin.
6
1/4/20
Example
4-13
Preconditions
7
1/4/20
Normal Course
Alternative Courses
8
1/4/20
Post conditions
Exceptions
9
1/4/20
10
1/4/20
11
1/4/20
Actor
Registrar
Professor
Student
Billing System
12
1/4/20
Use Cases
Registrar
13
1/4/20
Seller
interaction
Bank Officer
Customer
Withdraw Money
Change PIN
View Balance
External
Make Payment
system
Credit System
14
1/4/20
15
1/4/20
16
1/4/20
Rules
Service Representative
17
1/4/20
Sell Property
Buyer
Triggers
Sell Property
Buyer
Transfer
<<uses>>
Identification
18
1/4/20
Schedule Recurring
Schedule Designer Customer Appointment
<<includes>>
More example
19
1/4/20
Class Diagram
20
1/4/20
Classes
Example
RegistrationManager ScheduleAlgorithm
RegistrationForm
Course
Student
Professor
CourseOffering
21
1/4/20
More example
Relationship
22
1/4/20
Relationship
Finding relationship
RegistrationManager
Registration Maths 101:
Manager Course
3: add student(kamal)
Course
23
1/4/20
ScheduleAlgorithm
RegistrationForm
RegistrationManager
addStudent(Course, StudentInfo)
Course
name
numberCredits
Student
open()
name addStudent(StudentInfo)
major
Professor
name CourseOffering
tenureStatus
location
open()
addStudent(StudentInfo)
Associations
24
1/4/20
Aggregation
Exhaust System
1 0..2
Muffler Tailpipe
Composition
TicketMachine
3
ZoneButton
25
1/4/20
Generalization
Is a kind of
26
1/4/20
More examples
More examples
27
1/4/20
Sequence diagram
Sequence Diagrams
28
1/4/20
Nested Messages
selectZone()
lookupPrice(selection)
price
displayPrice(price)
Dataflow
TicketMachine
Passenger
selectZone()
insertCoins()
pickupChange()
pickUpTicket()
29
1/4/20
More example
1: fill in info
2: submit
Collaboration Diagrams
30
1/4/20
Collaboration diagram
course form :
1: set course info CourseForm
2: process
aCourse : theManager :
Course CurriculumManager
4: new course
Activity Diagrams
31
1/4/20
Example
State diagram
32
1/4/20
Example
Cancel
Cancel [ count = 10 ]
Canceled
do: Notify registered students
Closed
Cancel do: Finalize course
CASE Tools
¡ Object modeling requires many types of diagrams to represent
the proposed system
¡ Creating the diagrams by hand is time-consuming and tedious,
so systems analysts rely on CASE tools to speed up the process
and provide an overall framework for documenting the system
components
33
1/4/20
Questions?
34