SlideShare a Scribd company logo
1 of 75
9/3/01
CS 406 Fall 2001 Requirements
Analysis 1
Requirements Analysis and the
Unified Process
Last Update: Thursday, September 6, 2001
9/3/01
CS 406 Fall 2001 Requirements
Analysis 2
Contents
 Requirements Analysis: What and what?
 Unified Process
 OO Analysis and Design
 Basics
 UML
 Actors, Use cases
9/3/01
CS 406 Fall 2001 Requirements
Analysis 3
Requirements Analysis [1]
 What is it?
 The process by which customer needs are
understood and documented.
 Expresses “what” is to be built and NOT “how”
it is to be built.
 Example 1:
 The system shall allow users to withdraw cash. [What?]
 Example 2:
 A sale item’s name and other attributes will be stored in
a hash table and updated each time any attribute
changes. [How?]
9/3/01
CS 406 Fall 2001 Requirements
Analysis 4
Requirements Analysis [2]
 C- and D-Requirements
 C-: Customer wants and needs; expressed in
language understood by the customer.
 D-: For the developers; may be more formal.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 5
Requirements Analysis [2]
Why document requirements?
Serves as a contract between the customer and the
developer.
Serves as a source of test plans.
Serves to specify project goals and plan development
cycles and increments.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 6
Requirements Analysis [3]
 Roadmap:
 Identify the customer.
 Interview customer representatives.
 Write C-requirements, review with customer,
and update when necessary.
 Write D-requirements; check to make sure that
there is no inconsistency between the C- and
the D-requirements.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 7
Requirements Analysis [4]
 C-requirements:
 Use cases expressed individually and with a use case
diagram. A use case specifies a collection of scenarios.
 Sample use case: Process sale.
 Data flow diagram:
 Explains the flow of data items across various functions.
Useful for explaining system functions. [Example on the
next slide.]
 State transition diagram:
 Explains the change of system state in response to one or
more operations. [Example two slides later.]
 User interface: Generally not a part of requirements analysis
though may be included. [Read section 3.5 from Braude.]
9/3/01
CS 406 Fall 2001 Requirements
Analysis 8
Data Flow Diagram
Pay rate
Overtime
rate
Total pay
Pay
Net pay
Get employee
file
Weekly
pay
Overtime
pay
Deduct
taxes
Issue
paycheck
Employee Record
Company records
Worker
ID
Regular
hours
Overtime
hours
Check
Tax rates
*
*
*
9/3/01
CS 406 Fall 2001 Requirements
Analysis 9
State Transition Diagram
(STD)
EBOFF (e,f) EBON (e,f)
EBP(e,f)
EBP(e,f)
EBOFF (e,f): Elevator e button OFF at floor f.
EBON (e,f): Elevator e button ON at floor f.
EBP(e,f): Elevator e button f is pressed.
EAF(e,f): Elevator e arrives at floor f.
Elevator example (partial):
9/3/01
CS 406 Fall 2001 Requirements
Analysis 10
Requirements Analysis [5]
 D-requirements:
1. Organize the D-requirements.
2. Create sequence diagrams for use cases:
 Obtain D-requirements from C-requirements and
customer.
 Outline test plans
 Inspect
3. Validate with customer.
4. Release:
9/3/01
CS 406 Fall 2001 Requirements
Analysis 11
Requirements Analysis [6]
1. Organize the D-requirements.
(a) Functional requirements
The blood pressure monitor will measure the blood
pressure and display it on the in-built screen
(b) Non-functional requirements
(i) Performance
The blood pressure monitor will complete a reading
within 10 seconds.
(i) Reliability
The blood pressure monitor must have a failure
probability of less than 0.01 during the first 500
readings.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 12
Requirements Analysis [7]
(c) Interface requirements: interaction with the users
and other applications
The blood pressure monitor will have a display screen
and push buttons. The display screen will….
(d) Constraints: timing, accuracy
The blood pressure monitor will take readings with an
error less than 2%.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 13
Requirements Analysis [7]
Properties of D-requirements:
1. Traceability: Functional requirements
D-requirement  inspection report  design segment
 code segment  code inspection report  test
plan  test report
2. Traceability: Non-Functional requirements
(a) Isolate each non-functional requirement.
(b) Document each class/function with the related non-
functional requirement.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 14
Requirements Analysis [8]
Properties of D-requirements:
3. Testability
It must be possible to test each requirement. Example
?
4. Categorization and prioritization
9/3/01
CS 406 Fall 2001 Requirements
Analysis 15
 How to categorize system functions?
Categorizing Requirements
Function Category Meaning
Evident Should perform, user is aware
Hidden Should perform but not visible
to users
Frill Optional; Nice to have
9/3/01
CS 406 Fall 2001 Requirements
Analysis 16
Prioritizing (Ranking) Use
Cases
 Strategy :
 pick the use cases that significantly
influence the core architecture
 pick the use cases that are critical to the
success of the business
 a useful rule of thumb - pick the use cases
that are the highest risk!!!
9/3/01
CS 406 Fall 2001 Requirements
Analysis 17
Requirements Analysis [9]
Properties of D-requirements:
5. Completeness
Self contained, no omissions.
6. Error conditions
State what happens in case of an error. How should
the implementation react in case of an error condition?
9/3/01
CS 406 Fall 2001 Requirements
Analysis 18
Requirements Analysis [10]
Properties of D-requirements:
7. Consistency
Different requirements must be consistent.
Example:
R1.2: The speed of the vehicle will never exceed 250
mph.
R5.4: When the vehicle is cruising at a speed greater
than 300 mph, a special “watchdog” safety
mechanism will be automatically activated.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 19
The Unified Process
 Why a Process?
 Software projects are large, complex,
sophisticated
 time to market is key
 many facets involved in getting to the end
 Common process should
 integrate the many facets
 provide guidance to the order of activities
 specify what artifacts need to be developed
 offer criteria for monitoring and measuring a
project
9/3/01
CS 406 Fall 2001 Requirements
Analysis 20
The Unified Process
 Component based - meaning the software system is
built as a set of software components interconnected
via interfaces
 Uses the Unified Modeling Language (UML)
 Use case driven
 Architecture-centric
 Iterative and incremental
