《需求工程 基础、原理和技术》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(德)波尔著;彭鑫,沈立炜,赵文耘等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111382317
  • 页数:520 页
图书介绍:本书对需求工程中的主要概念、方法、原理和技术进行了全面介绍,内容覆盖了需求工程的基本原理、面向目标的需求工程、基于场景的需求工程、面向解决方案的需求工程以及需求抽取、文档化、协商、确认和管理等需求工程活动,是一本内容丰富、结构完整的需求工程教科书。本书运用实例来辅助阐述需求工程的各个方面,并提供了大量的经过实践检验的检查表和指南,不仅适合用于高年级本科生及研究生需求工程相关课程教学,而且还可以作为软件开发及管理相关领域专业人员学习及应用需求工程相关方法、原理和技术的参考书。

第一部分 基础与框架 3

第1章 动机 3

1.1软件密集型系统 3

1.1.1实例:嵌入式系统在汽车工业中的重要性 3

1.1.2开发软件密集型系统的挑战 3

1.2需求工程的重要性 4

1.2.1对于项目成功的影响 4

1.2.2需求中的缺陷:一个实例 5

1.2.3需求缺陷导致高成本 6

1.3组织上下文中的需求工程 6

1.3.1与其他组织过程的相互关系 7

1.3.2与其他开发活动的相互关系 8

第2章 需求 9

2.1术语“需求” 9

2.2需求类型 10

2.2.1功能性需求 10

2.2.2质量需求 10

2.2.3约束 12

2.3问题vs.解决方案 14

2.3.1开发过程中的“做什么”和“怎么做” 14

2.3.2需求工程中的“做什么”与“怎么做” 15

2.3.3“做什么”和“怎么做”之间的交互 16

第3章 持续的需求工程 17

3.1传统系统分析 17

3.2本质系统分析 18

3.2.1本质vs.对应物 18

3.2.2方法 19

3.2.3本质系统分析的优点 20

3.3作为早期开发阶段的需求工程 20

3.4系统分析及面向阶段需求工程的缺点 21

3.5需求工程是一个持续过程 22

第4章 需求工程框架 25

4.1需求工程的目标:在上下文中建立愿景 25

4.2框架概览 25

4.3 4个上下文刻面 26

4.3.1 4个上下文刻面间的关系 27

4.3.2 4个上下文刻面的使用 28

4.4 3个核心活动 28

4.4.1需求工程的3个维度 28

4.4.2核心活动 29

4.5两个横切活动 30

4.6 3种需求制品 31

4.6.1目标 31

4.6.2场景 32

4.6.3面向方案的需求 33

4.6.4 3种需求制品的使用 33

4.6.5本文中的“需求” 33

4.7全书概览 34

第二部分 系统上下文 37

第5章 系统和上下文边界 37

5.1术语“上下文” 37

5.2系统边界 38

5.3上下文边界 39

5.4描述上下文方面的必要性 41

第6章 系统上下文的结构化组织 43

6.1结构化原则 43

6.2 4个上下文刻面和3类上下文方面 44

6.2.1需求来源 44

6.2.2上下文对象 46

6.2.3上下文对象的属性和关系 46

6.3 4个上下文刻面中的相关上下文方面 47

6.3.1主体刻面 47

6.3.2使用刻面 49

6.3.3 IT系统刻面 51

6.3.4开发刻面 52

6.4上下文方面的不同角色 54

第二部分推荐文献 55

第三部分 需求制品 59

第三部分a目标 59

第7章 目标导向基础 60

7.1动机 60

7.2术语“目标” 61

7.3 AND/OR目标分解 61

7.4目标依赖 61

7.4.1目标之间的“需要”依赖 62

7.4.2目标之间的“支持”依赖 62

7.4.3目标之间的“阻碍”依赖 62

7.4.4目标之间的“冲突”依赖 63

7.4.5目标等价 63

7.5识别目标依赖 64

第8章 描述目标 65

8.1目标描述模板 65

8.2目标描述的7个规则 67

8.3目标建模语言及方法 69

8.4使用AND/OR树和AND/OR图进行目标描述 70

8.4.1使用AND/OR树进行目标建模 70

8.4.2使用AND/OR图进行目标建模 71

8.4.3 AND/OR图中附加的目标依赖 72

8.5 i 72

8.5.1 i框架中的建模元素 73

8.5.2策略依赖模型 75

8.5.3策略原理模型 75

8.6 KAOS 76

8.6.1 KAOS框架中的目标建模元素 77

8.6.2 KAOS框架中的目标建模 78

