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!

Telegram是一款跨平台的即时通讯软件,用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件;Telegram有加密聊天的功能,使用这种功能,聊天双方的内容完全保密,不会担心被监控或被第三方偷窥。官方提供Android、iOS、Windows、macOS、Linux和网页版等多种平台客户端;同时官方开放应用程序接口,有许多第三方的客户端可供选择 。

armoury crate是一款简易实用,功能全面的华硕系统控制软件;通过Armoury Crate平台,可以启动主页面上的系统性能模式调整、设置相关应用软件、获取系统信息,当机器连接支持的外设时,也可以使用Armoury Crate中所整合的Lighting、AURA Sync功能进行各种灯光特效的设定。

XRKit是为华为手机场景提供场景化、组件化的AR解决方案的框架软件,也就为华为相机,提供了虚拟模型在真实世界中的呈现。XRKit软件支持AR SDK,能与Unity3D引擎兼容,包括PTC Vuforia,ARKit,ARCore等。为AR呈现能力、人脸特效、光影特效;它属于华为XR生态的基础性软件。

推特(Twitter)是一个社交网络及微博客服务软件,是一家美国的公司;Twitter利用无线网络、有线网络、通信技术进行即时通讯,是微博客的典型应用,允许用户将自己的最新动态和想法以短信息的形式发送给手机和个性化网站群。

glance by mirametrix是一款眼球追踪软件;glance是由Mirametrix开发的应用程序,软件配合红外摄像头可识别用户脸和眼睛的方向,其中主要包括了状态检测、智能指针和窗口分屏三个功能。

ldplayer是一款多功能Android操作系统的模拟器,通过它可以直接在PC上运行Android智能手机游戏,是将家用PC或笔记本电脑转变为运行移动软件的游戏机的方法;ldplayer可以用来进行联网,用户可以和其他人一起开启联机对战。

rav endpoint protection是瑞星杀毒软件;RAV是“RisingAnti-virus”的缩写,是瑞星反病毒软件的意思,瑞星杀毒软件采用获得欧盟及中国专利的六项核心技术,形成全新软件内核代码,具有八大绝技和多种应用特性。

commercial service指的是商业服务软件;该软件主要为提供产品维修、系统升级、检测换机以及产品咨询等服务,服务的产品包括手机、电视、手表、耳机以及其他配件。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