Component: A physical and replaceable part of a system that conforms to
and provides realization of a set of interfaces.
Interface: A collection of operations that are used to specify a service of a
class or a component
This is what makes
the Unified process
Unique
9/3/01
CS 406 Fall 2001 Requirements
Analysis 21
The Unified Process
User’s
requirements
Software
Development
Process
Software
System
9/3/01
CS 406 Fall 2001 Requirements
Analysis 22
The Unified Process
 Use Case driven
 A use case is a piece of functionality
in the system that gives a user a
result of value
 Use cases capture functional
requirements
 Use case answers the question:
What is the system supposed to do
for the user?
9/3/01
CS 406 Fall 2001 Requirements
Analysis 23
The Unified Process
 Architecture centric
 similar to architecture for building a house
 Embodies the most significant static and
dynamic aspects of the system
 Influenced by platform, OS, DBMS etc.
 Primarily serves the realization of use
cases
9/3/01
CS 406 Fall 2001 Requirements
Analysis 24
The Unified Process
 Iterative and Incremental
 commercial projects continue many months
and years
 to be most effective - break the project into
iterations
 Every iteration - identify use cases,create
a design, implement the design
 Every iteration is a complete development
process
9/3/01
CS 406 Fall 2001 Requirements
Analysis 25
The Unified Process
 Look at the whole
process
 Life cycle
 Artifacts
 Workflows
 Phases
 Iterations
9/3/01
CS 406 Fall 2001 Requirements
Analysis 26
The Life of the Unified Process
 Unified process repeats over a
series of cycles
 Each cycle concludes with a
product release
 Each cycle consists of four phases:
 inception
 elaboration
 construction
 transition
9/3/01
CS 406 Fall 2001 Requirements
Analysis 27
The Life of the Unified Process
Elaboration
Inception Construction Transition
Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration
Release 1
1 1 1 1
Time
A cycle with its phases and its iterations
9/3/01
CS 406 Fall 2001 Requirements
Analysis 28
OO Analysis and Design
 Compare and Contrast analysis and design
 Define object-oriented analysis and design
 Relate, by analogy, OO analysis and design to
business organization.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 29
What is Analysis and Design?
 Analysis - investigation of the problem (what)
 Design - logical solution to fulfill the requirements
(how)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 30
What is OO analysis and
design?
 Essence of OO analysis - consider a problem domain
from the perspective of objects (real world things,
concepts)
 Essence of OO design - define the solution as a
collection of software objects (allocating
responsibilities to objects)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 31
Examples
 OO Analysis - in the case of the library information
systems, one would find concepts like book, library,
patron
 OO Design - emphasis on defining the software
objects; ultimately these objects are implemented in
some programming language; Book may have a
method named print.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 32
Example - contd.
Domain concept
Representation in
analysis of
concepts
Book
______
title
print()
Public class Book
{
public void print();
private string title;
}
Representation in OO
programming language
9/3/01
CS 406 Fall 2001 Requirements
Analysis 33
What are the business
processes?
 First step - consider what the business must do; in
the case of a library - lending books, keeping track of
due dates, buying new books.
 In OO terms - requirements analysis; represent the
business processes in textual narration (Use Cases).
9/3/01
CS 406 Fall 2001 Requirements
Analysis 34
Business processes - contd.
 Identifying and recording the business processes
as use cases is not actually an object oriented
activity; though a necessary first step.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 35
Roles in the organization
 Identify the roles of people who will be involved in
the business processes
 In OO terms - domain analysis
 Examples - customer, library assistant,
programmer, navigator, sensor, etc.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 36
Who does what? Collaboration
 Business processes and people identified; time to
determine how to fulfill the processes and who
does these processes
 in OO terms - object oriented design; assigning
responsibilities to the various software objects
 often expressed in class diagrams
9/3/01
CS 406 Fall 2001 Requirements
Analysis 37
In Summary...
Business
Analogy
OO Analysis
and Design
Associated
Documents
What are the
business
processes?
Requirements
analysis
Use cases
What are
employee roles?
Domain analysis Conceptual
model
Who is
responsible for
what?
Responsibility
assignment;
Design class
diagrams
9/3/01
CS 406 Fall 2001 Requirements
Analysis 38
Simple example to see big
picture
 Define use cases
 Define conceptual model
 Define collaboration diagrams
 Define design class diagrams
Example: Dice game a player rolls two die.
If the total is 7 they win; otherwise they lose
9/3/01
CS 406 Fall 2001 Requirements
Analysis 39
Define use cases
 Use cases - narrative descriptions of
domain processes in a structured prose
format
Use case: Play a game
Actors: Player
Description: This use case begins when
the player picks up and rolls the die….
9/3/01
CS 406 Fall 2001 Requirements
Analysis 40
Define conceptual model
 OO Analysis concerns
 specification of the problem domain
 identification of concepts (objects)
 Decomposition of the problem domain
includes
 identification of objects, attributes,
associations
 results can be expressed in conceptual
model
9/3/01
CS 406 Fall 2001 Requirements
Analysis 41
Conceptual model - dice game
Player
_____
name
Die
____
facevalue
DiceGame
1 2
2
1
1
1
Includes
Plays
Rolls
Conceptual model is not a description of the software components;
it represents concepts in the real world problem domain
9/3/01
CS 406 Fall 2001 Requirements
Analysis 42
Defining collaboration diagram
 OO Design is concerned with
 defining logical software specification that
fulfills the requirements
 Essential step - allocating responsibility to
objects and illustrating how they interact
with other objects
 Expressed as Collaboration diagrams
Collaboration diagrams express the flow of messages between
Objects.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 43
Example - collaboration
diagram
:
Pl
ayer d1:
D i
e
d2:
D i
e
1:r
1:
=r
ol
l
(
)
2:r
2:
= r
ol
l
(
)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 44
Defining class diagrams
 Key questions to ask
 How do objects connect to other objects?
 What are the behaviors (methods) of these
objects?
 Collaboration diagrams suggests
connections; to support these connections
methods are needed
 Expressed as class diagrams
9/3/01
CS 406 Fall 2001 Requirements
Analysis 45
Example - Class diagram
A line with an arrow at the end may suggest an attribute.
For example, DiceGame has an attribute that points to an
instance of a Player
9/3/01
CS 406 Fall 2001 Requirements
Analysis 46
Defining Models and Artifacts
 Objectives
 analysis and design models
 familiarize UML notations and diagrams
 real world software systems are
inherently complex
 Models provide a mechanism for
