第1章 需求工程概述 1
1.1需求工程的重要性 1
1.2什么是软件需求 2
1.3软件需求的分类 3
1.4需求规格说明 4
1.5需求工程定义 5
1.6其他一些基本概念 6
第2章 软件工程与需求工程 7
2.1软件工程 7
2.2软件开发过程模型 7
2.2.1瀑布式模型 8
2.2.2快速原型模型 9
2.2.3渐增式模型 10
2.2.4螺旋式模型 11
2.2.5面向对象的开发模型 12
2.3需求工程在软件开发中的地位 13
2.3.1需求工程对软件开发的影响 13
2.3.2需求工程面临的困难 14
2.4软件需求的开发和管理过程 15
第3章 需求获取 17
3.1确定需求开发计划 17
3.2确定项目的目标和范围 18
3.3确定调查对象 19
3.4实地收集需求信息 22
3.4.1实地收集需求信息面临的困难 22
3.4.2实地调查的步骤 23
3.4.3实地收集需求信息的方式 23
3.4.4需求信息的分类 24
3.5确定非功能需求 26
3.6在收集需求信息中应注意的问题 27
3.7使用场景技术的需求获取 28
3.7.1场景的定义及构成 28
3.7.2场景的表示 29
3.7.3场景的种类 29
3.7.4使用用例的需求获取 30
3.7.5场景技术的特点 31
第4章 需求分析 32
4.1建立系统关联图 32
4.2分析需求的可行性 33
4.3构建用户接口原型 34
4.4确定需求的优先级别 35
4.5需求建模 36
4.6建立数据词典 37
第5章 需求建模方法与技术 38
5.1什么是模型 38
5.2软件工程中的模型 39
5.3结构化的需求建模方法 40
5.3.1SA方法的基本思想 41
5.3.2SA方法的描述手段 41
5.3.3实例说明 49
5.3.4SA方法的分析步骤 52
5.4面向对象的需求建模方法 54
5.4.1面向对象方法中的一些基本概念 54
5.4.2面向对象的需求分析 57
5.4.3OMT方法的图形描述工具 58
5.4.4基于OMT方法的需求建模步骤 64
5.5基于图形的需求建模技术 78
5.5.1UML概述 78
5.5.2活动图 79
5.5.3协作图 80
5.5.4实体关联图 81
第6章 需求定义 83
6.1需求规格说明的作用 83
6.2需求规格说明的特性 84
6.3需求规格说明的结构和内容 85
6.4需求规格说明文档的编写要求 91
6.5需求规格说明的描述语言 93
第7章 需求的形式化描述 96
7.1形式化规格说明及其方法 96
7.2形式化规格说明与软件开发 97
7.3基于公理或推理规则的形式化规格说明 98
7.4基于代数的形式化规格说明 100
7.5形式描述语言Z Notation 101
7.5.1Z Notation简介 101
7.5.2Z Notation的数学符号 101
7.5.3Z Notation中的图表 102
7.5.4Z Notation规约的实例 103
7.6形式描述语言LOTOS 106
7.6.1LOTOS简介 106
7.6.2LOTOS的数据描述语言 106
7.6.3LOTOS的进程 107
7.6.4LOTOS规约的实例 109
7.7B方法 110
7.7.1B方法简介 110
7.7.2B方法中的数学符号 111
7.7.3B方法中的抽象机 112
7.7.4B规约的实例 114
第8章 需求验证 116
8.1需求验证的目的和任务 116
8.2需求验证的内容和方法 117
8.3需求评审 117
8.3.1审查人员的确定和分工 118
8.3.2正式的审查过程 119
8.3.3审查的内容 120
8.3.4需求评审面临的困难 121
8.4需求测试 121
8.5编制用户使用手册草案 122
8.6解释需求模型 123
第9章 需求管理 124
9.1需求变更控制 124
9.2需求规格说明文档的版本控制 128
9.3需求变更状态的跟踪 128
9.4需求跟踪 129
9.4.1可跟踪信息分类 130
9.4.2需求跟踪技术 130
第10章 面向问题域的需求分析方法 133
10.1问题域 133
10.2问题域的划分 135
10.3问题框架 135
10.4问题框架的类型 136
10.5PDOA方法的分析步骤 141
10.5.1问题及问题域的界定与描述 141
10.5.2基于问题框架的问题域划分 145
10.6问题框架实例间的关系及其组合 150
10.6.1问题框架实例间的关系 150
10.6.2问题框架实例的组合 151
第11章 面向多视点的需求工程 153
11.1什么是视点 153
11.2多视点与需求工程 154
11.3多视点需求工程的过程模型 155
11.3.1视点的标识 156
11.3.2视点的表示 157
11.3.3视点的分析 159
11.3.4视点的集成 162
11.4实例 163
第12章 需求工程与软件开发管理 170
12.1需求与估算 170
12.2需求与项目进度安排 171
12.3基于需求的软件规模估算 172
12.4基于需求的工作量估算 173
参考文献 175