Samuel - Object-Oriented Systems Analysis and Design
Samuel - Object-Oriented Systems Analysis and Design
Samuel - Object-Oriented Systems Analysis and Design
Example
• Any hospital includes the business process of emergency
admission. To completely model this business process the
BPM will model all activities:
• Taking patient information
• Patient examination
• Patient referral to labs and ray
• Ray imaging
• Ray image reporting
Example
any hospital includes the business process of emergency
admission. To completely model this business process the
BMM will show the link with the hospital goals :
• Taking patient information
• Patient examination
• Patient referral to labs and ray
• Ray imaging
• Ray image reporting
Example
any hospital includes the business process of emergency
admission. To completely model this business process the BOM
will link each activity with the department that should perform
it :
• Taking patient information (emergency nurse)
• Patient examination (emergency physician)
• Patient referral to labs and ray (emergency physician)
• Ray imaging (ray imaging technician)
• Ray image reporting (ray image physician)
Example
any hospital includes the business process of emergency
admission. To completely model this business process the
BRM will show the laws, policies, procedures and rules in
performing each activity:
• taking patient information (privacy rules)
• Patient examination (clinical procedures)
• Patient referral to labs and ray tests (referral procedures)
• Ray imaging (safety policies)
• Ray image reporting (privacy + timing policies)
• Business processes –
– represented by business use cases;
Actors----------------------Use Cases
• The Use Case model is at the conceptual center of the entire approach
because it drives everything else that follows.
– Drives Testing!
TakeQuiz
QuizTaker
CheckGrades
RequestRegrade
SetQuiz
Instructor
Grade
TakeQuiz <<includes>>
Authenticate
QuizTaker
CheckGrades <<includes>>
<<extends>>
ConnectionFails
QuizTaker TakeQuiz
Characteristics of documentation:
accurate and kept current
appropriate for audience
maintained online (usually)
simple but professional in style and appearance
Documentation is expensive --> Quality not volume
Scenarios are useful to validate use cases and the design
of a system.
• Keep track
history of
requirements
• Maintain
version control
• More…
Operations
Subclass has access to these
• OO Analysis Overview
• Identify Entity – Domain Modeling
• Assigning Responsibilities
• Understanding Analysis
• Analysis Versus Design
• Object Oriented Analysis
• Three ways to do Object Oriented Analysis
• Visualizing Concepts
• Adding Associations
• Adding Attributes
• Modeling Generalization
• Refining the Domain Model
• Domain Models
• Conceptual Class Identification
• Domain Modeling Guidelines
• Modeling the Unreal world
• Specification of Conceptual Classes
• UML Notation v.s. Methodology
Is-a Rule
All the members of a subclass set must be members of their superclass set.
Whole Part
Student Schedule
Aggregation
Whole Part
Student Schedule
Composition
Collaborators
– one per class, which shows its responsibilities and with which
other class(es) it must collaborate in order to fulfill each
responsibility.
– Write a brief description of the class on the back of the card.
• CRC cards are useful in detecting responsibilities of objects
(developed by Kent Beck and Ward Cunningham).
07/05/2022 OOSAD DBU 2021/2022 238
CRC Cards - Example
• In this example, class Foo must collaborate with
(send messages to) classes X & Y in order to fulfill its
responsibility to be able to “do something.”
Do something
COLLABORATIONS
Classes X & Y
• Covered concepts
– Classes and objects
– Encapsulation
– State, behavior, identity
– Relationships among objects
– Inheritance and polymorphism
• Covered constraints
– Coupling
– Cohesion
• Covered tools
– Class diagrams
– Sequence diagrams
name
History
getword() Counter
isEof()
addWord()
count
exists()
increment()
display()
Word
string
setstring()
getstring()
Check
Read Get
For
File words
Uniqueness
Increment
Add to
Count
History
1
m Transaction
m
Portfolio
1
m
Create/Delete/Rename Portfolio/Security.
Create/Delete/Edit Transactions.
Check/Set/Delete Alerts.
Validate User.
278
OOSAD DBU 2021/2022
Example 3 OO Design – PIMS…
Sequence diagram for principle action Create Portfolio
280
OOSAD DBU 2021/2022
Example 3 OO Design – PIMS…
Sequence diagram for action Compute Net Worth of
Investment/Portfolio/Security
283
OOSAD DBU 2021/2022
Example 3 OO Design – PIMS…
Sequence diagram for action Validate User
• Use of
templates,
interfaces, and
types
• Can even specify
body of methods
Reserve book
Borrow book
Return book
• Activity Diagrams
– Alternative to
statecharts
• Implementation
Diagrams
– Down at the detail level
• What piece of code goes
where?
• How are they connected?
Student Transcript
1 1
transcript courseGrades
major * 1
schedule
Registrar gradeForCourse:
registrar Section takenCourse:
courses
1
enrollInClass: course * 1 sectio
gradeInCourse: daysAndTime ns
getSectionsF
takenCourse: roster enrollInSection:
or:
* addStudent dropFromSection:
removeStudent * 1 * CourseGrade
11 *1 * course
Department 1 * grade
Course termEnrolled
1..3 * *
courses name
requiredCourses number
department
creditHours 0..3
prerequisites
07/05/2022 OOSAD DBU 2021/2022 310
Partial Use Case Diagram
Apply for
Admission
Enroll in
the University Admissions
Student Enroll in
a Course
Withdraw
from a Course
getSectionsFor:
return sections
enrollInSection:
takenCourse: prerequisite
takenCourse: prerequisite
state of prereq
have prereq
addStudent:
enrolled enrolled
• OOA
– CRC Cards (but they’re not officially UML)
– Use Cases
• OOD
– Just about all of the rest
– But variations—some detail is later
• OOP
– Can actually go UML->code with some tools!
5. Software Engineering Principles and Practice. Second Edition; Hans van Vliet.
6. http://labs.cs.utt.ro/labs/acs/html/lectures/4/lecture4.pdf
7. http://www.agilemodeling.com/
8. http://www.visual-paradigm.com/VPGallery/diagrams/index.html
9. http://bdn.borland.com/article/0,1410,31863,00.html
10.http://en.wikipedia.org/wiki/Unified_Modeling_Language
11.http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/index.htm