软件工程03需求分析.ppt
《软件工程03需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程03需求分析.ppt(110页珍藏版)》请在三一文库上搜索。
1、个人成果,妥善保存,请勿传播,软件工程,张康立 Email:,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,个人成果,妥善保存,请勿传播,可行性研究,需求分析,概要设计,详细设计,实 现,集成测试,确认测试,使用与维护,退役,软件定义,软件开发,软件使用与维护,软件生命周期,个人成果,妥善保存,请勿传播,需求分析概述,开发软件系统前的“问题定义”过程 了解用户的期望和要求软件需求 需求分析过程 需求分析的重要性 软件开发的基础和
2、前提 最终目标软件系统验收的标准 避免或者尽早剔除早期的错误,个人成果,妥善保存,请勿传播,需求分析与其他过程的关系,软件需求,设计过程,变更控制 过程,系统测试 过程,编制文档 过程,项目计划 过程,项目跟踪 和控制过程,基线确定前 缩小范围,作为 输入,请求范围 变更,跟踪状态,变更,基线,作为参考,验证实现 的正确性,作为基础,成果可追溯,作为基础,个人成果,妥善保存,请勿传播,需求分析概述,与可行性分析的区别 可行性分析只是粗略了解用户需求 很多细节被忽略了 用户在需求分析中的作用 需求分析的任务 准确的回答“系统必须做什么?” 仍然回答“What”,而不是“How”, 但更细致、精确
3、(合同的拟定) 需求规格说明工作的艰巨性,个人成果,妥善保存,请勿传播,需求分析概述,需求分析的困难 片面性, 不完全 模糊性, 不准确 不一致性, 歧义等等 应用系统复杂,庞大 因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行需求分析,需求分析概述,导致项目失控的两个常见原因之一 需求分析不足/不稳定的需求 它是”理想化估算”邪恶的孪生兄弟! 最近的统计情况 2006年软件项目成功率不足30% 超过60%的失败项目是由于需求不足造成的,个人成果,妥善保存,请勿传播,一副关于软件项目需求的漫画,个人成果,妥善保存,请勿传播,一副关于软件项目的漫画,个人成果,妥善保存,请勿传播,个人
4、成果,妥善保存,请勿传播,需求分析概述,在需求分析阶段结束之前,系统分析员应该写出软件规格说明书,所有分析方法都应遵守下述准则: 1 必须理解并描述问题的信息域,建立数据模型 2 必须定义软件应完成的功能,建立功能模型 3 必须描述作为外部事件的软件行为,建立行为模型 4 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,需求分析的任务,需求分析任务综述 深入描述软件的
5、功能和性能 确定软件设计的约束 确定软件同其它系统元素的接口细节 定义软件的其它有效性需求,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求 1 功能要求:系统必须做什么? 划分出系统必须完成的所有功能 2 性能要求:做得怎样? 系统必须满足的定时约束或容量约束 - 例如:速度(系统的响应时间)、信息速率、主存容量、磁盘容量、安全性 3 运行要求:运行环境、软硬件配置等可靠性和可用性需求 可用性需求:量化了用户可以使用系统的程度,个人成果,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求 4 出错处理需求 说明系统对环境错误应该怎样响应,对应
6、用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽量少 5 接口需求 用户接口需求、 硬件接口需求、 软件接口需求、 通信接口需求,个人成果,妥善保存,请勿传播,需求分析的任务,确定系统的综合要求 6 约束 用户和环境强加给项目的限制条件含:精度、工具和语言约束、设计约束、使用标准、使用硬件平台 7 逆向需求 说明软件系统不应该做什么 8 将来可能提出来的需求 是将来有可能提出的要求,目的是使在现有的设计中为将来的扩充和修改预做准备,个人成果,妥善保存,请勿传播,需求分析的任务,分析系统的数据要求 建立概念模型 E-R Diagram 形象描绘数据结构 Data Hierarchy, W
7、arnier Diagram, IPO 数据结构规范化,个人成果,妥善保存,请勿传播,需求分析的任务,导出系统的逻辑模型 数据流图(DFD),数据字典(DD) 实体-关系图(ERD) 状态转换图(STD) 主要的处理算法描述逻辑模型(IPO) 修正系统开发计划 准确地估计系统的成本及进度,修正以前我们所制定的开发计划,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,需求分析的方法,目标 需求分析研究的对象是软件项目的用户要求 准确
8、地表达被接受的用户要求 确定被开发软件系统的系统元素 将功能和信息结构分配到这些系统元素中,个人成果,妥善保存,请勿传播,需求分析的方法,借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题,个人成果,妥善保存,请勿传播,通常软件开发项目是要实现目标系统的物理模型,目标系统的物理模型是由它的逻辑模型经实例化(即具体到某个业务领域)而得到的,需求分析的方法,常用的需求分析方法 面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 (JSD) 面向对象的分析方法 (OOA) 等 现代的需求分析方法 用例分析技术(Use Case):RUP 用户故事、用户素
9、材(User Story):XP 特征驱动(Feature):FDD,个人成果,妥善保存,请勿传播,获得需求的方法,问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,获得需求的方法,访谈 正式访谈 系统分析员将提出一些事先准备好的具体问题 非正式访谈 系统分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法 向被调查人员发调查表 情景分析技术 对用户将来使用目标系统解决某个具体问题的方法和结果进行分析,个人成果,妥善保存,请勿传播,获得需求的方法,访谈 情景分析技术 情景分析技术主要
10、体现在两个方面 它能在某种程度上演示目标系统的行为 保证用户在需求分析过程中始终扮演积极主动的角色 情景分析技术的主要过程 情景分析技术与OO方法中的“用例”技术 用例技术:Use Case,个人成果,妥善保存,请勿传播,获得需求的方法,面向数据流自顶向下求精 基本思想:“自顶向下,逐步求精” 抽象和分解 沿数据流图从输出端向输入端回溯 数据流图的输出端是系统的最终目的; 向回确定每个数据元素的来源,可加细数据流图及数据字典,并将相关算法记录在IPO图中; 用户复查 从输入端开始解释输入数据如何变换成输出 验证已知元素,补充未知元素,个人成果,妥善保存,请勿传播,获得需求的方法,面向数据流自顶
11、向下求精 分析与综合 (1)问题的具体分析:细化数据流图 加细前后的I/O须相同 分解到须考虑具体实现的代码时即可仃止 (2)方案的综合,个人成果,妥善保存,请勿传播,获得需求的方法,简易的应用规格说明技术 分析需求的典型过程 进行初步访谈,初步确定待解决的问题的范围和解决方案 开发者和用户分别写出“产品需求” 选定会议的时间和地点,选举协调人 邀请开发者和用户双方组织的代表出席会议 列出系统环境组成部分的对象、系统将产生的对象、系统为完成自己的功能将使用的对象,列出操作这些对象或与这些对象交互的服务,列出约束条件和性能标准 共同创建一张组合列表 起草完整的软件需求规格说明书,获得需求的方法,
12、快速建立软件原型 快速建立软件原型的特性 快速 容易修改 软件原型的分类 在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性 探索型:目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性 实验型:这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠 进化型:这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型 原型的使用策略 废弃策略(探索型、实验型) 先构造一个功能简单且质量要求不高的模型系统,针对这个模型反复进行分析
13、修改,形成比较好的设计 据此设计出更加完整、准确、一致、可靠的最终系统 系统构造完成后,原来的模型系统就被废弃不用 追加策略(进化型) 先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心 通过不断地扩充修改,逐步追加新要求,最后发展成为最终系统,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型 原型生存期 原型的开发和使用过程叫做原型生存期 原型生存期模型如下 图(a):原型生存期的模型 图(b):是模型的细化,个人成果,妥善保存,请勿传播,获得需求的方法,个人成果,妥善保存,请勿传播,获得需求的方法,个人成果,妥善保存,请勿传播,获得需求的方法,快速建立软件原型
14、快速构建和修改原型的3种方法和工具 第四代技术 数据查询和报表语言、程序和应用系统生成器、高级的非过程语言 可重用的软件构件 使用一组已有的软件构件来装配原型。软件构件可以是数据结构、数据库、软件体系结构构件(程序)、过程构件(模块) 形式化规格说明和原型环境,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,个人成果,妥善保存,请勿传播,分析建模与规格说明,分析建模 建模 是为了理解事物而对事物做出的
15、一种抽象,是对事物的一种无歧义的书面描述 模型由一组图形符号和组织这些符号的规则组成 模型与工具 数据模型实体-关系图 功能模型数据流图 行为模型状态转换图,分析建模与规格说明,分析建模的原则 需要能够表达和理解问题的信息域和功能域 要能以层次化的方式对问题进行分解和不断细化,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,需求分析流程,个人成果,妥善保存,请勿传播,分析建模与规格说明,软件需求规格说明 用自然语言完整、准确、具体描述系统的数据需求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求、将来可能提出来的需求,个人成果,妥善保存,请勿传播,个
16、人成果,妥善保存,请勿传播,分析建模与规格说明,需求规格说明的内容 系统规格说明 系统概貌 功能要求 性能要求 运行要求 可能增加的要求 DFD IPO 数据要求 DD Hierarchy 或 Warnier Diagram 用户系统描述 初步用户手册:从用户的观点考虑系统 系统功能、性能 使用与步骤 等 修正的开发计划 成本估计 资源使用计划 进度计划,个人成果,妥善保存,请勿传播,分析建模与规格说明,软件需求规格说明的简略大纲 .引言 A .系统参考文献 B .整体描述 C .软件项目约束 .信息描述 A .信息内容 B .信息流: 1 .数据流、2 .控制流 .功能描述 A .功能分解
17、B .功能描述:1 .处理说明、2 .限制、3 .性能需求、4 .设计约束、5 .支撑图,个人成果,妥善保存,请勿传播,分析建模与规格说明,软件需求规格说明的简略大纲 .功能描述 C .控制描述:1 .控制规格说明、2 .设计约束 .行为描述 A .系统状态 B .事件和动作 .确认标准 A .性能范围 B .测试种类 C .预期的软件响应 D .特殊考虑 .参考书目 .附录,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,结构化
18、分析方法(SA),结构化方法的发展 首先是“结构化程序设计”Structured Programming,SP方法的提出 其次是“结构化设计”Structured Design,SD方法的出现 逐渐是“结构化分析”Structured Analysis,SA方法的形成 因此,结构化方法由三部分组成,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,结构化分析方法(SA),结构化分析方法最初由Douglas Ross提出,由DeMarco推广,由Ward和Mellor以及后来的Hatley和Pirbhai扩充,形成了今天的结构化分析方法的框架 结构化分析方法是一种建模技术。它建立的分析
19、模型如图,结构化分析方法(SA),结构化分析 指导思想:“自顶而下,逐步求精” 基本原理:“抽象”与“分解” 使用工具 数据流图、数据字典、E-R图、状态转换图 分析步骤 建立现行系统物理模型-抽象现行系统逻辑模型-建立新系统逻辑模型-补充和优化(分解),个人成果,妥善保存,请勿传播,结构化分析方法(SA),结构化分析模型 在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象 围绕着这个核心的有三种图 实体-关系图(ERD):描述数据对象及数据对象之间的关系 数据流图(DFD):描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能) 状态转换图(ST
20、D):描述系统对外部事件如何响应,如何动作 因此,ERD用于数据建模,DFD用于功能建模,STD用于行为建模,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,课程内容提纲,第3章:“需求分析” 需求分析的任务 获得需求的方法 分析建模与规格说明 结构化分析简介 数据模型:实体-关系图 功能模型:数据流图 行为模型:状态转换图 其他图形工具,数据模型:实体联系图,数据建模 建立三种相互关联的信息模型 数据对象、描述数据对象的属性及数据对象彼此间相互连接的关系 数据对象 是需被目标系统所理解的复合信息的表示 所谓复合信息是具有若干不同特征或属性的信息 数据对象可以是外部实体(如显示器)
21、,事物(如报表或显示),角色(如教师或学生),行为(如一个电话呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如传达室)或结构(如文件),个人成果,妥善保存,请勿传播,数据模型:实体联系图,数据对象 数据对象和OO中的对象 数据对象只封装了数据,没有包含作用于这些数据上的操作,这与面向对象中的类和对象不同 具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例,个人成果,妥善保存,请勿传播,数据模型:实体联系图,属性 定义了数据对象的特征 作用 为数据对象的实例命名; 描述这个实例; 建立对另一个数据对象的另一个实例的引用 举例 数据对象“学生
22、”的属性 学号、姓名、性别、出生年月、籍贯,个人成果,妥善保存,请勿传播,数据模型:实体联系图,属性 关键码(key) 为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码(key),书写为_id 例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例,个人成果,妥善保存,请勿传播,个人成果,妥善保存,请勿传播,数据模型:实体联系图,关系 各个数据对象的实例之间相互连接的方式称为关系(也称为关联) 举例 一个学生“张珊”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来,个人成果,妥善保存,请勿传播,数据模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 03 需求 分析
链接地址:https://www.31doc.com/p-2618454.html