8.6.3 KAOS框架中的责任分配建模 78

8.7决定使用何种目标建模语言 79

第三部分a推荐文献 80

第三部分b场景 81

第9章 场景基础 82

9.1场景作为中间层抽象 82

9.2场景作为一种将需求置于上下文中的手段 83

9.3为每个上下文刻面开发场景 84

第10章 场景类型 85

10.1当前状态场景和期望状态场景 86

10.2正面和负面场景 86

10.3不当使用场景 87

10.4描述性、探索性和解释性场景 88

10.5实例和类型化场景 89

10.6系统内场景、交互场景和上下文场景 90

10.7主场景、可替换场景和例外场景 93

10.8用况:场景的分类 95

第11章 描述场景 97

11.1叙述性场景 97

11.2结构化场景 98

11.2.1场景步骤的结构化描述 98

11.2.2场景参考模板 99

11.3用况描述模板 102

11.4场景描述的11条规则 105

11.5顺序图 109

11.6活动图 111

11.7用况图 113

11.8需求工程过程中不同场景类型的使用 116

第12章 使用目标和场景的优势 118

12.1目标导向的优势 118

12.1.1对于文档化的帮助 118

12.1.2对于抽取的帮助 118

12.1.3对于协商的帮助 119

12.1.4对于确认的帮助 119

12.1.5对于管理的帮助 119

12.2使用场景的优势 120

12.2.1有助于文档化 120

12.2.2有助于需求抽取 120

12.2.3有助于协商 121

12.2.4有助于确认 121

12.2.5有助于管理 121

12.3将目标与场景相结合的好处 122

12.3.1目标发起对场景的定义 122

12.3.2目标对场景进行分类 123

12.3.3场景描述对目标的满足情况 123

12.3.4场景发起对目标的细化 124

第三部分b推荐文献 127

第三部分C面向方案的需求 128

第13章 面向方案的需求基础 129

13.1解决方案的3种视图 129

13.2面向方案的需求、目标和场景 130

13.2.1主要区别 130

13.2.2主要联系 132

第14章 面向方案需求的文档化 133

14.1数据视图中的需求描述 134

14.1.1增强的实体-关系模型 134

14.1.2类图 139

14.2功能视图中的需求描述 143

14.2.1数据流模型 143

14.2.2本质模型 149

14.3行为视图中的需求描述 150

14.3.1行为建模语言 151

14.3.2有限自动机 151

14.3.3 Mealy和Moore自动机 153

14.3.4状态图 154

14.3.5状态机图 157

14.4在3种视图中描述质量需求 159

第15章3种视图的集成 161

15.1扩展后的示例 161

15.2视图之间的关系 166

15.3使用UML2集成 169

15.4使用SysML集成 170

15.4.1SysML图类型 171

15.4.2需求图 172

15.4.3使用需求图来关联各视图 173

第三部分C推荐文献 175

第四部分 核心活动 180

第四部分a文档化 180

第16章 需求文档基础 182

16.1动机与目标 182

16.2文档化vs.规约 183

16.3需求制品的质量准则 184

16.4验收准则 186

16.4.1需求制品的验收准则 186

16.4.2系统的验收准则 187

第17章 自然语言文档 189

17.1自然语言需求 189

17.2需求文档 190

17.2.1需求文档的类型 190

17.2.2要求汇总书 191

17.2.3责任汇总书 192

17.3需求文档的质量准则 193

17.4使用自然语言的优点和缺点 195

17.4.1使用自然语言的主要优点 195

17.4.2使用自然语言的主要缺点 195

17.5避免歧义的技术 198

17.5.1术语表 198

17.5.2语法需求模式 200

17.5.3受控语言 201

第18章 组织自然语言需求 203

18.1需求文档的参考结构 203

18.1.1参考结构的优点 203

18.1.2 IEEE 830-1998标准的参考结构 204

18.2对需求定义属性 207

18.3需求属性 208

18.3.1标识属性(类型1) 209

18.3.2上下文关系(类型2) 209

18.3.3文档化方面(类型3) 210

18.3.4内容方面(类型4) 210

18.3.5协商方面(类型5) 211

18.3.6确认方面(类型6) 212

18.3.7管理方面(类型7) 212

18.4模板和信息模型 214

18.4.1基于模板的文档化 214

18.4.2基于信息模型的文档化 215

18.5建立文本需求视图 218

18.5.1在需求库基础上生成视图 218

18.5.2生成需求文档 220

第19章 概念建模基础 221

19.1物理模型vs.概念模型 221

