本书对需求工程中的主要概念、方法、原理和技术进行了全面介绍,内容覆盖了需求工程的基本原理、面向目标的需求工程、基于场景的需求工程、面向解决方案的需求工程以及需求抽取、文档化、协商、确认和管理等需求工程活动,是一本内容丰富、结构完整的需求工程教科书。
本书运用实例来辅助阐述需求工程的各个方面,并提供了大量的经过实践检验的检查表和指南,不仅适合用于高年级本科生及研究生需求工程相关课程教学,而且还可以作为软件开发及管理相关领域专业人员学习及应用需求工程相关方法、原理和技术的参考书。
需求工程
基础、原理和技术
Requirements Engineering Fundamentals, Principles, and Techniques
(德)Klaus Pohl 著 彭鑫 沈立炜 赵文耘 等译
需求工程是一种抽取各个涉众的需求和要求,并在此基础上开发需求的详细描述,得到各方认同的需求文档和规约的过程,是所有其他系统开发活动的基础。在本书中,作者以一种良好的结构对需求工程基础、原理和技术进行了全面介绍,具体描述了软件密集型系统的需求抽取、协商、文档化以及确认、管理等过程中广泛采用的技术,并通过大量实例对需求工程过程和技术的各个方面进行了说明,这些实例大都来自作者的教学经验和工作成果。
本书特色
最全面的需求工程基础、原理和最新技术介绍,例如面向目标的需求工程、基于场景的需求工程。
通过易于教学、经过工业实践检验的需求工程框架对需求工程过程和规程进行组织。
通过大量实例阐述需求工程的各个方面。
提供大量检查表和指南引导读者对所介绍的概念和方法进行应用。
作者简介
Klaus Pohl 于德国亚琛工业大学获得计算机科学博士学位,担任德国杜伊斯堡-埃森大学全职教授、爱尔兰利默里克大学兼职教授。他是九十多部著作的作者或合著者,担任过多个国际、国内会议的主席。他的研究兴趣包括需求工程、基于服务的系统工程、软件质量保证与软件产品线。
20世纪90年代初期我开始研究需求工程,我从一系列工业项目中获得的经验表明:不充分的需求工程经常导致不一致、不完整以及不正确的需求规格说明,并且开发项目中所遇到的大量问题也是由此产生的。因此,持续改进系统开发中需求的抽取、文档化和使用的方式成为了我的愿望和信念。
从上世纪90年代初期到现在,需求工程领域已经有了相当大的发展。研究者们针对许多需求工程问题提出、验证并且实践了很多新的解决方案。许多公司已经意识到需求工程的重要性,并且由此开始更加重视系统开发的早期“阶段”。各大学也开始面向本科生和研究生教授专门的需求工程课程。
然而,我与工业界的合作以及许多国内和国际会议上的报告都表明,很多时候需求工程仍然是以一种不充分、低效以及随意的方式进行的,其根本性的方面常常被忽略,甚至一个组织中负责开发过程的涉众也经常只对需求工程有着不充分以及不完整的认识。
还需要另一本关于需求工程的书吗
真的需要另一本关于需求工程的书吗?对于现有的德文和英文需求工程书籍的分析表明,大多数现有的书籍从不同的视角对需求工程做出了优秀的阐释,然而仍然缺少一本全面、组织结构良好、易于理解的教科书或纲要。
本书的目的
本书基于研究和工业项目中获取的知识和经验写作而成,目的是对需求工程的基础、原理和技术提供一个全面、组织结构良好的介绍。书中所介绍的需求工程的各个方面都用很多例子进行了说明。此外,本书还提供了检查表和指南,以支持所介绍的需求工程原理和技术的实践应用。对于每个主题,我们还给出了经过选择的进一步阅读建议。
简而言之,本书是一本全面的需求工程教科书及纲要。
目标读者
本书针对软件和系统工程以及业务信息系统领域中的专业人员、学生和讲师。参与需求工程或受其影响的专业人员,如项目经理、业务和系统分析员、架构师、开发和测试人员、需求工程师,将在他们的日常工作中发现本书是一本有价值的纲要,也是重要的需求工程基础、原理和实用技术的来源。我个人写作这本书的动机是为我的本科生和研究生提供一本陪伴他们的学习和职业生涯的教科书。打算在课程中使用这本书的教师可以从本书的网站wwwrequirementsbookcom(见下文中的“教授需求工程课程”)上找到参考课程、配套实验练习以及教学幻灯片。
本书的内容
本书第一部分对于需求工程基础进行了全面介绍,并且简要描述了需求工程从软件开发过程中的一个早期、非正式阶段发展成为一种持续、跨越项目和不同产品的活动的演变过程。第一部分结尾介绍了作为本书基石的需求工程框架。该框架由以下4个构造块组成:
4个上下文刻面:每个软件密集型系统都处于一个给定的上下文之中。在需求工程过程中充分考虑系统上下文对于每一个成功的系统开发都是至关重要的。因此在1993年,Matthias Jarke和我将需求工程的主要目标定义为“在上下文中建立愿景”[Jarke and Pohl 1993]。
本书的第二部分对系统及其上下文的分割进行了概述,并提出了一个有利于将其在所有需求工程活动中进行考虑的系统上下文结构。
3类需求制品:经过文档化描述(规约)的系统需求是需求工程过程的关键成果。我们的需求工程框架区分3类需求(制品):目标,描述对于系统的(抽象)意图;场景,描述实现或未能实现目标的具体实例,此外,可以用于描述系统的使用视图等;面向方案的需求,例如数据、功能、行为模型,详细描述系统需求,主要用于支持后续的系统开发活动以及系统的正确实现。
本书第三部分对3类需求的特性进行了概述,介绍了广泛使用的目标、场景和面向方案的需求的类型。而且,对目标和场景在所有核心和横切需求工程活动中的角色也进行了简要讨论(见下文)。关于目标和场景在所有需求工程活动中的使用方面的细节在本书中描述相关活动的部分进行介绍。
3个核心活动:我们区分3个核心需求工程活动:抽取、文档化(规约)和协商。这3个活动派生自需求工程的3个维度:内容维度、文档化维度、共识维度(见[Pohl 1994; Pohl 1997])。
3个核心活动在本书的第四部分进行了详细介绍。对于文档化活动,本书介绍了多种不同的文档化语言(包括自然语言以及基于模型的需求文档化),并提供了在需求工程过程中应用不同的文档化语言和技术的提示和指南。对于抽取和协商活动,本书介绍了一些需求工程中的常用技术。
两个横切活动:除了3个核心活动,还有两个对于需求工程成功至关重要的横切活动:确认活动和管理活动。确认活动的主要目的包括3个方面:确认上下文是否已在需求工程过程中得到了充分考虑;确认需求的文档化描述;确认需求工程活动是否按照过程指南进行了执行。我们将(需求)管理作为需求工程的一部分。管理活动包括3个子活动:确保需求的可追踪性,确定需求优先级,管理需求变更。
本书第五部分描述了支持确认活动的技术。第六部分详细介绍了管理活动及其子活动。
本书的第七部分介绍了我们基于目标和场景的需求工程方法COSMODRE。该方法支持软件密集型(嵌入式)系统需求和体系结构制品的交错开发。该方法使用了一个包含4个抽象层次的层次结构,并为每个抽象层次定义了需求工程制品(目标、场景和面向方案的需求)以及体系结构制品。该方法进一步将这些制品的开发过程组织为3个协同设计过程:系统级协同设计过程、功能级协同设计过程、软硬件级协同设计过程。我们以一个简化的驾驶员辅助系统为例,对基于COSMODRE方法进行需求和体系结构制品的交错开发进行了说明。
本书第八部分详细描述了需求工程以及基于需求的测试之间的关系,并且简述了单个系统工程中的需求工程与软件产品线工程中的需求工程的关键区别。
教授需求工程课程
可以在本书网站(wwwrequirementsbookcom)上找到不同层次课程的参考,包括基础层次、高级层次以及特殊目的的课程。这些课程包括每周2小时的14周课程、关于特定主题的4小时课程,以及关于需求工程基础方面的概述性课程等。每个课程单元均对应于本书中相关的部分。每个单元都对教学目的进行了明确说明,并且概要介绍了相应的配套练习和实践训练。
体验和反馈
没有哪本书是完美的。尽管进行了认真、全面的校对,本书仍然可能包含错误或者需要改进的地方。如果您发现了错误、缺少的主题或者有其他建设性的改进建议,请发送电子邮件到
feedback@requirementsbookcom
或者在本书的网站上提供您的反馈:
wwwrequirementsbookcom
我十分期待收到您宝贵的改进建议!
本书的历史
本书基于2007年(第1版)和2008年(第2版)出版的一本德文需求工程教科书写作而成。在写作本书的时候,其中有几个部分进行了大量修改并增加了新的材料,特别是关于面向方案的需求的描述、COSMODRE方法以及产品线需求工程的内容。德文教科书第3版将在本书的英文版基础上出版。
致谢
首先,我想感谢我的博士生和博士后们,感谢他们所付出的许多富有成果的讨论、建设性的改进建议以及做出的奉献,这些使得德文教科书得以出版。特别感谢Kim Lauenroth、Ernst Sikora、Thorsten Weyer对本书第一到第七部分所做出的贡献,感谢Andreas Metzger、Günter Halmans和Andreas Froese对本书第八部分的贡献。我还想对Lero(爱尔兰软件工程研究中心)对于本书的多次会议的支持表示感谢,特别是Kevin Ryan,他成功地鼓励我完成了德文版的项目。
其次,我想对支持我写作英文教科书的人们表示感谢,感谢他们在德文到英文的翻译过程中所提供的大量协助,以及对于本书中大量重写的部分以及整本书中许许多多的改进和扩展上所做的贡献:
Ernst Sikora
Nelufar UlfatBunyadi
此外,我还想感谢我的研究组中所有的人,感谢他们宝贵的校对工作以及许多建设性的建议,特别是Marian Daun、André Heuer、Kim Lauenroth、Mark Rzepka、Bastian Tenbergen和Thorsten Weyer。
另外,我还想感谢我的学生、工业伙伴以及参加了我的教程和培训的人们,感谢他们不断地询问一些关键问题,这是很多改进的宝贵来源。我还想感谢来自Springer的Ralf Gerstner、Colin Marsh和Ulrike Stricker,感谢他们在本书出版过程中所提供的支持。
深深感谢我的妻子Brbel以及我的孩子Timo和Ella,感谢他们无与伦比的耐心、支持和理解。
Klaus Pohl
2010年于德国埃森市
计算机\软件工程
需求工程是一种抽取各个涉众的需求和要求,并在此基础上开发需求的详细描述,得到各方认同的需求文档和规约的过程,是所有其他系统开发活动的基础。在本书中,作者以一种良好的结构对需求工程基础、原理和技术进行了全面介绍,具体描述了软件密集型系统的需求抽取、协商、文档化以及确认、管理等方面广泛采用的技术,并通过大量实例对需求工程过程和技术的各个方面进行了说明,这些实例大都来自作者的教学经验和工作成果。
本书特点:
* 最全面的需求工程基础、原理和最新技术介绍,例如面向目标的需求工程、基于场景的需求工程。
* 易于教学、经过工业实践检验的需求工程框架,通过框架性的介绍对需求工程过程和规程进行组织。
* 通过大量实例阐述需求工程的各个方面。
* 提供大量检查表和指南引导读者对所介绍的概念和方法进行应用。
(德)Klaus Pohl 著:Klaus Pohl 于德国亚琛工业大学获得计算机科学博士学位,担任德国杜伊斯堡-埃森大学全职教授、爱尔兰利默里克大学兼职教授。他是九十多部著作的作者或合著者,担任过多个国际、国内会议的主席。他的研究兴趣包括需求工程、基于服务的系统工程、软件质量保证与软件产品线。 加作者照片
彭鑫 沈立炜 赵文耘 等译:暂无简介
需求工程通过一种系统化的工程过程实现涉众需求的抽取、协商和文档化。作为需求工程输出制品的需求文档和需求规约是所有其他系统开发活动的重要基础。传统的软件开发过程和开发方法将需求工程作为软件项目的一个早期开发阶段。近些年来,随着以统一过程和敏捷方法为代表的增量、迭代式开发过程的流行,需求工程作为一种跨越整个软件开发生存周期的持续活动的思想已经得到了广泛的接受。另一方面,软件复用、特定领域的软件开发以及软件产品线开发方法的广泛应用又进一步使得需求工程成为一种跨越项目和产品边界的工程化活动。这些都使得需求工程对于软件开发项目的重要性进一步加强。
本书对于需求工程中的主要概念、方法、原理和技术进行了全面介绍,覆盖了面向目标的需求工程、基于场景的需求工程、面向方案的需求工程以及需求抽取、文档化、协商、确认和管理等需求工程活动。特别值得一提的是,本书提出了一种涵盖四个上下文刻面(主体、使用、IT系统、开发)、三个核心活动(抽取、文档化、协商)、三种需求制品(目标、场景、面向方案的需求)和两个横切活动(确认、管理)的需求工程框架,并以此为基础组织全书的内容,使得本书在追求内容丰富与全面性的同时不失其结构性。
本书所介绍的需求工程框架和主要方法都经过长期和广泛的工业实践检验。同时,书中还大量运用实例来辅助阐述需求工程的各个方面,并提供了大量的方法应用指南和检查表。因此,本书不仅适合用于高年级本科生及研究生需求工程相关课程教学,而且还可以作为软件开发及管理相关领域专业人员学习及应用需求工程相关方法、原理和技术的参考书。
彭鑫、沈立炜、赵文耘组织并参加了本书的翻译和审校工作。其中,彭鑫负责第1~26章的翻译工作,沈立炜负责第27~38章的翻译工作,赵文耘审阅了全文。参加翻译工作的还包括董瑞志、李宏伟、林云、黄洋、谢奕、朱天梅等。
本书内容丰富、覆盖面广,鉴于译者水平有限,书中难免有疏漏或错误,还请各位读者批评指正。
出版者的话
译者序
前言
第一部分基础与框架
第1章动机
11软件密集型系统
111实例: 嵌入式系统在汽车工业中的重要性
112开发软件密集型系统的挑战
12需求工程的重要性
121对于项目成功的影响
122需求中的缺陷: 一个实例
123需求缺陷导致高成本
13组织上下文中的需求工程
131与其他组织过程的相互关系
132与其他开发活动的相互关系
第2章需求
21术语“需求”
22需求类型
221功能性需求
222质量需求
223约束
23问题vs 解决方案
231开发过程中的“做什么”和“怎么做”
232需求工程中的“做什么”与“怎么做”
233“做什么”和“怎么做”之间的交互
第3章持续的需求工程
31传统系统分析
32本质系统分析
321本质vs对应物
322方法
323本质系统分析的优点
33作为早期开发阶段的需求工程
34系统分析及面向阶段需求工程的缺点
35需求工程是一个持续过程
第4章需求工程框架
41需求工程的目标: 在上下文中建立愿景
42框架概览
434个上下文刻面
4314个上下文刻面间的关系
4324个上下文刻面的使用
443个核心活动
441需求工程的3个维度
442核心活动
45两个横切活动
463种需求制品
461目标
462场景
463面向方案的需求
4643种需求制品的使用
465本文中的“需求”
47全书概览
第二部分系统上下文
第5章系统和上下文边界
51术语“上下文”
52系统边界
53上下文边界
54描述上下文方面的必要性
第6章系统上下文的结构化组织
61结构化原则
624个上下文刻面和3类上下文方面
621需求来源
622上下文对象
623上下文对象的属性和关系
634个上下文刻面中的相关上下文方面
631主体刻面
632使用刻面
633IT系统刻面
634开发刻面
64上下文方面的不同角色
第二部分推荐文献
第三部分需 求 制 品
第三部分a目标
第7章目标导向基础
71动机
72术语“目标”
73AND/OR目标分解
74目标依赖
741目标之间的“需要”依赖
742目标之间的“支持”依赖
743目标之间的“阻碍”依赖
744目标之间的“冲突”依赖
745目标等价
75识别目标依赖
第8章描述目标
81目标描述模板
82目标描述的7个规则
83目标建模语言及方法
84使用AND/OR树和AND/OR图进行目标描述
841使用AND/OR树进行目标建模
842使用AND/OR图进行目标建模
843AND/OR图中附加的目标依赖
85i*
851i*框架中的建模元素
852策略依赖模型
853策略原理模型
86KAOS
861KAOS框架中的目标建模元素
862KAOS框架中的目标建模
863KAOS框架中的责任分配建模
87决定使用何种目标建模语言
第三部分a推荐文献
第三部分b场景
第9章场景基础
91场景作为中间层抽象
92场景作为一种将需求置于上下文中的手段
93为每个上下文刻面开发场景
第10章场景类型
101当前状态场景和期望状态场景
102正面和负面场景
103不当使用场景
104描述性、探索性和解释性场景
105实例和类型化场景
106系统内场景、交互场景和上下文场景
107主场景、可替换场景和例外场景
108用况:场景的分类
第11章描述场景
111叙述性场景
112结构化场景
1121场景步骤的结构化描述
1122场景参考模板
113用况描述模板
114场景描述的11条规则
115顺序图
116活动图
117用况图
118需求工程过程中不同场景类型的使用
第12章使用目标和场景的优势
121目标导向的优势
1211对于文档化的帮助
1212对于抽取的帮助
1213对于协商的帮助
1214对于确认的帮助
1215对于管理的帮助
122使用场景的优势
1221有助于文档化
1222有助于需求抽取
1223有助于协商
1224有助于确认
1225有助于管理
123将目标与场景相结合的好处
1231目标发起对场景的定义
1232目标对场景进行分类
1233场景描述对目标的满足情况
1234场景发起对目标的细化
第三部分b推荐文献
第三部分c面向方案的需求
第13章面向方案的需求基础
131解决方案的3种视图
132面向方案的需求、目标和场景
1321主要区别
1322主要联系
第14章面向方案需求的文档化
141数据视图中的需求描述
1411增强的实体-关系模型
1412类图
142功能视图中的需求描述
1421数据流模型
1422本质模型
143行为视图中的需求描述
1431行为建模语言
1432有限自动机
1433Mealy和Moore自动机
1434状态图
1435状态机图
144在3种视图中描述质量需求
第15章3种视图的集成
151扩展后的示例
152视图之间的关系
153使用UML2集成
154使用SysML集成
1541SysML图类型
1542需求图
1543使用需求图来关联各视图
第三部分c推荐文献
第四部分核 心 活 动
第四部分a文档化
第16章需求文档基础
161动机与目标
162文档化vs规约
163需求制品的质量准则
164验收准则
1641需求制品的验收准则
1642系统的验收准则
第17章自然语言文档
171自然语言需求
172需求文档
1721需求文档的类型
1722要求汇总书
1723责任汇总书
173需求文档的质量准则
174使用自然语言的优点和缺点
1741使用自然语言的主要优点
1742使用自然语言的主要缺点
175避免歧义的技术
1751术语表
1752语法需求模式
1753受控语言
第18章组织自然语言需求
181需求文档的参考结构
1811参考结构的优点
1812IEEE 8301998标准的参考结构
182对需求定义属性
183需求属性
1831标识属性(类型1)
1832上下文关系(类型2)
1833文档化方面(类型3)
1834内容方面(类型4)
1835协商方面(类型5)
1836确认方面(类型6)
1837管理方面(类型7)
184模板和信息模型
1841基于模板的文档化
1842基于信息模型的文档化
185建立文本需求视图
1851在需求库基础上生成视图
1852生成需求文档
第19章概念建模基础
191物理模型vs概念模型
192模型属性
1921消除无关细节
1922定义附加属性
193概念模型的符号学
194概念模型的质量
195建模语言
1951概念建模语言
1952元建模
196模型的创建和解释
1961模型创建
1962模型解释
第20章基于模型的需求与文本化需求之间的关系
201需求模型
202需求模型与文本化需求的相互关系
203可追踪性元模型
204概念模型和文本化需求之间的关系
205技术实现
第四部分a推荐文献
第四部分b抽取
第21章需求抽取基础
211需求抽取的目标
212需求抽取的定义
213需求抽取中目标和场景的使用
214子活动:识别相关的需求来源
2141识别潜在的需求来源
2142选择相关的来源
215子活动:抽取现有的需求
2151从涉众中抽取现有的需求
2152从文档中抽取现有的需求
2153从现有系统抽取现有的需求
216子活动:开发新的创新性需求
第22章抽取技术
221技术评价
222描述技术的模板
223访谈
2231准备
2232执行
2233后续
2234应用该技术的检查表
2235对于需求抽取的作用
2236工作量
2237成功的关键要素
224研讨会
2241准备
2242执行
2243后续
2244应用该技术的检查表
2245对于需求抽取的作用
2246工作量
2247成功的关键要素
225专题小组
2251准备
2252执行
2253后续
2254应用该技术的检查表
2255对于需求抽取的作用
2256工作量
2257成功的关键要素
226观察
2261准备
2262执行
2263后续
2264应用该技术的检查表
2265对于需求抽取的作用
2266工作量
2267成功的关键要素
227调查问卷
2271准备
2272执行
2273后续
2274应用该技术的检查表
2275对于需求抽取的作用
2276工作量
2277成功的关键要素
228基于视角的阅读
2281准备
2282执行
2283后续
2284应用该技术的检查表
2285对于需求抽取的作用
2286工作量
2287成功的关键要素
第23章辅助抽取技术
231技术评价
232头脑风暴
2321准备
2322执行
2323后续
2324应用该技术的检查表
2325对于需求抽取的作用
2326工作量
2327成功的关键要素
233原型
2331准备
2332执行
2333后续
2334应用该技术的检查表
2335对于需求抽取的作用
2336工作量
2337成功的关键要素
234KJ方法
2341准备
2342执行
2343后续
2344应用该技术的检查表
2345对于需求抽取的作用
2346工作量
2347成功的关键要素
235思维导图
2351准备
2352执行
2353后续
2354对于需求抽取的作用
2355工作量
2356成功的关键要素
236抽取检查表
2361准备
2362执行
2363后续
2364对于需求抽取的作用
2365工作量
2366成功的关键要素
第四部分b推荐文献
第四部分c协商
第24章需求协商基础
241需求协商的目标
242需求协商:定义
243需求协商中目标和场景的使用
第25章冲突管理
251子活动:识别冲突
252子活动:分析冲突
2521数据冲突
2522利益冲突
2523价值冲突
2524冲突分析的启发式方法
253子活动:解决冲突
2531通过协商解决冲突
2532通过创造性的解决方案解决冲突
2533通过决定解决冲突
2534冲突解决策略的评价
254子活动:记录冲突解决方案
第26章协商技术
261双赢法
2611双赢法中可能的情形
2612取得双赢情形
2613双赢法和冲突解决策略
262交互矩阵
第四部分c推荐文献
第五部分确认
第27章需求确认基础
271动机和目标
2711确认的目标
2712不充分确认的风险
272确认vs验证
2721构造性质量保障和分析性质量保障
2722确认和验证的定义
2723本书所使用的术语“确认”
273子活动:确认所创建的需求制品
2731内容维度的确认
2732文档化维度的确认
2733共识维度的确认
274子活动:确认上下文考虑
2741主体刻面
2742使用刻面
2743IT系统刻面
2744开发刻面
275子活动:确认活动的执行
276确认3个层次的能力模型
277确认中的目标和场景
2771考虑目标的好处
2772考虑场景的好处
278确认的原则
2781第一个原则:引入正确的涉众
2782第二个原则:分离缺陷检测和缺陷修正
2783第三个原则:利用多个独立视角
2784第四个原则:使用恰当的文档化格式
2785第五个原则:确认期间开发制品的创建
2786第六个原则:反复确认
第28章确认技术
281审查
2811准备
2812执行
2813后续
2814应用该技术的检查表
2815好处
2816工作量
2817成功的关键要素
282桌面检查
2821准备
2822执行
2823后续
2824应用该技术的检查表
2825好处
2826工作量
2827成功的关键要素
283走查
2831准备
2832执行
2833后续
2834应用该技术的检查表
2835好处
2836工作量
2837成功的关键要素
284比较:审查、桌面检查和走查
285使用原型的确认
2851准备
2852执行
2853后续
2854应用该技术的检查表
2855好处
2856工作量
2857成功的关键要素
第29章辅助确认技术
291确认检查表
2911准备
2912执行
2913后续
2914应用该技术的检查表
2915好处
2916工作量
2917成功的关键要素
2918构建问题和检查表
292基于视角的阅读
2921准备
2922执行
2923后续
2924应用该技术的检查表
2925好处
2926工作量
2927成功的关键要素
293制品的创建
2931模型的语言描述
2932创建场景
2933创建测试用例
2934创建用户手册
第五部分推荐文献
第六部分管理
第30章需求管理基础
301管理活动的目标
302定义
303管理需求制品
304观察系统上下文
3041观察上下文的技术
3042结构化的上下文观察
305管理需求工程活动
3051面向阶段的方法
3052情境方法
3053面向阶段的方法与情境方法的比较
第31章需求的可追踪性
311可追踪性的基础
312需求的前可追踪性和后可追踪性
313可追踪性关系类型
3131条件
3132内容
3133抽象
3134演化
3135杂项
3136可追踪性关系类型示例
314文档化可追踪性关系
3141文本引用
3142超链接
3143可追踪性模型
315可追踪性信息的表示
316特定项目的可追踪性
3161特定项目的可追踪性环境
3162可追踪性信息的使用策略
3163特定项目的可追踪性模型
3164可追踪性信息的记录策略
3165涉众准则
第32章需求优先级
321需求优先级排序的基础
322优先级排序的准备活动
3221确定涉众
3222选择将要排序的制品
3223选择优先级排序标准
3224选择一种优先级排序技术
323需求的优先级排序技术
3231排名与前十技术
3232单标准分类
3233Kano分类
3234二维标准的分类
3235Wiegers优先级排序矩阵
3236成本-价值方法
3237优先级排序技术的组合
第33章需求变更管理
331配置管理
3311配置管理的层次
3312软件制品的版本
3313需求制品的配置
3314需求制品的基线
332需求变更
3321系统运行过程中遇到的问题
3322上下文中的改变
333系统化的变更管理
3331变更控制委员会
3332文档化变更请求
3333变更管理活动
第六部分推荐文献
第七部分COSMODRE:基于目标和场景的需求工程方法
第34章COSMODRE基础
341抽象层
342需求和体系结构制品的协同开发
3421体系结构对需求的影响
3422协同设计过程
第35章COSMODRE方法
351COSMODRE的4层抽象层
3511概览
3512系统层
3513功能分解层
3514硬件/软件分割层
3515部署层
352COSMODRE的4种制品类型
3521目标
3522场景
3523面向方案的需求
3524体系结构制品
3525制品之间的关联
353COSMODRE的协同设计过程
3531概览
3532系统级协同设计
3533功能级协同设计
3534硬件/软件级协同设计
3535协同设计过程之间的重叠
354每一个协同设计过程的5个子过程
3541概览
3542开发初始目标和场景(SP1)
3543开发初始体系结构(SP2)
3544开发构件目标和场景(SP3)
3545整合需求和体系结构制品(SP4)
3546详述具体的系统需求(SP5)
第36章实施COSMODRE方法:一个实例
361开发初始目标和场景(SP1)
362开发初始体系结构(SP2)
363开发构件目标和场景(SP3)
364整合需求和体系结构制品(SP4)
365详述具体的系统需求(SP5)
366总结
第八部分软件产品线及基于需求的测试
第37章软件产品线的需求工程
371产品线工程的核心概念
3711领域工程和应用系统工程
3712可变性
372软件产品线工程中需求工程面临的挑战
373文档化可变性
3731可变点和变体
3732可变性依赖
3733约束依赖
3734制品依赖
374领域需求工程
3741需求可变性的抽取
3742领域需求的文档化
3743存在可变性时的确认
375应用系统需求工程
3751绑定可变性
3752文档化可变性绑定
376总结
第38章基于需求的测试:ScenTED方法
381动机
382测试背后的主要概念
3821测试活动
3822测试用例
3823测试层次
3824测试用例定义
383测试中场景的角色
3831实例与类型化场景
3832测试层次与场景类型
384基于需求的测试用例定义
3841从需求制品中直接生成测试用例
3842基于模型的测试用例生成
385ScenTED方法
3851在测试模型中对系统行为建模
3852生成测试用例场景
3853确定测试数据
386总结
附录
词汇表
参考文献
索引