Introduction to Software Engineering

Requirements Engineering Exercise


What is a Requirement?

A requirement is an essential property that the system must or should satisfy.

Requirements may impose varying degrees of constraints on the designer, such as:

  • Mandatory ("The response time shall not exceed 2 secs.")
  • Desired ("Menus should present no more than 6 options.")
  • Optional ("Parsing may be done using the yacc utility.")


Typical Problems


The requirements, as initially defined, do not accurately account for the customers' real problems (an incorrectly stated requirement may solve a non-problem).


Requirements are not properly prioritized. (There are always more requirements than can be satisfied in a single release or version of a software product.


Requirements are stated at an inappropriate level of specification:

  • Over-specification: embeds unnecessary design constraints
  • Under-specification: missing or incomplete definition of requirements


Exercise

Consider the appropriateness of each of the following typical requirements statements. Identify any problems and what clarifying questions you would ask.

  1. Please allow abbreviations for the keywords of the SHOW command. For example: R for RECORD; F for FIELD; A for ALL.

  2. The customer does not get adequate support from the system for determining task completion problems.

  3. Provide the Help Desk Operator with an integrated system image.

  4. Add a function to module XPRTFN to set the PRGXL flag whenever any task has been restarted. This will allow the customer to add user monitoring of task execution.

  5. Following is a list of 142 new features and functions requested by our users as derived by our search of the User Request Database. All are classified as high priority by the Marketing Division. Please respond with your plan.

  6. The final product should require little maintenance once implemented.

  7. The system must be designed for deployment over a continuous 56KB Internet connection.

  8. The system should support users in slow (less than 28.8 kbps) data-transfer situations.




©1997 Dr. Jody Paul  -  jody@acm.org
Last updated on .