CH03-软件需求分析.ppt

上传人:qwe****56 文档编号:69511920 上传时间:2023-01-05 格式:PPT 页数:63 大小:3.33MB
返回 下载 相关 举报
CH03-软件需求分析.ppt_第1页
第1页 / 共63页
CH03-软件需求分析.ppt_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《CH03-软件需求分析.ppt》由会员分享,可在线阅读,更多相关《CH03-软件需求分析.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 第第3 3章章 软件需求分析软件需求分析 2n3.1 需求分析概述需求分析概述n3.2 需求获取的方法需求获取的方法n3.3 分析建模分析建模n3.4软件需求说明软件需求说明n3.5 需求验证需求验证主要内容主要内容3n需求分析的任务与步骤需求分析的任务与步骤n建立分析模型的描述工具及建立过程建立分析模型的描述工具及建立过程重点重点4(维护报告)开发时期运行时期计划时期(目标与范围说明书)(可行性论证论告)(测试报告)(程序)(设计文档)(需求说明书)瀑布模型软件需求分析是软件生命期中重要的一步,也是决定性的一步。软件需求分析是软件生命期中重要的一步,也是决定性的一步。3.1 需求分析概述

2、需求分析概述5可行性研究的任务可行性研究的任务:用极少的代价在最短的时间内决定被开发的软件是否能开发成功。n经济可行性n技术可行性n运行可行性6在可行性分析的基础上,进一步了解确定用户需求。在可行性分析的基础上,进一步了解确定用户需求。准确地回答准确地回答 “系统必须做什么?系统必须做什么?”的问题。的问题。需求分析:需求分析:开发人员准确地理解用户的要求,开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。应的需求规格说明的

3、过程。3.1 需求分析概述需求分析概述73.1.1 实例分析实例分析n开发过程模型开发过程模型n实例实例 8 现行现行系统系统模型模型系统系统抽象(映射)模型应用模型模型(model)模型模型是为了理解事物而对事物做出一种抽象,对事物的无是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。歧义的书面描述。模型由一组图形符号和组成图形的规则组成。模型由一组图形符号和组成图形的规则组成。构造模型的过程构造模型的过程是一个抽象、分析的过程。是一个抽象、分析的过程。模型构造的过程应用目标目标系统系统模型化抽象化具体化实例化当前系统目 标 系统物理模型物理模型逻辑模型理解需求表达需求图3.1

4、开发过程模型做什么怎么做逻辑模型软件开发过程模型软件开发过程模型10开发过程模型开发过程模型当前系统当前系统:我们将用户正在使用的系统,可能是需要改进的已经使用的数据处理系统。目标系统目标系统:要完成的软件系统称为目标系统。当前系统的物理模型当前系统的物理模型:用一个具体化的模型模拟了解当前系统的组织结构、资源利用情况和日常数据处理过程,这一模型称为当前系统的物理模型。11开发过程模型开发过程模型当前系统的逻辑模型当前系统的逻辑模型:在理解当前系统的具体运行过程后,从个体的细节中抽象出本质的过程模型即当前系统的逻辑模型。目标系统的逻辑模型目标系统的逻辑模型:分析当前系统与目标系统逻辑上的差别,

5、明确目标系统的“做什么”的实质工作,从当前系统的逻辑模型导出目标系统的逻辑模型。目标系统的物理模型目标系统的物理模型:物理模型则是由它的逻辑模型经实例化,具体到某个业务领域。目目标标系系统统描述现行系统是描述现行系统是如何实施的(包如何实施的(包括技术)。括技术)。描述新系统的主要描述新系统的主要业务功能和用户新业务功能和用户新的需求,不管系统的需求,不管系统应如何实施应如何实施。描述新系统是如描述新系统是如何实施的(包括何实施的(包括技术)。技术)。逻辑模型 物理模型(本质模型、概念模型)(实施模型、技术模型)描述重要的业务描述重要的业务功能,不管系统功能,不管系统是如何实施的。是如何实施的

6、。现现行行系系统统13实例实例3.1高校学生在每学年的开始都需要交纳学费、书费、住宿费等费用。这些工作往往需要各个部门的人员参与,学生交费过程:n先由系办公室秘书审查学生身份并开具交费清单(包括学费、书费、住宿费用等);n学生持交费清单找财务科会计开具交费发票;n找财务科出纳付款;n凭借交费发票去教材科领取教材,n到宿舍办理入住手续,到系办公室办理开课手续。14新需求:尽量简化学生交费过程,提高效率。以下见分析步骤及分析图见图3-2、图3-3、图3-4。15分析步骤分析步骤n通过对现实环境的调查研究,获取当前系统的物物理理模模型型 n分析需求,建立系统的逻逻辑辑模模型型 n整理综合需求,编写需

