软件工程课件:第03章 需求分析

上传人:工**** 文档编号:569970912 上传时间:2024-08-01 格式:PPT 页数:66 大小:659.50KB
返回 下载 相关 举报
软件工程课件:第03章 需求分析_第1页
第1页 / 共66页
软件工程课件:第03章 需求分析_第2页
第2页 / 共66页
软件工程课件:第03章 需求分析_第3页
第3页 / 共66页
软件工程课件:第03章 需求分析_第4页
第4页 / 共66页
软件工程课件:第03章 需求分析_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《软件工程课件:第03章 需求分析》由会员分享,可在线阅读,更多相关《软件工程课件:第03章 需求分析(66页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 需求分析需求分析第第3章章 需求分析需求分析3.0 需求分析概述需求分析概述3.1 需求分析的任务需求分析的任务3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.3 分析建模与规格说明分析建模与规格说明3.4 实体实体-联系图联系图3.5 数据规范化数据规范化3.6 状态转换图状态转换图+有穷状态机有穷状态机3.7 其他图形工具其他图形工具3.8 验证软件需求验证软件需求3.9 小结小结3.0 需求分析概述需求分析概述需求分析的意义需求分析的意义需求分析的目的需求分析的目的需求分析的相关人需求分析的相关人需求分析的意义需求分析的意义软件需求的深入理解是软件开发工作获得成

2、功的前提条件,不论我们把设计和编码做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发带来烦恼。需求分析的目的需求分析的目的需求分析是软件定义时期的最后一个阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地描述软件需求。- 准确地回答“系统必须做什么?”需求分析的相关人需求分析的相关人 在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用。 业务需求业务需求项目范项目范围文档围文档用户需求用户

3、需求可研可研文档文档功能需求功能需求质量属性质量属性其他非功其他非功能需求能需求设计约束设计约束需求规约需求规约(规格规格)(specification)非功能需求非功能需求系统需求系统需求需求组成的全景图需求组成的全景图软件需求的组成(图)软件需求的组成(图)问题的定义问题的定义可行性研究可行性研究需求分析需求分析软件需求的组成部分软件需求的组成部分业务需求:反映组织机构和客户对系统、产品高层次的目标要求反映组织机构和客户对系统、产品高层次的目标要求。用户需求:从用户使用的角度给出需求的描述从用户使用的角度给出需求的描述。系统需求:从系统的角度描述要提供的服务以及所受到的约束。从系统的角度描

4、述要提供的服务以及所受到的约束。功能需求:描述系统应该做什么,即为用户和其它系统完成的功能、提供的服务。描述系统应该做什么,即为用户和其它系统完成的功能、提供的服务。性能需求存储容量、处理速度、用户数、并发能力等。存储容量、处理速度、用户数、并发能力等。接口需求本系统与其他系统的接口。本系统与其他系统的接口。出错处理需求系统可能的错误及其处理方法。系统可能的错误及其处理方法。非功能性需求:系统必须具备的属性或品质。系统必须具备的属性或品质。可靠性和可用性需求可靠性指标、可用性指标可靠性指标、可用性指标设计约束:设计与实现必须遵循的标准、约束条件。如运行平台、协议、选择的技术、编程语言和工设计与

5、实现必须遵循的标准、约束条件。如运行平台、协议、选择的技术、编程语言和工具等。具等。例:小型超市商品查询系统的需求例:小型超市商品查询系统的需求业务需求:进货人员需要查询商品库存以便保证及时进进货人员需要查询商品库存以便保证及时进货;货;收款员需要查询商品的销售价格以便结账;收款员需要查询商品的销售价格以便结账;经理需要查询商品的销售及盈利情况。经理需要查询商品的销售及盈利情况。用户需求:三类用户(进货人员、收款员、经理)怎样三类用户(进货人员、收款员、经理)怎样去查询系统,查询哪些信息,还需要哪些操去查询系统,查询哪些信息,还需要哪些操作。作。软件需求的描述软件需求的描述语言描述自然语言、结

6、构化语言、过程描述语言自然语言、结构化语言、过程描述语言PDL.PDL.图形/表格化描述数据流图、数据字典、数据流图、数据字典、IPOIPO图、判定表、判定树、图、判定表、判定树、状态图状态图.数学描述形式化语言、函数、状态机形式化语言、函数、状态机1.确定对系统的综合要求功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、 逆向需求、将来可能提出的要求。2.分析系统的数据要求用直观和定义的形式建立系统的数据模型,优化和规范化数据结构。 常用工具:图形工具(层次方框图、Warnier图)、数据字典。3.导出系统的逻辑模型综合上述分析结果,导出系统的详细逻辑模型。常用工具:数据

7、流图、实体-联系图、状态转换图、数据字典、主要处理算法。4.修正系统开发计划以详细逻辑模型为基础,与用户交流,跟深入地了解和明确用户的需求,估算系统开发成本、进度等,修订项目开发计划。3.1 需求分析的任务需求分析的任务软件需求获取和分析过程(图)软件需求获取和分析过程(图)需求分析是一个包括创建和维持系统需求文档所必需的一切活动的过程。它包含了如下活动:软件需求过程软件需求过程需求获取和需求获取和分析分析需求描述需求描述需求有效需求有效性验证性验证系统模型系统模型用户需求和系用户需求和系统需求统需求需求规约需求规约需求管理需求管理软件需求获取和分析软件需求获取和分析需求需求获取取是开发人员与

8、客户或用户一起对应用领域进行调查研究,收集系统需求的过程。需求分析需求分析是将获取到的需求准确的理解、求精,并将其转化为完整的需求定义(包括建模),进而生成需求规约的过程。需求描述和文档需求描述和文档编写写按照规范的格式(标准指南,如国标)和采用常用的工具编制软件需求分析说明书。需求管理需求管理管理需求工程的变更。 需求有效性需求有效性验证提交用户反馈,召开需求评审会。需求获取和分析的难度需求获取和分析的难度1)需求难以表达出来)需求难以表达出来项目相关人员通常并不真正知道希望计算机做什么,让他们清晰的表达出需要系统做什么是件困难的事,他们或许提出不切实际的要求。2)需求具有专业性)需求具有专

