Professional Documents
Culture Documents
Engineering
based on Chapter 6
• Elicitation
• Documentation and definitions
• Specifications
• Prototyping
• Analysis
• Review and Validations
• Agreement and acceptance
Requirements
Requirements Definition
Elicitation
Requirements
Requirements Requirements Specification
Analysis Prototyping
Requirements Requirements
Review Agreement &
Acceptance
Think about agile processes where this crucial step may sometimes be
compromised by the novice software engineers.
2. Requirements Elicitation
• Requirements may:
– Be given to the software engineers
• Second or third follow-on release of a “planned” sequences of
software product where requirements are already established
• Requirements provided as a part of a request for price quotation for
a software development project
– Have to be established by software engineers
• Users have an understanding of only the requirements related to
their specific job tasks
• The business rationale and goals are not clear
• There may be contradicting and incomplete requirements stated by
the users and customers
High Level Requirements Elicitation
Requirements
User Interfaces
3. Requirements Analysis
– Individual functionality
– Business flow
– Data and information needs
– User interfaces
– Other interfaces to external systems
– Various constraints
• Performance
• Security
• Reliability
• Etc.
Requirements Categorization (cont.)
– Time
– Resources
– Technical capabilities
– Requirements definition
– Requirements prototyping
– Requirements reviewing
Requirements Definitions
data store
Processing
Flow of data
data store
Inventory Info.
Package Data
Product avail.
Packaging
Info.
details
Shipping
Orders
Order Processing Instruct. Packaging
Customer
Invoice
Customer credit,
address, etc.
Customer Info DB
Author Book
Employee Employee
- Name
- Age
- Address
Address Name Age
- Street
- City
- State
- Zip
Add Course
Register For Section
Add Section
Student
Add Student
Choose Section
Registrar
Requirements Prototyping (1/2)
33
Software Requirements Specification
3.0 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces
3.1.4Communications Interfaces
3.2 Functional Requirements
3.2.1 Class 1
3.2.1.1 Short, imperative sentence stating highest ranked functional
requirement.
3.2.1.2 Description
A full description of the requirement.
3.2.1.3 Criticality
Describes how essential this requirement is to the overall system.
3.2.1.4 Technical issues
Describes any design or implementation issues involved in satisfying
this requirement.
3.1.2.5 Cost and schedule
Describes the relative or absolute costs associated with this issue.
34
Software Requirements Specification
3.2.1.6 Risks
Describes the circumstances under which this requirement
might not able to be satisfied, and what actions can be
taken to reduce the probability of this occurrence.
3.1.2.7 Dependencies with other requirements
Describes interactions with other requirements.
3.1.2.8 ... others as appropriate
3.2.2 Class 2
3.2.3 Class 3
...
3.3 Performance Requirements
3.4 Design Constraints
3.5 Quality Requirements
3.6 Safety requirements
3.7 Security and Safety Requirements
3.8 Computer Resource Requirements
3,9 Personnel Requirements
3,10 Training Related Requirements
3.11 Logistics Related Requirements
3.12 Other Requirements 35
Software Requirements
Specification
4.0 Notes
4.1 Intended Use
4.2 Definitions Used in this Document
4,3 Abbreviations Used in this Document
4.4 Changes from Previous Issue
5.0 Appendices
36
Requirements “Sign Off”