In software and system engineering, requirement analysis includes task that governs the condition or requirement to meet for a new product. It includes taking account of conflicting requirements of other stakeholders.
It includes various things;
We should keep in mind that final product must include what client wants rather than afterwards making changes in the software according to users need.
It requires team work which includes hardware, software and human skills. It is very expensive and requires huge investment.
According to statistics major reason of failure of software is that it does not meet with the requirement of the user. It is possible that over years the demands of the client increases and there can come requirement of updating the software.
Requirement analysis involves the task that determines the needs of the software, which mainly includes complaints and needs of various clients/stakeholders. It is a major key in the lifecycle of software and is the starting step of the project.
On the basis of nature of software project, software analysis is done by an independent analysis or a team of analysis to know about the present requirements of the users. Requirements include functionalling and non funtionalling requirements and require both business and technical experts.
The steps for effective capturing on present requirements of users are:
It is very necessary to know about the requirements of the users before starting any project. Working on the present requirements of the users will be helpful in gaining popularity of your project.
Stakeholders includes customers, end-users, system administrators etc. identifying the correct stakeholder is second step and is one of the most important step in all. Identifying the correct stakeholders help to properly analyse and create a road map for gathering requirements.
After identifying stakeholders one has to collect requirements for them. Based on the nature and aim of the project there can be many kinds of stakeholders. Interacting with stakeholder groups can be in person interviews, focus groups, market study, surveys and secondary research.
Once the data is gathered structured analysis must be done of the data to make models. Data are analysed on the basis of various parameters depending on the goals of the software. These include animation, automated reasoning, knowledge based critiquing, consistency checking, analogical and case based reasoning.
Once the data is analysed they are put together in the form of system requirement specification document (SYRS) or system requirement specification (SRS). It acts as a blueprint for the designing team to make the project. It serves as a technical collection of all the requirements of stake holders which includes user requirements, system requirements, user interface and operational requirements.
The last step of this analysis process is correcting and validating all elements of requirement specifications document. Errors can be corrected at this stage. Minor changes can also be done according to the requirement of the software user.
Before analysing software requirements one should know what are the requirements of the software. Techniques of requirement analysis include interviews, surveys, questionnaires, task analysis, domain analysis, brainstorming and prototyping. One should know what we want and then analyse it.
One should stand up for the clients/users needs.