Transcript Chapter 7
7
Chapter 7:
The Object-Oriented Approach
to Requirements
Systems Analysis and Design in a Changing
World, 3rd Edition
7
Learning Objectives
Develop
Write
use case diagrams
use case and scenario descriptions
Develop
activity diagrams and system sequence
diagrams
Refine
and enhance the domain model class
diagram
Explain
how UML diagrams work together to
define functional requirements for the objectoriented approach
Systems Analysis and Design in a Changing World, 3rd Edition
2
7
Overview
Objective
of requirements definition is
understanding user’s needs, business processes,
and system to support business processes
Understand
and define requirements for a new
system using object-oriented analysis models
and techniques
Line
between object-oriented analysis and objectoriented design is somewhat fuzzy
Iterative approach to development
Models built in analysis are refined during design
Systems Analysis and Design in a Changing World, 3rd Edition
3
The Unified Modeling Language and the
Object Management Group
7
Object-oriented
modeling notation is Unified
Modeling Language (UML)
UML
was presented to Object Management
Group (OMG) as standard modeling technique
Purpose
of Object Management Group
Promote theory and practice of object technology
for development of distributed systems
Provide common architectural framework for OO
Systems Analysis and Design in a Changing World, 3rd Edition
4
7
Object-Oriented Requirements
Object-oriented
system requirements are
specified and documented through process of
building models
Systems
development process starts with
identification of events and things
Events
are business processes that new system
must address
Things
are problem domain objects involved in
business process
Systems Analysis and Design in a Changing World, 3rd Edition
5
7
Object-Oriented Approach Models
Class
diagram – definition of system components
case diagrams and use case descriptions –
show user roles and how they use the system
Use
sequence diagrams (SSDs) – define
inputs and outputs and sequence of interactions
between user and system for a use case
Systems
Statechart
diagrams – describe states of each
object
Activity
diagrams – describe user activities
Systems Analysis and Design in a Changing World, 3rd Edition
6
Requirements Diagrams: Traditional and
OO Models
Systems Analysis and Design in a Changing World, 3rd Edition
7
7
The System Activities –
A Use Case / Scenario View
7
Use
case analysis used to identify and define all
business processes that system must support
Use
Case - single function performed by system
for those who use that function
Actors
Role played by user
Outside automation boundary and organization
Systems Analysis and Design in a Changing World, 3rd Edition
8
7
Use Case Diagram
Graphical
models that summarize information
about actors and use cases
System
developer
Looks at system as whole
Identifies major uses from event table
Identifies functions to be supported by new system
Organizes use cases
Systems Analysis and Design in a Changing World, 3rd Edition
9
7
Simple Use Case with an Actor
Systems Analysis and Design in a Changing World, 3rd Edition
10
7
Use Case Diagram with System Boundary
Systems Analysis and Design in a Changing World, 3rd Edition
11
7
Use Case of Customer Support System
Systems Analysis and Design in a Changing World, 3rd Edition
12
7
All Use Cases Including Customer
Systems Analysis and Design in a Changing World, 3rd Edition
13
7
<<Includes>> Relationships
Documents
situation where one use case
requires the services of a common subroutine
Another
use case is developed for this common
subroutine
A common
use case can be reused by multiple
use cases
Systems Analysis and Design in a Changing World, 3rd Edition
14
Example of Order-Entry Subsystem with
<<Includes>> Use Cases
Systems Analysis and Design in a Changing World, 3rd Edition
7
15
7
Developing a Use Case Diagram
Starting
points for use case development
Use event table
Identify all actors of the system
Identify functions actors perform with system
Develop
flow of activities to identify various
scenarios
Common
internal use cases can be identified and
separated into different use cases
Systems Analysis and Design in a Changing World, 3rd Edition
16
7
CRUD analysis
CRUD
– Create, Read/Report, Update, Delete
Information
Engineering (IE) technique to identify
event table events or develop use case diagram
Compares
identified use cases with domain
model class diagram
Every
class in class diagram must have use
cases to support creating, reading, reporting,
updating, and deleting object instances
Confirms
system integration requirements
Systems Analysis and Design in a Changing World, 3rd Edition
17
7
Use Case Detailed Descriptions
Scenario,
or use case instance, details sequence
of activities within use case
Shows
actor interacting with computer system
step-by-step to carry out business activity
May
have several scenarios for single use case
Analysts
prefer to write narrative descriptions of
use cases instead of building activity diagrams
Three
levels: brief, intermediate, and fully
developed description
Systems Analysis and Design in a Changing World, 3rd Edition
18
Brief Description of Create New Order
Use Case
Systems Analysis and Design in a Changing World, 3rd Edition
7
19
Intermediate Description of the Telephone
Order Scenario for Create New Order
Systems Analysis and Design in a Changing World, 3rd Edition
7
20
Intermediate Description of the Web
Order Scenario for Create New Order
Systems Analysis and Design in a Changing World, 3rd Edition
7
21
Fully Developed Description of Telephone
Order Scenario for Create New Order
Systems Analysis and Design in a Changing World, 3rd Edition
7
22
Fully Developed Description of Web
Order Scenario for Create New Order
Systems Analysis and Design in a Changing World, 3rd Edition
7
23
7
Activity Diagrams
Used
to document work flow of business process
activities for each use case scenario
Standard
Can
UML diagram
support any level of use case description
Helpful
in developing system sequence diagrams
Systems Analysis and Design in a Changing World, 3rd Edition
24
7
Activity Diagram: Telephone Order Scenario
Systems Analysis and Design in a Changing World, 3rd Edition
25
7
Activity Diagram: Web Order Scenario
Systems Analysis and Design in a Changing World, 3rd Edition
26
Identifying Inputs and Outputs –
The System Sequence Diagram
Collaboration
diagram
Emphasizes objects that interact together to
support a use case diagram
May be used alone or with sequence diagram
System
7
sequence diagram
Shows sequence of interactions between objects
and flow of events in a single use case
Focuses on message details
Used more frequently in industry
Systems Analysis and Design in a Changing World, 3rd Edition
27
7
Sample System Sequence Diagram (SSD)
Systems Analysis and Design in a Changing World, 3rd Edition
28
7
SSD Notation
represented by stick figure – person (or
role) that “interacts” with system by entering input
data and receiving output data
Actor
Object
notation is rectangle with name of object
underlined – shows individual object and not
class of all similar objects
Lifeline
is vertical line under object or actor to
show passage of time for object
Messages
use arrows to show messages sent or
received by actor or system
Systems Analysis and Design in a Changing World, 3rd Edition
29
7
SSD Lifelines
Vertical
If
line under object or actor:
Shows passage of time
vertical line dashed:
Creation and destruction of thing is not important
for scenario
Long
narrow rectangles:
Activation lifelines emphasize that object is active
only during part of scenario
Systems Analysis and Design in a Changing World, 3rd Edition
30
7
SSD Messages
Internal
events identified by the flow of objects
within a scenario
Requests
from one actor or object to another to
do some action
Invokes
a particular method
Systems Analysis and Design in a Changing World, 3rd Edition
31
7
Repeating Message
Systems Analysis and Design in a Changing World, 3rd Edition
32
7
Developing a System Sequence Diagram
Begin
with detailed description of use case from
fully developed form or activity diagrams
Identify
input messages
Describe
message from external actor to system
using message notation
Identify
and add any special conditions on input
message, including iteration and true/false
conditions
Identify
and add output return messages
Systems Analysis and Design in a Changing World, 3rd Edition
33
Simplified Activity Diagram of the
Telephone Order Scenario
Systems Analysis and Design in a Changing World, 3rd Edition
7
34
7
SSD of Simplified Telephone Order
Scenario for Create New Order Use Case
Systems Analysis and Design in a Changing World, 3rd Edition
35
SSD of the Web Order Scenario for the
Create New Order Use Case
Systems Analysis and Design in a Changing World, 3rd Edition
7
36
Problem Domain Modeling –
The Domain Model Class Diagram
7
Class
diagram is focal point of object-oriented
development
Provides
definition of system components
Contains
important class structural information for
implementation with object-oriented programming
Provides
conceptual data model to describe
classes for database definition
Consists
of problem domain classes and
implementation classes
Systems Analysis and Design in a Changing World, 3rd Edition
37
7
Example of Domain Model Class Diagram
Systems Analysis and Design in a Changing World, 3rd Edition
38
7
RMO Domain Model Class Diagram
Systems Analysis and Design in a Changing World, 3rd Edition
39
7
Integrating Object-Oriented Models
Complete
use case diagram is needed to
understand total scope of new system
Domain
model class diagrams also should be as
complete as possible for entire system
With
iterative approach, only construct use case
descriptions, activity diagrams, and system
sequence diagrams for use cases in iteration
Development
of a new diagram often helps refine
and correct previous diagrams
Systems Analysis and Design in a Changing World, 3rd Edition
40
Relationships Between OO
Requirements Models
Systems Analysis and Design in a Changing World, 3rd Edition
7
41
7
Use Case Diagram for Inventory System
Systems Analysis and Design in a Changing World, 3rd Edition
42
7
Summary
Object-oriented
approach has complete set of
diagrams that together document the user’s need
and define system requirements
Requirements
specified using following models:
Domain model class diagrams
Use case diagrams
Use case detailed model, either descriptive format
or activity diagram
System sequence diagrams (SSDs)
Systems Analysis and Design in a Changing World, 3rd Edition
43