《软件工程与项目管理》第3章 软件需求分析.ppt





《《软件工程与项目管理》第3章 软件需求分析.ppt》由会员分享,可在线阅读,更多相关《《软件工程与项目管理》第3章 软件需求分析.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 软件需求分析掌握:掌握:需求分析的重要性、需求分析的任务、需求分析的步骤、数据流图、数据字典、判定表和判定树、软件需求分析规格说明书。3.1 需求分析概述3.1.1 需求分析的重要性 通俗地说,需求分析就是分析软件用户的需求是什么。试想一下,如果投入大量的人力、物力、财力和时间,开发出的软件却满足不了客户的要求,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却因不满足用户的要求,而要重新开发,这种返工同样也是让人痛心疾首的。3.1.2 需求分析的任务 需求分析阶段的任务主要要解决的是系统“做什么”的问题。用户了解他们所面对的问题,知道必须做什么,但是通常不能完整地、准确地
2、表达出来,也不知道怎样用计算机解决他们的问题。而软件开发人员虽然知道怎样用软件完成人们提出的各种功能要求,但是,对用户的具体业务和需求不完全清楚,这是需求分析阶段的困难所在。3.1.2 需求分析的原则1分析人员要使用符合用户语言习惯的表达2分析人员要了解用户的业务及目标3分析人员必须编写软件需求报告4要求得到需求工作结果的解释说明5开发人员要尊重客户的意见6开发人员要对需求及产品实施提出建议和解决方案7描述产品使用特性8允许重用已有的软件组件9要求对变更的代价提供真实可靠的评估10获得满足客户功能和质量要求的系统11给分析人员讲解业务12用户应抽出时间清楚地说明并完善需求13准确而详细地说明需
3、求14及时做出决定15尊重开发人员的需求可行性及成本评估16划分需求的优先级17评审需求文档和原型18需求变更要立即联系19遵照开发小组处理需求变更的控制过程20尊重开发人员采用的需求分析过程3.1.3 需求分析的步骤 (1)归纳整理用户提出的各种问题和要求,弄清用户企图通过软件达到的目的,并把它作为要求和条件予以明确。分析人员借助各种工具和方法,获得对用户需求的基本理解,然后在需求获取方法的驱动和指导下,从非正式需求陈述中提取出用户的实际需求,由此确定软件的功能、性能、接口关系及有关属性、限制和边界等,标定软件的作用范围,确认支持性的软硬件环境及辅助工具与条件。此阶段还为软件需求分析活动提供
4、了相应的过程控制机制。(2)在需求获取的基础上建立逻辑模型,使用自顶向下、逐层分解的方法,把用户对软件的需求分解成若干子系统或软件成分,定义软件成分的内部功能,并标定它们之间的接口。(3)用准确、简练、无二义性的语言将用户需求规格化为软件需求规格说明,使用户和开发人员对拟开发的软件有共同的理解。软件需求规格说明同时还是软件测试、验收和交付的基准。(4)通过需求评审,对需求获取、需求定义等进行全面审查,力图发现需求分析中的错误和缺陷,最终确认软件需求规格说明。同时,以需求规格说明为输入,通过模拟或快速原型等方法,向用户展示需求规格说明所描述的系统外部行为和相应特征。3.2 结构化分析方法及工具3
5、.2.1 概述结构化分析(简称SA 法)方法是面向数据流的需求分析方法,由Yourdon,Constaintine 及DeMarco 等人于70 年代末提出,并得到广泛的应用。结构化分析方法适合于分析大型的数据处理系统,特别是企事业管理系统。结构化分析的步骤如下:(1)分析当前的情况,做出反映当前物理模型的数据流图。(2)推导出等价的逻辑模型的数据流图。(3)设计新的逻辑系统,生成数据字典和基元描述。(4)建立人机接口,提出可供选择的目标系统物理模型的数据流图。(5)确定各种方案的成本和风险等级,据此对各种方案进行分析。(6)选择一种方案。(7)建立完整的需求规约。3.2.2 数据流图 数据流
6、图,简称DFD(Data Flow Diagraph),是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流图由以下4部分组成:1数据流 数据流由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。2加工 加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流
7、图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。3数据存储 数据存储表示暂时存储的数据。每个数据存储都有一个名字。4外部实体 外部实体是存在于软件系统之外的人员或组织,它指出数据的发源地或系统所产生的数据的归属地。符号命名代表的意义矩形或立方体数据的源点/终点圆角矩形或圆形变换数据的处理缺右边的矩形或平行线数据存储箭头数据流 在实际应用中,一般是采用分层的数据流图来描述软件系统,其步骤如下:(1)从问题描述中分析出4种基本组成成分(外部实体、加工、数据存储、数据流)。(2)根据(1)的结果画出基本系统数据流图,称为顶层图。(3)把(2)得到的基本系统模型细化为功能级数据流图。(
8、4)对功能级数据流图中的主要功能进一步细化,直至满意为止。根据数据处理对象和处理方式的不同,通常又将数据流图分为变换型数据流图和事务型数据流图:(1)变换型数据流图 具有较明显的输入、变换(或主加工)和输出的数据流图称为变换型数据流图。在变换型数据流图中,主加工是系统的中心。如图3-2所示的是一个典型的变换型数据流图,图中“发卡”是主加工,“现金”是输入,“IC卡”是输出。图3-2 IC卡管理系统的顶层数据流图 (2)事务型数据流图 某个加工将它的输入分离成一串发散的数据流,形成许多活动路径,并根据输入的值选择其中一条路径,具有这样特征的数据流图是事务型数据流图。图3-1 事务型数据流图的一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程与项目管理 软件工程与项目管理第3章 软件需求分析 软件工程 项目 管理 软件 需求 分析

限制150内