9、业性项目相关人员用自己的语言表达需求,这些语言包含很多工作中的专业术语和专业知识。系统分析员没有这些知识和经验,而他们又必须了解这些需求。3)需求的不一致性)需求的不一致性不同的项目相关人员有不同的需求,可能以不同的方式表达,分析人员必须发现所有潜在的需求资源,而且能够发现这些需求的相容或冲突之处。4)需求的变化性)需求的变化性经济和业务环境决定了分析是动态的,需求在分析过程中会发生变更。个别需求的重要程度可能会改变,新的需求可能会从新的项目相关人员那里得到。需求分析小组需求分析小组建立由客户(用户)、系统分析员、领域专家参加的联合小组。需求获取的方法需求获取的方法个别访谈、召集会议、文档研究

10、、问卷调查、观察用户工作流程、建立原型。需求表达的技术需求表达的技术(1)需求列表:需求与系统的特殊视角或环境的关系(2)业务流程图(状态/活动图)(3)数据流图(4)实体-联系图需求获取方法与技术需求获取方法与技术3.2 与用户沟通获取需求的方法与用户沟通获取需求的方法3.2.1 访谈访谈3.2.2 面向数据流自顶向下求精面向数据流自顶向下求精3.2.3 简易的应用规格说明技术简易的应用规格说明技术3.2.4 快速建立软件原型快速建立软件原型3.2.1 访谈访谈访谈的基本形式访谈的基本形式非正式访谈:获取用户(高端用户)的想法、理念;正式访谈:获取用户(业务部门用户)的具体需求,如功能需求、

11、数据需求等。访谈技术访谈技术开放性问题(非正式访谈)具体问题(正式访谈)问卷调查表情景分析技术座谈会3.2.2 面向数据流自顶向下求精面向数据流自顶向下求精数据流分析重要性数据流分析重要性数据是需求分析的出发点和落脚点信息系统的基本模型:输入数据数据处理输出数据数据在流动中被处理,数据决定了处理所需的算法结构化分析方法结构化分析方法可实现数据流自顶向下逐步求精从可行性研究得出的顶层模型(顶层数据流图)开始,将数据流和数据存储及其处理向下分解,直到元素级。数据流分析的结果数据流分析的结果清晰地定义了可实际操作的个数据元素;明确地展现了数据的来源与去处;初步描绘了数据处理的可能算法(方法)。数据流

