Requirement Engineering Is an official statement of what the system developer should implement. A software requirement document is a description of a software system to be developed It lays out the functional and non-functional requirements of the software to be developed and may include a set of use cases that describes user interaction that the software must provide to the user.
Software requirement documentation: it is a comprehensive document that covers all aspects of software project goals and objectives that are derived from software requirements. It outlines the functional and non-functional requirements of the software and serves as a blueprint for the entire project to be developed. The document should be written in a way that is clear, concise and easy to understand so that everyone involved in the project has a clear understanding of what is being developed.
Structure of requirement document:-
Preface:- This defines the expected readership of the document and describes its version history, including a rationale for the creation of a new version and a summary of the changes made in each version
Introduction:- This should describe the need for the system It should briefly describe the system’s function and explain how it will work on other systems It should also describe how the system feeds into the overall business or strategic objective of the organisation, commissioning the software.
Glossary:- This should describe the technical terms used in the document.
User requirement definition:- Here services provided by the user are described. These services may include functional, and nonfunctional requirements. This description may use natural language diagrams or other notations that are understandable to the customer.
System architecture:- Should present a high-level overview of the anticipated system architecture showing the distribution of function across the system modules.
System requirement specification:- They should describe the system's functional and non-functional requirements in more detail.
System model:- Includes graphical system modules showing the relationship between the system components, system and its environment
System evolution:- they should describe the fundamental assumption on which the system is based on any anticipated changes due to hardware evolution, changing username and so on
Appendices:- These provide detailed specific information that is related to the application being developed
Index:- Several indexes to the document may be included . as well as a normal alphabetic index. There may be an index of diagrams, an index of functions and many more.
Users of requirement documents are:-
System customer:- specify the requirements and read them to the cheque that they meet their need. Customers specify changes to the requirements
Manager:- Use the requirement document to plan a bid for the system and to plan the system development process
System engineer:- use the requirement to understand what system is to be developed.
System test engineer:- Use the requirement to develop a validation test for the system.
System maintenance engineer:- use the requirement to understand the system and the relationship between its parts.
Advantages of software requirement:-
Establishing the basic agreement between the customer and supplier on what the software product will perform.
Providing a reference of validation product software.
Reducing development cost.
Providing a clear and concise outline of the requirements of the software project
Serving as a common reference point for all stakeholders, would improve communication and reduce misunderstanding.
It structures and formalises all project requirements.
It provides all team members with necessary information while working on the object.
It minimises the possibility of misunderstanding between members of the development team and the customer.
Allows estimating the required development budget and costing.
It clearly defined the scope of work and Development of the plan, particular iteration and release date.
This is all about the software requirement document.