Write a short note on Requirement Engineering.
- Tasks and techniques that lead to an understanding of requirements is called requirement engineering.
- Requirement engineering provides the appropriate mechanism for understanding
- What customer wants
- Analyzing needs
- Assessing feasibility
- Negotiating a reasonable solution
- Specifying solution unambiguously
- Validating the specification
- Managing requirements
- Requirements generally fall into two types:
Functional requirements
- Any requirement which specifies what the system should do.
- A functional requirement will describe a particular behaviour of function of the system when certain conditions are met, for example: “Send email when a new customer signs up” or “Open a new account”.
- Below area consider for functional requirement
- Business Rules
- Transaction corrections, adjustments and cancellations
- Administrative functions
- Authentication
- Authorization levels
- Business Rules
- Transaction corrections, adjustments and cancellations
- Administrative functions
- Authentication
- Authorization levels
Non-Functional requirements
- Any requirement which specifies how the system performs a certain function.
- A non-functional requirement will describe how a system should behave and what limits there are on its functionality.
o Response time |
o Availability |
o Regulatory |
o Throughput |
o Reliability |
o Manageability |
o Utilization |
o Recoverability |
o Environmental |
o Static volumetric |
o Maintainability |
o Data Integrity |
o Scalability |
o Serviceability |
o Usability |
o Capacity |
o Security |
o Interoperability |
Requirements Engineering Tasks
-
Inception:
- Roughly define scope. A basic understanding of a problem, people who want a solution, the nature of solution desired.
-
Elicitation (Requirement Gathering):
- Define requirements. The practice of collecting the requirements of a system from users, customers and other stakeholders.
-
Elaboration:
- Further define requirements. Expand and refine requirements obtained from inception & elicitation. Creation of User scenarios, extract analysis class and business domain entities
-
Negotiation:
- Reconcile conflicts. Agree on a deliverable system that is realistic for developers and customers
-
Specification:
- Create analysis model. It may be written document, set of graphical models, formal mathematical model, collection of user scenarios, prototype or collection of these
- SRS (Software Requirement Specification) is a document that is created when a detailed description of all aspects of software to build must be specified before starting of project
-
Validation:
- Ensure quality of requirements. Review the requirements specification for errors, ambiguities, omissions (absence) and conflicts
-
Requirements Management:
- Activities to identify, control & trace requirements (Umbrella Activities)