软件工程 - 软件需求

第三章 软件需求


1.软件需求的定义:软件需求表达了对解决现实世界中某类问题的产品的要求和约束。背
(1) 硬件、软件和将遵照的通信接口。
(2) 必须服从公司标准的用户界面。
(3) 将被坚持的报告格式。
(4) 过程限制,比如ISO 9000等。
(5) 基础设施造成的硬件限制。
必须使用排序算法对航班离开时间排序→不是需求问题,而是设计问题。

2.功能性需求:描述软件执行时的功能;非功能性需求:指解决问题时的约束。非功能性需
求(质量需求)通常和性能,可靠性,安全性,可维护性,可移植性等有关。


3.列举五种非功能性需求:性能,可靠性,安全性,可维护性,可移植性


4.需求分析的四个步骤以及每个步骤的定义:
(1) 需求获取:指的是软件需求的来源以及软件工程师收集这些软件需求的方法。
(2) 需求分析:产生操作规格参数表,指明与其他系统元件的软件接口,确定软件必须遵循的约束。
(3) 需求定义:编写《软件需求规格说明书》。
(4) 需求验证:即检查需求的正确性、完整性、非二义性、内部和外部的连贯性。


5.需求分析的任务是什么?
准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么,并用系统规格说明书,规范的形式,准确地表达用户的需求。

6.结构化分析方法是一种建模技术,它以数据字典为核心,建立数据流图(加工规格说明,用于功能建模)、实体-关系图(数据对象描述,用于数据建模)和状态转换图(控制规格
说明,用于行为建模)。

7.数据流图的四种基本图形符号


8.数据流图的每个加工至少有一个输入数据流和一个输出数据流。

9. 结构化分析的分析策略:自顶向下,逐步求精。

