Definition of software requirements

Source: Internet
Author: User
A common problem in the software industry is the lack of standardized terms to describe our work. The "requirement" defined by the customer seems to be a high-level product concept for the developer, and the "requirement" defined by the developer seems to be a detailed design for the user. In fact, software requirements contain multiple layers. Different Levels of requirements reflect the details from different angles and degrees.
The IEEE software engineering standard vocabulary (1997) defines requirements:
(1) Conditions or capabilities required by the user to solve the problem or achieve the goal.
(2) systems or system components shall meet the conditions or capabilities required by the contract, standard, specification or other formal provision documents.
(3) A document describing the conditions or capabilities described above (1) or (2.
The definition of IEEE includes describing requirements from the user perspective (external behaviors of the system) and from the developer perspective (some internal features). The key issue is that you must write the requirement documents.
In addition, the following lists several other definitions of "requirements:
* The requirement is what the user needs and can trigger Program Or a description of system development;
* The requirement is to discover the characteristics, functions, and attributes of the system that meet the needs of users from outside the system;
* The requirement is to specify the specifications that must be implemented. It describes the behaviors, features, or attributes of the system and is a constraint on the system during development.
From the above definition, we still cannot get a clear concept of "demand". The real "demand" actually exists in people's minds, any document form of requirement (for example: requirement Specification Description) is only a model or description.

requirement analysis lays the foundation for software engineering and project management. When we build the building of software systems, if the demand analysis foundation is not solid enough, it will often lead to hundreds of problems with the software system, or even be discarded immediately. In the process of building software systems, we often use Nonstandard methods, the consequence is that there is a gap-there is a huge "expectation difference" between the software developed by developers and what users think ".
we may ask: why is it much harder for people to develop a software system than to build a skyscraper? First, the software industry lacks an accurate and unified language to define or describe the corresponding work. The real "demand" actually exists in people's minds; second, it is difficult to use an engineering method to standardize and effectively implement the software development process. Therefore, the term "requirement" is not only a description of the external behaviors of the system from the user perspective, but also a description of the internal characteristics of the system from the developer perspective, the key point is that "requirements" must be documented.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.