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