软件工程第三讲需求分析全解课件_第1页
软件工程第三讲需求分析全解课件_第2页
软件工程第三讲需求分析全解课件_第3页
软件工程第三讲需求分析全解课件_第4页
软件工程第三讲需求分析全解课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022/7/29第三章 需求分析2022/7/292序言可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究的目的不是解决问题,而是确定问题是否值得去解。 并没有准确回答“系统必须做什么?”,不能代替需求分析。需求分析确定系统必须完成哪些工作,对目标系统提出完整、准确、清晰、具体的要求。系统分析员应写出软件需求规格说明书,以书面形式描述软件需求。2022/7/293序言分析方法的准则:必须理解并描述问题的信息域,根据这条准则应该建立数学模型;必须定义软件应完成的功能,这条准则要求建立功能模型;必须描述作为外部事件结果的软件行为,这条转要求建立行为模型;必须对描述

2、信息、功能和行为的模型进行分解,用层次的方式展示细节。2022/7/294 序言软件在需求分析和设计阶段占用的工作量达到总工作量的4050,说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量的1020,而软件测试和调试的工作量占到总工作量的3040,甚至50%。2022/7/295本讲内容需求分析的任务和过程与用户沟通获取需求的方法分析建模与规格说明实体-联系图数据规范化状态转换图其他图形工具验证软件需求2022/7/293.1 需求分析的任务2022/7/2973.1.1 确定对系统的综合要求(1)1. 功能需求:指定系统必须提供的服务。2.

3、性能需求:制定系统必须满足的定时约束或容量约束。如:相应时间(速度)、主存容量、磁盘容量、安全性、等。3. 可靠性和可用性需求:指定系统的可靠性。4. 出错处理需求:说明系统对环境错误应该怎样响应。 系统发现错误时采取的行动,主要在系统关键部分设置。2022/7/2983.1.1确定对系统的综合要求(2)5. 接口需求 用户接口、硬件接口、软件接口、通信接口、等。6. 约束 精度、工具和语言、设计约束、硬件约束、标准,等。7. 逆向需求 8. 将来可能提出的要求 2022/7/2993.1.2 分析系统的数据要求 任何一个软件系统都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程

4、度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求的一个重要任务。 通过建立数据模型来分析,如数据字典、层次方框图、Warnier图,并将数据结构规范化。2022/7/29103.1.3 导出系统的逻辑模型 导出系统的详细的逻辑模型,通常包括数据流图、实体联系图、状态转换图、数据字典、主要的处理算法(IPO图)等。2022/7/29113.1.4 修正系统开发计划 修订前期制定的开发进度计划、等。2022/7/293.2 与用户沟通获取需求的方法2022/7/29133.2.1 访谈1.正式访谈2.非正式访谈 当需要调查大量人员时,分发调查表情景分析技术 能

5、在某种程度上演示目标系统的行为,从而便于用户理解,而且还能进一步揭示出一些分析员目前不知道的需求。 较易为用户所理解,能保证用户在需求分析过程中始终扮演一个积极主动的角色。2022/7/2914 观察用户工作流程或者实践2022/7/2915用户和开发人员共同组成联合小组加强联系促进交流增进合作2022/7/2916分析追踪数据流图用户复查细化数据流图有补充修正无补充修正需要分解不需分解图3.1 需求分析基本过程 借助数据流图、数据字典、IPO图等,细化、完善详细的数据流图,等到各处理环节对应的功能。3.2.2 面向数据流自顶向下求精2022/7/29173.2.3 简易的应用规格说明技术 面

6、向团队的需求收集法: (用户与开发者配合)初步访谈;开发者和用户分别写出“产品需求”;开会讨论,各自展示需求列表;得出一致意见,为需求列表制定小型规格说明;根据会议成果,起草完整的软件需求规格说明。2022/7/29183.2.4 快速建立软件原型 快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。第一个特性是快速;第二个特性是容易修改。 快速建立能演示目标系统主要功能的程序。第四代技术可重用的软件构件形式化规格说明和原型环境2022/7/293.3 分析建模与规格说明3.3.1 分析建模 所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。简单地

7、说,模型就是某一事物的抽象表示方式。 为了开发复杂的系统,应从不同角度(模型)抽象出目标系统的特性(数据模型、功能模型、行为模型)。2022/7/2920实体联系图:建立数据模型,描述数据对象及数据对象之间的 关系;数据流图:建立功能模型的基础;状态转换图:描绘系统的状态和状态间转换的方式。3.3.2 软件需求规格说明 为了把用户的数据要求清楚、准确的描述出来,系统分析员通常建立一个概念性的数据模型。包含三种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。2022/7/29212022/7/2922 数据对象可以是外部实体、事物、行为、事件、角色、单位、地点、结构等。

