Title: UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model
1UML DiagramsSequence DiagramsThe Requirements
Model, andThe Dynamic Analysis Model
- Instructor Dr. Hany H. Ammar
- Dept. of Computer Science and Electrical
Engineering, WVU
2Outline
- Review of previous Lecture
- 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
3Review 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
- Identify Actors
- Identify Scenarios
- Identify Use Cases
- Refine Use Cases
- Identify Relationships between actors and Use
Cases - Identify Initial Analysis Objects
- Identify Non-functional requirements
4UML Development - Overview
REQUIREMENTS ELICITATION
Time
D
Requirements Engineering
System/Object SEQUENCE DIAGRAMS
A
T
A
ANALYSIS CLASS DIAGRAM(S)
StateChart DIAGRAMs
ANALYSIS Specify Domain Objects
D
I
OPERATION CONTRACTS
C
T
Architectural Design Include Design Objects
I
SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS
DESIGN SEQUENCE DIAG.
DEPLOYMENT DIAGRAM
O
N
DESIGN DIAGRAMS
A
R
Detailed DESIGN
Y
Object Design
IMPLEMENTATION Activity DIAGRAMS
IMPLEMENTATION CHOICES
IMPLEMENTATION
PROGRAM
5The Requirements Model and the Analysis Model
The Requirements Elicitation Process
Functional/ Nonfunctional Requirements
Use Case Diagrams/ Sequence Diagrams (the system
level)
The Object-Oriented Analysis Process
Static Analysis Dynamic Analysis
- Class Diagrams - State Diagrams/ Refined
Sequence Diagrams (The object level)
6What is Requirements Engineering ?
7What 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
8What is Requirements Engineering?
- Major Requirements Management Tools
- 1. Caliber-RM by Technology Builders, Inc.
www.tbi.com - 2. RequisitePro by Rational Software Corporation
www.rational.com - 3. RTM Workshop by Integrated Chipware, Inc.
www.chipware.com
9What 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.
10What 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.
11What 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 Software Requirements
Specification document written in natural
language, augmented by appropriate analysis
models. (to be discussed in detail)
12What is Requirements Engineering?
- Requirements Verification
- 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
13Outline
- 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
14Importance 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
15Rules of Sequence Diagrams
16Rules 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
17Rules of Sequence Diagrams
- Messages specified on interactions can be
synchronous or asynchronous
Synchronous call
18Rules of Sequence Diagrams
19Rules of Sequence Diagrams
- Display operation names on call arrows
20Rules of Sequence Diagrams
- Compound and Simple Iteration
21included sequence diagrams
22Showing alternate behavior in a sequence diagram
23Showing Extension Point
24Specifying Timing Requirements
25Outline
- 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
26Recall Requirements Elicitation Process
- The process of requirements elicitation consists
of the following steps - Identify Actors
- Identify Scenarios
- Identify Use Cases
- Refine Use Cases
- Identify Relationships between actors and Use
Cases - Identify Initial Analysis Objects
- Identify Non-functional requirements
27Requirements Elicitation ProcessStep 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 of events and the abnormal flow of
events
28Sequence Diagrams and Use CasesSystem Sequence
Diagram
The use case diagram Of system S
The sequence diagram of use case UC1 for system S
29UML Use Case Diagrams The Requirements Model
Case Study
30UML 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
31(No Transcript)
32(No Transcript)
33Example Use Case Diagram of E-Commerce Example
34(No Transcript)
35(No Transcript)
36(No Transcript)
37 38(No Transcript)
39(No Transcript)
40Other Examples of Sequence Diagrams
41A Simple Example of Using UML2
- EXAMPLE SATELLITE CONTROL SYSTEM
42Example of Software Architecture Using UML2
- SATELLITE CONTROL SYSTEM Architecture
43A Simple Example Using UML2
- SATELLITE CONTROL SYSTEM Architectural behavior