Chapter 4. Requirements Engineering



-. System requirements should set out what the system should do rather than how this is done. -. Some of the problems that arise during the requirements engineering process are a result of failing to make a clear separation between these different levels of description. -. The term requirements definition to mean the high-level abstract description of what the system should do : (1) A requirements definition (2) A requirements specification (3) A Software specification -. The requirements engineering process should normally involve writing a requirements definition then expanding this into a requirements specification. -. The software specification is an implementation-oriented document. -. There are several reasons why it is virtually impossible to define a complete and consistent set of requirements to address a problem : (1) Large software systems are usually required to improve upon the status quo. (2) Large systems usually have a diverse user community. (3) The people who pay for a system and the users of a system are rarely the same people. 4.1 The requirements engineering process There are four principal stages in this process : (1) Feasibility study (2) Requirements analysis (3) Requirements definition (4) Requirements specification 4.2 The software requirements document -. The software requirements document is not a design document. It should set out what the system should do without specifying how it should be done. -. In principle, the requirements set out in this document ought to be complete and consistent. All system functions should be specified and requirements should not conflict. -. Heninger(1980) suggests that there are six requirements which a software requirements document should satisfy : +. It should be specify external system behaviour. +. It should specify contraints on the implementation. +. It should be easy to change. +. It should serve as a reference tool for system maintainers. +. It should record forethought about the life cycle of the syste. +. It should characterize acceptable responses to undesired events. -. The requirements document may also includem either in separate chapters in the document or as appendicesm the following information : (1) Hardware (2) Database requirements (3) Index 4.3 Requirements validation -. Requirements validation is concerned with showing that the requirements actually define the system that the customer wants. -. There are several aspects of the requirements which must be checked : (1) Validity (2) Consistency (3) Completeness (4) Realism -. Validation should not be seen as a process to be carried out agter the requirements document has been completed. -. A requirements review is a manual process which involves multiple readers from both client and contractor staff checking the requirements document for anomalies and omissions. -. Informal reviews simply involve contractors discussing requirements with clients. -. In a formal requirements review, the development team should 'walk' the client through the system requirements explaining the implecations of each requirements. -. They might also check for : +. Verifiability +. Comprehensibility +. Traceability +. Adaptability -. Requirements reviews are generally successfull in detecting many errors in the requirements definition. 4.4 Requirements evolution -. From an evolution perspective, requirements fall into two classes : (1) Enduring requirements (2) Volatile requirements -. Enduring requirements can sometimes be derived from domain models. -. Volatile requirements fall into four classes. +. Mutable requirements +. Emergent requirements +. Comsequential requirements +. Compatibility requirements


[Previous]     [Next]