19.2模型属性 222

19.2.1消除无关细节 222

19.2.2定义附加属性 224

19.3概念模型的符号学 224

19.4概念模型的质量 226

19.5建模语言 228

19.5.1概念建模语言 228

19.5.2元建模 228

19.6模型的创建和解释 230

19.6.1模型创建 230

19.6.2模型解释 231

第20章 基于模型的需求与文本化需求之间的关系 232

20.1需求模型 232

20.2需求模型与文本化需求的相互关系 233

20.3可追踪性元模型 234

20.4概念模型和文本化需求之间的关系 236

20.5技术实现 239

第四部分a推荐文献 240

第四部分b抽取 241

第21章 需求抽取基础 243

21.1需求抽取的目标 243

21.2需求抽取的定义 243

21.3需求抽取中目标和场景的使用 244

21.4子活动:识别相关的需求来源 245

21.4.1识别潜在的需求来源 245

21.4.2选择相关的来源 247

21.5子活动:抽取现有的需求 248

21.5.1从涉众中抽取现有的需求 248

21.5.2从文档中抽取现有的需求 249

21.5.3从现有系统抽取现有的需求 250

21.6子活动:开发新的创新性需求 250

第22章 抽取技术 251

22.1技术评价 251

22.2描述技术的模板 252

22.3访谈 252

22.3.1准备 253

22.3.2执行 255

22.3.3后续 256

22.3.4应用该技术的检查表 256

22.3.5对于需求抽取的作用 257

22.3.6工作量 258

22.3.7成功的关键要素 258

22.4研讨会 259

22.4.1准备 259

22.4.2执行 261

22.4.3后续 263

22.4.4应用该技术的检查表 263

22.4.5对于需求抽取的作用 264

22.4.6工作量 265

22.4.7成功的关键要素 265

22.5专题小组 265

22.5.1准备 266

22.5.2执行 266

22.5.3后续 267

22.5.4应用该技术的检查表 267

22.5.5对于需求抽取的作用 267

22.5.6工作量 268

22.5.7成功的关键要素 268

22.6观察 268

22.6.1准备 269

22.6.2执行 269

22.6.3后续 270

22.6.4应用该技术的检查表 270

22.6.5对于需求抽取的作用 271

22.6.6工作量 271

22.6.7成功的关键要素 272

22.7调查问卷 272

22.7.1准备 272

22.7.2执行 273

22.7.3后续 273

22.7.4应用该技术的检查表 273

22.7.5对于需求抽取的作用 274

22.7.6工作量 274

22.7.7成功的关键要素 275

22.8基于视角的阅读 275

22.8.1准备 276

22.8.2执行 276

22.8.3后续 276

22.8.4应用该技术的检查表 276

22.8.5对于需求抽取的作用 277

22.8.6工作量 278

22.8.7成功的关键要素 278

第23章 辅助抽取技术 279

23.1技术评价 279

23.2头脑风暴 279

23.2.1准备 279

23.2.2执行 280

23.2.3后续 281

23.2.4应用该技术的检查表 281

23.2.5对于需求抽取的作用 282

23.2.6工作量 283

23.2.7成功的关键要素 283

23.3原型 283

23.3.1准备 283

23.3.2执行 284

23.3.3后续 284

23.3.4应用该技术的检查表 285

23.3.5对于需求抽取的作用 285

23.3.6工作量 285

23.3.7成功的关键要素 286

23.4 KJ方法 286

23.4.1准备 286

23.4.2执行 287

23.4.3后续 288

23.4.4应用该技术的检查表 288

23.4.5对于需求抽取的作用 289

23.4.6工作量 290

23.4.7成功的关键要素 290

23.5思维导图 290

23.5.1准备 291

23.5.2执行 291

23.5.3后续 292

23.5.4对于需求抽取的作用 292

23.5.5工作量 292

23.5.6成功的关键要素 292

23.6抽取检查表 292

23.6.1准备 293

23.6.2执行 293

23.6.3后续 293

23.6.4对于需求抽取的作用 293

23.6.5工作量 297

23.6.6成功的关键要素 298

第四部分b推荐文献 299

第四部分C协商 300

第24章 需求协商基础 301

24.1需求协商的目标 301

24.2需求协商:定义 302

24.3需求协商中目标和场景的使用 302

第25章 冲突管理 303

25.1子活动:识别冲突 303

25.2子活动:分析冲突 303

25.2.1数据冲突 304

25.2.2利益冲突 304

25.2.3价值冲突 304

25.2.4冲突分析的启发式方法 304