decomposition and expressing
specifications
9/3/01
CS 406 Fall 2001 Requirements
Analysis 47
Analysis and Design models
 Analysis model - models related to an investigation of
the domain and problem space (Use case model
qualifies as an example)
 Design model - models related to the solution (class
diagrams qualifies as an example)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 48
Introduction to UML[1]
 UML is NOT a methodology
 UML is NOT a process
 UML is NOT proprietary (Now under the OMG)
 UML is strictly Notations
9/3/01
CS 406 Fall 2001 Requirements
Analysis 49
Introduction to UML[2]
 Goals of UML notation
 Simple : requires only a few concepts and symbols
 Expressive : applicable to a wide spectrum of systems and
life cycle methods
 Useful : focuses only upon those necessary elements to
software engineering
 Consistent : the same concept and symbol should be
applied in the same fashion throughout
9/3/01
CS 406 Fall 2001 Requirements
Analysis 50
Introduction to UML[3]
 Goals of UML notation:
 Printable
 Extensible : users and tool builders should have some
freedom to extend the notation
 UML has different parts
 Views - shows different aspects of the system that are
modeled, links the modeling language to the
method/process chosen for development
 Diagrams - graphs that describe the contents in a view
 Model elements - concepts used in a diagram
9/3/01
CS 406 Fall 2001 Requirements
Analysis 51
Introduction to UML[4]
Component
View
Use
Case
View
Logical
View
Concurrenc
y
View
Deployment
View
9/3/01
CS 406 Fall 2001 Requirements
Analysis 52
Introduction to UML[5]
 Use-case view : A view showing the functionality of
the system as perceived by the external actors
 Logical view: A view showing how the functionality is
designed inside the system, in terms of the static
structure and dynamic behavior
 Component view: A view showing the organization of
the code components
9/3/01
CS 406 Fall 2001 Requirements
Analysis 53
Introduction to UML[6]
 Concurrency view: A view showing the concurrency
of the system
 Deployment view: A view showing the deployment of
the system in terms of the physical architecture
9/3/01
CS 406 Fall 2001 Requirements
Analysis 54
Introduction to UML[9]
 Model elements
 Class
 Object
 State
 Use case
 Interface
 Association
 Link
 Package ….
9/3/01
CS 406 Fall 2001 Requirements
Analysis 55
Introduction to UML[10]
 Use Case diagram: External interaction with actors
 Class/Object Diagram : captures static structural
aspects, objects and relationships
 State Diagram: Dynamic state behavior
 Sequence diagram: models object interaction over
time
 Collaboration diagram: models component interaction
and structural dependencies
9/3/01
CS 406 Fall 2001 Requirements
Analysis 56
Introduction to UML[11]
 Activity diagram : models object activities
 Deployment diagram : models physical architecture
 Component diagram : models software architecture
9/3/01
CS 406 Fall 2001 Requirements
Analysis 57
Case study - Point of Sale
 POS terminal should support the following
 record sales
 handle payments
 many architectural layers
 presentation
 application logic (problem domain, service
support)
 persistence
 Emphasis - problem domain application
objects
9/3/01
CS 406 Fall 2001 Requirements
Analysis 58
Understanding requirements
Ref# Function Category
R1.1 Record the current
sale
Evident
R1.2 Calculate current
sale total
Evident
R1.3 Reduce inventory Hidden
9/3/01
CS 406 Fall 2001 Requirements
Analysis 59
Analysis
 Objectives
 Identification of Use cases
 Draw use case diagrams
 Ranking Use cases
 Contrast essential and real use cases
9/3/01
CS 406 Fall 2001 Requirements
Analysis 60
Use cases [1]
 Excellent technique for improving the
understanding of requirements
 Narrative in nature
 Use cases are dependent on having some
understanding of the requirements (expressed in
functional specifications document).
9/3/01
CS 406 Fall 2001 Requirements
Analysis 61
Use Cases [2]
 Use case - narration of the sequence of
events of an actor using a system
 UML icon for use case
9/3/01
CS 406 Fall 2001 Requirements
Analysis 62
Actors [1]
 Actor - an entity external to the
system that in some way participates
in the use case
 An actor typically stimulates the
system with input events or receives
outputs from the system or does
both.
 UML notation for actor:
Cust
om er
9/3/01
CS 406 Fall 2001 Requirements
Analysis 63
Actors [2]
 Primary Actor - an entity external to the
system that uses system services in a
direct manner.
 Supporting Actor- an actor that provides
services to the system being built.
 Hardware, software applications,
individual processes, can all be actors.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 64
Identification of Use Cases
 Method 1 - Actor based
 Identify the actors related to the system
 Identify the processes these actors initiate or participate in
 Method 2 - Event based
 Identify the external events that a system must respond to
 Relate the events to actors and use cases
 Method 3 – Goal based
 [Actors have goals.]
 Find user goals. [Prepare actor-goal list.]
 Define a use case for each goal.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 65
Identification of Use Cases[2]
 To identify use cases, focus on elementary
business processes (EBP).
 An EBP is a task performed by one person in one
place at one time, in response to a business
event. This task adds measurable business value
and leaves data in a consistent state..
9/3/01
CS 406 Fall 2001 Requirements
Analysis 66
Point of Sale - Actors
 Actors:
 Cashier
 Customer
 Supervisor
 Choosing actors:
 Identify system boundary
 Identify entities, human or otherwise, that will interact
with the system, from outside the boundary.
 Example: A temperature sensing device is an actor for
a temperature monitoring application.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 67
Point of Sale - Use Cases
 Cashier
 Log In
 Cash out
 Customer
 Buy items
 Return items
9/3/01
CS 406 Fall 2001 Requirements
Analysis 68
Common mistake
 Common error -
representing individual
steps as use cases
 Example: printing a
receipt (Why?)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 69
High level vs. Low Level Use cases[1]
 Consider the following use cases:
 Log out
 Handle payment
 Negotiate contract with a supplier
 These use cases are at different levels. Are they
all valid? To check, use the EBP definition.
 Log out: a secondary goal; it is necessary to do
something but not useful in itself.
 Handle payment: A necessary EBP. Hence a
primary goal.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 70
High level vs. Low Level Use cases
[2]
 Log out: a secondary goal; it is necessary to do
something but not useful in itself.
 Handle payment: A necessary EBP. Hence a
