Demand analysis is the analysis of the needs of software users. If you invest a lot of manpower, material resources, financial resources, time, make the software but no one wants, then all the input is futile, wasteful. All the human, material and financial resources have been wasted. This is a huge loss.
For example, the user needs a software that is used on Linux, but you ignore the software in the early stages of the software development environment, forget to ask the user this question, and then take it for granted that the development is built on the Windows system software, when you painstakingly developed to submit to the user only to find out the problem, At that time you were miserable, and could not wait for a piece of tofu to die. And the reality is not to find a piece of tofu killed so simple, your team and your company will be a great loss. This is the result that we really don't want to see.
And demand analysis is important, because he has the decision-making, directional, strategic role, he in the process of software development has a pivotal position. So we need a demand analysis.
There are usually the following requirements for software:
Functional Requirements:
Specify the services that the system must provide;
Performance requirements:
Specify the timing constraints or capacity constraints that the system must meet, usually including the requirements for speed, information rate, main memory capacity, disk capacity, security, and so on;
Reliability and Availability requirements:
Specifies the reliability of the system, the availability of which quantifies the extent to which users can use the system;
Error Handling requirements:
Explain how the system should respond to environmental errors;
Interface Requirements:
A format that describes the communication of an application system to its environment;
Reverse demand:
Explain what the software system should not do;
Possible future requirements:
Those that are not part of the current system development category should be clearly listed, but the requirements that are likely to be presented in the future are analyzed.
Why do you need to conduct a demand analysis? What are the general requirements for software systems?