复旦大学软件工程ppt3

上传人:mg****85 文档编号:49581974 上传时间:2018-07-31 格式:PPT 页数:42 大小:139KB
返回 下载 相关 举报
复旦大学软件工程ppt3_第1页
第1页 / 共42页
复旦大学软件工程ppt3_第2页
第2页 / 共42页
复旦大学软件工程ppt3_第3页
第3页 / 共42页
复旦大学软件工程ppt3_第4页
第4页 / 共42页
复旦大学软件工程ppt3_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《复旦大学软件工程ppt3》由会员分享,可在线阅读,更多相关《复旦大学软件工程ppt3(42页珍藏版)》请在金锄头文库上搜索。

1、软件工程第3章 需求工程1复旦大学计算机科学与工程系 软件工程课程内容摘要 需求工程概述 需求获取 需求分析、协商与建模 需求规约与验证 需求管理2复旦大学计算机科学与工程系 软件工程课程内容摘要 需求工程概述需求工程概述 需求获取 需求分析、协商与建模 需求规约与验证 需求管理3复旦大学计算机科学与工程系 软件工程课程 Alan Davis 把需求工程定义为“直到( 但不包括)把软件分解为实际架构构件 之前的所有活动” Herb Krasner定义了需求工程的五阶 段生命周期:需求定义和分析、需求决 策、形成需求规格、需求实现与验证、 需求演进管理 Matthias Jarke和Klaus

2、Pohl提出了 三阶段周期的说法:获取、表示和验证 4复旦大学计算机科学与工程系 软件工程课程本书将软件需求工程细分为 :需求获取、需求分析与协 商、系统建模、需求规约、 需求验证和需求管理六个阶 段。5复旦大学计算机科学与工程系 软件工程课程需求获取 系统分析人员通过与用户的交流、对现有系统 的观察及对任务进行分析,确定系统或产品范 围的限制性描述、与系统或产品有关的人员及 特征列表、系统的技术环境的描述、系统功能 的列表及应用于每个需求的领域限制、一组描 述不同运行条件下系统或产品使用状况的应用 场景以及为更好地定义需求而开发的任意原型 。 需求获取的工作产品为进行需求分析提供了基 础 6

3、复旦大学计算机科学与工程系 软件工程课程需求分析与协商 需求获取结束后,分析活动对需求进行 分类组织,分析每个需求其它需求的关 系来,检查需求的一致性、重叠和遗漏 的情况,并根据用户的需要对需求进行 排序。 在需求获取阶段,经常出现以下问题: 用户提出的要求超出软件系统可以实现的范 围或实现能力; 不同的用户提出了相互冲突的需求 7复旦大学计算机科学与工程系 软件工程课程系统建模 建模工具的使用在用户和系统分析人员之 间建立了统一的语言和理解的桥梁,同时 系统分析人员借助建模技术对获取的需求 信息进行分析,排除错误和弥补不足,确 保需求文档正确反映用户的真实意图。 常用的分析和建模方法有面向数

4、据流方法 、面向数据结构方法和面向对象的方法。 8复旦大学计算机科学与工程系 软件工程课程需求规约 软件需求规约是分析任务的最终产物, 通过建立完整的信息描述、详细的功能 和行为描述、性能需求和设计约束的说 明、合适的验收标准,给出对目标软件 的各种需求。 需求规约作为用户和开发者之间的一个 协议,在之后的软件工程各个阶段发挥 重要作用。 9复旦大学计算机科学与工程系 软件工程课程需求验证 作为需求开发阶段工作的复查手段,需 求验证对功能的正确性、完整性和清晰 性,以及其它需求给予评价。为保证软 件需求定义的质量,评审应以专门指定 的人员负责,并按规程严格进行。 10复旦大学计算机科学与工程系

5、 软件工程课程 在实际的开发过程中,获取、分析、建 模、编写规约和验证这些需求开发活动 不会是线性地、顺序地完成。实际上, 这些活动是交叉的、递增的和反复的。11复旦大学计算机科学与工程系 软件工程课程需求管理 需求工程包括获取、分析、规定、验证 和管理软件需求,而“软件需求管理”则 是对所有相关活动的规划和控制。 换句话说,需求管理就是:一种获取、 组织并记录系统需求的系统化方案,以 及一个使用户与项目团队对不断变更的 系统需求达成并保持一致的过程。 12复旦大学计算机科学与工程系 软件工程课程内容摘要 需求工程概述 需求获取需求获取 需求分析、协商与建模 需求规约与验证 需求管理13复旦大