7、求说明 n验证需求,完善对目标系统的描述 学学 费费单单 据据住住 宿宿单单 据据图图3-2 当前系统的物理模型当前系统的物理模型学学生生学学生生秘书秘书1秘书秘书2出纳出纳交费交费申请申请交费交费清单清单交费交费发票发票领书领书单据单据教材教材书库书库管理员管理员宿舍宿舍管理员管理员会计会计1 1、通过对现实环境的调查,获当前系统的物理模型、通过对现实环境的调查,获当前系统的物理模型学 费单 据住 宿单 据图3-3 当前系统的逻辑模型学生学生审 查有 效性注册开单据交费申请交费清单交费发票领书单据教材领书住宿开发票2 2、分析需求,建立系统分析模型,、分析需求,建立系统分析模型,包括当前系统

8、的逻辑模型和目标系统的逻辑模型。包括当前系统的逻辑模型和目标系统的逻辑模型。去掉具体模型中的非本质因素,去掉具体模型中的非本质因素,抽象抽象出当前系统的出当前系统的逻辑模型逻辑模型图3-4 目标系统的逻辑模型教材领书单据交费发票学 费单 据住 宿单 据学生学生审查并开发票注册开单据交费申请领书住宿分析当前系统与目标系统的差别,建立目标系统的逻分析当前系统与目标系统的差别,建立目标系统的逻辑模型辑模型3 3、整理需求,编写软件规格说明书,、整理需求,编写软件规格说明书,4 4、验证需求,完善对目标系统的描述。、验证需求,完善对目标系统的描述。20需求分析的任务:需求分析的任务:就是借助于当前系统

9、的逻辑就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的模型导出目标系统的逻辑模型,解决目标系统的 “做什么做什么”的问题。的问题。最终结果:获得最终结果:获得 3.1.2 需求分析的任务需求分析的任务n认清问题、分析资料、建立分析模型认清问题、分析资料、建立分析模型n编写软件需求说明书编写软件需求说明书21需求分析阶段的具体任务如下:1 1确定目标系统的具体要求确定目标系统的具体要求3.1.2 需求分析的任务需求分析的任务确定系统的运行环境要求确定系统的运行环境要求(硬件要求硬件要求:CPU:CPU、操、操作系统等作系统等)系统的性能要求系统的性能要求(存储容量、安全、可靠性

10、、(存储容量、安全、可靠性、响应时间)响应时间)系统功能系统功能(系统做什么?系统何时做什么?系(系统做什么?系统何时做什么?系统何时及如何修改或升级?)统何时及如何修改或升级?)223.1.2 需求分析的任务需求分析的任务2 2分析系统的数据要求分析系统的数据要求3 3建立目标系统逻辑模型建立目标系统逻辑模型(数据流图、数据(数据流图、数据字典、处理的算法描述)字典、处理的算法描述)4 4修正系统开发计划(进一步完善)修正系统开发计划(进一步完善)5 5建立原型系统(让用户评估并提出意见)建立原型系统(让用户评估并提出意见)6 6编写编写软件需求规格说明书软件需求规格说明书及评审及评审 (提

11、交文档及评估)(提交文档及评估)233.1.3 需求分析的步骤需求分析的步骤(1)需求获取需求获取(2)分析建模分析建模 (3)文档编写文档编写 (4)需求验证需求验证24(1)需求获取)需求获取需求获取的目的需求获取的目的:n 清楚地理解所要解决的问题清楚地理解所要解决的问题n 完整地获取用户需求完整地获取用户需求25 需求分析的方法:需求分析的方法:构造分析模型构造分析模型 需求分析的任务就是借助于当前系统的逻辑模型需求分析的任务就是借助于当前系统的逻辑模型导出导出目标系统的逻辑模型目标系统的逻辑模型,解决目标系统的,解决目标系统的“做什么做什么”的问题。的问题。(2)分析建模)分析建模当

