第1章 需求工程概述

第1章 需求工程概述

标签: 软件需求工程

软件需求工程》 毋国庆 第二版 个人笔记



1. 需求工程的重要性

2. 什么是软件需求

  • IEEE阮晋安工程标准词汇将需求定义为:
    1. (用户角度)用户解决问题或达到目标所需的条件或能力
    2. (软件系统角度)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需的条件或能力

3. 软件需求的分类

  • 用户需求分类:

    1. 目标需求:反映组织机构或客户对系统产品提出的高层次的目标需求,其限定了项目的范围和项目应达到的目标。
    2. 业务需求:主要描述了软件系统必须完成的任务、实际业务或工作流程等。
    3. 功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。
    4. 性能需求:指实现的软件系统功能应达到的技术指标,如计算精度、可靠性、可维护性和可扩展性瞪
    5. 约束与限制:指软件开发人员在设计和实现软件系统时的限制,如开发语言、使用的数据库等。

  • 实例(文字处理系统部分软件规格说明书)

    1. 目标需求:用户使用系统能有效地纠正文档中的拼写错误,系统能满足用户的业务要求以及提高用户的工作效率
    2. 业务需求:当找到文档中的拼写错误时,通过可供选择的单词表,选择单词表中的一个单词后,再替换掉原来的单词。
    3. 功能需求:查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表,实现整个文档范围内的替换。
    4. 性能需求:检查单词的速度快,准确率要求达到99%,系统的有效性和可靠性要高
    5. 约束与限制:文件内部格式要与word系统一致,开发平台为Linux系统,使用C语言

4. 需求规格说明书

  • 需求规格说明书:是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档。

  • 特征:
    1. 完整性:每一项需求必须将所要实现的功能描述清楚,以便开发人员获得设计和实现这些功能所需的必要信息。
    2. 正确性:每一项需求都必须准确地陈述其要开发的功能。
    3. 可行性:每一项需求都必须在已知系统和环境的权能和限制范围内是可以实施的
    4. 必要性:每一项需求都应把客户真正需要的和最终系统所遵从的标准记录下来。(要使每一项需求都能回溯至客户的某项输入)
    5. 划分优先级:给每项需求、特性或使用实例分配一个实施优先级,以指明它在特定产品中所占的分量。
    6. 无二义性:对所有需求说明都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的语言表达出来。
    7. 可验证性:检查每项需求是否能通过设计测试用例或其他验证方法。

5. 需求工程的定义

  • 需求工程:是指应用工程化的方法、技术和规格来开发和管理软件需求。
  • 目标:获得高质量的软件需求。

  • 概要任务:
    1. 确定待开发的软件系统的用户类,并获取他们的需求信息
    2. 分析用户的需求信息,并按软件需求的类型对这些需求信息进行分类,同时,过滤掉不是需求的信息
    3. 根据软件需求信息建立软件系统的逻辑模型或需求模型,并确定非功能需求和约束条件及限制
    4. 根据收集的需求信息和逻辑模型编写需求规格说明书极其文档
    5. 评审需求规格说明
    6. 当需求发生变更时,对需求规格说明及需求变更进行管理

6. 其他一些基本概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值