12、描述方法数据流描述方法数据流图:数据及其处理关系数据字典:数据元素IPO图:处理算法面向数据流自顶向下求精面向数据流自顶向下求精迭代过程(图)迭代过程(图)3.2.3 简易的应用规格说明技术简易的应用规格说明技术前叙方法的缺陷问题前叙方法的缺陷问题面谈调研、数据流图、数据字典等是具有一定技术性的、形式性方法,一般用于难以掌握,不好交流,不难有效地构建需求分析团队。简易的应用规格说明技术简易的应用规格说明技术这是一种面向团队的需求收集方法。提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。简易的应用规格说明技术的过程简易的应用规格说明技术的过程确定问题确定问题

13、进行初步的访谈,初步确定问题范围和解决方案;编制编制“产品需求产品需求”开发者、用户分别写出“产品需求”,发给双方有关人员预审;“产品需求产品需求” 预审预审相关预审人员分别列出系统有关对象、服务要求、约束条件、性能要求召开协调会召开协调会开发者和用户双方组织的代表出席会议确定是否开发该新软件产品讨论各自提出的“产品需求” 预审表项:保留、增加、删除、修改针对每一个子项目(对象、服务、约束、性能)创建一张组合列表小组制定每个子项目小型规格说明小组制定每个子项目小型规格说明按子项目划分小组,每个小组为每张列表中的项目制定小型规格说明各小组向项目全体人员说明制定的小型规格说明,讨论、修改、细化、规

14、范化项目组起草完整的软件需求规格说明书项目组起草完整的软件需求规格说明书由专人或专门小组整合各小型规格说明,起草起草完整的软件需求规格说明书。“产品需求产品需求” 预审内容预审内容对象对象组成系统的对象、系统将产生的对象、完成功能将用到的其他对象;服务要求服务要求操作这些对象或与这些对象交互的服务(处理功能);约束条件约束条件成本、工期、规模等;性能要求性能要求系统的技术性能,如容量、速度等。其他其他3.2.4 快速建立软件原型快速建立软件原型构建软件原型构建软件原型按照“快速原型法”构建系统的软件原型,这是最准确、最有效、最强大的需求分析技术。软件原型的要点是展现用户看得见、直接交互的功能,

15、如输入、输出、检索、显示、打印等。软件原型构建特性软件原型构建特性快速易于修改软件原型构建方法和工具(综合使用)软件原型构建方法和工具(综合使用)第四代程序设计技术可重用的软件构建形式化规格说明工具和软件环境工具3.3 3.3 分析建模与规格说明分析建模与规格说明3.3.1 分析建模分析建模采用有效的建模技术及工具,分析和构建系统的逻辑模型。3.3.2 规格说明规格说明按照确定的文档规范(国家、行业、企业),使用自然语言和系统模型,完整准确地描述软件需求。3.3.1 3.3.1 分析建模分析建模模型模型“模型”是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,由一组图

16、形符号和组织这些符号的规则组成。结构化分析建模方法结构化分析建模方法结构化分析 (Structured Analysis,SA)的基本原理是自顶向下、逐步求精。它是70年代末由DeMarco等人提出,这是传统的建模方法。该方法不是被所有的使用者一致地使用的单一方法,众多科学家对其进行了扩充。 三种模型三种模型面向流的建模:数据流图(DFD/CFD)数据建模:实体关系图(ERD)基于行为的建模: Petri网、状态转换图3.3.2 软件需求规格说明(SRS) Software Requirement Specification 通常用自然语言+模型,完整、准确、具体地描述系统的数据要求、功能需求

