(2.3)--03章 需求分析软件工程.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(2.3)--03章 需求分析软件工程.ppt》由会员分享,可在线阅读,更多相关《(2.3)--03章 需求分析软件工程.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 需求分析需求分析软件工程导论(第软件工程导论(第6版)版)第第3 3章章 需求分析需求分析 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。2.1 行性研究的任务行性研究的任务2.2 可行性研究过程可行性研究过程2.3 系统流程图系统流程图2.4 数据流图数据流图2.5 数据字典数据字典2.6 成本成本/效益分析效益分析 尽管
2、目前有许多不同的用于需求分析的结构化分析方法,但是,所有这些分析方法都遵守下述准则。必须理解并描述问题的信息域,根据这条准则应该建立数据模型。必须定义软件应完成的功能,这条准则要求建立功能模型。必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。章节目录章节目录3.1需求分析的任务需求分析的任务3.2与用户沟通获取需求的方法与用户沟通获取需求的方法3.3分析建模与规格说明分析建模与规格说明3.4实体联系图实体联系图3.5数据规范化数据规范化3.6状态转换图状态转换图3.7其他图形工具其他图形工具3.8验证软件需求验证软件需
3、求主 要内 容3.1需求分析的任务需求分析的任务3.2与用户沟通获取需求的方法与用户沟通获取需求的方法3.3分析建模与规格说明分析建模与规格说明3.4实体联系图实体联系图3.5数据规范化数据规范化3.6状态转换图状态转换图3.7其他图形工具其他图形工具3.8验证软件需求验证软件需求3.1 需求分析的任务需求分析的任务 虽然功能需求是对软件系统的一项基本需求,但并不是唯一的需求。通常对软件系统有下述几方面的综合要求。3.1.1 确定确定对系系统的的综合要求合要求l功能需求l性能需求l可靠性和可用性需求l出错处理需求l接口需求l约束l逆向需求l将来可能提出的要求3.1 需求分析的任务需求分析的任务
4、功能需求 这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。性能需求 性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。3.1 需求分析的任务需求分析的任务可靠性和可用性需求 可靠性需求定量地指定系统的可靠性,可用性与可靠性密切相关,它量化了用户可以使用系统的程度。出错处理需求 这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。3.1 需求分析的任务需求分析的任务接口需求 接口需求描述
5、应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。约 束 设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。3.1 需求分析的任务需求分析的任务逆向需求 逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,人们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。将来可能提出的要求应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦
6、确实需要时能比较容易地进行这种扩充和修改。3.1 需求分析的任务需求分析的任务 复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工具辅助描绘数据结构 任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。3.1.2 分析系分析系统的数据要求的数据要求3.1 需求分析的任务需求分析的任务 综合上述两项分析的结果可以导出系统的详细的逻辑模型
7、,通常用数据流图、实体联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。3.1.3 导出系统的逻辑模型导出系统的逻辑模型3.1 需求分析的任务需求分析的任务 根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。3.1.4 修正系统开发计划修正系统开发计划本节本节小结小结需求分析的任务1.确定对系统的综合要求2.分析系统的数据要求3.导出系统的逻辑模型4.修正系统开发计划主 要内 容3.1需求分析的任务需求分析的任务3.2与用户沟通获取需求的方法与用户沟通获取需求的方法3.3分析建模与规格说明分析建模与规格说明3.4实体联系图
8、实体联系图3.5数据规范化数据规范化3.6状态转换图状态转换图3.7其他图形工具其他图形工具3.8验证软件需求验证软件需求3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.1 访谈访谈 访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析技术。访谈有两种基本形式,分别是正式的和非正式的访谈。正式访谈时,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。例如,询问用户对目前正在使用的系统有哪些不满意
9、的地方。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法 在访问用户的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法情景分析技术的用处主要体现在下述两个方面:能在某种程度上演示目标系统的行为,从而便于用户理解,而且还可能进一步揭示出一些分析员目前还不知道的需求。能保证用户在需求分析过程中始终扮演一个积极主动的角色。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.2 面向数据流自顶向下求精面向数据
10、流自顶向下求精 结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有的最基本的组成元素。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.2 面向数据流自顶向下求精面向数据流自顶向下求精数据流图是帮助复查的极好工具,从输入端开始,分析员借助数据流图、数据字典和IPO图向用户解释输入数据是怎样一步一步地转变成输出数据的。这些解释集中反映了通过前面的分析工作分
11、析员所获得的对目标系统的认识。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法 随着分析过程的进展,经过提问和解答的反复循环,分析员越来越深入具体地定义了目标系统,最终得到对系统数据和功能要求的满意了解。3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.3 简易的应用规格说明技术简易的应用规格说明技术 简易的应用规格说明技术是为了解决使用传统的访谈或面向数据流自顶向下求精方法定义需求时,用户处于被动地位而且往往有意无意地与开发者区分“彼此”。由于不能像同一个团队的人那样齐心协力地识别和精化需求,这两种方法的效果有时并不理想的问题提出的。3.2 与用户沟通获取需求的方法与用
12、户沟通获取需求的方法简易的应用规格说明技术分析需求的典型过程如下:1进行初步的访谈2开发者和用户分别写出“产品需求”3开会讨论,各自展示需求列表4得出了意见一致,为需求列表制定小型规格说明5根据会议结果,起草完整的软件需求规格说明3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.4 快速建立软件原型快速建立软件原型 为了快速地构建和修改原型,通常使用下述3种方法和工具。l第四代技术l可重用的软件构件l形式化规格说明和原型环境3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.4 快速建立软件原型快速建立软件原型快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行
13、的程序,快速原型应该具备的特性:快速原型应该具备的第一个特性是“快速”。快速原型应该具备的第二个特性是“容易修改”。本节本节小结小结用户沟通获取需求的方法1.访谈2.面向数据流自顶向下求精3.简易的应用规格说明技术4.快速建立软件原型主 要内 容3.1需求分析的任务需求分析的任务3.2与用户沟通获取需求的方法与用户沟通获取需求的方法3.3分析建模与规格说明分析建模与规格说明3.4实体联系图实体联系图3.5数据规范化数据规范化3.6状态转换图状态转换图3.7其他图形工具其他图形工具3.8验证软件需求验证软件需求3.3 分析建模与规格说明分析建模与规格说明3.3.1 分析建模分析建模 模型,就是为
14、了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。为了开发复杂的系统,应从不同角度(模型)抽象出目标系统的特性(数据模型、功能模型、行为模型)。3.3 分析建模与规格说明分析建模与规格说明3.3.1 分析建模分析建模l 实体联系图,描绘数据对象及数据对象之间的关系,是用于建立数据模型的图形。l 数据流图是建立功能模型的基础。l 状态转换图描绘了系统的各种行为模式和在 不同状态间转换的方式。3.3 分析建模与规格说明分析建模与规格说明3.3.2 软件需求规格说明软件需求规格说明软件需求规格说明是需求分析阶段得出的最主要的文档。通常用自然语言完整、准确、具体地描述系统的数据要求、功
15、能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。主 要内 容3.1需求分析的任务需求分析的任务3.2与用户沟通获取需求的方法与用户沟通获取需求的方法3.3分析建模与规格说明分析建模与规格说明3.4实体联系图实体联系图3.5数据规范化数据规范化3.6状态转换图状态转换图3.7其他图形工具其他图形工具3.8验证软件需求验证软件需求3.4 实体联系图实体联系图 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。3.4 实体联系图实体联系图数据对象是对软件必须理解的复合信息的抽象。3.4.1 数据对象数据对象
16、数据对象可以是外部实体、事物、行为、事件、角色、单位、地点或结构等。总之,可以由一组属性来定义的实体都可以被认为是数据对象。3.4 实体联系图实体联系图属性定义了数据对象的性质。3.4.2 属性属性 必须把一个或多个属性定义为“标识符”,也就是说,当人们希望找到数据对象的一个实例时,用标识符属性作为“关键字”(通常简称为“键”)。3.4 实体联系图实体联系图3.4.3 联系联系 客观世界中的事物彼此间往往是有联系的。数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型。l一对一联系(11)l一对多联系(1N)l多对多联系(MN)3.4 实体联系图实体联系图3.4.3 联系
17、联系(1)一对一联系一对一联系(11)例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。(2)一对多联系一对多联系(1N)例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教(见图3.2)。3.4 实体联系图实体联系图3.4.3 联系联系(1)一对一联系一对一联系(11)例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。(2)一对多联系一对多联系(1N)例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教(见图3.2)。(3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2.3-03章 需求分析软件工程 2.3 03 需求 分析 软件工程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内