primary goal.
 Negotiate contract: Most likely this is too high a
level. It is composed of several EBPs and hence
must be broken down.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 71
Use Case Diagram - Example
Use Case Diagram: illustrates a set of use cases for a system.
Process sale
Payment
Authorization
service
Manage security
System administrator
Cashier Handle returns
Process rental <<actor>>
Tax calculator
Manage users
<<actor>>
Accounting
system
9/3/01
CS 406 Fall 2001 Requirements
Analysis 72
More on Use Cases
 Try to describe use cases independent of
implementation
 Be as narrative as possible
 State success scenarios (how do you measure the
success of an use case)
 A use case can have many scenarios (threads of
execution)
 Agree on a “format style” for use case description
 Name a use case starting with a verb in order to
emphasize that it is a process (Buy Items, Enter an
order, Reduce inventory)
9/3/01
CS 406 Fall 2001 Requirements
Analysis 73
More on Use Cases
 Document exception handling or branching
 when a “Buy Item” fails, what is expected of the system
 when a “credit card” approval fails, what is expected of the
system
9/3/01
CS 406 Fall 2001 Requirements
Analysis 74
A sample Use Case
Use case: Buy Items
Actors: Customer, Cashier
Type: Primary, Essential
Description: A customer arrives at a checkout with
items to purchase. The cashier records
the purchase items and collects payment.
9/3/01
CS 406 Fall 2001 Requirements
Analysis 75
Ranking Use Cases
 Use some ordering that is customary to your
environment
 Example: High, Medium, Low
 Example: Must have, Essential, Nice to have
 Useful while deciding what goes into an increment
 Point of sale example:
 Buy Items - High
 Refund Items - Medium (Why?)
 Shut Down POS terminal - Low

More Related Content

Similar to unit 3 software requirement and analysis-1.ppt

According to an article published in Forbes in 2010, the 10 essent.docx
According to an article published in Forbes in 2010, the 10 essent.docxAccording to an article published in Forbes in 2010, the 10 essent.docx
According to an article published in Forbes in 2010, the 10 essent.docx
nettletondevon
 
Title of the ProjectbyStudent NameThis is an Engineeri.docx
Title of the ProjectbyStudent NameThis is an Engineeri.docxTitle of the ProjectbyStudent NameThis is an Engineeri.docx
Title of the ProjectbyStudent NameThis is an Engineeri.docx
herthalearmont
 
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docxBoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
jasoninnes20
 
DoD Architecture Framework Overview
DoD Architecture Framework OverviewDoD Architecture Framework Overview
DoD Architecture Framework Overview
Alessio Mosto
 
Unit 3 final
Unit 3 finalUnit 3 final
Unit 3 final
sietkcse
 

Similar to unit 3 software requirement and analysis-1.ppt (20)

According to an article published in Forbes in 2010, the 10 essent.docx
According to an article published in Forbes in 2010, the 10 essent.docxAccording to an article published in Forbes in 2010, the 10 essent.docx
According to an article published in Forbes in 2010, the 10 essent.docx
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in design
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
Lecture_three_Requirements_analysis.pptx
Lecture_three_Requirements_analysis.pptxLecture_three_Requirements_analysis.pptx
Lecture_three_Requirements_analysis.pptx
 
BABoK V2 Requirements Analysis (RA)
BABoK V2 Requirements Analysis (RA)BABoK V2 Requirements Analysis (RA)
BABoK V2 Requirements Analysis (RA)
 
chap3 seq5.ppt
chap3 seq5.pptchap3 seq5.ppt
chap3 seq5.ppt
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
 
2 (1).ppt
2 (1).ppt2 (1).ppt
2 (1).ppt
 
Title of the ProjectbyStudent NameThis is an Engineeri.docx
Title of the ProjectbyStudent NameThis is an Engineeri.docxTitle of the ProjectbyStudent NameThis is an Engineeri.docx
Title of the ProjectbyStudent NameThis is an Engineeri.docx
 
BIS09 Application Development - III
BIS09 Application Development - IIIBIS09 Application Development - III
BIS09 Application Development - III
 
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docxBoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
Power point presentation 1
Power point presentation 1Power point presentation 1
Power point presentation 1
 
RTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.pptRTDesignWithUMLUseCase.ppt
RTDesignWithUMLUseCase.ppt
 
Modeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDrawModeling and Testing Dovetail in MagicDraw
Modeling and Testing Dovetail in MagicDraw
 
2. Software process
2. Software process2. Software process
2. Software process
 
DoD Architecture Framework Overview
DoD Architecture Framework OverviewDoD Architecture Framework Overview
DoD Architecture Framework Overview
 
Unit 3 final
Unit 3 finalUnit 3 final
Unit 3 final
 
09 cs491 st-t1
09 cs491 st-t109 cs491 st-t1
09 cs491 st-t1
 
chapter 2 (1).ppt
chapter 2 (1).pptchapter 2 (1).ppt
chapter 2 (1).ppt
 

More from SomnathMule5

chapter2-softwareprocessmodels-190805164811.pptx
chapter2-softwareprocessmodels-190805164811.pptxchapter2-softwareprocessmodels-190805164811.pptx
chapter2-softwareprocessmodels-190805164811.pptx
SomnathMule5
 
Eliminating ^ production and Unit Production from a CFG.pptx
Eliminating ^ production and Unit Production from a CFG.pptxEliminating ^ production and Unit Production from a CFG.pptx
Eliminating ^ production and Unit Production from a CFG.pptx
SomnathMule5
 
software engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.pptsoftware engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.ppt
SomnathMule5
 

More from SomnathMule5 (16)

chapter2-softwareprocessmodels-190805164811.pptx
chapter2-softwareprocessmodels-190805164811.pptxchapter2-softwareprocessmodels-190805164811.pptx
chapter2-softwareprocessmodels-190805164811.pptx
 
Mobile communication Mobile Networking.pptx
Mobile communication Mobile Networking.pptxMobile communication Mobile Networking.pptx
Mobile communication Mobile Networking.pptx
 
Mobile communication and computing GSM protocol stack and frame formatting.pdf
Mobile communication and computing GSM protocol stack and frame formatting.pdfMobile communication and computing GSM protocol stack and frame formatting.pdf
Mobile communication and computing GSM protocol stack and frame formatting.pdf
 
Mobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdf
Mobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdfMobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdf
Mobile communication and computing gsm-radio-interface-140720014203-phpapp02.pdf
 