10.UML 图:需要知道名字(类图、用例图、交互图、状态图、活动图、实现图

11. UML中动态模型的描述工具有哪三种图:顺序图,活动图和状态图。

12.要会画用例图、分析时序图。了解 include(在…之前发生)和 ext end(仅 在…时发生)

13. 用例图里面有哪些元素,其主要用途是什么?
用例图的主要元素:用例,参与者,系统和用例之间的关系。用例图的主要用途:用于需求的获取、定义和分析

14.UML模型中哪些是参与者,可以通过提出什么问题来明确参与者?
UML模型中的参与者指与系统交互的人或物,它代表外部实体。可以通过提出以下问题来明确参与者:
(1) 谁或者什么为系统提供输入?
(2) 谁或者什么接收系统的输出?
(3) 需要与其他系统连接的接口吗?
(4) 是否存在在预定的时间自动触发的事件?
(5) 谁将维护系统中的信息?

15.顺序图由这五个元素组成:类角色、对象、生命线、激活期和消息。

16.什么是用例图?
用例图是显示一组用例,参与者以及它们之间关系的图。用例图从用户的角度而不是开发者的角度来描述对软件产品的需求,分析产品所需的功能和动态行为。

17.用例图的作用:用来对需求建模。用例图是至关重要的,它的正确与否直接影响到客户对最终产品的反应度。

18.用例图的内容含有:参与者、用例与关系(泛化,扩展和包含)。

19. 
(1) 数据流图的组成元素中,数据流用于描述数据处理所需的输入或输出。
(2) 在UML图中,顺序图用于描述为实现一个用例多个对象之间动态的交互关系,以及对象的生存期。状态图描述一个对象能达到的所有状态以及引起状态转换的事件。
(3) 有效的需求变更管理需要对变更带来的潜在影响及可能的成本费用进行评估。
(4) 需求分析和设计,在这两个阶段主要确定目标系统的逻辑模型,不涉及软件的物理实现。 

(5) UML状态图用于描述一个对象所能到达的所有状态以及引起状态转变的事件。
(6) UML用例图中,被包含用例(即包含关系箭头指向的用例)是指经过封装后可以在各种不同的基本用例中复用的用例。
(7) 针对需求分析作用的描述中,错误的是:使程序接口定义得以明确。原因:需求分析不涉及接口的定义,设计时才定义接口。
(8) 如果使用增量模型,任何需求变化都可以很好地控制。
(9) 软件需求可以分为两类:功能性需求和非功能性需求。软件需求过程包含四个阶段:需求获取、需求分析、需求定义、需求验证。
(10) 项目失败的原因分析中最首要的原因(出现软件缺陷的首要原因):需求不清。

(11) 软件模型必然是可更改的。
(12) 定义产品的目标和范围这一活动开始是作为系统工程的一部分,接下来作为软件需求分析的第一步。
(13) 不跟其他类产生关联的方法设置为私有方法。

本书讲述了软件开发中一个至关重要的问题—软件需求问题。软件开发人员及用户往往容易忽略信息沟通,导致软件开发出来后,不能很好地满足用户的需要。而返工则不仅在技术上给开发人员带来巨大的麻烦,而且软件性能深受影响且造成人力、物力的浪费。所以在开发周期早期提高项目需求分析的质量,减少重复劳动,通过控制项目范围的扩展及需求变更来达到按计划完成预定目标是当前我国软件业急需解决的问题—这也是本书讨论的主要内容。 目 录 译者序 前言 第一部分 软件需求:是什么和为什么 第1章 基本的软件需求 1 1.1 软件需求的定义 2 1.1.1 一些关于“需求”的解释 2 1.1.2 需求的层次 3 1.2 每个项目都有需求 4 1.3 什么情况将会导致好的群体发生不合格 的需求说明 5 1.4 高质量的需求过程带来的好处 7 1.5 优秀需求具有的特性 7 1.5.1 需求说明的特征 7 1.5.2 需求规格说明的特点 8 1.6 需求的开发和管理 9 第2章 客户的需求观 11 2.1 谁是客户 12 2.2 客户与开发人员之间的合作关系 12 2.2.1 软件客户需求权利书 13 2.2.2 软件客户需求义务书 15 2..3 “签约”意味着什么 17 第3章 需求工程的推荐方法 18 3.1 知识技能 19 3.2 需求获取 20 3.3 需求分析 21 3.4 需求规格说明 22 3.5 需求验证 23 3.6 需求管理 23 3.7 项目管理 24 第4章 改进需求过程 26 4.1 需求与其他项目过程的联系 26 4.2 软件需求对其他项目风险承担者的影响 27 4.3 软件过程改进的基础 28 4.4 过程改进周期 29 4.4.1 评估当前采用的方法 29 4.4.2 制定改进活动计划 30 4.4.3 建立、实验和实施新的过程 31 4.4.4 评估结果 32 4.5 需求过程的积累材料 33 4.5.1 需求开发过程的积累材料 34 4.5.2 需求管理过程的积累材料 34 4.6 需求过程改进路标 35 第5章 软件需求与风险管理 37 5.1 软件风险管理基础 38 5.1.1 风险管理的要素 38 5.1.2 编写项目风险文档 39 5.1.3 制定风险管理计划 40 5.2 与需求有关的风险 41 5.2.1 需求获取 41 5.2.2 需求分析 42 5.2.3 需求规格说明 42 5.2.4 需求验证 43 5.2.5 需求管理 43 5.3 风险管理是你的好助手 43 第二部分 软件需求工程 第6章 建立项目视图与范围 45 6.1 通过业务需求确定项目视图 45 6.2 项目视图和范围的文档 46 6.3 关联图 50 6.4 把注意力始终集中在项目的范围上 51 第7章 寻找客户的需求 52 7.1 需求的来源 52 7.2 用户类 53 7.3 寻找用户代表 54 7.4 产品的代表者 55 7.4.1 寻求产品代表者 56 7.4.2 产品代表者的期望 56 7.4.3 多个产品代表者 57 7.5 谁作出决策 58 第8章 聆听客户的需求 60 8.1 需求获取的指导方针 60 8.2 基于使用实例的方法 62 8.2.1 使用实例和用法说明 62 8.2.2 确定使用实例并编写使用实例文档 64 8.2.3 使用实例和功能需求 67 8.2.4 使用实例的益处 67 8.2.5 避免使用实例陷阱 68 8.3 对客户输入进行分类 69 8.4 需求获取中的注意事项 70 8.5 如何知道你何时完成需求的获取 71 第9章 编写需求文档 72 9.1 软件需求规格说明 72 9.1.1 标识需求 73 9.1.2 处理不完整性 74 9.1.3 用户界面和软件需求规格说明 74 9.2 软件需求规格说明模板 75 9.3 编写需求文档的原则 79 9.4 需求示例的改进前后 81 9.5 数据字典 83 第10章 需求的图形化分析 85 10.1 需求建模 85 10.2 从客户需求到分析模型 86 10.3 数据流图 87 10.4 实体联系图 88 10.5 状态转换图 90 10.6 对话图 92 10.7 类图 94 10.8 最后的提醒 96 第11章 软件的质量属性 97 11.1 非功能需求 97 11.2 质量属性 97 11.3 定义质量属性 98 11.3.1 对用户重要的属性 99 11.3.2 对开发者重要的属性 100 11.4 属性的取舍 101 第12章 通过原型法减少项目风险 103 12.1 原型是“什么”和“为什么”要原型 103 12.2 水平和垂直的原型 103 12.3 抛弃型原型或进化型原型 104 12.4 书面原型和电子原型 106 12.5 原型评价 107 12.6 原型法的最大风险 108 12.7 原型法成功的因素 108 第13章 设定需求优先级 110 13.1 为什么要设定需求的优先级 110 13.2 不同角色的人处理优先级 111 13.3 设定优先级的规模 111 13.4 基于价值、费用和风险的优先级设定 112 第14章 需求质量验证 116 14.1 需求评审 117 14.1.1 审查过程 118 14.1.2 需求评审的困难 122 14.2 测试需求 124 第15章 需求开发向设计规划的转化 128 15.1 从需求到项目规划 128 15.1.1 需求和进度安排 128 15.1.2 需求和预估 129 15.2 从需求到设计和编码 130 15.3 从需求到测试 131 15.4 从需求到成功 131 第三部分 软件需求管理 第16章 需求管理的原则与实现 133 16.1 需求管理和过程能力成熟度模型 133 16.2 需求管理步骤 135 16.3 需求规格说明的版本控制 135 16.4 需求属性 136 16.5 度量需求管理的效果 138 第17章 管理变更请求 139 17.1 控制项目范围的扩展 139 17.2 变更控制过程 140 17.2.1 变更控制策略 140 17.2.2 变更控制步骤 141 17.2.3 变更控制工具 144 17.3 变更控制委员会 145 17.3.1 变更控制委员会的组成 145 17.3.2 变更控制委员会总则 145 17.4 测量变更活动 146 第18章 需求链中的联系链 149 18.1 需求跟踪 149 18.1.1 需求跟踪动机 151 18.1.2 需求跟踪能力矩阵 151 18.1.3 需求跟踪能力工具 153 18.1.4 需求跟踪能力过程 153 18.1.5 需求跟踪能力可行吗,必要吗? 154 18.2 变更需求代价:影响分析 154 18.2.1 影响分析过程 155 18.2.2 影响分析报告模板 157 第19章 需求管理工具 158 19.1 使用需求管理工具的益处 159 19.2 商业需求管理工具 160 19.3 实现需求管理自动化 161 附录 当前需求实践的自我评估 163 参考文献 167 后记 171
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值