The Requirements Model, and The Dynamic Analysis Model Instructor: - - PowerPoint PPT Presentation

the requirements model and
SMART_READER_LITE
LIVE PREVIEW

The Requirements Model, and The Dynamic Analysis Model Instructor: - - PowerPoint PPT Presentation

UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU Outline Review of previous Lecture The Requirements Model


slide-1
SLIDE 1

UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model

Instructor: Dr. Hany H. Ammar

  • Dept. of Computer Science and

Electrical Engineering, WVU

slide-2
SLIDE 2

Outline

 Review of previous Lecture  The Requirements Model and the Analysis model  Importance of Sequence Diagrams  Rules of sequence diagrams  Use Cases and Sequence Diagrams  The System Sequence Diagrams  The Sound Recorder Example  The E-Commerce Example  Other Examples

slide-3
SLIDE 3

Review of Previous lecture

Review of development phases and UML Development - Overview

Introduction and importance of Use Case Diagrams

Use Case Diagram Rules

Examples of Use Case diagrams

Requirements Elicitation Process

1.

Identify Actors

2.

Identify Scenarios

3.

Identify Use Cases

4.

Refine Use Cases

5.

Identify Relationships between actors and Use Cases

6.

Identify Initial Analysis Objects

7.

Identify Non-functional requirements

slide-4
SLIDE 4

Requirements, Use cases, and Scenarios

slide-5
SLIDE 5

UML Development - Overview

PROGRAM ACTORS ANALYSIS Specify Domain Objects Detailed DESIGN IMPLEMENTATION

D A T A D I C T I O N A R Y

Time USE CASES ANALYSIS CLASS DIAGRAM(S)

IMPLEMENTATION Activity DIAGRAMS

System/Object SEQUENCE DIAG.

OPERATION CONTRACTS StateChart DIAGRAMs DEPLOYMENT DIAGRAM SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS Architectural Design Include Design Objects Object Design SCENARIOS REQUIREMENTS ELICITATION DESIGN DIAGRAMS IMPLEMENTATION CHOICES DESIGN SEQUENCE DIAG.

Requirements Engineering

slide-6
SLIDE 6

Where are we in the Requirements Engineering ?

 Requirements Engineering focus: elicitation and

analysis

slide-7
SLIDE 7

The Requirements Model and the Analysis Model

Static Analysis Dynamic Analysis Functional/ Nonfunctional Requirements Use Case Diagrams/ Sequence Diagrams (the system level)

  • Class Diagrams
  • State Diagrams/

Refined Sequence Diagrams (The object level) The Requirements Elicitation Process The Object-Oriented Analysis Process

slide-8
SLIDE 8

Outline

 The Requirements Model and the Analysis model  Introduction to Requirements Engineering  Importance of Sequence Diagrams  Rules of sequence diagrams  Use Cases and Sequence Diagrams  The System Sequence Diagrams  The Sound Recorder Example  The E-Commerce Example  Other Examples

slide-9
SLIDE 9

Importance of Sequence Diagrams

 Depict object interactions in a given

scenario identified for a given Use Case

 Specify the messages passed between

  • bjects using horizontal arrows including

messages to/from external actors

 Time increases from Top to bottom

slide-10
SLIDE 10

Rules of Sequence Diagrams

 Sequence Initiation

updateStatus( ) Click Update Button User Object1:C1 Object2:C2

slide-11
SLIDE 11

Rules of Sequence Diagrams

 Identify objects needed to support use cases,

determine sequence of internal events following the external initiating event

 Diagrams that are not initiated with an external

actor represent only a partial sequence

 Partial sequence diagrams should clearly identify

the actor initiated sequence diagrams from which they are launched

slide-12
SLIDE 12

Example of Sequence Diagrams Notation

slide-13
SLIDE 13

Rules of Sequence Diagrams

 Messages specified on interactions can be

synchronous or asynchronous

updateStatus( ) Object1:C1 Object2:C2 calcRoute( ) route Object1:C1 Object2:C2

Implicit Returns Explicit Return

Object3:C3 generateMessage( )

Synchronous call

slide-14
SLIDE 14

Rules of Sequence Diagrams

Asynchronous call

asynchronous_Call () callBack () Object1:C1 {active} Object2:C2 {active}

slide-15
SLIDE 15

Rules of Sequence Diagrams

 Display operation names on call arrows

c:client factory: cmd_pktCToCHeaderFactory header: cmd_pktCToCCommandHeader buildHeader( char * ) «create» header

slide-16
SLIDE 16

Rules of Sequence Diagrams

Compound and Simple Iteration

* [for all Interfaces in Container] Find( ) amMasterSI( ) setState( ) getInterfaceContainer() * [for all Interfaces in Container] publishState() setOn( ) / setOff( )

