Activity diagrams are not helpful in developing system sequence diagrams (ssds).

Download 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

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 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

What makes a system sequence diagram SSD different from an activity diagram?

Differences Between Sequence Diagram and Activity Diagram The Sequence diagram shows the message flow from one object to another object. The Activity diagram shows the message flow from one activity to another.

What is the use of activity diagram to the system developer?

Using activity diagrams in system development They help to visualize the functionality of the system at different levels of detail, and aid communication between developers and clients.

What is the most important aspect of a sequence diagram?

Messages are the most important elements of a sequence diagram. They indicate when one object calls an operation on another object (or itself). They are also used to indicate return values.

What is the purpose of active diagram?

Activity diagrams are similar to flowcharts because they show the flow between the actions in an activity; however, activity diagrams can also show parallel or concurrent flows and alternate flows. In activity diagrams, you use activity nodes and activity edges to model the flow of control and data between actions.