《软件需求工程(第2版)》一1.3 软件需求的分类

简介: 本节书摘来自华章出版社《软件需求工程(第2版)》一书中的第1章,第1.3节,作者 毋国庆 梁正平 袁梦霆 李勇华,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.3 软件需求的分类

虽然对软件需求的定义有多种形式,但从软件用户多年来对软件的实际需求来看,软件的需求(或用户需求)通常可以大致分类如下:
目标需求:反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标。
业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。软件开发人员通常可从业务需求进一步细化出具体的功能需求和非功能需求。
功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。
性能需求:指实现的软件系统功能应达到的技术指标,如计算效率和精度、可靠性、可维护性和可扩展性等。
约束与限制:指软件开发人员在设计和实现软件系统时的限制,如开发语言、使用的数据库等。
在这些需求中,功能需求描述系统做什么,由性能需求和约束与限制构成的非功能需求则为实现这些功能需求设定约束和限制。软件需求间的关系可分层次地表示,如图11所示。

image

由以上的这些需求就可构成软件需求规格说明。下面我们通过与文字处理系统相关的部分需求来说明需求的分类。
目标需求:用户使用系统能有效地纠正文档中的拼写错误,系统能满足用户的业务要求以及提高用户的工作效率。
业务需求:当找到文档中的拼写错误时,通过可供选择的单词表,选择单词表中的一个单词后,再替换掉原来的单词。

功能需求:查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表,实现整个文档范围内的替换。

性能需求:检查单词的速度快,准确率要求达到99%,系统的有效性和可靠性要高等。
约束与限制:文件内部格式要与Word系统一致。开发平台为Linux系统,使用C语言等。

相关文章
|
数据安全/隐私保护 安全 定位技术
什么是GSM?GSM是什么
本文讲的是什么是GSM?GSM是什么,GSM全名为:Global System for Mobile Communications,中文为全球移动通讯系统,俗称"全球通",是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。
4055 0
|
11月前
|
XML NoSQL 大数据
大数据中半结构化数据
【10月更文挑战第18天】
598 4
|
11月前
|
自然语言处理 Linux
ChatGPT高效提问—prompt常见用法
ChatGPT高效提问—prompt常见用法
187 0
|
存储 Linux 数据库
k8s-dashboard、helm
k8s-dashboard、helm
507 1
|
存储 图形学
【推荐100个unity插件之13】推荐一款开源的Unity网格破碎插件,实现在Unity中展示可破坏的墙壁的——unity-fracture
【推荐100个unity插件之13】推荐一款开源的Unity网格破碎插件,实现在Unity中展示可破坏的墙壁的——unity-fracture
313 0
|
监控 网络协议 安全
2023年最新整理的中兴设备命令合集,网络工程师收藏!
2023年最新整理的中兴设备命令合集,网络工程师收藏!
1037 0
|
C语言
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
612 0
|
存储 测试技术 数据处理
【软件设计师备考 专题 】定义软件需求的方法:结构化分析与面向对象分析
【软件设计师备考 专题 】定义软件需求的方法:结构化分析与面向对象分析
319 0
|
编译器 数据处理 Python
Python的xlrd模块在Anaconda中的安装
本文介绍在Anaconda环境下,安装Python读取.xls格式表格文件的库xlrd的方法~
812 1
Python的xlrd模块在Anaconda中的安装