View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Nugget: Software Requirements

Software Requirements Software Requirements

While in the requirements phase, the student will begin to develop the necessary skills to understand and implement Software Requirements. The student will learn why requirements are important, different approaches to problem analysis, attributes of a well-written SRS, how to specify the behavioral requirements (I/O), and non-behavioral requirements (portability, reliability, efficiency…). The student will learn elicitation techniques.  Finally, the student will understand the impact of prototyping on requirements.


  • What are requirements?
  • Objects, Functions and States (definition, limit actions, relations w/ other objects)
  • Why are Requirements important?
  • Separating "what" from "how"

Behavioral Requirements:

  • Object-Oriented Requirements
  • Function-Oriented Requirements
  • State-Oriented Requirements
Non-Behavioral Requirements:
  • Portability
  • Reliability
  • Efficiency
  • Human Engineering/ Interaction

  •     Surveys
  •     Task Analysis
  •     Goal Refinement
  •     Validation

Problem Analysis:

  • Object-Oriented Analysis
  • Function-Oriented Analysis
  • State-Oriented Analysis


  • What should be included?
  • What shouldn’t be included?
  • Attributes of a well-written SRS
  • How to organize an SRS

The assessment of the student will mostly lie in the hands of the instructor - as lectures vary, and tests are usually developed from quarter to quarter. Tests can be administered to cover lecture material and/or main concepts, and perhaps homework can given as well.  

Suggested TextBook: Software Requirements (Objects, functions and States) by Alan M. Davis

Estimated Costs:

1) Text book 2) Qualified Professor 3) Classroom 4) Project ideas from software factory (or industry???) 5) Transportation for elicitation?

Link to this Page