《需求分析ppt课件.ppt》由会员分享,可在线阅读,更多相关《需求分析ppt课件.ppt(38页珍藏版)》请在三一文库上搜索。
1、第3章 需求分析,3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 3.5 数据规范化 3.6 状态转换图 3.7 其他图形工具 3.8 验证软件需求,需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。 需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。,用于需求分析的结构化分析方法应遵守下述准则: (1) 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。 (2) 必须定义软件应完成的功能,这条准则要求建立
2、功能模型。 (3) 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。 (4) 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。,3.1.1 确定对系统的综合要求 1. 功能需求 这方面的需求指定系统必须提供的服务,划分出系统必须完成的所有功能。 2. 性能需求 性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。 3. 可靠性和可用性需求 可靠性需求定量地指定系统的可靠性。 可用性与可靠性密切相关,它量化了用户可以使用系统的程度。,3.1 需求分析的任务,4. 出错处理需求 这类需求说明系统对
3、环境错误应该怎样响应。注意,上述这类错误并不是由该应用系统本身造成的。 5. 接口需求 接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。 6. 约束 设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。 7. 逆向需求 逆向需求说明软件系统不应该做什么。 8. 将来可能提出的要求,建立数据模型 分析系统的数据要求 (见3.4节)。 数据字典 全面准确地定义数据 层次方框图 Warnier图 (见第3.7节),3.1.2 分析系统的数据要求,形象直观地定义数据,3.1.3 导出系统的逻辑模型,用数据流图、实体-联系图、
4、状态转换图、数据字典和主要的处理算法来描述系统的详细逻辑模型。,3.1.4 修正系统开发计划,访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍然广泛使用的需求分析技术。 访谈有两种基本形式,分别是正式的和非正式的访谈。正式访谈时,系统分析员将提出一些事先准备好的具体问题。在非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。,3.2 与用户沟通获取需求的方法 3.2.1 访谈,数据决定了需要的处理和算法,因此数据是需求分析的出发点。 结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,通过
5、功能分解可以完成数据流图的细化。 通常把分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图(见3.7节)中。,3.2.2 面向数据流自顶向下求精,图3.1 面向数据流自顶向下求精过程,简易的应用规格说明技术,是一种面向团队的需求收集法。 这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。今天,简易的应用规格说明技术已经成为信息系统领域使用的主流技术。,3.2.3 简易的应用规格说明技术,快速建立软件原型是最准确、最有效、最强大的需求分析技术。 快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。 构建原
6、型的要点是,它应该实现用户看得见的功能(例如,屏幕显示或打印报表),省略目标系统的“隐含”功能(例如,修改文件)。,3.2.4 快速建立软件原型,快速原型应该具备的第一个特性是“快速”。快速原型的目的是尽快向用户提供一个可在计算机上运行的目标系统的模型,以便使用户和开发者在目标系统应该“做什么”这个问题上尽可能快地达成共识。 快速原型应该具备的第二个特性是“容易修改”。如果原型的第一版不是用户所需要的,就必须根据用户的意见迅速地修改它,构建出原型的第二版,以更好地满足用户需求。在实际开发软件产品时,原型的 “修改试用反馈”过程可能重复多遍。,模型,是为了理解事物而对事物做出的一种抽象,是对事物
7、的一种无歧义的书面描述。 通常,模型由一组图形符号和组织这些符号的规则组成。 结构化分析实质上是一种创建模型的活动。 需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。,3.3 分析建模与规格说明 3.3.1 分析建模,3.4节将介绍的实体-联系图,描绘数据对象及数据对象之间的关系,是用于建立数据模型的图形。 2.4节讲过的数据流图,描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,因此,数据流图是建立功能模型的基础。 3.6节将介绍的状态转换图(简称为状态图),指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式(称为“状态
8、”)和在不同状态间转换的方式。状态转换图是行为建模的基础。,软件需求规格说明书通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。,3.3.2 软件需求规格说明,需求分析,创建分析模型 写出软件需求规格说明书,实体-联系图来建立数据模型。 概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。,3.4 实体-联系图,数据对象是对软件必须理解的复合信息的抽象。所谓复合信息是指具有一系列不
9、同性质或属性的事物,仅有单个值的事物(例如,宽度)不是数据对象。 可以由一组属性来定义的实体都可以被认为是数据对象。 数据对象彼此间是有关联的。 数据对象只封装了数据而没有对施加于数据上的操作的引用。,3.4.1 数据对象,数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型: (1) 一对一联系(11) 例如,部门与经理的联系是一对一的。 (2) 一对多联系(1N) 例如,某校教师与课程之间存在一对多的联系“教”。 (3) 多对多联系(MN) 例如,表示学生与课程间的联系(“学”)是多对多的。,3.4.3 联系,3.4.2 属性,属性定义了数据对象的性质。,联系也可能有
10、属性。例如,学生“学”某门课程所取得的成绩,既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。,图3.2 某校教学管理ER图,使用实体-联系图(entity-relationship diagram)来建立数据模型。可以把实体-联系图简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。 ER图中包含了实体(即数据对象)、关系和属性等3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。例如,图3.2是某学校教学管理的ER图。,3.4.4 实体-联系图
11、的符号,软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。 通常用“范式(normal forms)”定义消除数据冗余的程度。 参见数据库原理,3.5 数据规范化,状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此,状态图提供了行为建模机制。,3.6 状态转换图,状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。,状态是任何可以被观察到的系
12、统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。 在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。,3.6.1 状态,事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。 事件是引起系统做动作或(和)转换状态的控制信息。,3.6.2 事件,在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。 中间状态用圆角矩形表示,分为上、中、下3个部分。 上面部分为状态的名称,这部分是必须有的; 中间部分为状态变量的名字和值,这部
13、分是可选的; 下面部分是活动表,这部分也是可选的。 活动表的语法格式如下: 事件名(参数表)/动作表达式 “事件名”可以是任何事件的名称。3种标准事件是:entry,exit和do。entry事件指定进入该状态的动作,exit事件指定退出该状态的动作,而do事件则指定在该状态下的动作。需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。,3.6.3 符号,图3.3 状态图中使用的主要符号,为了具体说明怎样用状态图建立系统的行为模型,下面举一个例子。图3.4(见书57页)是人们非常熟悉的电话系统的状态图。 图中表明,没有人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,到
14、达这个状态后,电话的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态;。,3.6.4 例子,层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。 例如,描绘一家计算机公司全部产品的数据结构可以用图3.5中的层次方框图表示。,3.7 其他图形工具 3.7.1 层次方框图,图3.5 层次方框图的一个例子,Warnier图也用树
15、形结构描绘信息,这种图形工具比层次方框图提供了更丰富的描绘手段。 用Warnier图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息元素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把Warnier图转变成软件设计的工具。,3.7.2 Warnier图,图3.6是用Warnier图描绘一类软件产品的例子,它说明了这种图形工具的用法。 图3.6中的Warnier图表示一种软件产品要么是系统软件要么是应用软件。系统软件中有P1种操作系统,P2种编译程序,此外还有软件工具。软件工具是系统软件的一种,它又可以进一步细
16、分为编辑程序、测试驱动程序和设计辅助工具,图中标出了每种软件工具的数量。,图3.6 Warnier图的一个例子,IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。,3.7.3 IPO图,IPO图的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。图3.7是一个主文件更新的例子,通过这个例子不难了解IPO图的用法。,图3.7 IPO图的一个例子图
17、,需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,应该从下述4个方面进行验证:,3.8 验证软件需求 3.8.1 从哪些方面验证软件需求的正确性,从哪些方面验证软件需求的正确性 (1) 一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。 (2) 完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。 (3) 现实性 指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。 (4) 有效性 必须证明需求是正确有效的,确实能解决用户面对的问题。,这类软件工具应该满足下列要求: (1) 必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容; (2) 使用这个软件工具能够导出详细的文档; (3) 必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果; (4) 使用这个软件工具之后,应该能够改进通信状况。,3.8.3 用于需求分析的软件工具,
链接地址:https://www.31doc.com/p-3309646.html