UML Diagrams Sequence Diagrams The Requirements Model and

  • Slides: 38
Download presentation
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Prof. Hany

UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University

Outline • • • The Requirements Model and the Analysis model Introduction to Requirements

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

The Requirements Model and the Analysis Model The Requirements Elicitation Process Functional/ Nonfunctional Requirements

The Requirements Model and the Analysis Model The Requirements Elicitation Process Functional/ Nonfunctional Requirements Use Case Diagrams/ Sequence Diagrams (the system level) The Object-Oriented Static Analysis - Class Diagrams Analysis Dynamic Analysis - State Diagrams/ Process Refined Sequence Diagrams (The object level)

What is Requirements Engineering ? • Requirements Engineering

What is Requirements Engineering ? • Requirements Engineering

What is Requirements Engineering? • Requirements Management: Requirements management activities include evaluating the impact

What is Requirements Engineering? • Requirements Management: Requirements management activities include evaluating the impact of proposed changes, tracing individual requirements to downstream work products, and tracking requirements status during development • Several Requirements management tools are available in industry

What is Requirements Engineering? • Major Requirements Management Tools: 1. Caliber-RM by Technology Builders,

What is Requirements Engineering? • Major Requirements Management Tools: 1. Caliber-RM by Technology Builders, Inc. ; www. tbi. com 2. Requisite. Pro by Rational Software Corporation; www. rational. com 3. RTM Workshop by Integrated Chipware, Inc. ; www. chipware. com

What is Requirements Engineering? • Requirements Elicitation – is the process of gathering the

What is Requirements Engineering? • Requirements Elicitation – is the process of gathering the different types of requirements from suitable stakeholders. • Business requirements describe why the product is being built and identify the benefits for both the customers and the business. • User requirements, describe the tasks or business processes a user will be able to perform with the product. (Developing use -cases) • Functional requirements describe the specific system behaviors that must be implemented (Developing usage scenarios) • Non-functional requirements, describe the non-functional features such as quality attributes of Reliability, Performance, availability, and maintainability.

What is Requirements Engineering? • Requirements analysis: Requirements analysis includes decomposing high-level requirements into

What is Requirements Engineering? • Requirements analysis: Requirements analysis includes decomposing high-level requirements into detailed functional requirements, constructing graphical requirements models or logical models (structured Analysis models, or Object-Oriented Analysis models) (for developers), and building prototypes. • Analysis models and prototypes provide alternative views of the requirements, which often reveal errors and conflicts that are hard to spot in a textual SRS.

What is Requirements Engineering? Requirements Specification • Specification key practice is to write down

What is Requirements Engineering? Requirements Specification • Specification key practice is to write down the requirements in some accepted, structured format as you gather and analyze them. • The objective of requirements development is to communicate a shared understanding of the new product among all project stakeholders. • Historically, this understanding is captured in the form of a textual SRS document written in natural language, augmented by appropriate analysis models. (to be discussed in detail)

What is Requirements Engineering? • Requirements Verification involves evaluating the correctness and completeness of

What is Requirements Engineering? • Requirements Verification involves evaluating the correctness and completeness of the requirements, to ensure that a system built to those requirements will satisfy the users’ needs and expectations. The goal of verification is to ensure that the requirements provide an adequate basis to proceed with design • Prototyping (or executable specifications) is a major technique used in verification. Examples include GUI development for user requirements verification, and Formal requirements specification environments

Importance of Sequence Diagrams • Depict object interactions in a given scenario identified for

Importance of Sequence Diagrams • Depict object interactions in a given scenario identified for a given Use Case • Specify the messages passed between objects using horizontal arrows including messages to/from external actors • Time increases from Top to bottom

Rules of Sequence Diagrams • Sequence Initiation

Rules of Sequence Diagrams • Sequence Initiation

Rules of Sequence Diagrams • Identify objects needed to support use case, determine sequence

Rules of Sequence Diagrams • Identify objects needed to support use case, 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

Rules of Sequence Diagrams • Messages specified on interactions can be synchronous or asynchronous

Rules of Sequence Diagrams • Messages specified on interactions can be synchronous or asynchronous Synchronous call

Rules of Sequence Diagrams Asynchronous call

Rules of Sequence Diagrams Asynchronous call

Rules of Sequence Diagrams • Display operation names on call arrows

Rules of Sequence Diagrams • Display operation names on call arrows

Rules of Sequence Diagrams Compound and Simple Iteration

Rules of Sequence Diagrams Compound and Simple Iteration

‘included’ sequence diagrams

‘included’ sequence diagrams

Showing alternate behavior in a sequence diagram

Showing alternate behavior in a sequence diagram

Showing Extension Point

Showing Extension Point

Specifying Timing Requirements

Specifying Timing Requirements

Requirements Elicitation Process Step 4. Refining Use Cases using System Sequence Diagrams • System

Requirements Elicitation Process Step 4. Refining Use Cases using 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 of events and the abnormal flow of events

Sequence Diagrams and Use Cases System Sequence Diagram The use case diagram Of system

Sequence Diagrams and Use Cases System Sequence Diagram The use case diagram Of system S The sequence diagram of use case UC 1 for system S

UML Use Case Diagrams: The Requirements Model Case Study

UML Use Case Diagrams: The Requirements Model Case Study

UML Use Case Diagrams: The Requirements Model Digital Sound Recorder Case Study • A

UML Use Case Diagrams: The Requirements Model 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

Example: Use Case Diagram of E-Commerce Example

Example: Use Case Diagram of E-Commerce Example

Place Requistion

Place Requistion

Other Examples of Sequence Diagrams

Other Examples of Sequence Diagrams

A Simple Example of Using UML 2 • EXAMPLE: SATELLITE CONTROL SYSTEM

A Simple Example of Using UML 2 • EXAMPLE: SATELLITE CONTROL SYSTEM

Example of Software Architecture Using UML 2 • SATELLITE CONTROL SYSTEM Architecture

Example of Software Architecture Using UML 2 • SATELLITE CONTROL SYSTEM Architecture

A Simple Example Using UML 2 • SATELLITE CONTROL SYSTEM Architectural behavior

A Simple Example Using UML 2 • SATELLITE CONTROL SYSTEM Architectural behavior