12、前系统当前系统模型化模型化目标系统目标系统物理模型物理模型具体化具体化物理模型物理模型抽象化抽象化逻辑模型逻辑模型实例化实例化逻辑模型逻辑模型做什么做什么导导出出理解理解需求需求 表达表达需求需求26(3)文档编写)文档编写n把描述目标系统的逻辑模型的文档称为软件需求说明书软件需求说明书。n软件需求分析说明书是软件需求分析阶段最主要的文档。(4)需求验证)需求验证n软件需求必须通过需求分析的验证复审,确保需求说明可作为软件设计和最终系统验收的依据。n这个环节的参与者有用户、管理部门、软件设计、编码和测试人员。n需求验证是软件需求分析任务完成的标志。273.2 需求获取的方法需求获取的方法需求获

13、取的方式需求获取的方式:(1)(1)访谈和会议访谈和会议 (2)(2)市场调查市场调查 (3)(3)访问用户和用户领域的专家访问用户和用户领域的专家 (4)(4)考察现场,跟踪现场业务流程考察现场,跟踪现场业务流程 (5)(5)开发人员和用户共同组成联合小组开发人员和用户共同组成联合小组283.3 分析建模分析建模3.3.1 结构化分析模型3.3.2 分析建模的描述工具293.3.1结构化分析模型结构化分析模型 结构化分析模型主要由数据流图(结构化分析模型主要由数据流图(DFD图)表示。图)表示。该模型核心:DD(Data Dictionary DD(Data Dictionary 数据字典数

14、据字典),这是系统所涉及的各种数据对象的总和(如下图所示)。从数据字典出发主要通过以下三种图来构建该模型的数据模型、功能模型和行为模型数据模型、功能模型和行为模型:nE-R图(数据模型)数据模型)nDFD图(功能模型)功能模型)nSTD图(行为模型)行为模型)控 制 描述DD数据字典图3-5 结构化分析模型的组成结构数据描述处理说明功 能 模型数 据 模型行 为 模型31结构化分析模型结构化分析模型实体实体关系图关系图(E-R图图)数据流图数据流图(DFD图图)数据对象描述数据对象描述处理规格说明处理规格说明数据数据字典字典(DD)控制规格说明控制规格说明状态状态迁移图迁移图(STD图图)系统

15、所涉及的各种数据对象系统所涉及的各种数据对象的总和的总和描述数据对象描述数据对象间的关系,它间的关系,它代表软件的数代表软件的数据模型,图中据模型,图中每个数据对象每个数据对象的属性均可用的属性均可用数据对象说明数据对象说明来描述。来描述。指明系统中的数指明系统中的数据是如何流动和据是如何流动和变换的,以及描变换的,以及描述使数据流进行述使数据流进行变换的功能,每变换的功能,每个功能的描述写个功能的描述写在处理说明在处理说明 (PSPEC)(PSPEC)中。中。指明系统在外部事件的作用下将会如何动作,表明系统的各种指明系统在外部事件的作用下将会如何动作,表明系统的各种状态以及各种状态间的变迁。

