Documente Academic
Documente Profesional
Documente Cultură
Ordering Chaos
Requirements Modeling
Mike
Michael A. Erlinger
Today:
reqsModeling.f12.ppt
Administrivia
Teams chosen, GLECS assigned, mail lists made
Tracs created
svns created
Elicitation done
CS 121
Admin
Tracs are up with grader access
Trac Template available
Link to past project for examples of deliverables
email lists for all teams
without graders
without teachers
Blogs
Piazza
work space on 2nd floor
3
CS 121
CS 121
Last lecture
Good requirements are crucial
Specifying requirements is hard
CS 121
Today
Modeling Requirements:
from customer views to something translatable to
software
CS 121
Requirements modeling
We build models in requirements analysis to
understand
CS 121
CS 121
CS 121
Requirements document
variability
10
Chapter 4 Requirements
10 CS 121
Description
Preface
This should define the expected readership of the document and describe
its version history, including a rationale for the creation of a new version
and a summary of the changes made in each version.
Introduction
This should describe the need for the system. It should briefly describe the
systems functions and explain how it will work with other systems. It
should also describe how the system fits into the overall business or
strategic objectives of the organization commissioning the software.
Glossary
This should define the technical terms used in the document. You should
not make assumptions about the experience or expertise of the reader.
User
requirements Here, you describe the services provided for the user. The nonfunctional
definition
system requirements should also be described in this section. This
description may use natural language, diagrams, or other notations that
are understandable to customers. Product and process standards that
must be followed should be specified.
System architecture
11
11 CS 121
Description
This should describe the functional and nonfunctional requirements in more
detail. If necessary, further detail may also be added to the nonfunctional
requirements. Interfaces to other systems may be defined.
System models
This might include graphical system models showing the relationships between
the system components and the system and its environment. Examples of
possible models are object models, data-flow models, or semantic data models.
System evolution
Appendices
Index
12
12 CS 121
CS 121
Requirements
Engineering/Requirements Modeling
The processes used for RE/RM vary widely depending
Processes
on the application domain, the people involved and
the organisation developing the requirements.
14 CS 121
CS 121
Functional Reqs:
What should it do?
connect mysql
database to asp
.net web
Developer
16
sell my
beautiful
jewelry
find a
cool ring
on sale
Customer of client
Client
CS 121
Functional Reqs:
What should it do?
sell my
beautiful
jewelry
17
Customer of client
CS 121
Example:
jewelry store owner
buyer of jewelry
18
CS 121
Example
Buyer:
search for item
place an order
return an item
19
CS 121
20
CS 121
Example
Name: Order jewelry from a catalog
Actors: Customer Alice, Sales rep Bob, Stockroom,
Shipping dept.
Initiator: Alice
Scenario:
1.
2.
3.
4.
5.
21
USE CASE
CS 121
CS 121
23
CS 121
2.
3.
4.
5.
6.
24
CS 121
2.
3.
Alice says she want to order item D23 from page 5 the
catalogue.
4.
5.
5a. Stockroom says it is not available. See order out of stock item
use case.
Alternative path can be completed or refer to another use
6.
25
case.
CS 121
26
CS 121
Stockroom
Alice: Customer
answers phone
wants to order
27
CS 121
Goal/Title
Play game
Initialize game
View high scores
Set level
Pause game
Exit game
Save game
Change Controls
Play saved game
Priority
1
1
3
3
2
2
3
4
3
CS 121
2.
3.
User moves Pac Man left, right, up, down (point to other UC)
4.
4.a. Pac Man hits dot but not end of level, 50 points awarded, return to step 3
4.b. Pac Man hits dot and level ends, 50 points awarded and new level starts
(see start new level use case)
4.c. Pac Man hits ghost (see hits ghost use case)
4.d. Pac Man hits a wall, cant move any further in that direction, returns to
step 3 with new constraint
etc.
29
CS 121
2.
3.
4.
30
CS 121
2.
2.
3.
31
CS 121
Goal
Priority
User
Play game
User
Play level
User
Initialize game
User
User
Set level
User
Pause game
User
Exit game
User
Save game
User
Change Controls
User
32
CS 121
CS 121
34
CS 121
Requirement Quality
Specify what not how
Unambiguous
Testable
Feasible
Consistent
Prioritized
Traceable Agile: back to requestor
Interative: back to a specification #
Agreed upon by customer
35
CS 121
State Diagrams
UI Mockups
Storyboards
Prototypes
36
CS 121
State diagrams
Play level: initialize n=3 (#lives), k=0 (level score)
Hits dot:
Sound effect
k increased by 50
k<0
Win level
37
k<MAX
Moves to
empty spot
n>0
Hits ghost:
Sound effect
n reduced by 1
n=0
Lose level
CS 121
State Diagrams
UI Mockups
Storyboards
Prototypes
38
CS 121
UI Mock UP
UI Mock Up (or even full design) is often
considered part of the requirements process
because it summarizes the ways a user can interact
with the system.
UI design can also address non functional
requirements, e.g., look and feel
39
CS 121
Storyboards
Good for communicating look and feel in addition to
flow
40
CS 121
Prototypes
41
CS 121
Prototypes
Use fast prototyping tools to clarify functionality, look and feel, etc.
42
CS 121
43
CS 121
Marketing
Game Designer
Users
Software engineers
44
CS 121
Traditional
Game Design Document
Game Bible
45
CS 121
46
CS 121
move
sprite
level 0
47
proof of concept to
understand feasibility
use case
CS 121
Next Time
Design practice
Reading/watching
48
McConnell
CS 121
49
CS 121
50
CS 121
Sample questions
Why do we want to classify users?
What are use cases? What are their benefits?
Shortcomings?
What are key components to a use case?
How can use cases be employed throughout the
project?
What is a sequence diagram and when is it useful?
How does UI design fit into the requirements process?
Why do we use prototypes in the requirements
process?
51
CS 121
The End
52
CS 121