6、学计算机科学与工程系 软件工程课程软件需求包括 功能需求 性能需求 用户或人的因素 环境需求 界面需求 文档需求 数据需求 资源使用需求 安全保密要求 可靠性需求 软件成本消耗与开 发进度需求 其他非功能性要求 14复旦大学计算机科学与工程系 软件工程课程需求获取方法与策略 建立顺畅的通信途径 访谈与调查 观察用户操作流程 组成联合小组 用况(Use Case) 15复旦大学计算机科学与工程系 软件工程课程建立顺畅的通信途径 建立分析所需要的通信途径,以保证能 顺利地对问题进行分析。16复旦大学计算机科学与工程系 软件工程课程访谈与调查 在具体的实践中,通常采用折衷的方法,即适 当地计划好面谈

7、,但不要过于详细,允许有一 定的灵活性。一般按照如下原则进行准备: 所提问的问题应该循序渐进,从整体的方面开始提问 ,接下来的问题应有助于对前面的问题更好的理解和 细化; 不要限制用户对问题的回答,这有可能会引出原先没 有注意的问题; 提问和回答在汇总后应能够反映用户需求的全貌。 17复旦大学计算机科学与工程系 软件工程课程 例子:“赛艇比赛成绩计算系统”的第一 次面谈的准备计划 初次与Dartchurch航行俱乐部的航行秘书(DR)接触,面谈有关 事宜。(在电话 交谈时 ,了解到他们希望得到的是一个“价廉”的,基 于PC的系统,以用于计算赛艇比赛成绩) 时间 :2005-6-5地点:对方场地

8、主要问题确定基本问题 。确定DR的角色还涉及其它人员吗 ?调查财 物方面事宜。系统(大致上)是如何运作的?当前存在的问题 是什么?他们都希望做些什么?18复旦大学计算机科学与工程系 软件工程课程观察用户操作流程 到用户的实际工作环境中对用户的工作 流程进行观察,了解用户实际的操作环 境、操作过程和操作要求,对照用户提 交的问题陈述,对用户需求可以有更全 面、更细致的认识。 19复旦大学计算机科学与工程系 软件工程课程组成联合小组 便利的应用规约技术(Facilitated Application Specification Techniques , FAST) :打破用户(需方)和开发者 (供

9、方)的界限,共同组成一个联合小 组,发挥各自的长处,共同负责项目的 推进,这样有助于发挥各自优势并增进 解和协调 20复旦大学计算机科学与工程系 软件工程课程FAST基本原则 在中立的地点举行由开发者和用户出席的会议; 建立准备和参与会议的规则; 建议一个足够正式的议程以便可以进行自由的交流; 一个“协调者”(他可以是用户、开发者或其他外人)来 控制会议; 使用一种“定义机制”(它可以是工作表、图表、墙上胶 黏纸或墙板); 目标是标识问题、提出解决方案的要素、商议不同的 方法、以及在有利于完成目标的氛围中刻画出初步的 需求。21复旦大学计算机科学与工程系 软件工程课程FAST会议 步骤 1)当

10、举行了开发者和用户之间的初步访谈后,确定 一个FAST会议的时间地点,并在会议日之前将产品 请求发布给所有的与会者。 2)要求每个FAST 出席者会前列出一组围绕系统环 境的对象,以及对这些对象的操作或对象之间的交互功能,并开发出约束列表(如,成本、规模大小、 权重)和性能标准列表(如,速度、精度)。这些列表 可以不是穷尽的,但是,希望每套列表反映的是每 个人对系统的感觉。 3)进行FAST 会议时,当团队的每个成员提出单个 列表后,整个团队将创建一个组合的列表,该组合 列表删去冗余项,并加入在表达过程中出现的新思 想。在建好所有主题的组合列表后,开始讨论活动 。缩短、加长或重新组合列表以适当