25.3子活动:解决冲突 305

25.3.1通过协商解决冲突 305

25.3.2通过创造性的解决方案解决冲突 306

25.3.3通过决定解决冲突 306

25.3.4冲突解决策略的评价 307

25.4子活动:记录冲突解决方案 308

第26章 协商技术 309

26.1双赢法 309

26.1.1双赢法中可能的情形 309

26.1.2取得双赢情形 309

26.1.3双赢法和冲突解决策略 310

26.2交互矩阵 310

第四部分C推荐文献 312

第五部分 确认 316

第27章 需求确认基础 316

27.1动机和目标 316

27.1.1确认的目标 316

27.1.2不充分确认的风险 317

27.2确认vs.验证 318

27.2.1构造性质量保障和分析性质量保障 318

27.2.2确认和验证的定义 318

27.2.3本书所使用的术语“确认” 319

27.3子活动:确认所创建的需求制品 319

27.3.1内容维度的确认 320

27.3.2文档化维度的确认 321

27.3.3共识维度的确认 321

27.4子活动:确认上下文考虑 322

27.4.1主体刻面 323

27.4.2使用刻面 323

27.4.3 IT系统刻面 323

27.4.4开发刻面 323

27.5子活动:确认活动的执行 324

27.6确认3个层次的能力模型 325

27.7确认中的目标和场景 326

27.7.1考虑目标的好处 326

27.7.2考虑场景的好处 326

27.8确认的原则 327

27.8.1第一个原则:引入正确的涉众 327

27.8.2第二个原则:分离缺陷检测和缺陷修正 328

27.8.3第三个原则:利用多个独立视角 329

27.8.4第四个原则:使用恰当的文档化格式 330

27.8.5第五个原则:确认期间开发制品的创建 330

27.8.6第六个原则:反复确认 330

第28章 确认技术 332

28.1审查 332

28.1.1准备 333

28.1.2执行 333

28.1.3后续 334

28.1.4应用该技术的检查表 334

28.1.5好处 335

28.1.6工作量 335

28.1.7成功的关键要素 336

28.2桌面检查 337

28.2.1准备 337

28.2.2执行 337

28.2.3后续 337

28.2.4应用该技术的检查表 337

28.2.5好处 338

28.2.6工作量 338

28.2.7成功的关键要素 338

28.3走查 339

28.3.1准备 339

28.3.2执行 339

28.3.3后续 339

28.3.4 应用该技术的检查表 339

28.3.5好处 340

28.3.6工作量 340

28.3.7成功的关键要素 340

28.4比较:审查、桌面检查和走查 340

28.5使用原型的确认 341

28.5.1准备 341

28.5.2执行 342

28.5.3后续 342

28.5.4应用该技术的检查表 343

28.5.5好处 343

28.5.6工作量 343

28.5.7成功的关键要素 344

第29章 辅助确认技术 345

29.1确认检查表 345

29.1.1准备 345

29.1.2执行 346

29.1.3后续 346

29.1.4 应用该技术的检查表 347

29.1.5好处 347

29.1.6工作量 348

29.1.7成功的关键要素 348

29.1.8构建问题和检查表 348

29.2基于视角的阅读 352

29.2.1准备 352

29.2.2执行 353

29.2.3后续 353

29.2.4应用该技术的检查表 353

29.2.5好处 353

29.2.6工作量 354

29.2.7成功的关键要素 354

29.3制品的创建 354

29.3.1模型的语言描述 355

29.3.2创建场景 357

29.3.3创建测试用例 359

29.3.4创建用户手册 361

第五部分推荐文献 363

第六部分 管理 367

第30章 需求管理基础 367

30.1管理活动的目标 367

30.2定义 368

30.3管理需求制品 368

30.4观察系统上下文 369

30.4.1观察上下文的技术 369

30.4.2结构化的上下文观察 369

30.5管理需求工程活动 370

30.5.1面向阶段的方法 370

30.5.2情境方法 371

30.5.3面向阶段的方法与情境方法的比较 373

第31章 需求的可追踪性 374

31.1可追踪性的基础 374

31.2需求的前可追踪性和后可追踪性 375

31.3可追踪性关系类型 376

31.3.1条件 377

31.3.2内容 377

31.3.3抽象 378

31.3.4演化 378

31.3.5杂项 378

31.3.6可追踪性关系类型示例 379

31.4文档化可追踪性关系 379

31.4.1文本引用 380

31.4.2超链接 380

31.4.3可追踪性模型 380

31.5可追踪性信息的表示 381