17、、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。 软件需求规格说明书,是需求分析阶段得出的最主要的文档。软件需求说明书的编写提示(软件需求说明书的编写提示(GB856T880 0)1 引言引言 1.1 编写目的编写目的 1.2 背景背景 1.3 定义定义 1.4 参考资料参考资料2 任务概述任务概述 2.1 目标目标 2.2 用户的特点用户的特点 2.3 假定和约束假定和约束3 需求规定需求规定 3.1 对功能的规定对功能的规定 3.2 对性能的规定对性能的规定 3.2.1 精度精度 3.2.2 时间特性要求时间特性要求 3.2.3 灵活性灵活性

18、3.3 输人输出要求输人输出要求 3.4 数据管理能力要求数据管理能力要求 3.5 故障处理要求故障处理要求 3.6 其他专门要求其他专门要求4 运行环境规定运行环境规定 4.1 设备设备 4.2 支持软件支持软件 4.3 接口接口 4.4 控制控制3.4 3.4 实体实体- -联系图联系图( (ER) )ER图(图(Entity Relationship Diagram)ER图是用来建立概念型数据模型的工具。数据模型数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,反映了用户的现实环境,它与在软件系统中的实现方法无关。数据模型中包含数据模型中包

19、含3种相互关联的信息种相互关联的信息数据对象(实体)数据对象的属性(实体的属性)数据对象彼此间相互连接的关系(实体之间的联系)。3.4.1 3.4.1 数据对象数据对象数据对象定义数据对象定义是对软件必须理解的复合信息的抽象。复合信息是指具有一系列不同性质或属性的事物,仅有单个值的事物(例如,宽度)不是数据对象(而是属性)。数据对象种类及其属性数据对象种类及其属性可以是外部实体、事物、行为、事件、角色、单位、地点或结构等。可以由一组属性来定义的实体都可以被认为是数据对象。数据对象彼此间是有关联的。数据对象彼此间是有关联的。数据对象只是封装了数据对象只是封装了“数据数据”,而没有描述施加于数,而

20、没有描述施加于数据之上的操作。据之上的操作。3.4.2 3.4.2 属属 性性属性属性属性定义了数据对象的性质。必须把一个或多个属性定义为“标识符”,当我们希望找到数据对象的一个实例时,用标识符属性作为“关键字”(通常简称为“键”)。数据对象的属性选取数据对象的属性选取应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。 例如例如 “学生”:具有学号、姓名、性别、年龄、专业等属性;“课程”:具有课程号、课程名、学分、学时数等属性;“教师”:具有职工号、姓名、年龄、职称等属性。3.4.3 3.4.3 联联 系系联系联系数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为

21、以下联系可分为以下3种类型:种类型:一对一联系(11)如:一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。一对多联系(1N)如:某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。多对多联系(MN)如:学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性联系也可能有属性如:学生“学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。3.4.4 3.4.4

22、 实体实体- -联系图的符号联系图的符号ER图的基本成分图的基本成分ER图中包含了实体(即数据对象)、关系和属性等3种基本成分。矩形框矩形框通常用矩形框代表实体;菱形框菱形框用连接相关实体的菱形框表示关系;椭圆形或圆角矩形椭圆形或圆角矩形用椭圆形或圆角矩形表示实体(或关系)的属性;直线直线用直线把实体(或关系)与其属性连接起来。实体关系属性例:某校教学管理例:某校教学管理ERER图图对象对象教教师师属属性性学学生生属属性性课课程程属属性性联联系系属属性性关系关系3.5 3.5 数据规范化数据规范化软件系统中经常要维护和使用长期保存的数据,这些软件系统中经常要维护和使用长期保存的数据,这些数据按

23、某种方式组织并存储在数据库或文件中。数据按某种方式组织并存储在数据库或文件中。为了减少数据冗余,避免插入异常或删除异常,通常为了减少数据冗余,避免插入异常或删除异常,通常需要把数据结构规范化。需要把数据结构规范化。规范数据组织结构和消除数据冗余是数据规范化的要规范数据组织结构和消除数据冗余是数据规范化的要点。点。在数据库中,通常用在数据库中,通常用“范式范式”来定义消除数据冗余的程来定义消除数据冗余的程度。度。规范化的目的规范化的目的消除数据冗余消除数据冗余消除数据库中/表格中数据的重复;消除多义性消除多义性使关系中的属性含义清楚、单一;使关系的使关系的“概念概念”单一化单一化让每个数据项只是

24、一个简单的数或字符串,而不是一个组项或重复组;方便操作方便操作使数据的插入、删除与修改操作可行并方便;使关系模式更灵活使关系模式更灵活易于实现接近自然语言的查询方式。规范化规范化规范化规范化 - 将数据的逻辑结构归结为满足一定条件的二将数据的逻辑结构归结为满足一定条件的二维表(数据库中的关系),即:维表(数据库中的关系),即:1. 表格中每个信息项必须是一个不可分割的数据项,不可是组项。2. 表格中每一列 (列表示属性)中所有信息项必须是同一类型,各列的名字 (属性名) 互异,列的次序任意。3. 表格中各行 (行表示元组) 互不相同,行的次序任意。教工号姓名性别职称职务001张毅坤男教授院长0

25、02李 林女讲师有三个实体型,即课程、学生和教师,用三个数据库有三个实体型,即课程、学生和教师,用三个数据库关系保存它们的信息:关系保存它们的信息:学生(学号,姓名,性别,年龄,年级,专业,籍贯)教师(职工号,姓名,年龄,职称,职务,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型)为表示实体型之间的联系,又建立两个数据库关系:为表示实体型之间的联系,又建立两个数据库关系:选课 (学号,课程号,听课出勤率,作业完成率,分数)教课 (职工号,课程号,授课效果)这五个数据库关系,组成了数据库的模型。这五个数据库关系,组成了数据库的模型。在每个关系中,属性名下加(下划线)指明关键字。在每个

26、关系中,属性名下加(下划线)指明关键字。并规定关键字能唯一地标识一个元组(记录)。并规定关键字能唯一地标识一个元组(记录)。规范化例:教学管理规范化例:教学管理范式范式(Normal Forms)(Normal Forms)范式范式(Normal Forms)”通常用“范式”定义消除数据冗余的程度。按照属性间的依赖程度,范式分为第一范式至第五范式。第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。范式级别确定范式级别确定范式级别越高,存储同样数据就需要分解成更多张表,因此 “存储自身”的过程也就越复杂。随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也

27、随之下降,因此,在需求变化时数据的稳定性较差。范式级别提高需要访问的表增多,因此性能(速度)将下降。从实用角度看来,在大多数场合选用第三范式都比较恰当。第一范式(第一范式(1NF1NF)每个属性值都必须是原子值,即仅仅是一个简单值而每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。不含内部结构。如:如:学生(学号,姓名,性别,年龄,年级,专业,籍贯)教师(职工号,姓名,年龄,职称,职务,工资级别,工资)课程(课程号,课程名,学分,学时,课程类型)问题:问题:严格来说,“姓名” (如张伟、令狐冲)符合1NF吗?“班级”(如“信息工程2009(1)班)符合1NF吗?第二范式(第二范式(2

28、NF2NF)满足第一范式条件,而且每个非关键字属性都由整个满足第一范式条件,而且每个非关键字属性都由整个关键字决定关键字决定(而不是由关键字的一部分来决定而不是由关键字的一部分来决定)。如:如:选课 ( 学号,课程号,听课出勤率,作业完成率,分数 )教课 ( 职工号,课程号,授课效果 )问题问题学生情况(姓名、性别、出生日期、专业、年级、班号)符合2NF吗?一个表(关系)中必须有主关键字!一个表(关系)中必须有主关键字!第三范式(第三范式(3NF3NF)第三范式(第三范式(3NF)首先应符合第二范式的条件,且要)首先应符合第二范式的条件,且要求一个数据库表中不包含已在其它表中已包含的求一个数据

29、库表中不包含已在其它表中已包含的非主非主关键字关键字信息。信息。例如例如存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。部门信息(部门编号、部门名称、部门简介)员工信息(员工编号、姓名、性别、身份证号、部门名称)3.6 3.6 状态转换图状态转换图状态转换图状态转换图(简称为状态图简称为状态图)通过描绘系统的状态及引起系统状态转

30、换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。3.6.1 3.6.1 状态状态状态状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。 初态 (即初始状态) 状态 终态 (即最终状态) 中间状态一张状态图中只能有一个初态,而终态则可以有一张状态图中只能有一个初态,而终态则可以有0 0至多个。至多个。3.6.2 3.6.2 事件事件 事件事件是在某个特定时刻发生的事情,它是对引起系统

31、做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统做动作或(和)转换状态的控制信息。“事件事件”例子例子内部时钟表明某个规定的时间段已经过去,引发某种操作。用户移动或点击鼠标,启动某个功能。3.6.3 符符 号号初态初态用实心圆表示终态终态用一对同心圆(内圆为实心圆)表示。中间状态中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。状态转换状态转换状态图中两个状态之间带箭头连线称为状态转换,箭头指明转换方向。3.6.3 符

32、符 号(续)号(续)活动表活动表活动表的语法格式:事件名(参数表)/动作表达式“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。entry事件指定进入该状态的动作,exit事件指定退出该状态的动作,而do事件则指定在该状态下的动作。需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。3.6.3 符符 号(续)号(续)事件事件状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。事件表达式的语法:事件说明守卫条件动作表达式事

33、件表达式的语法:事件说明守卫条件动作表达式事件说明的语法为:事件名(参数表)。守卫条件是一个可选的布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真状态转换就发生。动作表达式是一个过程表达式,当状态转换开始时执行该表达式。3.6.4 例子:例子:电话系统的状态图电话系统的状态图3.7 其他图形工具其他图形工具 层次方框图层次方框图 Warnier图图 IPO图图3.7.1 层次方框图层次方框图层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的

34、数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节时为止。层次方框图层次方框图 例例-1:公司产品数据结构:公司产品数据结构领导层辅助决策系统领导层辅助决策系统查询查询辅助决策辅助决策物物资资信信息息重重点点供供料料信信息息商商情情信信息息人人员员状状况况合合同同监监视视财财务务信信息息计计划划执执行行情情况况工工程程进进展展情情况况超超储储低低储储情情

35、况况经经营营指指标标历历年年对对比比价价格格预预测测物物资资用用量量预预测测库库存存定定额额核核定定库库存存结结构构分分析析经经济济采采购购批批量量保保本本保保利利分分析析层次方框图层次方框图 例例-2:辅助决策系统功能结构:辅助决策系统功能结构3.7.2 Warnier图图法国计算机科学家Warnier提出了表示信息层次结构的另外一种图形工具。Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。用Warnier图可以表明信息的逻辑组织。它可以指出一类信息或一个信息元素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。重复和条件约束是说明软件

36、处理过程的基础,所以很容易把Warnier图转变成软件设计的工具。Warnier图图 举例:软件产品类别举例:软件产品类别图中表示一种软件产品要么是系统软件要么是应用软件。系统软件中有P1种操作系统,P2种编译程序,此外还有软件工具。软件工具是系统软件的一种,它又可以进一步细分为编辑程序、测试驱动程序和设计辅助工具,图中标出了每种软件工具的数量。3.7.3 IPO图图左边的框中列出有关的输入数据。中间的框内列出主要的处理,处理框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。在右边的框内列出产生的输出数据。在IPO图中还用类似向量符号的粗大箭头清楚地指出

37、数据通信的情况。一种改进的一种改进的IPO图图(IPO表表)在需求分析阶段可以使用IPO表简略地描述系统的主要算法(即数据流图中各个处理的基本算法)。需求分析阶段,IPO表中的许多附加信息暂时还不具备,但在设计阶段可以进一步补充修正这些图,作为设计阶段的文档。这正是在需求分析阶段用IPO表作为描述算法的工具的重要优点。3.8 验证软件需求验证软件需求3.8.1 从哪些方面验证软件需求的正确性从哪些方面验证软件需求的正确性3.8.2 验证软件需求的方法验证软件需求的方法1. 验证需求的一致性2. 验证需求的现实性3. 验证需求的完整性4. 验证需求的有效性3.8.3 用于需求分析的软件工具用于需

38、求分析的软件工具3.8.1 从哪些方面验证软件需求的正确性从哪些方面验证软件需求的正确性(1) 一致性一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2) 完整性完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。(3) 现实性现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。(4) 有效性有效性必须证明需求是正确有效的,确实能解决用户面对的问题。3.8.2 验证软件需求的方法验证软件需求的方法(1) 一致性一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2) 现实性现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以

39、实现的。(3) 完整性完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。(4) 有效性有效性必须证明需求是正确有效的,确实能解决用户面对的问题。3.8.3 用于需求分析的软件工具用于需求分析的软件工具需求分析软件工具需求分析软件工具为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。需求分析软件工具例需求分析软件工具例RSL(需求陈述语言)PSL/PSA(问题陈述语言/问题陈述分析器)需求分析软件工具要求需求分析软件工具要求(1) 必须有形式化的语法必须有形式化的语法(或表或表),因此可以用计,因此可以用计算机自动处理使用这种

40、语法说明的内容;算机自动处理使用这种语法说明的内容;(2) 使用这个软件工具能够导出详细的文档;使用这个软件工具能够导出详细的文档;(3) 必须提供分析必须提供分析(测试测试)规格说明书的不一致性规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;指明对完整性分析的结果;(4) 使用这个软件工具之后,应该能够改进交流使用这个软件工具之后,应该能够改进交流状况。状况。RSL(需求陈述语言需求陈述语言)用用RSL语言描述需求,语言描述需求,RSL可有相应的计算机软件处可有相应的计算机软件处理;理;经经RSL语言处理程序处理后的

41、信息统一存储在语言处理程序处理后的信息统一存储在ASSM(抽象系统语义模型)数据库中;(抽象系统语义模型)数据库中;RSL的另一组软件工具处理的另一组软件工具处理ASSM数据库中的信息,数据库中的信息,产生用产生用PASCAL语言书写的模拟程序(需求分析的原语言书写的模拟程序(需求分析的原型);型);提交需求原型检验需求的一致性、完整性、现实性、提交需求原型检验需求的一致性、完整性、现实性、有效性。有效性。PSL/PSAPSL/PSA系统用描述符从系统信息流、系统结系统用描述符从系统信息流、系统结构、数据结构、数据导出、系统规模、系统动构、数据结构、数据导出、系统规模、系统动态、系统性质和项目

42、管理等态、系统性质和项目管理等8个方面描述信息系个方面描述信息系统。统。(1) 描述任何应用领域的信息系统;(2) 创建一个数据库保存对该信息系统的描述符;(3) 对描述符施加增加、删除和更改等操作;(4) 产生格式化的文档和关于规格说明书的各种分析报告。3.9 小结小结需求分析的任务需求分析的任务功能需求+其他需求(functions + other requirements)获取需求的方法获取需求的方法访谈(visit), 构造原型(prototyping), 逐步求精(refinement)分析建模与规格说明分析建模与规格说明数据、功能和行为模型需求分析工具需求分析工具实体-联系图、数据

43、规范化、状态转换图、数据字典、其他图形工具验证软件需求验证软件需求一致性、完整性、现实性和有效性习题习题31. 为什么要进行需求分析为什么要进行需求分析?通常对软件系统有哪些需求通常对软件系统有哪些需求?2. 怎样与用户有效地沟通以获取用户的真实需求怎样与用户有效地沟通以获取用户的真实需求?3. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址统,如果是存款则系统记录存款人姓名、住址(或电话号码或电话号码)、身份证号码、存款类型、存款、身份证号码、存款

44、类型、存款日期、到期日期、利率及密码日期、到期日期、利率及密码(可选可选)等信息,并印出存单给储户;如果是取款而且存款时留等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。息清单给储户。用数据流图描绘本系统的功能,并用实体联系图描绘系统中的数据对象。用数据流图描绘本系统的功能,并用实体联系图描绘系统中的数据对象。4. 分析习题分析习题2第第3题所述的机票预订系统。试用实体联系图描绘本系统中的数据对象并题所述的机票预订系统

45、。试用实体联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。用数据流图描绘本系统的功能。5. 分析习题分析习题2第第4题所述的患者监护系统。试用实体联系图描绘本系统中的数据对象并题所述的患者监护系统。试用实体联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能,画出本系统的顶层用数据流图描绘本系统的功能,画出本系统的顶层IPO图。图。6. 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。除故障,故障排除后回到闲置状态。试用状态转换图描绘复印机的行为。试用状态转换图描绘复印机的行为。本章完!本章完!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号