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: step by step 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 :
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)
• Users
• Reports
• Forms
• Procedures and documents
• Etc
• Interviews
• Questionnaires
• Focus groups and workshops
• Naturalistic Observation
• Studying documentation
Interviews …
• Selecting Interviewees
– Should be representative of all users
– Recall the effects of bias
– Types of samples
• Convenient
• Random sample
• Purposeful sample
• Stratified sample
By Dr. Samuel Asferaw OOSAD DBU 2018/2019 77
Data Gathering Techniques…
Interviews …
• Designing the Interview Guide
1. Overall Questioning Strategies
• From General, narrowing to specific topic (preferred)
– E.g. Tell me about DBU, then Courses, then Course Information,
then enrollment numbers
• From Specific topic, moving to General
– E.g. Enrollment numbers on Course Info page to DBU in general
2. Types of Interview Questions
• Open-Ended
– No pre-specified answers
• Close-Ended
– Respondent is asked to choose from a set of specified responses
Interviews …
• Preparing for the Interview
– Confirm place/time
– Review areas to be covered
– Encourage interviewee to bring reference materials
Interviews …
• Conducting the Interview
– Gather facts, opinions and speculations
– Avoid bias when phrasing questions, e.g. phrasing
in ways that imply a wrong or right answer
– Never take sides on an issue
– Tape record with individual and organizational
permission
Interviews …
• Conducting the Interview
– Assume tape recording will not work, which means you
must simultaneously
• Follow the interview guide, and
• Listen very carefully to what is being said, and
• Observe body language and emotions, and
• Separate facts from opinions, and
• Take notes, and
• Plan the next question/flow of the interview
• THIS IS VERY DIFFICULT TO DO CORRECTLY AND MUST
BE PRACTICED.
Interviews …
• Conducting the Interview--practical tips
– Don’t worry, be happy
– Pay attention
– Summarize key points
– Be succinct and honest
– Give interviewee time to ask questions
– Be sure to thank the interviewee
– End on time
– And, don’t ask unnecessary questions!
By Dr. Samuel Asferaw OOSAD DBU 2018/2019 82
Data Gathering Techniques…
• Post Interview
– Consider asking for more time if necessary
– Confirm major points identified with interviewee
• Naturalistic Observation:
– Spend time with stakeholders in their day-to-day tasks,
observing work as it happens
– Gain insights into stakeholders’ tasks
– Good for understanding the nature and
context of the tasks
– But, it requires time and commitment
from a member of the design team, and
it can result in a huge amount of data
Document/Procedure Analysis …
• Great starting point
– Gets analyst quickly up to speed with user jargon
– Can create preliminary models, e.g. DFDs or ERDs
• Types of information to be discovered:
– Problems with existing system
– Opportunity to meet new need
– Organizational direction
– Names of key individuals
– Values of organization
– Special information processing circumstances
– Reasons for current system design
– Rules for processing data
By Dr. Samuel Asferaw OOSAD DBU 2018/2019 99
Data-gathering Techniques …
Document/Procedure Analysis …
• Four types of useful documents
– Written work procedures
• Describes how a job is performed
• Includes data and information used and created in the process of
performing the job or task
– Business form
• Explicitly indicate data flow in or out of a system
– Report
• Enables the analyst to work backwards from the report to the data
that generated it
– Description of current information system
specific user groups, questionnaires to reach a wider population, and focus groups
• Theoretically you should gather information until saturation, i.e. you learn nothing
new
• Idea is simple!
Involves breaking a task down into subtasks,
then sub-sub-tasks and so on. These are
grouped as plans which specify how the tasks
might be performed in practice
• Scenarios
– An informal narrative story of users.
– Natural way to explain.
• Use cases
– show interaction with a system
– show detailed understanding of the interaction
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
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
– 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).
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.
277
OOSAD DBU 2018/2019
Example 3 OO Design – PIMS…
Sequence diagram for principle action Create Portfolio
279
OOSAD DBU 2018/2019
Example 3 OO Design – PIMS…
Sequence diagram for action Compute Net Worth of
Investment/Portfolio/Security
• 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
Registrar gradeForCourse:
schedule Section takenCourse:
registrar 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
By Dr. Samuel Asferaw OOSAD DBU 2018/2019 309
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