To frame our discussion, consider:
What is the nature of software requirements?
How are requirements determined?
What techniques are useful for understanding system models?
For Clarity
For Completeness
For agreed-upon -- validation
| correct | Every requirement is something required of the system. |
| nonambiguous | Every statement has one interpretation. |
| complete | Everything that matters is covered in the document. |
| verifiable | The built system can be checked to see if requirement is met. |
| consistent | There are no conflicts between requirements. |
| understandable | The form the document takes should allow the different audiences to gather the information they need. |
| modifiable | Changes to the requirements can be accommodated. |
| traceable | Each requirement exists because there was a need in the problem domain. Activity in the solution domain should be able to relate back to the requirements. |
The individual data and control objects that make up the available inputs to the system.
The way data and control are changed as each moves through the system.
Defines the internal representation of the items and how information items relate to one another.
Construct a model that provides an increasing level of detail regarding the functions the software must provide.
A behavioral model represents the states of the software and the events that cause software to change state.
The software requirements provide a basis for creating the Software Requirements Specifications (SRS). The SRS will aid in estimating cost, planning team activities, performing tasks, and tracking the team's progress throughout the development activity. Requirements management is the process of managing these project resources that are called requirements. The process will help to establish a common understanding between the customer and the project team of stakeholder's requirements.
A critical part of the requirements change management is assessment of the impact of a requested change. Impact assessment depends on traceability.
Go To Lecture [Outline] [Overview]
Go To [311 Course Outline] [CIS Department Page]
Davis, A. (1995) Software Requirements. Englewood Cliffs, NJ: Prentice Hall.
Martin, C. (1988) User Centered Requirements Analysis. Englewood Cliffs, NJ: Prentice Hall.
Pfleeger, S. (1987) Software Engineering. New York: Macmillan.
Zave, P. & M. Jackson (1997) Four Dark Corners of Requirements Engineering. ACM Trans. on Software Engineering and Methodology, 6(1), p. 1-30.