An Introduction to the Requirement Analysis for Software Engineering The requirements for a system are the descriptions of the services provided by the system and its operational constraints.These requirements reflect the needs of customers for a system that helps solve some problem such as controlling a device, placing an order or finding information. The process of finding out, analyzing, documenting and checking these services and constraints is called requirements engineering.
Software system requirements are often classified as functional requirements, non-functional requirements and domain requirements:1. Functional requirements.These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.ln some cases, the functional requirements may also explicitly state what the system should not do.
2. Non-functional requirements.These are constraints on the services or functions offered by the system. They include timing constraints, constraints on the development process and standards. Non-functional requirements often apply to the system as a whole. They do not usually just apply to individual system features or services.
3. Domain requirements.These are requirements that come from the application domain of the system and that reflect characteristics and constraints of that domain. They may be functional or non-functional requirements.
In reality, the distinction between different types of requirements is not as clear-cut as these simple definitions suggest.A user requirement concerned with security, say, may appear to be a non-functional requirement However when developed in more detail, this requirements may generate other requirements that are clearly functional, such as the need to include user authentication facilities in the system. The functional requirements for a system describe what the system should do. These requirements depend on the type of software being developed, the expected users of the software and the general approach taken by the organization when writing requirements. When expressed as user requirements, the requirements are usually described in a fairly abstract way. However, functional system requirements describe the system function in detail, its inputs and outputs, exceptions, and so on.
Functional requirements for a software system may be expressed in a number of ways. For example, here are examples of functional requirements for a university library system called LIBSYS, used by students and faculty to order books and documents from other libraries.
……