16、状态以及各种状态间的变迁。32ER图图(数据建模数据建模)使用E-R图(实体关系图)用于描述数据对象间的关系,它构建软件的它构建软件的数据模型。数据模型。在实体-关系中出现的每个数据对象的属性均可用数据对象说明描述。33DFD图图(功能建模)DFD图(Data Flow Diagram,数据流图):其主要作用是描述系统中数据是如何在流动和变换的。在在DFD图中出现的图中出现的每个功能每个功能都会写在加工说都会写在加工说明明(Process Specification,PSPEC)中,它们中,它们一起构成系统的一起构成系统的功能模型。功能模型。34STD图图(行为建模)STDSTD图图(Stat

17、us Transfer Diagram(Status Transfer Diagram,状态,状态-变迁图变迁图)用于指明系统在外部事件的作用下将用于指明系统在外部事件的作用下将如何动作如何动作,表明系统的各种状态及各种状态间的变迁。表明系统的各种状态及各种状态间的变迁。所有软件控制方面的附加信息软件控制方面的附加信息包含在控制说明(Control Specification CSPEC)中,它们构成系统的行为模型。行为模型。35结构化分析建模的描述工具结构化分析建模的描述工具n数据流图数据流图(DFD)(功能建模)n数据字典(数据字典(DD)n处理说明(处理说明(Process SPECif

18、ication,PSPEC)n实体关系图(实体关系图(ER)(数据建模)n层次方框图层次方框图 36数据流图(数据流图(DFD)-功能建模功能建模 数数据据流流图图(Data Data Flow Flow DiagramDiagram,简简称称DFDDFD)是是用用来来描描绘绘软软件件系系统统逻逻辑辑模模型型的的图图形形工工具具,用用于于描描绘数据在系统中流动和处理情况。绘数据在系统中流动和处理情况。由数据流、处理、文件、源点/终点组成。图3-6所表示的是数据流图的一般形式,其基本组成如图3-7所示,实例见例3-2处理1处理2处理3数据流1数据流2数据流3数据流6数据流5数据流4图3-6 DF

19、D基本形式数据流处理文件源 点/终点图3-7 DFD的基本组成38它所表达的意思是:数据流 x 从源点 s 流出被处理 P1 变换成数据流 Y,处理P1执行时要访问文件 F;数据流 Y 又被处理 P2 变换成数据流 Z 一张简单的数据流图一张简单的数据流图39学学生生购书单购书单发票发票领书单领书单审查并审查并开发票开发票开领开领书单书单无效书单无效书单学学生生各班学生用书表各班学生用书表各班学生用书表各班学生用书表例:例:计算机售书系统的数据流图计算机售书系统的数据流图计算机售书系统的数据流图计算机售书系统的数据流图40数据字典(数据字典(Data DictionaryData Dictio

20、nary,DDDD)DDDD:用来定义数据库流图中的各个成分的具体含:用来定义数据库流图中的各个成分的具体含义。义。n数据字典对数据流图中所有出现的元素给出定义n数据流图和数据字典共同构成系统的逻辑模型n只有数据流图和对数据流图中每个元素的定义放在一起,才能构成系统的规格说明以下将介绍主要的字典条目:数据流、文件、数据项、处理。41数据字典的内容数据字典的内容有四类条目(有四类条目(词条词条):):数据流,数据项,数据数据流,数据项,数据存储,基本处理存储,基本处理。全体的定义构成了数据字典。全体的定义构成了数据字典数据流条目描述:对数据流定义数据项条目描述:对数据定义数据文件(存储)条目描述

21、:对文件定义加工逻辑条目描述:对加工处理定义42实体关系图(实体关系图(ER)-数据建模数据建模 为了把用户的数据要求清楚、准确地描述出来,系统分析员在需求分析模型建立过程中,使使用实体关系图(用实体关系图(ER图)来建立数据模型图)来建立数据模型。数据模型包含三种相互关联的信息:实体(数据对象)、属性及关系。43实体实体ER图中的实体对应于客观世界中的存在的图中的实体对应于客观世界中的存在的人或物,又称为数据对象。人或物,又称为数据对象。数据对象可以是:n外部实体(如产生或使用信息的任何事物)n角色(如学生、教师)n单位(如计算机系、会计科)n结构(如文件)等。44属性属性 属性定义了实体的

22、性质属性定义了实体的性质实体可以由一个或多个属性定义为实体可以由一个或多个属性定义为“标识符标识符”,用来区分不同的实体。用来区分不同的实体。如描述学生可以用:学号、姓名、性别、入学日期、所在系别、学生类别、所在班级等属性。45关系关系客观世界中的事物是相互联系的。如:学生与教师存在教与被教系与学生的管理与被管理的关系。关系有三种不同的类型:关系有三种不同的类型:n一对一(如院长与学院的关系)n一对多(如系与学生的关系)n多对多(学生与课程间的关系)46ER图图n如下图给出三种关系的示意图:E-R图的图形表示:实体名 实体实体关系名 关系关系属性名 属性属性院长管理学院111:1关系图3-8E

23、R模型中的三种关系系管理学生1M1:M关系教师授课课程MNM:N关系48E-R图(E-R Diagram)产品使用零件MN工人生产零件MN工厂雇佣工人 1N厂长领导工厂11两个实体之间的关系现实世界中的任何数据集合,均可用E-R图表示 49 多个实体间的关系 m教学教师参考书np课程50l 用用E-R图表示图表示“学生学生”实体集及其属性实体集及其属性学生学生学号学号姓名姓名性别性别l 用用E-R图表示图表示“关系关系”的类型的类型一个一个“班级班级”有若干名有若干名“学生学生”;一个一个“学生学生”,只属于一个,只属于一个“班级班级”。学生学生学号学号姓名姓名班级班级班号班号班主任班主任从属

24、从属51层次方框图层次方框图 层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。n树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。n系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定数据结构的全部细节为止。见下图:用层次方框图描述某计算机公司全部产品的数据结构。图3-9层次方框图实例软件硬件服务处 理机存储器外部设备培训硬件维修软件服务产品操作系统编译程序软件工具系统软件应用软件533.4 软件需求说明软件需求说明软件需求说明(SRSSoftware Re

25、quirement Specification,又称软件规格说明书)是系统分析人员在需求分析阶段需要完成的文档,是软件需求分析的是软件需求分析的最终结果最终结果。它的作用主要是:n作为软件人员与用户之间事实上的技术合同说明技术合同说明;n作为软件人员下一步进行设计和编码的基础设计和编码的基础;n作为测试和验收的依据测试和验收的依据。543.4软件需求说明软件需求说明SRS必须用统一格式的文档进行描述,软件需求说明主要内容包括:引言、任务概述、需求规定、运行环境规定、附录 等几部分。55引言引言编写目的:阐明编写需求说明书的目的,指出预期的读者范围。项目范围:待开发的项目名称及项目的开发目的;与

26、项目的应用相关的利益目的及最终目标;项目的委托、开发单位和主管部门;该软件系统与其他系统的关系。定义:列出文档中所用到的专门术语的定义和缩写词的原义。参考资料:包括项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;文档所引用 的资料、标准和规范。开出这些资料的作者、编号、发表日期、出自单位或资料来源。56任务概述任务概述产品概述:描述开发意图、应用目标、作用范围、应向读者说明的有关该项目的开发背景。用户特点:列出本软件最终用户的特点,说明操作人员、维护人员的教育水平和技术水平。条件与限制:对设计系统时对开发者的条件与限制。57需求规定需求规定对功能的规定:包括内部及外部功能的规定。对

27、性能的规定:包括对精度、时间要求、灵活性、适应性等的规定。对输入输出的规定:包括所有输入输出数据、引用接口及接口控制文件、操作员控制的详细描述。数据管理的规定:包括静态数据、动态数据、数据库、数据字典、数据采集的详细描述。其他专门要求:如安全保密性、可使用性、可维护性、可移植性等。58运行环境规定运行环境规定用户界面:如屏幕格式、报表格式、菜单格式、输入输出时间等。设备:对系统硬件的要求描述。软件接口:支持软件描述。故障处理59附录附录实际的需求说明最好有附录,主要可以描述如格式样本、成本分析、用户调查结果、项目解决的问题描述、特殊的要求等相关信息。如果包含附录,必须指明是不是需求要考虑的部分

28、。603.5 需求验证需求验证软件需要分析阶段的结果是软件开发项目的重要根据,大量统计数字表明,软件系统中约15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,对目标系统提出一组要求后,必须严格验证这需求的正确性。这个环节的参与者有用户、管理部门、软件设计、编码和测试人员。一般说来,应该从下述几个方面进行验证:一致性、现实性、完整性与有效性。61一致性一致性所有的软件需求都必须是统一的,任何一条需求不能和其他需求矛盾。用自然语言书写的规格说明书是难于验证的,特别是目标规模大、需求说明书较长的时候,人工复审没有更好的方法进行测试。没有保证的、冗余的、遗漏和不一致的

29、问题可能不容易被发现而被保留下来,为以后的软件设计留下后患。为了克服这困难,人们使用形式化的语言书写软件需求说明书,可以用软件工具验证需求的一致性。62现实性现实性指定的需求应该是用现有的硬件技术和软件技术的能够基本实现的。如果超出了现有的技术基础,增加了软件实现的难度,提高软件开发成本,甚至导致软件开发的失败。由此,验证时,应该参照以往开发系统的经验,分析现有的软、硬件实现目标系统的可行性。必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求书的现实性。63完整性与有效性完整性与有效性需求必须是完整的,需求说明书中必须包括用户需要的每个功能或性能。需求必须是正确有效的,确实能解决用户的实际问题。只有用户才真正知道软件需求说明书是否完整、准确地描述他们的需求。检验需求的完整性与有效性必须在用户的合作下才能完成。而大多用户并不能清楚地说明自己的需求,也不能根据需求说明书确认是否满足自己的实际需求。使用快速原型方法是比较现实的解决方案。让用户试用一段时间原型系统,让他们能够认识到他们的真正需要什么。对比现有的需求分析,可以提出更符合实际的要求。同时,软件设计、编码及测试人员的参与,更进一步加深与用户的沟通,理解用户的真实需求,有益于软件开发的各个环节的关系,保证目标系统的完整性与有效性。

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

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