2.1需求获取(Requirementselicitation)基础•2.1.1描述需求的4个上下文刻面•2.1.2需求工程的3个维度•2.1.33种需求制品12.1.1描述需求的4个上下文刻面2主体IT系统使用开发2.1.1描述需求的4个上下文刻面•主体刻面:包含了系统上下文中与系统相关的对象与事件,以及影响系统中对象和事件的相关信息的表示•例:车载安全监控系统̵对象:车速、与前车距离̵交通规则:机动车在高速公路上行驶,车速在每小时60公里至每小时100公里之间时,与前车最小距离不得少于50米̵事件:车速在60-100公里/小时之间且与前车距离小于50米32.1.1描述需求的4个上下文刻面•使用刻面:包含了人或其他系统对本系统的使用相关的所有方面。如,使用目标、期望工作流、交互模型以及限制或影响系统使用的法规和标准•例:车载安全监控系统̵期望工作流:当车速在60-100公里/小时之间且与前车距离小于安全距离时,系统闪烁黄色警告灯,警告司机;当与前车距离小于0.75倍安全距离时,系统进行语音警告;与前车距离小于0.5倍安全距离时,系统主动刹车。42.1.1描述需求的4个上下文刻面•IT系统刻面:包含了技术与运行环境的所有方面及如何使用各种技术与运行环境的约束或指南的方针与策略。如:支持的通信协议、操作系统•例:车载安全监控系统̵通信协议:支持蓝牙协议与手机进行通信̵软件操作系统:支持WinCE̵外围设备:支持红外线测距传感器、激光测距传感器̵…52.1.1描述需求的4个上下文刻面•开发刻面:包含与系统开发过程相关的上下文及相关法规与标准限制。如过程准则与约束、开发工具、质量保障方法、成熟度模型、质量认证等。•例:车载安全监控系统̵程序设计语言:汇编、C语言̵成熟度模型:能力成熟度模型CMM3级以上(可定义层)̵安全约束:任何系统失效或出错都不能产生比没有系统控制更坏的结果。̵…62.1.1描述需求的4个上下文刻面•四个上下文刻面之间的关系7主体IT系统使用开发表示−表示:现实世界对象(存在于主体刻面中)使用现有的技术(存在于IT系统刻面中)进行数字化表示2.1.1描述需求的4个上下文刻面•四个上下文刻面之间的关系8主体IT系统使用开发表示−展现:系统根据所定义的功能来处理所表示的信息(满足开发刻面的需求),并将结果通过适当的方式展现给用户2.1.1描述需求的4个上下文刻面•四个上下文刻面之间的关系9主体IT系统使用开发表示−关联:用户对所获得的系统输出进行解读,并将其与现实世界中的对象管理起来需求工程的3个维度•内容维度:理解所获取的系统需求的程度̵目标:使所有相关的需求都在所需要的细节层次上得到清晰的了解和理解•从片面到全面•从模糊到清晰•从抽象到精化10文档化符合规范的非正式的含糊的完整的内容共识单独的视图统一的视图目标通过需求获取活动不断改进对需求的理解,从而在内容维度上取得进展需求工程的3个维度•共识维度:相关涉众就已知需求的理解取得共识的程度̵目标:在相关涉众间建立起对于系统需求的充分共识•从个人见解到涉众共识•从冲突到冲突解决•从单独视图到统一视图11文档化符合规范的非正式的含糊的完整的内容共识单独的视图统一的视图目标通过需求协商活动识别并(尽量)解决了涉众之间的分歧、消解了需求之间的所有的冲突需求工程的3个维度•文档化维度:对系统需求进行文档化和规约描述的程度̵目标:所有需求都依照相关的文档化/规约格式进行了描述•从模糊到精确•从非正式到符合规范•从笼统到符合涉众偏好12文档化符合规范的非正式的含糊的完整的内容共识单独的视图统一的视图目标通过需求文档化活动对所抽取的需求进行文档化和规约描述2.1需求获取基础•2.1.1描述需求的4个上下文刻面•2.1.2需求工程的3个维度•2.1.33种需求制品132.1.33种需求制品•目标(Goal)̵涉众的意图̵业务、组织或系统层面上的高层目的和意图̵关于系统的目的、属性或者使用的意图,表达了对于系统的期望和要求,并将系统愿景精化为系统将要实现的目的•例:汽车导航系统的目标̵G1:系统应自动引导驾驶员到达指定地点̵G2:系统的响应时间应比先前的系统至少降低20%142.1.33种需求制品•目标(Goal)̵不是对系统的领域进行表述的描述性说明̵不预先定义某个特定的解决方案•例:汽车导航系统的伪目标̵NG1:凡是汽车导航系统都要支持导航功能̵NG2:采用提高处理器速度的方式使系统的响应时间应比先前的系统至少降低20%152.1.33种需求制品•目标(Goal):目标与子目标•例:汽车导航系统目标分解树162.1.33种需求制品•目标(Goal):目标与目标依赖•例:汽车导航系统中存在的目标之间的依赖关系172.1.33种需求制品•目标(Goal):目标与软目标•例:汽车导航系统必须满足的软目标182.1.33种需求制品•场景(Scenario)̵描述了一个目标(或一组目标)被满足或者未被满足的一个具体实例。̵提供了一个或者多个目标的具体细节̵通常定义了一系列为满足目标而执行的交互步骤,并将这些交互步骤与系统上下文联系了起来192.1.33种需求制品•例:车载安全监控系统中“自动刹车操作”场景̵小王正驾驶汽车以每小时70公里的速度在高速公路上行驶。小李驾驶另一辆车在小王前方行驶,并开始刹车减速。此时小王的车载系统检测到与前方距离已小于安全距离,因此闪烁黄灯警告小王;接着两车距离继续拉近至小于0.75倍安全距离,因而系统发出语音提示,提醒小王刹车;当两车距离小于0.5倍安全距离时,车载系统启动自动全刹车,并通知小王。当两车间距离停止减少后,系统中止全刹车动作,但系统会继续控制小王车辆的速度,直到与前车距离拉大到安全距离。202.1.33种需求制品•场景(Scenario)•例:使用表格描述场景212.1.33种需求制品•场景(Scenario)•例:使用顺序图描述场景222.1.33种需求制品•场景(Scenario)•例:关联系统目标与场景232.1.33种需求制品•面向方案(Solution)的需求̵对系统的数据、功能、行为、质量和约束进行定义的需求•数据视图:定义实体、属性以及实体之间的关系242.1.33种需求制品•面向方案(Solution)的需求25导航系统的数据视图2.1.33种需求制品•面向方案(Solution)的需求̵对系统的数据、功能、行为、质量和约束进行定义的需求•数据视图:定义实体、属性以及实体之间的关系•功能视图:定义系统应提供的功能及功能之间的关系262.1.33种需求制品•面向方案的需求27导航系统“为驾驶员导航”的功能视图2.1.33种需求制品•面向方案的需求̵对系统的数据、功能、行为、质量和约束进行定义的需求•数据视图:定义实体、属性以及实体之间的关系•功能视图:定义系统应提供的功能及功能之间的关系•行为视图:定义系统的状态及其外部可见行为282.1.33种需求制品•面向方案的需求(Solution)29导航系统的行为视图2.1.33种需求制品•3种需求制品之间的关系30目标场景面向方案的需求(1)(2)(2)•(1)目标和场景的关系̵目标引出场景̵场景描述的交互序列描述了目标如何被满足或无法满足̵场景的定义导致目标的精化̵额外的子目标、新目标的增加、目标的修改、删除;̵可以用目标来分类场景2.1.33种需求制品•3种需求制品之间的关系31目标场景面向方案的需求(1)(2)(2)•(2)目标/场景与面向方案的需求间的关系̵目标/场景是面向方案需求定义的基础̵场景为面向方案的需求提供了上下文信息,便于它的理解̵开发面向方案的需求导致了目标、场景的识别、修改和/或精化2.2需求获取(Elicitation)技术322.2需求获取技术•2.2.1需求获取技术之一:访谈法•2.2.2需求获取技术之二:研讨会•2.2.3需求获取技术之三:专题小组•2.2.4需求获取技术之四:观察•2.2.5需求获取技术之五:调查问卷•2.2.6需求获取技术之六:基于视角的阅读•2.2.7总结33•采用任意一种需求获取方式获取任意一个软件中任意一个模块的需求,例如•1)“智能购物推荐系统”•2)“教学管理系统”•3)“网上订餐系统”•要求̵2-4人一组̵进行课堂分享,每组5分钟以内̵介绍所针对的软件模块,介绍采取的需求获取方法,列出所获取的需求作业12.2需求获取技术•抽取技术介绍模板̵1、准备̵2、执行̵3、后续̵4、应用该技术的检查表̵5、对于需求获取的作用̵6、工作量̵7、关键成功要素352.2需求获取技术•需求获取的目标:通过抽取新的需求以及细化现有需求的信息,从而在内容维度上取得进展36需求获取子活动需求获取目标识别相关的需求来源获得能支持4个刻面需求获取的、多样的需求来源抽取现有的需求从已知的需求来源中获取现有需求,并对需求进行整理、归纳开发新的创新性的需求获得能更好满足涉众需要的新的需求2.2需求获取技术•2.2.1需求获取技术之一:访谈法•2.2.2需求获取技术之二:研讨会•2.2.3需求获取技术之三:专题小组•2.2.4需求获取技术之四:观察•2.2.5需求获取技术之五:调查问卷•2.2.6需求获取技术之六:基于视角的阅读•2.2.7总结372.2.1需求获取技术之一:访谈法•访谈的分类38访谈标准化访谈个别访谈小组访谈探索性访谈非结构化访谈方式人数1对11对n准备问题、不偏离准备问题、可偏离不准备问题、可偏离2.2.1需求获取技术之一:访谈法•1、准备•1)定义访谈的目标:包含进行访谈的原因,访谈中要抽取的需求类型(如目标或场景),并指出期望的结果̵例:访谈目标•访谈的目标是对“无事故驾驶”的愿景进行精化。为此,应当抽取受访者对于该愿景的意图和想法。•访谈的结果将是精化愿景的一组目标。•此外,应在访谈中开发出无事故驾驶的一些基本场景。392.2.1需求获取技术之一:访谈法•1、准备•2)选择和邀请参与者•2.1)对象:基于访谈目标,从一组潜在的涉众(4个刻面涉及的涉众)中选择访谈的参与者̵例:“无事故驾驶”的访谈参与者•驾驶员、汽车技术人员、车辆安全和事故预防专家、车辆工程师、管理机构402.2.1需求获取技术之一:访谈法•1、准备•2)选择和邀请参与者•2.1)对象:基于访谈目标,从一组潜在的涉众(4个刻面涉及的涉众)中选择访谈的参与者•2.2)时间:在适当的时间(约提前3周)邀请参加者,以确保参与者能安排时间参加访谈•2.3)通知内容:访谈目标、相关材料、系统开发的状态和依据、以及访谈结果的计划用途,从而使涉众认识到期待他们为系统开发过程做出什么样的贡献412.2.1需求获取技术之一:访谈法•1、准备•3)选择访谈地点̵宽敞、不受干扰、能查阅相关文档422.2.1需求获取技术之一:访谈法•1、准备•4)定义访谈问题̵封闭式问题:提供预定义的答案选项或答案的候选区间,单选或多选•例:“导航系统的通信信道”的封闭式问题汽车导航系统能够与其他的端设备交换数据,如移动电话。对于与这些设备之间的数据交换需要支持的通信手段包括哪些?()•A.串行接口B.通用串行总线(USB)接口•C.红外接口D.无线局域网络(LAN)接口•E.蓝牙432.2.1需求获取技术之一:访谈法•1、准备•4)定义访谈问题̵封闭式问题:提供预定义的答案选项或答案的候选区间,单选或多选•优点:回答简单、答案能够直接比较,分析简单•缺点:不能抽取到新的答案或想法̵布尔问题:答案只有“是”、“否”两种选项的问题•用途:涉众可能有意回避、含糊其辞的问题,否则应尽量少使用̵开放式问题:不提供预定义选项,自由回答•例1:“汽车安全”一词对你意味着什么?•例2:你认为关键的交通威胁是什么?442.2.1需求获取技术之一:访谈法•1、准备•4)定义访谈问题̵封闭式问题:提供预定义的答案选项或答案的候选区间,单选或多选•优点:回答简单、答案能够直接比较,分析简单•缺点:不能抽取到新的答案或想法̵布尔问题:答案只有“是”、“否”两种选项的问题•用途:涉众可能有意回避、含糊其辞的问题,否则