The characteristics of software requirements are: 1. Completeness, which means that each requirement must clearly describe the function to be implemented, and some information cannot be lost; 2. Correctness, which means that each requirement must be complete The functions to be developed must be accurately stated; 3. Feasibility refers to whether the requirements can be realized normally. Each project requirement must be implemented within the capabilities and limitations of the known system and environment; 4. Necessity means that every requirement should record what the customer really needs and the standards that are ultimately required to be followed; 5. Prioritization; 6. Unambiguity; 7. Verifiability.
The operating environment of this tutorial: Windows 7 system, Dell G3 computer.
What are software requirements
The conditions or capabilities required by users to solve problems or achieve goals
System Or system components must meet the conditions or capabilities required by contracts, standards, specifications, or other formally specified documents
A documented description that reflects the conditions or capabilities described in 1 or 2 above
Requirements include not only product functions in the usual sense, but also standards defined in industry specifications, such as banking industry technical specifications, telecommunications network access standards, etc.
Characteristics of software requirements
In the entire research and development process, after the original collection is completed, the first step is to review the requirements , then if you want to review the requirements well, you must know what kind of requirements description is a good description. Usually, a good requirements description should have the following 7 characteristics.
(1) Integrity
Integrity means that each requirement must clearly describe the function to be implemented, and some information cannot be lost. If there is any information lost, It means that the requirements are not complete enough. The completeness of the requirements is also the necessary information for developers to obtain the design and implementation of these functions.
(2) Correctness
Correctness means that each requirement must accurately state the function to be developed, and the reference for making correct judgments is the requirement Sources, such as user or high-level system requirements specifications, are incorrect if the software requirements conflict with the corresponding system requirements. Only user representatives can determine the correctness of user needs, which is why users must be actively involved. Requirements review without user participation will lead to this phenomenon: "those that are meaningless are not what we want", because without user participation, many reviews may be imagined by our review experts themselves.
(3) Feasibility
Feasibility refers to whether the requirement can be realized normally. Each project requirement must be feasible in a known system and environment. implemented within the scope of powers and limitations. To avoid unfeasible requirements, it is best to always have a member of the software engineering team working with the requirements analyst or market considerer during the requirement acquisition process to check the technical feasibility.
(4) Necessity
Necessity means that every requirement should record what the customer really needs and the standards that are ultimately required to be followed." "Necessity" can also be understood as that each requirement is the "root" used to authorize you to write documents, and each requirement can be traced back to a customer's input.
(5) Prioritization
Prioritization is to classify all requirements into different levels of requirements. Usually requirements can be divided into high, medium, Three levels lower. High demand priority refers to a mission-critical demand. If this business is not realized, then no users will buy this product. Such as the calling function of a mobile phone. If the mobile phone does not have the calling function, no one will buy this mobile phone.
The demand priority means that this business must be implemented, but the quality features can be perfected, such as the camera function of mobile phones. Nowadays, smart phones are equipped with cameras, but the pixels are not necessarily perfect. High, if some manufacturers achieve 30 million pixels, but we can achieve 10 million pixels, so some people will still buy the product, but the price may be affected.
Low priority of demand means that the business can be implemented or not. For example, if the mooncakes are beautifully packaged, if we buy them for ourselves, then it is not important whether the packaging is beautiful or not. Usually this Class requirements are also called gold plating requirements.
(6) No ambiguity
Ambiguity means that a described requirement can be understood in two or more ways. In the process of describing the requirement Since natural language can easily lead to ambiguity, try to use concise and clear user-friendly language to express each requirement.
(7) Verifiability
Verifiability means that each requirement can be verified through specific use cases or test steps to verify whether it is correct. If we cannot Using a set of effective methods for verification makes it impossible to objectively judge whether the current requirements are correctly implemented.
The above are some characteristics that we need to pay attention to when reviewing. Only requirements that meet these characteristics will be considered a good requirement. Then the requirements description usually has the following four characteristics:
1 )Integrity
Integrity, as we introduced above, means that no necessary demand information can be missed. If there is missing information, it will be difficult to find out.
When describing requirements, if we try to focus on the user's tasks and put aside the functions of the system, we can better avoid incomplete requirements.
2) Consistency
Consistency means that it does not conflict with other software requirements or high-level (system, business) requirements. It is necessary to resolve the inconsistencies between all requirements before development. Only Detailed inspection is required to determine whether a requirement is correct.
3) Modifiability
Requirements need to be modified when necessary or in order to maintain a history of changes to each requirement. This requires each requirement to be independently identified and combined with other requirements. Distinguish them to ensure unambiguous meaning. And each requirement should only appear once in the requirements specification, so that when the requirements are changed, the consistency of the requirements can be maintained.
4) Traceability
Traceability refers to the establishment of a link between each software requirement and its source and design elements, source code, and test cases, so as to ensure that each requirement is Be implemented and verified, this is also the requirements tracking matrix that we often call in our work.
For more programming-related knowledge, please visit:Programming Teaching! !
The above is the detailed content of What are the characteristics of software requirements?. For more information, please follow other related articles on the PHP Chinese website!