8、属性定义了数据对象的性质。 联系是数据对象之间相互连接的方式。 (1)一对一联系(1:1); (2)一对多联系(1:N); (3)多对多联系(M:N)。数据对象3.4 实体-联系图属性联系2022/7/2923实体-联系图教师学生课程学号姓名系年级职务性别职称性别姓名教工号教学成绩学分学时课名课程号图3.2 某校教学管理ER图MN1N2022/7/2924通常用范式定义消除数据冗余的程度。第一范式(1 NF)数据冗余度最大,第五范式(5 NF)数据冗余度最小。但范式级别越高,(1)存储同样多数据需要分解成更多张表,“存储自身”的过程越复杂;(2)数据存储结构与基于问题域的结构间的匹配程度也随之

9、下降,需求变化时数据稳定性下降;(3)需要访问的表增多,性能下降。(第三范式) 第一范式:每个属性都是原子值 第二范式:满足第一范式条件,每个关键字属性都仅有关键字决定 第三范式:符合第二范式条件,每个非关键字属性都仅有关键字决定,并且一个非关键字属性值不依赖于另一个非关键字属性值 3.5 数据规范化2022/7/2925第一范式(1 NF)数据冗余度最大,第五范式(5 NF)数据冗余度最小。但范式级别越高,(1)存储同样多数据需要分解成更多张表,“存储自身”的过程越复杂;(2)数据存储结构与基于问题域的结构间的匹配程度也随之下降,需求变化时数据稳定性下降;(3)需要访问的表增多,性能下降。(

10、第三范式) 第一范式:每个属性都是原子值 第二范式:满足第一范式条件,每个关键字属性都仅有关键字决定 第三范式:符合第二范式条件,每个非关键字属性都仅有关键字决定,并且一个非关键字属性值不依赖于另一个非关键字属性值 3.6 状态转换图2022/7/2926 状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态图中定义的状态主要有:初态、中态、中间状态 事件是某个特定时刻发生的事情,它是引起系统做动作或状态转换的控制信息。 3.6 状态转换图2022/7/2927闲置拨号音do:响拨号音超时do:响蜂鸣音存储的信息do:播放信息接通中do:试接通振铃do:振铃拨号通话断线忙

11、音do:响忙音挂断电话挂断电话拿起话筒超时无效号码有效号码超时数字数字占线已接通受话人回话受话人挂断电话信息播完2022/7/293.7 其他图形工具3.7.1 层次方框图2022/7/2929 例如,描绘一家计算机公司全部产品的数据结构可以用图中的层次方框图表示 层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。 3.7.1 层次方框图2022/7/2930随着结构的精细化,层次方框图对数据结构的描绘也越来越详细,这种模式非

12、常适合于需求分析阶段的需要。统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节为止。 3.7.2 Warnier图2022/7/2931 法国计算机科学家Warnier提出了表示信息层次结构的另外一种图形工具。和层次方框图类似,Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。 用Warnier图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息量是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。 因为重复和条件约束是说明软件处理过程的基础,所以很容易把Warnier图转变成软件设计的工具。 3

13、.7.2 Warnier图2022/7/2932 花括号:区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息。 异或符号:表明一类信息或一个数据元素在一定条件下才出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个。 圆括号:中间的数字指明了这个名字代表的信息类(或元素)在这个数据结构中重复出现的次数。 3.7.3 IPO图2022/7/2933 IPO图是输入/处理/输出图的简称,它是美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、数据处理和输出数据之间的关系。 左框:列出输入数据。 中框:列出主要的处理 (次序暗示了执行的顺序)。 右框:列出输出数据

14、粗大箭头:指出数据通 信的情况。 用IPO图描绘主文件更新功能3.7.3 IPO图2022/7/2934 建议使用一种改进的IPO图(也称为IPO表),这种图中包含某些附加信息,比原始的IPO图更有用。 改进的IPO图中包含的附加信息,主要有系统名称,图的作者,完成本图的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单,注释,以及本模块使用的局部数据元素等。3.7.3 IPO图2022/7/2935 在需求分析阶段可以使用IPO图简略地描述数据流图中各个处理的基本算法(着重说明处理功能而不是具体实现功能的算法)。 当然,在需求分析阶段,IPO表中的

15、许多附加信息暂时还不具备。但是,在软件设计阶段可以进一步补充、修正这些表,继续作为设计阶段的文档。这正是在需求分析阶段用IPO表作为描述基本算法的工具的重要优点。2022/7/293.8 验证软件需求3.8.1 从哪些方面验证软件需求的正确性2022/7/2937 需求分析阶段的工作结果是开发软件系统的重要基础; 统计表明,软件系统中15%的错误起源于错误的需求; 需求的正确性从四个方面验证: 一致性 完整性 现实性 有效性3.8.2 验证软件需求的方法2022/7/2938 验证需求的一致性 人工技术审查软件系统规格说明书的正确性; 人工审查的效果难以保证,进行形式化描述,用软件工具验证。 验证需求的现实性 参照以往开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论