Mobile communication and computing presentation-161102173611.pdf
Mobile communication and computing presentation-161102173611.pdfMobile communication and computing presentation-161102173611.pdf
Mobile communication and computing presentation-161102173611.pdf
 
Mobile communication and computing gprs.ppt
Mobile communication and computing gprs.pptMobile communication and computing gprs.ppt
Mobile communication and computing gprs.ppt
 
Mbile communication and computingGSM Network.ppt
Mbile communication and computingGSM Network.pptMbile communication and computingGSM Network.ppt
Mbile communication and computingGSM Network.ppt
 
Mobile Communication gsm_introduction.ppt
Mobile Communication gsm_introduction.pptMobile Communication gsm_introduction.ppt
Mobile Communication gsm_introduction.ppt
 
Eliminating ^ production and Unit Production from a CFG.pptx
Eliminating ^ production and Unit Production from a CFG.pptxEliminating ^ production and Unit Production from a CFG.pptx
Eliminating ^ production and Unit Production from a CFG.pptx
 
Improving machine learning models unit 5.pptx
Improving machine learning models unit 5.pptxImproving machine learning models unit 5.pptx
Improving machine learning models unit 5.pptx
 
Software requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptxSoftware requirement specification Unit 3.pptx
Software requirement specification Unit 3.pptx
 
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
 
software engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.pptsoftware engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.ppt
 
Engineering economics and Management Unit-2.pdf
Engineering economics and Management Unit-2.pdfEngineering economics and Management Unit-2.pdf
Engineering economics and Management Unit-2.pdf
 
DevOps Expt 2.pdf
DevOps Expt 2.pdfDevOps Expt 2.pdf
DevOps Expt 2.pdf
 
DevOps Expt 1.pdf
DevOps Expt 1.pdfDevOps Expt 1.pdf
DevOps Expt 1.pdf
 

Recently uploaded

Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
drjose256
 
Performance enhancement of machine learning algorithm for breast cancer diagn...
Performance enhancement of machine learning algorithm for breast cancer diagn...Performance enhancement of machine learning algorithm for breast cancer diagn...
Performance enhancement of machine learning algorithm for breast cancer diagn...
IJECEIAES
 
Microkernel in Operating System | Operating System
Microkernel in Operating System | Operating SystemMicrokernel in Operating System | Operating System
Microkernel in Operating System | Operating System
Sampad Kar
 
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
Madan Karki
 

Recently uploaded (20)

Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
 
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
 
Low Altitude Air Defense (LAAD) Gunner’s Handbook
Low Altitude Air Defense (LAAD) Gunner’s HandbookLow Altitude Air Defense (LAAD) Gunner’s Handbook
Low Altitude Air Defense (LAAD) Gunner’s Handbook
 
Performance enhancement of machine learning algorithm for breast cancer diagn...
Performance enhancement of machine learning algorithm for breast cancer diagn...Performance enhancement of machine learning algorithm for breast cancer diagn...
Performance enhancement of machine learning algorithm for breast cancer diagn...
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 
Dynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptxDynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptx
 
21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 
Introduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AIIntroduction to Artificial Intelligence and History of AI
Introduction to Artificial Intelligence and History of AI
 
Fuzzy logic method-based stress detector with blood pressure and body tempera...
Fuzzy logic method-based stress detector with blood pressure and body tempera...Fuzzy logic method-based stress detector with blood pressure and body tempera...
Fuzzy logic method-based stress detector with blood pressure and body tempera...
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Students
 
Microkernel in Operating System | Operating System
Microkernel in Operating System | Operating SystemMicrokernel in Operating System | Operating System
Microkernel in Operating System | Operating System
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
 
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
 

