Software Requirements, Prototyping and Specification
Software Requirements:-
The requirements for as system is defined as what the system should do , the service that it provides and the constraints on its operation. These requirements refers needs of the customer in a system. Types of requirements:-
- Functional requirements :- These are statements of service the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. Sometimes, it may also explicitly state what the system should not do.
- 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 constraints imposed by standards. Non-functional requirements are often more critical than individual functional requirements. Failing of this leads whole system is unusable.
Requirements engineering processes:- Requirement engineering process may include four level activities. These focus on assessing if the system is useful to business (feasibility study), discovering requirement (elicitation and analysis), converting these requirements into some standard form (specification), and checking that the requirement actually defines the system that the customer wants(validation).
- Feasibility Study:- From the software requirement, estimating of whether the system can be competed or not with current software and hardware technology. The study determines if the system can contribute to overall objectives of the organization, can system be implemented within schedule and budget using current technology and can the system be integrated with other system that are used.
- Requirements elicitation and analysis:- In this stage, software engineers work with customer and end-users to derive the system requirement with discussion. It involves variety of different kinds of people in organization. This may bring conclusion to one or many models and prototype of the system.The process activity are:-
i. Requirement discovery
ii. Requirement classification and organization
iii. Requirement prioritization and negotiation
iv. Requirement Specification
3. Requirements management:- The requirement for large software systems are always changing. Because, the problem is not fully defined, which lead to incomplete system. During software process, the requirements are understood which then need changed in requirement. And even after the system is complete, user will discover the need of feature . Hence, requirement management is the process of understanding and controlling change to system requirement.
4. Requirements validation:- It is the process that requirement actually define the system that the customer really wants. During this process our goal is to discover the errors and solved them and check completeness, consistency, realism,validity checks of the software.