{

:DiscreteFD :DiscreteFD :Interface :Interface :InterfaceContainer :Subsystem :Resource

slide-17
SLIDE 17

Numbering the Sequence of Interactions

slide-18
SLIDE 18

‘included’ sequence diagrams

Command Response Command Request Command Request Command Response <<includes>> Process Command Response sequence <<includes>> Process Command Request sequence Application Process with CIF CMM:process target:process

slide-19
SLIDE 19

Showing alternate behavior in a sequence diagram

validateCommand( ) issueCommand( ) User Application [if valid command] routeCommand( ) [if invalid command] logError( ) display(status) :CmdHandler :CmdValidater :CmdRouter :EventLog :StatusDialog

slide-20
SLIDE 20

Showing Extension Point

validateCommand( ) routeCommand( ) display( status) Extension Point [invalid command] abort command request and send system message :StatusDialog :CmdRouter :CmdValidater :CmdHandler issueCommand( ) User Application

slide-21
SLIDE 21
slide-22
SLIDE 22

Rules of Sequence Diagrams

Showing alternate behavior in a sequence diagram

slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25

Communication/Collaboration Diagrams

They Specify similar information of interactions without the time axis

slide-26
SLIDE 26

Specifying Timing Requirements

a: Command Create Transaction b: Command d: Response Remove Transaction c: Response CMM : process target : process User Application {b.receiveTime  a.sendTime + 50ms} {d.receiveTime  a.sendTime + 1s}

slide-27
SLIDE 27
slide-28
SLIDE 28

Specifying Timing Requirements

slide-29
SLIDE 29

Specifying Timing Requirements (Data rates in notes)

slide-30
SLIDE 30

Specifying Timing Requirements: on interactions

slide-31
SLIDE 31

Specifying Timing Requirements (ave and max)

slide-32
SLIDE 32

Specifying Timing Requirements: (Timeout events)

slide-33
SLIDE 33

Outline

 The Requirements Model and the Analysis model  Introduction to Requirements Engineering  Importance of Sequence Diagrams  Rules of sequence diagrams  Use Cases and Sequence Diagrams  The System Sequence Diagrams  The Sound Recorder Example  The E-Commerce Example  Other Examples

slide-34
SLIDE 34

Recall Requirements Elicitation Process

The process of requirements elicitation consists of the following steps

1.

Identify Actors

2.

Identify Scenarios

3.

Identify Use Cases

4.

Refine Use Cases

5.

Identify Relationships between actors and Use Cases

6.

Identify Initial Analysis Objects

7.

Identify Non-functional requirements

slide-35
SLIDE 35

Requirements Elicitation Process Step 4. Refining Use Cases

System Sequence Diagrams

 System sequence diagrams establish the dynamic behavior

in terms of key scenarios of the system for each use case

 The system sequence diagram models a scenario of the

system interactions with the environment for a given use case

 Input/output events are clearly identified in each sequence

diagram,

 The State of the system before and after each event are also

depicted

 Different diagrams model scenarios with the normal flow

  • f events and the abnormal flow of events
slide-36
SLIDE 36

Sequence Diagrams and Use Cases System Sequence Diagram

The sequence diagram of use case UC1 for system S

Actor1 Actor2

System: S

S1 S2 S3 S4

E11

List of Guide Words List of Guide Words List of Guide Words List of Guide Words List of Guide Words

E21 E12 E22 E32 E41 E31

List of Guide Words List of Guide Words

The use case diagram Of system S

slide-37
SLIDE 37

UML Use Case Diagrams: The Requirements Model

Case Study

slide-38
SLIDE 38

UML Use Case Diagrams: The Requirements Model- System Seq. Diags.

Digital Sound Recorder Case Study

 A sequence diagram displays object interactions arranged

in a time sequence capturing a specific scenario of interactions in a use case supported by the system

Time

System Sequence Diagram for Play Massage Scenario: Normal Flow

slide-39
SLIDE 39
  • Sys. Seq. Diagram for Alarm sounding while

playing Massage Scenario

slide-40
SLIDE 40
  • Sys. Seq. Diag. for Alarm while stand-by followed

by No-power event.

slide-41
SLIDE 41

The ATM Example

slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44

This is for the Banking Service Subsystem

slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47

Customer Supplier Bank Browse Catalog Confirm Shipment Process Delivery Order Send Invoice Place Requisition Confirm Delivery

Example: Use Case Diagram of the E-Commerce System

slide-48
SLIDE 48

Place Requisition Scenario

slide-49
SLIDE 49

Confirm Delivery Scenario

slide-50
SLIDE 50

Send Invoice Scenario

slide-51
SLIDE 51

Confirm Shipment Scenario

slide-52
SLIDE 52
slide-53
SLIDE 53

Another Example: Pace Maker Use-Case model

slide-54
SLIDE 54

Pace Maker Sys. Seq. Diag

slide-55
SLIDE 55
  • Seq. Diag. at the object level (The Analysis Model)
slide-56
SLIDE 56

A Simple Example of Using UML2

 EXAMPLE: SATELLITE CONTROL

SYSTEM

slide-57
SLIDE 57

Example of Software Architecture Using UML2

 SATELLITE CONTROL SYSTEM

Architecture

slide-58
SLIDE 58

A Simple Example Using UML2

 SATELLITE CONTROL SYSTEM

Architectural behavior