unit 3 software requirement and analysis-1.ppt

  • 1. 9/3/01 CS 406 Fall 2001 Requirements Analysis 1 Requirements Analysis and the Unified Process Last Update: Thursday, September 6, 2001
  • 2. 9/3/01 CS 406 Fall 2001 Requirements Analysis 2 Contents  Requirements Analysis: What and what?  Unified Process  OO Analysis and Design  Basics  UML  Actors, Use cases
  • 3. 9/3/01 CS 406 Fall 2001 Requirements Analysis 3 Requirements Analysis [1]  What is it?  The process by which customer needs are understood and documented.  Expresses “what” is to be built and NOT “how” it is to be built.  Example 1:  The system shall allow users to withdraw cash. [What?]  Example 2:  A sale item’s name and other attributes will be stored in a hash table and updated each time any attribute changes. [How?]
  • 4. 9/3/01 CS 406 Fall 2001 Requirements Analysis 4 Requirements Analysis [2]  C- and D-Requirements  C-: Customer wants and needs; expressed in language understood by the customer.  D-: For the developers; may be more formal.
  • 5. 9/3/01 CS 406 Fall 2001 Requirements Analysis 5 Requirements Analysis [2] Why document requirements? Serves as a contract between the customer and the developer. Serves as a source of test plans. Serves to specify project goals and plan development cycles and increments.
  • 6. 9/3/01 CS 406 Fall 2001 Requirements Analysis 6 Requirements Analysis [3]  Roadmap:  Identify the customer.  Interview customer representatives.  Write C-requirements, review with customer, and update when necessary.  Write D-requirements; check to make sure that there is no inconsistency between the C- and the D-requirements.
  • 7. 9/3/01 CS 406 Fall 2001 Requirements Analysis 7 Requirements Analysis [4]  C-requirements:  Use cases expressed individually and with a use case diagram. A use case specifies a collection of scenarios.  Sample use case: Process sale.  Data flow diagram:  Explains the flow of data items across various functions. Useful for explaining system functions. [Example on the next slide.]  State transition diagram:  Explains the change of system state in response to one or more operations. [Example two slides later.]  User interface: Generally not a part of requirements analysis though may be included. [Read section 3.5 from Braude.]
  • 8. 9/3/01 CS 406 Fall 2001 Requirements Analysis 8 Data Flow Diagram Pay rate Overtime rate Total pay Pay Net pay Get employee file Weekly pay Overtime pay Deduct taxes Issue paycheck Employee Record Company records Worker ID Regular hours Overtime hours Check Tax rates * * *
  • 9. 9/3/01 CS 406 Fall 2001 Requirements Analysis 9 State Transition Diagram (STD) EBOFF (e,f) EBON (e,f) EBP(e,f) EBP(e,f) EBOFF (e,f): Elevator e button OFF at floor f. EBON (e,f): Elevator e button ON at floor f. EBP(e,f): Elevator e button f is pressed. EAF(e,f): Elevator e arrives at floor f. Elevator example (partial):
  • 10. 9/3/01 CS 406 Fall 2001 Requirements Analysis 10 Requirements Analysis [5]  D-requirements: 1. Organize the D-requirements. 2. Create sequence diagrams for use cases:  Obtain D-requirements from C-requirements and customer.  Outline test plans  Inspect 3. Validate with customer. 4. Release:
  • 11. 9/3/01 CS 406 Fall 2001 Requirements Analysis 11 Requirements Analysis [6] 1. Organize the D-requirements. (a) Functional requirements The blood pressure monitor will measure the blood pressure and display it on the in-built screen (b) Non-functional requirements (i) Performance The blood pressure monitor will complete a reading within 10 seconds. (i) Reliability The blood pressure monitor must have a failure probability of less than 0.01 during the first 500 readings.
  • 12. 9/3/01 CS 406 Fall 2001 Requirements Analysis 12 Requirements Analysis [7] (c) Interface requirements: interaction with the users and other applications The blood pressure monitor will have a display screen and push buttons. The display screen will…. (d) Constraints: timing, accuracy The blood pressure monitor will take readings with an error less than 2%.
  • 13. 9/3/01 CS 406 Fall 2001 Requirements Analysis 13 Requirements Analysis [7] Properties of D-requirements: 1. Traceability: Functional requirements D-requirement  inspection report  design segment  code segment  code inspection report  test plan  test report 2. Traceability: Non-Functional requirements (a) Isolate each non-functional requirement. (b) Document each class/function with the related non- functional requirement.
  • 14. 9/3/01 CS 406 Fall 2001 Requirements Analysis 14 Requirements Analysis [8] Properties of D-requirements: 3. Testability It must be possible to test each requirement. Example ? 4. Categorization and prioritization
  • 15. 9/3/01 CS 406 Fall 2001 Requirements Analysis 15  How to categorize system functions? Categorizing Requirements Function Category Meaning Evident Should perform, user is aware Hidden Should perform but not visible to users Frill Optional; Nice to have
  • 16. 9/3/01 CS 406 Fall 2001 Requirements Analysis 16 Prioritizing (Ranking) Use Cases  Strategy :  pick the use cases that significantly influence the core architecture  pick the use cases that are critical to the success of the business  a useful rule of thumb - pick the use cases that are the highest risk!!!
  • 17. 9/3/01 CS 406 Fall 2001 Requirements Analysis 17 Requirements Analysis [9] Properties of D-requirements: 5. Completeness Self contained, no omissions. 6. Error conditions State what happens in case of an error. How should the implementation react in case of an error condition?
  • 18. 9/3/01 CS 406 Fall 2001 Requirements Analysis 18 Requirements Analysis [10] Properties of D-requirements: 7. Consistency Different requirements must be consistent. Example: R1.2: The speed of the vehicle will never exceed 250 mph. R5.4: When the vehicle is cruising at a speed greater than 300 mph, a special “watchdog” safety mechanism will be automatically activated.
  • 19. 9/3/01 CS 406 Fall 2001 Requirements Analysis 19 The Unified Process  Why a Process?  Software projects are large, complex, sophisticated  time to market is key  many facets involved in getting to the end  Common process should  integrate the many facets  provide guidance to the order of activities  specify what artifacts need to be developed  offer criteria for monitoring and measuring a project
  • 20. 9/3/01 CS 406 Fall 2001 Requirements Analysis 20 The Unified Process  Component based - meaning the software system is built as a set of software components interconnected via interfaces  Uses the Unified Modeling Language (UML)  Use case driven  Architecture-centric  Iterative and incremental Component: A physical and replaceable part of a system that conforms to and provides realization of a set of interfaces. Interface: A collection of operations that are used to specify a service of a class or a component This is what makes the Unified process Unique
  • 21. 9/3/01 CS 406 Fall 2001 Requirements Analysis 21 The Unified Process User’s requirements Software Development Process Software System
  • 22. 9/3/01 CS 406 Fall 2001 Requirements Analysis 22 The Unified Process  Use Case driven  A use case is a piece of functionality in the system that gives a user a result of value  Use cases capture functional requirements  Use case answers the question: What is the system supposed to do for the user?
  • 23. 9/3/01 CS 406 Fall 2001 Requirements Analysis 23 The Unified Process  Architecture centric  similar to architecture for building a house  Embodies the most significant static and dynamic aspects of the system  Influenced by platform, OS, DBMS etc.  Primarily serves the realization of use cases
  • 24. 9/3/01 CS 406 Fall 2001 Requirements Analysis 24 The Unified Process  Iterative and Incremental  commercial projects continue many months and years  to be most effective - break the project into iterations  Every iteration - identify use cases,create a design, implement the design  Every iteration is a complete development process
  • 25. 9/3/01 CS 406 Fall 2001 Requirements Analysis 25 The Unified Process  Look at the whole process  Life cycle  Artifacts  Workflows  Phases  Iterations
  • 26. 9/3/01 CS 406 Fall 2001 Requirements Analysis 26 The Life of the Unified Process  Unified process repeats over a series of cycles  Each cycle concludes with a product release  Each cycle consists of four phases:  inception  elaboration  construction  transition
  • 27. 9/3/01 CS 406 Fall 2001 Requirements Analysis 27 The Life of the Unified Process Elaboration Inception Construction Transition Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Release 1 1 1 1 1 Time A cycle with its phases and its iterations
  • 28. 9/3/01 CS 406 Fall 2001 Requirements Analysis 28 OO Analysis and Design  Compare and Contrast analysis and design  Define object-oriented analysis and design  Relate, by analogy, OO analysis and design to business organization.
  • 29. 9/3/01 CS 406 Fall 2001 Requirements Analysis 29 What is Analysis and Design?  Analysis - investigation of the problem (what)  Design - logical solution to fulfill the requirements (how)
  • 30. 9/3/01 CS 406 Fall 2001 Requirements Analysis 30 What is OO analysis and design?  Essence of OO analysis - consider a problem domain from the perspective of objects (real world things, concepts)  Essence of OO design - define the solution as a collection of software objects (allocating responsibilities to objects)
  • 31. 9/3/01 CS 406 Fall 2001 Requirements Analysis 31 Examples  OO Analysis - in the case of the library information systems, one would find concepts like book, library, patron  OO Design - emphasis on defining the software objects; ultimately these objects are implemented in some programming language; Book may have a method named print.
  • 32. 9/3/01 CS 406 Fall 2001 Requirements Analysis 32 Example - contd. Domain concept Representation in analysis of concepts Book ______ title print() Public class Book { public void print(); private string title; } Representation in OO programming language
  • 33. 9/3/01 CS 406 Fall 2001 Requirements Analysis 33 What are the business processes?  First step - consider what the business must do; in the case of a library - lending books, keeping track of due dates, buying new books.  In OO terms - requirements analysis; represent the business processes in textual narration (Use Cases).
  • 34. 9/3/01 CS 406 Fall 2001 Requirements Analysis 34 Business processes - contd.  Identifying and recording the business processes as use cases is not actually an object oriented activity; though a necessary first step.
  • 35. 9/3/01 CS 406 Fall 2001 Requirements Analysis 35 Roles in the organization  Identify the roles of people who will be involved in the business processes  In OO terms - domain analysis  Examples - customer, library assistant, programmer, navigator, sensor, etc.
  • 36. 9/3/01 CS 406 Fall 2001 Requirements Analysis 36 Who does what? Collaboration  Business processes and people identified; time to determine how to fulfill the processes and who does these processes  in OO terms - object oriented design; assigning responsibilities to the various software objects  often expressed in class diagrams
  • 37. 9/3/01 CS 406 Fall 2001 Requirements Analysis 37 In Summary... Business Analogy OO Analysis and Design Associated Documents What are the business processes? Requirements analysis Use cases What are employee roles? Domain analysis Conceptual model Who is responsible for what? Responsibility assignment; Design class diagrams
  • 38. 9/3/01 CS 406 Fall 2001 Requirements Analysis 38 Simple example to see big picture  Define use cases  Define conceptual model  Define collaboration diagrams  Define design class diagrams Example: Dice game a player rolls two die. If the total is 7 they win; otherwise they lose
  • 39. 9/3/01 CS 406 Fall 2001 Requirements Analysis 39 Define use cases  Use cases - narrative descriptions of domain processes in a structured prose format Use case: Play a game Actors: Player Description: This use case begins when the player picks up and rolls the die….
  • 40. 9/3/01 CS 406 Fall 2001 Requirements Analysis 40 Define conceptual model  OO Analysis concerns  specification of the problem domain  identification of concepts (objects)  Decomposition of the problem domain includes  identification of objects, attributes, associations  results can be expressed in conceptual model
  • 41. 9/3/01 CS 406 Fall 2001 Requirements Analysis 41 Conceptual model - dice game Player _____ name Die ____ facevalue DiceGame 1 2 2 1 1 1 Includes Plays Rolls Conceptual model is not a description of the software components; it represents concepts in the real world problem domain
  • 42. 9/3/01 CS 406 Fall 2001 Requirements Analysis 42 Defining collaboration diagram  OO Design is concerned with  defining logical software specification that fulfills the requirements  Essential step - allocating responsibility to objects and illustrating how they interact with other objects  Expressed as Collaboration diagrams Collaboration diagrams express the flow of messages between Objects.
  • 43. 9/3/01 CS 406 Fall 2001 Requirements Analysis 43 Example - collaboration diagram : Pl ayer d1: D i e d2: D i e 1:r 1: =r ol l ( ) 2:r 2: = r ol l ( )
  • 44. 9/3/01 CS 406 Fall 2001 Requirements Analysis 44 Defining class diagrams  Key questions to ask  How do objects connect to other objects?  What are the behaviors (methods) of these objects?  Collaboration diagrams suggests connections; to support these connections methods are needed  Expressed as class diagrams
  • 45. 9/3/01 CS 406 Fall 2001 Requirements Analysis 45 Example - Class diagram A line with an arrow at the end may suggest an attribute. For example, DiceGame has an attribute that points to an instance of a Player
  • 46. 9/3/01 CS 406 Fall 2001 Requirements Analysis 46 Defining Models and Artifacts  Objectives  analysis and design models  familiarize UML notations and diagrams  real world software systems are inherently complex  Models provide a mechanism for decomposition and expressing specifications
  • 47. 9/3/01 CS 406 Fall 2001 Requirements Analysis 47 Analysis and Design models  Analysis model - models related to an investigation of the domain and problem space (Use case model qualifies as an example)  Design model - models related to the solution (class diagrams qualifies as an example)
  • 48. 9/3/01 CS 406 Fall 2001 Requirements Analysis 48 Introduction to UML[1]  UML is NOT a methodology  UML is NOT a process  UML is NOT proprietary (Now under the OMG)  UML is strictly Notations
  • 49. 9/3/01 CS 406 Fall 2001 Requirements Analysis 49 Introduction to UML[2]  Goals of UML notation  Simple : requires only a few concepts and symbols  Expressive : applicable to a wide spectrum of systems and life cycle methods  Useful : focuses only upon those necessary elements to software engineering  Consistent : the same concept and symbol should be applied in the same fashion throughout
  • 50. 9/3/01 CS 406 Fall 2001 Requirements Analysis 50 Introduction to UML[3]  Goals of UML notation:  Printable  Extensible : users and tool builders should have some freedom to extend the notation  UML has different parts  Views - shows different aspects of the system that are modeled, links the modeling language to the method/process chosen for development  Diagrams - graphs that describe the contents in a view  Model elements - concepts used in a diagram
  • 51. 9/3/01 CS 406 Fall 2001 Requirements Analysis 51 Introduction to UML[4] Component View Use Case View Logical View Concurrenc y View Deployment View
  • 52. 9/3/01 CS 406 Fall 2001 Requirements Analysis 52 Introduction to UML[5]  Use-case view : A view showing the functionality of the system as perceived by the external actors  Logical view: A view showing how the functionality is designed inside the system, in terms of the static structure and dynamic behavior  Component view: A view showing the organization of the code components
  • 53. 9/3/01 CS 406 Fall 2001 Requirements Analysis 53 Introduction to UML[6]  Concurrency view: A view showing the concurrency of the system  Deployment view: A view showing the deployment of the system in terms of the physical architecture
  • 54. 9/3/01 CS 406 Fall 2001 Requirements Analysis 54 Introduction to UML[9]  Model elements  Class  Object  State  Use case  Interface  Association  Link  Package ….
  • 55. 9/3/01 CS 406 Fall 2001 Requirements Analysis 55 Introduction to UML[10]  Use Case diagram: External interaction with actors  Class/Object Diagram : captures static structural aspects, objects and relationships  State Diagram: Dynamic state behavior  Sequence diagram: models object interaction over time  Collaboration diagram: models component interaction and structural dependencies
  • 56. 9/3/01 CS 406 Fall 2001 Requirements Analysis 56 Introduction to UML[11]  Activity diagram : models object activities  Deployment diagram : models physical architecture  Component diagram : models software architecture
  • 57. 9/3/01 CS 406 Fall 2001 Requirements Analysis 57 Case study - Point of Sale  POS terminal should support the following  record sales  handle payments  many architectural layers  presentation  application logic (problem domain, service support)  persistence  Emphasis - problem domain application objects
  • 58. 9/3/01 CS 406 Fall 2001 Requirements Analysis 58 Understanding requirements Ref# Function Category R1.1 Record the current sale Evident R1.2 Calculate current sale total Evident R1.3 Reduce inventory Hidden
  • 59. 9/3/01 CS 406 Fall 2001 Requirements Analysis 59 Analysis  Objectives  Identification of Use cases  Draw use case diagrams  Ranking Use cases  Contrast essential and real use cases
  • 60. 9/3/01 CS 406 Fall 2001 Requirements Analysis 60 Use cases [1]  Excellent technique for improving the understanding of requirements  Narrative in nature  Use cases are dependent on having some understanding of the requirements (expressed in functional specifications document).
  • 61. 9/3/01 CS 406 Fall 2001 Requirements Analysis 61 Use Cases [2]  Use case - narration of the sequence of events of an actor using a system  UML icon for use case
  • 62. 9/3/01 CS 406 Fall 2001 Requirements Analysis 62 Actors [1]  Actor - an entity external to the system that in some way participates in the use case  An actor typically stimulates the system with input events or receives outputs from the system or does both.  UML notation for actor: Cust om er
  • 63. 9/3/01 CS 406 Fall 2001 Requirements Analysis 63 Actors [2]  Primary Actor - an entity external to the system that uses system services in a direct manner.  Supporting Actor- an actor that provides services to the system being built.  Hardware, software applications, individual processes, can all be actors.
  • 64. 9/3/01 CS 406 Fall 2001 Requirements Analysis 64 Identification of Use Cases  Method 1 - Actor based  Identify the actors related to the system  Identify the processes these actors initiate or participate in  Method 2 - Event based  Identify the external events that a system must respond to  Relate the events to actors and use cases  Method 3 – Goal based  [Actors have goals.]  Find user goals. [Prepare actor-goal list.]  Define a use case for each goal.
  • 65. 9/3/01 CS 406 Fall 2001 Requirements Analysis 65 Identification of Use Cases[2]  To identify use cases, focus on elementary business processes (EBP).  An EBP is a task performed by one person in one place at one time, in response to a business event. This task adds measurable business value and leaves data in a consistent state..
  • 66. 9/3/01 CS 406 Fall 2001 Requirements Analysis 66 Point of Sale - Actors  Actors:  Cashier  Customer  Supervisor  Choosing actors:  Identify system boundary  Identify entities, human or otherwise, that will interact with the system, from outside the boundary.  Example: A temperature sensing device is an actor for a temperature monitoring application.
  • 67. 9/3/01 CS 406 Fall 2001 Requirements Analysis 67 Point of Sale - Use Cases  Cashier  Log In  Cash out  Customer  Buy items  Return items
  • 68. 9/3/01 CS 406 Fall 2001 Requirements Analysis 68 Common mistake  Common error - representing individual steps as use cases  Example: printing a receipt (Why?)
  • 69. 9/3/01 CS 406 Fall 2001 Requirements Analysis 69 High level vs. Low Level Use cases[1]  Consider the following use cases:  Log out  Handle payment  Negotiate contract with a supplier  These use cases are at different levels. Are they all valid? To check, use the EBP definition.  Log out: a secondary goal; it is necessary to do something but not useful in itself.  Handle payment: A necessary EBP. Hence a primary goal.
  • 70. 9/3/01 CS 406 Fall 2001 Requirements Analysis 70 High level vs. Low Level Use cases [2]  Log out: a secondary goal; it is necessary to do something but not useful in itself.  Handle payment: A necessary EBP. Hence a primary goal.  Negotiate contract: Most likely this is too high a level. It is composed of several EBPs and hence must be broken down.
  • 71. 9/3/01 CS 406 Fall 2001 Requirements Analysis 71 Use Case Diagram - Example Use Case Diagram: illustrates a set of use cases for a system. Process sale Payment Authorization service Manage security System administrator Cashier Handle returns Process rental <<actor>> Tax calculator Manage users <<actor>> Accounting system
  • 72. 9/3/01 CS 406 Fall 2001 Requirements Analysis 72 More on Use Cases  Try to describe use cases independent of implementation  Be as narrative as possible  State success scenarios (how do you measure the success of an use case)  A use case can have many scenarios (threads of execution)  Agree on a “format style” for use case description  Name a use case starting with a verb in order to emphasize that it is a process (Buy Items, Enter an order, Reduce inventory)
  • 73. 9/3/01 CS 406 Fall 2001 Requirements Analysis 73 More on Use Cases  Document exception handling or branching  when a “Buy Item” fails, what is expected of the system  when a “credit card” approval fails, what is expected of the system
  • 74. 9/3/01 CS 406 Fall 2001 Requirements Analysis 74 A sample Use Case Use case: Buy Items Actors: Customer, Cashier Type: Primary, Essential Description: A customer arrives at a checkout with items to purchase. The cashier records the purchase items and collects payment.
  • 75. 9/3/01 CS 406 Fall 2001 Requirements Analysis 75 Ranking Use Cases  Use some ordering that is customary to your environment  Example: High, Medium, Low  Example: Must have, Essential, Nice to have  Useful while deciding what goes into an increment  Point of sale example:  Buy Items - High  Refund Items - Medium (Why?)  Shut Down POS terminal - Low