软件工程(钱乐秋)第03章-需求工程doc资料.ppt
《软件工程(钱乐秋)第03章-需求工程doc资料.ppt》由会员分享,可在线阅读,更多相关《软件工程(钱乐秋)第03章-需求工程doc资料.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程(钱乐秋)第03章-需求工程内容摘要内容摘要需求工程概述需求工程概述需求获取需求获取需求分析、协商与建模需求分析、协商与建模需求规约与验证需求规约与验证需求管理需求管理2复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程Alan Davis 把需求工程定义为把需求工程定义为“直到直到(但不包括)把软件分解为实际架构构(但不包括)把软件分解为实际架构构件之前的所有活动件之前的所有活动”Herb Krasner定义了需求工程的五阶段定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求形成
2、需求规格、需求实现与验证、需求演进管理演进管理 Matthias Jarke和和Klaus Pohl提出了三提出了三阶段周期的说法:获取、表示和验证阶段周期的说法:获取、表示和验证 3复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程本书将软件需求工程细分为:本书将软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证和和需求管理六个阶段。六个阶段。4复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程需求获取需求获取 系统分析人员通过与用户的交流、对现有系统的系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分
3、析,确定系统或产品范围的观察及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的任意原型。好地定义需求而开发的任意原型。需求获取的工作产品为进行需求分析提供了基础需求获取的工作产品为进行需求分析提供了基础 5复旦大学计算机科学与工程系复旦大学计算机科学与工程
4、系 软件工程课程软件工程课程需求分析与协商 需求获取结束后,分析活动对需求进行分需求获取结束后,分析活动对需求进行分类组织,分析每个需求其它需求的关系来,类组织,分析每个需求其它需求的关系来,检查需求的一致性、重叠和遗漏的情况,检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。并根据用户的需要对需求进行排序。在需求获取阶段,经常出现以下问题:在需求获取阶段,经常出现以下问题:用户提出的要求超出软件系统可以实现的范围或实现能力;不同的用户提出了相互冲突的需求 6复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程系统建模 建模工具的使用在用户和系统分析
5、人员之建模工具的使用在用户和系统分析人员之间建立了统一的语言和理解的桥梁,同时间建立了统一的语言和理解的桥梁,同时系统分析人员借助建模技术对获取的需求系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确信息进行分析,排除错误和弥补不足,确保需求文档正确反映用户的真实意图。保需求文档正确反映用户的真实意图。常用的分析和建模方法有面向数据流方法、常用的分析和建模方法有面向数据流方法、面向数据结构方法和面向对象的方法。面向数据结构方法和面向对象的方法。7复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程需求规约需求规约 软件需求规约是分析任务的最终产物
6、,通软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需适的验收标准,给出对目标软件的各种需求。求。需求规约作为用户和开发者之间的一个协需求规约作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要议,在之后的软件工程各个阶段发挥重要作用。作用。8复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程需求验证需求验证 作为需求开发阶段工作的复查手段,需求作为需求开发阶段工作的复查手段,需求验证对功能
7、的正确性、完整性和清晰性,验证对功能的正确性、完整性和清晰性,以及其它需求给予评价。为保证软件需求以及其它需求给予评价。为保证软件需求定义的质量,评审应以专门指定的人员负定义的质量,评审应以专门指定的人员负责,并按规程严格进行。责,并按规程严格进行。9复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程在实际的开发过程中,获取、分析、建在实际的开发过程中,获取、分析、建模、编写规约和验证这些需求开发活动模、编写规约和验证这些需求开发活动不会是线性地、顺序地完成。实际上,不会是线性地、顺序地完成。实际上,这些活动是交叉的、递增的和反复的。这些活动是交叉的、递增的和反复的
8、。10复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程需求管理需求管理 需求工程包括获取、分析、规定、验证和需求工程包括获取、分析、规定、验证和管理软件需求,而管理软件需求,而“软件需求管理软件需求管理”则是则是对所有相关活动的规划和控制。对所有相关活动的规划和控制。换句话说,需求管理就是:一种获取、组换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一织并记录系统需求的系统化方案,以及一个使用户与项目团队对不断变更的系统需个使用户与项目团队对不断变更的系统需求达成并保持一致的过程。求达成并保持一致的过程。11复旦大学计算机科学与工程系复旦大学
9、计算机科学与工程系 软件工程课程软件工程课程内容摘要内容摘要需求工程概述需求工程概述需求获取需求获取需求分析、协商与建模需求分析、协商与建模需求规约与验证需求规约与验证需求管理需求管理12复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程软件需求包括软件需求包括功能需求功能需求 性能需求性能需求 用户或人的因素用户或人的因素 环境需求环境需求 界面需求界面需求 文档需求文档需求 数据需求数据需求 资源使用需求资源使用需求 安全保密要求安全保密要求 可靠性需求可靠性需求 软件成本消耗与开软件成本消耗与开发进度需求发进度需求 其他非功能性要求其他非功能性要求 13复旦大
10、学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程需求获取方法与策略需求获取方法与策略 建立顺畅的通信途径建立顺畅的通信途径 访谈与调查访谈与调查 观察用户操作流程观察用户操作流程 组成联合小组组成联合小组 用况(用况(Use Case)14复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程建立顺畅的通信途径建立顺畅的通信途径 建立分析所需要的通信途径,以保证能建立分析所需要的通信途径,以保证能顺利地对问题进行分析。顺利地对问题进行分析。15复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程访谈与调查访谈与调查 在具
11、体的实践中,通常采用折衷的方法,即适当在具体的实践中,通常采用折衷的方法,即适当地计划好面谈,但不要过于详细,允许有一定的地计划好面谈,但不要过于详细,允许有一定的灵活性。一般按照如下原则进行准备:灵活性。一般按照如下原则进行准备:所提问的问题应该循序渐进,从整体的方面开始提问,接下来的问题应有助于对前面的问题更好的理解和细化;不要限制用户对问题的回答,这有可能会引出原先没有注意的问题;提问和回答在汇总后应能够反映用户需求的全貌。16复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程例子:例子:“赛艇比赛成绩计算系统赛艇比赛成绩计算系统”的第的第一次面谈的准备计划一
12、次面谈的准备计划 初次与初次与Dartchurch航行俱航行俱乐乐部的航行秘部的航行秘书书(DR)接触,面)接触,面谈谈有关有关事宜。事宜。(在在电话电话交交谈时谈时,了解到他,了解到他们们希望得到的是一个希望得到的是一个“价廉价廉”的,基的,基于于PC的系的系统统,以用于,以用于计计算算赛赛艇比艇比赛赛成成绩绩)时间时间:2005-6-5地点:地点:对对方方场场地地主要主要问题问题确定基本确定基本问题问题。确定确定DR的角色的角色还还涉及其它人涉及其它人员吗员吗?调查财调查财物方面事宜。物方面事宜。系系统统(大致上)是如何运作的?(大致上)是如何运作的?当前存在的当前存在的问题问题是什么?是
13、什么?他他们们都希望做些什么?都希望做些什么?17复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程观察用户操作流程观察用户操作流程 到用户的实际工作环境中对用户的工作流到用户的实际工作环境中对用户的工作流程进行观察,了解用户实际的操作环境、程进行观察,了解用户实际的操作环境、操作过程和操作要求,对照用户提交的问操作过程和操作要求,对照用户提交的问题陈述,对用户需求可以有更全面、更细题陈述,对用户需求可以有更全面、更细致的认识。致的认识。18复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程组成联合小组组成联合小组 便利的应用规约技术(F
14、acilitated Application Specification Techniques,FAST):打破用户(需方)和开发者:打破用户(需方)和开发者(供方)的界限,共同组成一个联合小(供方)的界限,共同组成一个联合小组,发挥各自的长处,共同负责项目的组,发挥各自的长处,共同负责项目的推进,这样有助于发挥各自优势并增进推进,这样有助于发挥各自优势并增进解和协调解和协调 19复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程FAST基本原则基本原则 在中立的地点举行由开发者和用户出席的会议;在中立的地点举行由开发者和用户出席的会议;建立准备和参与会议的规则;建
15、立准备和参与会议的规则;建议一个足够正式的议程以便可以进行自由的交流;建议一个足够正式的议程以便可以进行自由的交流;一个一个“协调者协调者”(他可以是用户、开发者或其他外人他可以是用户、开发者或其他外人)来控制会议;来控制会议;使用一种使用一种“定义机制定义机制”(它可以是工作表、图表、墙它可以是工作表、图表、墙上胶黏纸或墙板上胶黏纸或墙板);目标是标识问题、提出解决方案的要素、商议不同的目标是标识问题、提出解决方案的要素、商议不同的方法、以及在有利于完成目标的氛围中刻画出初步的方法、以及在有利于完成目标的氛围中刻画出初步的需求。需求。20复旦大学计算机科学与工程系复旦大学计算机科学与工程系
16、软件工程课程软件工程课程FAST会议会议 步骤步骤1)当举行了开发者和用户之间的初步访谈后,确定当举行了开发者和用户之间的初步访谈后,确定一个一个FAST会议的时间地点,并在会议日之前将产品请会议的时间地点,并在会议日之前将产品请求发布给所有的与会者。求发布给所有的与会者。2)要求每个要求每个FAST 出席者会前列出一组围绕系统环出席者会前列出一组围绕系统环境的对象,以及对这些对象的操作或对象之间的交互境的对象,以及对这些对象的操作或对象之间的交互功能,并开发出约束列表功能,并开发出约束列表(如,成本、规模大小、权重如,成本、规模大小、权重)和性能标准列表和性能标准列表(如,速度、精度如,速度
17、、精度)。这些列表可以不。这些列表可以不是穷尽的,但是,希望每套列表反映的是每个人对系是穷尽的,但是,希望每套列表反映的是每个人对系统的感觉。统的感觉。3)进行进行FAST 会议时,当团队的每个成员提出单个会议时,当团队的每个成员提出单个列表后,整个团队将创建一个组合的列表,该组合列列表后,整个团队将创建一个组合的列表,该组合列表删去冗余项,并加入在表达过程中出现的新思想。表删去冗余项,并加入在表达过程中出现的新思想。在建好所有主题的组合列表后,开始讨论活动。缩短、在建好所有主题的组合列表后,开始讨论活动。缩短、加长或重新组合列表以适当地反映将被开发的产品。加长或重新组合列表以适当地反映将被开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 钱乐秋 03 需求 工程 doc 资料
限制150内