Requirements Documentation: Reza Sherafat CAS 703 - Software Design Seminar February 2005
Requirements Documentation: Reza Sherafat CAS 703 - Software Design Seminar February 2005
Reza Sherafat
CAS 703 – Software Design Seminar
February 2005
1
Content
Introduction
Object-oriented approach
Common Problems
2
Problems in developing computer
based systems since 1960s
3
What are requirements?
A specification of what should be implemented
4
What is requirements engineering?
5
How much does requirements
engineering cost?
6
Common requirements' problems
7
What happens when requirements
are wrong?
8
What is a requirements engineering
process?
Requirements engineering process is a structured set
of activities which are followed to derive, validate and
maintain a systems requirements document. The
activities include:
Requirements elicitation
Requirements documentation
Requirements validation
9
Requirements elicitation techniques
10
Interviews
11
Scenarios
Stories of how the system will be used
12
An example scenario
Scenario of ordering a report from a library:
13
Requirements Reuse
A good practice to reuse as much knowledge as possible when
developing a new system
14
Prototyping
An initial version of the system which is available
early in the development process
15
Prototyping – cont’d
16
Requirements analysis and
negotiation
Aim at discovering problems with the system
requirements and reach agreement on changes to
satisfy all system stakeholders
17
Analysis checklists
A list of questions which the analyst may use to assess the
requirement. Some items in these lists may be:
Premature design
Combined requirements
Unnecessary requirements
Requirements ambiguity
Requirements testability
Requirements realism
18
Interaction matrices
19
Example – Interaction matrices
O: OVERLAP
C: CONFLICT
Requirement R1 R2 R3 R4 R5 R6
R1 - - O - C C
R2 - - - - - -
R3 O - - O - O
R4 - - O - C C
R5 C - - C - -
R6 C - O C - -
20
Requirements negotiation
Discussing conflicts and finding some compromise which all
of the stakeholders can live with
21
Requirements Documentation
There are many different ways to structure the
requirements documents, depending on:
Organizational practice
Budget
Schedule
22
Standard Templates
Ensures that all the essential information is included
Stable parts
Variant parts
23
IEEE/ANSI 830 - 1993
Introduction:
Purpose of the requirements document
Scope of product
References
General Description:
Product perspective
Product functions
User characteristics
General constraints
24
IEEE/ANSI 830 – 1993 – cont’d
Specific requirements
Appendices
Index
25
A template based on IEEE/ANSI
830 – 1993
Preface
Introduction
Definition of the product, its expected usage and an
overview of its functionality
Glossary
Definition of technical terms and abbreviations used
System architecture
A high-level overview of the anticipated system
architecture, showing the distribution of functions across
system modules
26
Example – cont’d
Hardware specification
Optional part for specifying of the hardware that the software system is
to expected control
Appendices for
Hardware interface specification
Software components
Data structures specification
Data-flow models of the software system
Detailed object models of the software system
Index
27
Requirements validation
The process outputs are as follows:
A list of problems
Agreed solution
28
User manual development
User manual development:
Rewriting the requirements in a different way is a very effective validation
technique.
To rewrite the document you must understand the requirements and the
relationships.
29
Actors in requirements engineering
process
Domain expert: provide information about the application
domain and the specific problem in that domain which is to be
solved
30
Structured Analysis and Design
Technique (SADT)
Developed in the late 1970s by Ross
31
SADT viewpoints
Control
Mechanism
32
Example
33
Example – cont’d
Update details
User database Item database
User detail
Item
Library Card User status availability
Check user
Checked item
Return date Issue item
Issued item
34
Viewpoint-oriented System
Engineering (VOSE)
35
Example – a VOSE data flow
checked issued
Library presented item item item Library
Check Issue
user user
reserved item
Release
released item
36
Example – a VOSE state transition
Off-desk
remove
check loan
Presented Checked On-loan
reserve
release
Reserved
State transition diagram seen by the issue desk
37
Use cases
Used in OO Analysis
Definition
38
Use cases – example
Actor action System response
1. This use case begins when a Customer
arrives at a POST checkout with items to
purchase.
2. The Cashier records the identifier from 3. Determines the item price and adds the
each item. item information to the running sales
transaction.
If there is more than one same item, the
Cashier can enter the quantity as well.
The description and price of the current
item are presented.
4. On completion of the item entry, the 5. Calculates and presents the sale total.
Cashier indicates to the POST that item
entry is completed.
Alternative Courses
_ Line 2: Invalid identifier entered. Indicate error.
39
Use cases – example – cont’d
6. The Cashier tells the Customer the
total.
7. The Customer gives a cash payment,
possibly greater than the sale total.
8. The Cashier records the cash received 9. Shows the balance due back to the
amount. Customer. Generate a receipt.
10. The Cashier deposits the cash 11. Logs the completed sale. The Cashier
received and extracts the balance owing. gives the balance owing and the printed
receipt to the Customer.
12. The Customer leaves with the items
purchased.
Alternative Courses
_ Line 7: Customer didn’t have enough cash. Cancel sales
transaction
40
Use Cases Diagrams in UML
41
A simple use case diagram
42
Common problems in writing
requirements
43
Things that the writer should bear
in mind
44
Guidelines
45
Questions
46
References
Bahati Sanga, Assessing and improving the quality of software
requirements specification documents, McMaster University, 2003
47