11、地反映将被开 发的产品。22复旦大学计算机科学与工程系 软件工程课程FAST会议 步骤 (续) 4)一旦创建了意见一致的列表,应该将团队分为更小 的小组,每个小组力图为每个列表中的一个或多个项 开发出小型的规约(即对包含在列表中的单词或短语 的精细化)。每个小组然后将他们开发的每个小规约 提交给所有的FAST 出席者讨论,进行添加、删除或 进一步的精化等工作。(在所有讨论过程中,团队可 能提出某些不能在会议过程中解决的问题,此时要保 留问题列表以使这些思想在以后的活动中产生作用。 ) 5)在小规约完成后,每个FAST 的出席者提出一个针 对产品的确切标准列表,并将该列表提交给团队,然 后创建一

12、个意见一致的确定的标准列表。这个列表作 为需求获取的结果,为需求分析和建模提供基础信息 。23复旦大学计算机科学与工程系 软件工程课程用况(Use Case) 当需求作为非正式会议、Fast的一部分而收 集起来之后,分析员就可以创建一组标识一串 待建造系统的使用场景。 创建用况模型的主要步骤如下: 确定谁会直接使用该系统,即参与者(Actor) 选取其中一个参与者 定义该参与者希望系统做什么,参与者希望系统作 的每件事将成为一个用况 对每件事来说,何时参与者会使用系统,通常会发 生什么,这就是用况的基本过程 描述该用况的基本过程24复旦大学计算机科学与工程系 软件工程课程内容摘要 需求工程概述

13、 需求获取 需求分析、协商与建模需求分析、协商与建模 需求规约与验证 需求管理25复旦大学计算机科学与工程系 软件工程课程需求分析原则 1必须能够表示和理解问题的信息域 2必须能够定义软件将完成的功能 3必须能够表示软件的行为(作为外部事 件的结果) 4必须划分描述数据、功能和行为的模型 ,从而可以分层次地揭示细节 5分析过程应该从要素信息移向细节信息26复旦大学计算机科学与工程系 软件工程课程信息域 信息域:包括信息内容、信息流、以及 信息结构。 信息内容表示了单个数据和控制对象,目 标软件所有处理的信息集合由它们构成。 例如,数据对象“工资”是一组重要数据体的 组合:领款人的姓名、净付款数

14、、付款总 额、扣除额等等 27复旦大学计算机科学与工程系 软件工程课程 信息流表示了数据和控制在系统中流动时 的变化方式,输入对象被变换为中间信息( 数据和/或控制),然后进一步被变换为输 出 信息结构表示了各种数据和控制项的内部 组织 数据或控制项将被组织为n维表还是树形结构 ? 在结构的语境内,什么信息是和其他信息相关 的? 信息包含在单个结构中,还是使用不同的结构 ? 在某信息结构中的信息如何和在另一个结构中 的信息相关? 28复旦大学计算机科学与工程系 软件工程课程抽象、分解与多视点分析 问题抽象方法要求分析人员在分析过程 中捕捉用户描述或问题本身固有的一般- 特殊关系 首先关注一般问

15、题的解决途径,进而指 导特殊问题的解决方法。 29复旦大学计算机科学与工程系 软件工程课程 问题分解的目的是要能以层次化的方式 对问题进行分解和不断细化。 较大规模或较为复杂的问题可以被分解为 若干子问题进行理解和分析 分解可以逐级进行,直至子问题被分解为 一个容易分析理解的部分 例如横向分解纵向分解30复旦大学计算机科学与工程系 软件工程课程需求协商 协商的过程就是讨论需求冲突,找出每 个人都满意的折衷方案 协商不是简单的逻辑或技术上的争论 要注意组织和行政方面的因素 不一致的目标 责任的丧失或转移 组织文化 组织管理态度和士气 部门差异 31复旦大学计算机科学与工程系 软件工程课程 通常会议是解决冲突最快的方式 参加者应该包括发现冲突、遗漏或重叠 的分析员,以及可以解决发现的问题的 项目相关人员 会议应该讨论那些非正式讨论不能解决 的问题 通常会议分为三个阶段: 叙述阶段 讨论阶段 决策阶段 32复旦大学计算机科学与工程系 软件工程课程需求建模 在软件需求分析阶段,所创建的模型, 要着重于描述系统要做什么,而不是如 何去做 目标软件的模型不应涉及软件实现细节 33复旦大学计算机科学与

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号