软件工程课件教案3-需求分析.ppt
《软件工程课件教案3-需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程课件教案3-需求分析.ppt(84页珍藏版)》请在三一办公上搜索。
1、教学目标 掌握需求分析的主要内容;掌握数据流图、数据字典、ER图的绘制,能创建目标系统的逻辑模型。教学重点 目标系统逻辑模型的建立。教学难点 结构化分析技术,第3章 需求分析,第3章 需求分析,3.1 需求分析的任务3.2 获取需求的方法3.3 分析建模与规格说明3.4 实体-联系图3.5 数据规范化3.6 状态转换图3.7 其他图形工具3.8 验证软件需求,需求分析概述,需求分析的意义,软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发带来烦恼。,需求分析概述,需求分析的目的,需求分析是软件定义时期的最后一个
2、阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地描述软件需求。-准确地回答“系统必须做什么?”,需求分析的相关人,在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。,近几年来已提出许多软件需求分析与说明的方法,每一种分析方法都有独特的观点和表示方法,但都适用下面的基本原则。1、能够表达和理解问题的信息域和功能域对于计算机程序处理的数据,其信息域包括信息流(如下图,即数据通过一个系统时的变化方式)、
3、信息内容和信息结构,而功能域反映上述三方面的控制信息。,需求分析的原则,2、建立描述系统信息、功能和行为的模型 建立模型的过程是“逐步精化”的综合分析的过程。通过对模型的不断深化认识,来达到对实际问题的深刻认识。,需求分析的原则,3、能够对问题进行分解和不断细化,建立问题的层次结构。分解是为了降低问题的复杂性,增加问题的可解性和可描述性。分解可以在同一个层次上进行(横向分解),也可以在多层次上进行(纵向分解)。,需求分析的原则,4、需要给出系统的逻辑视图和物理视图软件需求的逻辑视图给出的是软件要达到的功能和要处理信息之间的关系,而不是实现的细节。软件需求的物理视图给出的是处理功能和信息结构的实
4、际表现形式,这往往是由设备本身决定的。请大家特别注意:需求分析只研究软件系统“做什么?”,而不考虑“怎样做?”。,需求分析的原则,3.1 需求分析的任务,3.1.1 确定对系统的综合要求功能需求-系统提供的服务性能需求-定时约束或容量约束可靠性和可用性需求-系统的可靠性出错处理需求-如何响应环境错误接口需求-与环境通信的格式约束-应遵守的限制条件,精度,工具,标准逆向需求-不应该做什么未来的需求-不属于当前系统的开发范畴,软件系统本质上是信息处理系统,因此,必须考虑:数据(需要哪些数据、数据间联系、数据性质、结构)数据处理(处理的类型、处理的逻辑功能)3.1.3 导出系统的逻辑模型通常系统的逻
5、辑模型用DFD 图,E-R图,状态转换图等来描述。3.1.4 修正系统的开发计划通过需求对系统的成本及进度有了更精确的估算,可进一步修改开发计划。,分析系统的数据要求,由于需求分析方法不同,描述形式不同。其实现步骤如下图所示:,问题识别,分析与综合,编写文档,分析评审,双方确定问题的综合需求。这些需求包括功能需求(最主要的需求)、性能需求、环境需求和用户界面需求,另外还有可靠性、安全性、保密性、可移植性和可维护性等方面的需求。,需求工程过程,问题识别,分析与综合,编写文档,分析评审,导出软件的逻辑模型,需求工程过程,问题识别,分析与综合,编写文档,分析评审,编写“需求说明书”,把双方共同的理解
6、与分析结果用规范的方式描述出来;编写初步用户使用手册;编写确认测试计划;修改完善项目开发计划。,需求工程过程,问题识别,分析与综合,编写文档,分析评审,作为需求分析阶段工作的复查手段,应该对功能的正确性、完整性和清晰性,以及其他需求给予评价。,需求工程过程,不同的开发方法,需求分析的方法也有所不同,常见的分析方法有:,功能分析方法 将系统看作若干功能模块的集合,每个功能又可以分解为若干子功能,子功能还可继续分解,分解的结果已经是系统的雏形。,结构化分析方法 是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。,需求分析的方法,面向对象的分析方法 面向对
7、象的分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。,信息建模法 是从数据的角度对现实世界建立模型的,基本工具是E-R图。,需求分析的方法,需求获取和分析的难度,1)需求难以表达出来项目相关人员通常并不真正知道希望计算机做什么,让他们清晰的表达出需要系统做什么是件困难的事,他们或许提出不切实际的要求。2)需求具有专业性项目相关人员用自己的语言表达需求,这些语言包含很多工作中的专业术语和专业知识。系统分析员没有这些知识和经验,而他们又必须了解这些需求。3)需求的不一致性不同的项目相关人员有不同的需求,可能以不同的方式表达,分析人员必须发现所有潜在的需求资源,而
8、且能够发现这些需求的相容或冲突之处。4)需求的变化性经济和业务环境决定了分析是动态的,需求在分析过程中会发生变更。个别需求的重要程度可能会改变,新的需求可能会从新的项目相关人员那里得到。,需求分析小组建立由客户(用户)、系统分析员、领域专家参加的联合小组。需求获取的方法个别访谈、召集会议、文档研究、问卷调查、观察用户工作流程、建立原型。需求表达的技术(1)需求列表:需求与系统的特殊视角或环境的关系(2)业务流程图(状态/活动图)(3)数据流图(4)实体-联系图,需求获取方法与技术,3.2 获取需求的方法,3.2.1 访谈访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析
9、技术。访谈有两种基本形式,分别是正式的和非正式的访谈。正式访谈时,系统分析员将提出一些事先准备好的具体问题。在非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。,访谈的基本形式非正式访谈:获取用户(高端用户)的想法、理念;正式访谈:获取用户(业务部门用户)的具体需求,如功能需求、数据需求等。访谈技术开放性问题(非正式访谈)具体问题(正式访谈)问卷调查表情景分析技术座谈会,3.2.2 面向数据流自顶向下求精,数据决定了需要的处理和算法,数据显然是需求分析的出发点,结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。把一个复杂的问题划分成若干小
10、问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。分解的方法可分层进行,方法原理是先考虑问题最本质的方面,忽略细节,形成问题的高层概念。然后再逐层添加细节。即在分层过程中采用不同程度的“抽象”级别,最高层的问题最抽象,而低层的较为具体。,3.2.2 面向数据流自顶向下求精,3.2.2 面向数据流自顶向下求精,当认为某一层比较复杂时到底应该划分为多少个子系统,针对不同的系统的处理不同。划分的原则可以根据业务工作的范围、功能性质、被处理数据对象的特点。一般情况下上面一些层的划分往往按照业务类型划分的比较多,下面一些层往往按照功能的划分比较多。依照这个策略,对于任何复杂的系统,分析工作都可
11、以有计划、有步骤及有条不紊地进行。,数据流分析重要性数据是需求分析的出发点和落脚点信息系统的基本模型:输入数据数据处理输出数据数据在流动中被处理,数据决定了处理所需的算法结构化分析方法可实现数据流自顶向下逐步求精从可行性研究得出的顶层模型(顶层数据流图)开始,将数据流和数据存储及其处理向下分解,直到元素级。数据流分析的结果清晰地定义了可实际操作的个数据元素;明确地展现了数据的来源与去处;初步描绘了数据处理的可能算法(方法)。数据流描述方法数据流图:数据及其处理关系数据字典:数据元素IPO图:处理算法,面向数据流自顶向下求精迭代过程(图),3.2.3简易的应用规格说明技术,前叙方法的缺陷问题面谈
12、调研、数据流图、数据字典等是具有一定技术性的、形式性方法,一般用于难以掌握,不好交流,不能有效地构建需求分析团队。简易的应用规格说明技术这是一种面向团队的需求收集方法。提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。,简易的应用规格说明技术的过程,确定问题进行初步的访谈,初步确定问题范围和解决方案;编制“产品需求”开发者、用户分别写出“产品需求”,发给双方有关人员预审;“产品需求”预审相关预审人员分别列出系统有关对象、服务要求、约束条件、性能要求召开协调会开发者和用户双方组织的代表出席会议确定是否开发该新软件产品讨论各自提出的“产品需求”预审表项:保留、增
13、加、删除、修改针对每一个子项目(对象、服务、约束、性能)创建一张组合列表小组制定每个子项目小型规格说明按子项目划分小组,每个小组为每张列表中的项目制定小型规格说明各小组向项目全体人员说明制定的小型规格说明,讨论、修改、细化、规范化项目组起草完整的软件需求规格说明书由专人或专门小组整合各小型规格说明,起草起草完整的软件需求规格说明书。,3.2.4 快速建立软件原型,构建原型的要点是,它应该实现用户看得见的功能(例如屏幕显示或打印报表),省略目标系统的“隐含”功能(例如修改文件)。快速原型应该具备的第一个特性是“快速”。快速原型的目的是尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户
14、和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。,3.2.4 快速建立软件原型,快速原型应该具备的第二个特性是“容易修改”。如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户的需求。在实际开发软件产品时,“修改试用反馈”的过程可能重复多遍,如果修改耗时过多,势必延误软件开发时间。,构建软件原型按照“快速原型法”构建系统的软件原型,这是最准确、最有效、最强大的需求分析技术。软件原型的要点是展现用户看得见、直接交互的功能,如输入、输出、检索、显示、打印等。软件原型构建特性快速易于修改软件原型构建方法和工具(综合使用)第四代程序设计
15、技术可重用的软件构建形式化规格说明工具和软件环境工具,3.3 分析建模与规格说明,3.3.1 分析建模为了更好地理解复杂事物,人们常常采用建立事物模型的方法。模型由一组图形符号和组织这些符号的规则组成。三种模型:面向流的建模:数据流图(DFD/CFD)数据建模:实体关系图(E-RD)基于行为的建模:Petri网、状态转换图,结构化分析模型的组成结构,3.3.2 软件需求规格说明,通过需求分析除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要的文档。通常用自然语言,完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、
16、约束、逆向需求以及将来可能提出的要求。由于自然语言的不一致、歧义、含糊、不完整及抽象层次混乱等问题,有些人主张用形式化方法描述用户对软件系统的需求,第4章将简要地介绍形式化说明技术。,需求规格说明书,封面:,需求规格说明书内容:,系统规格说明:系统概貌 功能要求 性能要求 运行要求 可能增加的要求 DFD IPO,数据要求:DD Hierarchy 或 Warnier Diagram,用户系统描述 初步用户手册:从用户的观点考虑系统 系统功能、性能 使用与步骤 等,修正的开发计划:成本估计 资源使用计划 进度计划,需求规格说明书的基本格式框架,目录1 引言 1.1 本说明的编写目的 1.2 软
17、件产品的作用范围 1.3 定义、同义词与缩写 1.4 参考文献2 概述 2.1 产品与其环境间的关系 2.2 功能概述 2.3 用户特征 2.4 约束条件 2.5 假设与前提条件,需求规格说明书的基本格式框架,3功能或行为需求 3.1 功能或行为需求1:1)引言 2)输入 3)处理过程描述 4)输出 3.2 功能或行为需求2:1)引言 2)输入 3)处理过程描述 4)输出 3.n 功能或行为需求n:1)引言 2)输入 3)处理过程描述 4)输出,需求规格说明书的基本格式框架,4外部界面需求 4.1 用户界面 4.2 硬件界面 4.3 软件界面5性能需求 5.1 精度 5.2 时间特征 5.3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件 教案 需求 分析

链接地址:https://www.31ppt.com/p-6027948.html