31.6特定项目的可追踪性 382

31.6.1特定项目的可追踪性环境 383

31.6.2可追踪性信息的使用策略 384

31.6.3特定项目的可追踪性模型 384

31.6.4可追踪性信息的记录策略 385

31.6.5涉众准则 386

第32章 需求优先级 387

32.1需求优先级排序的基础 387

32.2优先级排序的准备活动 388

32.2.1确定涉众 388

32.2.2选择将要排序的制品 388

32.2.3选择优先级排序标准 388

32.2.4选择一种优先级排序技术 389

32.3需求的优先级排序技术 390

32.3.1排名与前十技术 390

32.3.2单标准分类 390

32.3.3 Kano分类 390

32.3.4二维标准的分类 392

32.3.5 Wiegers优先级排序矩阵 393

32.3.6成本-价值方法 395

32.3.7优先级排序技术的组合 396

第33章 需求变更管理 398

33.1配置管理 398

33.1.1配置管理的层次 399

33.1.2软件制品的版本 399

33.1.3需求制品的配置 399

33.1.4需求制品的基线 400

33.2需求变更 400

33.2.1系统运行过程中遇到的问题 400

33.2.2上下文中的改变 400

33.3系统化的变更管理 402

33.3.1变更控制委员会 402

33.3.2文档化变更请求 403

33.3.3变更管理活动 404

第六部分推荐文献 407

第七部分COSMOD-RE:基于目标和场景的需求工程方法 411

第34章COSMOD-RE基础 411

34.1抽象层 411

34.2需求和体系结构制品的协同开发 413

34.2.1体系结构对需求的影响 413

34.2.2协同设计过程 415

第35章COSMOD-RE方法 417

35.1 COSMOD-RE的4层抽象层 418

35.1.1概览 418

35.1.2系统层 419

35.1.3功能分解层 419

35.1.4硬件/软件分割层 421

35.1.5部署层 422

35.2 COSMOD-RE的4种制品类型 423

35.2.1目标 424

35.2.2场景 427

35.2.3面向方案的需求 429

35.2.4体系结构制品 431

35.2.5制品之间的关联 432

35.3 COSMOD-RE的协同设计过程 433

35.3.1概览 433

35.3.2系统级协同设计 434

35.3.3功能级协同设计 434

35.3.4硬件/软件级协同设计 435

35.3.5协同设计过程之间的重叠 435

35.4每一个协同设计过程的5个子过程 436

35.4.1概览 436

35.4.2开发初始目标和场景(SP1) 437

35.4.3开发初始体系结构(SP2) 439

35.4.4开发构件目标和场景(SP3) 439

35.4.5整合需求和体系结构制品(SP4) 441

35.4.6详述具体的系统需求(SP5) 442

第36章 实施COSMOD-RE方法:一个实例 443

36.1开发初始目标和场景(SP1) 443

36.2开发初始体系结构(SP2) 446

36.3开发构件目标和场景(SP3) 448

36.4整合需求和体系结构制品(SP4) 449

36.5详述具体的系统需求(SP5) 452

36.6总结 453

第八部分 软件产品线及基于需求的测试 457

第37章 软件产品线的需求工程 457

37.1产品线工程的核心概念 457

37.1.1领域工程和应用系统工程 457

37.1.2可变性 458

37.2软件产品线工程中需求工程面临的挑战 459

37.3文档化可变性 460

37.3.1可变点和变体 461

37.3.2可变性依赖 462

37.3.3约束依赖 462

37.3.4制品依赖 463

37.4领域需求工程 464

37.4.1需求可变性的抽取 464

37.4.2领域需求的文档化 465

37.4.3存在可变性时的确认 467

37.5应用系统需求工程 468

37.5.1绑定可变性 468

37.5.2文档化可变性绑定 469

37.6总结 470

第38章 基于需求的测试:ScenTED方法 471

38.1动机 471

38.2测试背后的主要概念 471

38.2.1测试活动 471

38.2.2 测试用例 472

38.2.3测试层次 472

38.2.4测试用例定义 473

38.3测试中场景的角色 474

38.3.1实例与类型化场景 474

38.3.2测试层次与场景类型 474

38.4基于需求的测试用例定义 475

38.4.1从需求制品中直接生成测试用例 475

38.4.2基于模型的测试用例生成 476

38.5 ScenTED方法 477

38.5.1在测试模型中对系统行为建模 478

38.5.2生成测试用例场景 479

38.5.3确定测试数据 482

38.6总结 482

附录 484

词汇表 484

参考文献 495

索引 508