Resumen Req CIEEE
Resumen Req CIEEE
Resumen Req CIEEE
ANALYSIS
Software Engineering Roadmap
Obtain customer’s wants Refine
and needs (C-requirements) requirements
Identify
corporate
practices Express C-requirements
prose
use cases
Plan state diagrams
project data-flow diagrams
Analyze Maintain
requirements
Integrate
Design & test system
Implement Test units
C- vs D-Requirements
SRS (IEEE)
1. Introduction
D-
2. Overall
requirements
C- description
requirements 3. Specific
requirements
4. Supporting
information
To Be Performed With Each Requirement
Each requirement must be …
expressed properly,
made easily accessible,
numbered,
accompanied by tests that verify it,
provided for in the design,
accounted for by code,
tested in isolation,
tested in concert with other requirements, and
validated by testing after the application has been
built.
Typical RoadMap for
1. Identify “the customer” Customer (“C-”)
Requirements
3. Write C-requirements
in standard document form
4. Inspect
C-requirements
On customer approval ...
5. Build D-requirements
(next chapter)
IEEE 830-1993 SRS Table of Contents
tbd: get copyright permission from IEEE
Stakeholder Perspective
• Owner Scope
• Users Requirements (what)
• Designers Arch./Design (how)
• Builders Implementation/Testing
What the Users wanted What the Owners What the Designers and
are willing to pay Builders developed
What needs to be done with these requirements?
• List of requirements
• Use case diagrams
• Entity relationship diagrams (ERD)
• Data flow diagrams
• State (transition) diagrams
• Screen prototyping (story-boards)
Initialize Use Case for Encounter
actors Encounter Use case details
Initialize
Use case
Initialize 1. System displays player’s
main character in the
dressing room.
Travel to
2. System displays a window
adjacent for setting his character's
player
area qualities.
3. Player allocates the
Encounter qualities of his main
character.
foreign 4. Player chooses an exit
character from the dressing room.
5. System moves player’s
designer Set rules main character into the area
on the other side of the exit.
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Engage Foreign Character Use Case
Encounter Use case details
Use case Engage Foreign Character
Initialize 1. System displays the
foreign character in the
Travel to same area as the player’s.
player adjacent 2. System exchanges
area quality values between the
two characters.
Engage 3. System displays the
foreign results of the engagement.
character 4. System displays player’s
character in a random
designer
area.
Set rules
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Sketch of Encounter State-Transition Diagram
Player Reporting Setting
Setting up dismisses
report qualities
Player window
completes
setup
Player Player
dismisses Player requests to
set requests set
qualities status qualities Foreign
widow character
enters area
Waiting
Foreign Encounter
character completed
Player moves
to adjacent enters area
Player area Engaging
quits
[foreign [foreign character
character present]
absent]
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Conceptualizing a System in terms of the User Interface
First name
Middle name
Last name
Street
City
State/county
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. * see Galitz [Ga2]
Applying Principles of Good Screen Design: “After”
New Customers
Name Address
First Street
Middle City
Last State/county
Name Address
Last State/county
Border around like elements
Cascading windows
Icon
Tiled New Customer
windows Name Screen
Text box
First
forward
Last
back
Name of
adjacent area
Name of
adjacent area
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 20001), with permission. Graphics reproduced with permission from Corel.
Express Customer Requirements 1/2
• If the requirement is simple, and stands alone,
express it in clear sentences within an appropriate
section of the SRS
• If the requirement is an interaction between the user
and the application, express via a use case.
1. Name the use case
2. Identify the “actor”
• the external user role-- usually a person
3. Write the sequence of user - application actions
• Minimize branching
• Use general form.
Avoid specific names and values as in “Ed enters $300”.
Instead, say “customer enters deposit amount”.
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
• If the requirement involves process elements, each
taking inputs, and producing outputs, use data flow.
1. Identify the processing elements (usually high level); show
as circles or rectangles
2. Identify the data sources & destinations; show
as names between two horizontal lines
3. Show the data paths among processing elements.
Indicate types of data flowing on each
• If the requirement involves states that the application
can be in (or parts can be in)
1. Identify the states (each a passive
verb, e.g., “waiting”);
show as rounded rectangles
2. Show initial state with special arrow
3. Identify the events (happenings external to the unit) that
cause transitions among the states; show as labeled arrows
4. Identify sub-states; show as rectangles within rectangles
Updating Project Plan After Obtaining C-requirements
Designate C-
Designated engineers for D-
Personnel requirements
engineers requirements analysis
Cost
Very rough First estimates based on job content
Estimation
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
Typical Schedule After C-requirements Analysis
17-May 31-May 13-Jun 27-Jun 11-Jul 25-Jul 11-Aug 25-Aug 8-Sep
Milestones Complete release 0.1 X
Complete release 0.2 X
C-requirements
D-requirements
Architecture
Detailed design
Implementation
Test
C-requirements
D-requirements
Architecture
Detailed design
Implementation
Unit test
Integration
System test
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.
SRS rev. 2.1 5/27/2008