赞
踩
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,即对目标系统提出完整、准确、清晰、具体的要求。在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。
为了开发出真正满足用户需求的软件产品,首先必须要知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提,不了人们把设计和编码工作做的多么出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。
(1)意义:任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌。因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。
(2)工具:分析系统的数据要求通常采用建立数据模型的方法。复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确的定义数据,但是数据字典的缺点是不够直观形象,
(3)规范:软件系统经常使用各种长期保存的信息,为了减少数据冗余,避免出现插入异常和删除异常,简化修改数据的过程,通常需要把数据结构规范化。
基本形式:
技术方法:
定义:
结构化分析方法是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。
(1)定义:简易的应用规格说明技术是一种面向团队的需求收集法。这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同解决方案并指定基本需求。是信息系统领域使用的主流技术。
(2)优点:
(1)定义:快速原型是快速建立起来的旨在演示目标系统主要功能的可运行的程序。构建原型的要点是,它应该实现用户看得见的功能,省略目标系统的隐含功能。快速建立软件原型是最准确、最有效、最强大的需求分析技术。
(2)特性:
(3)使用的方法和工具
(1)模型:模型是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。模型由一组图形符号和组织这些符号的规则组成。
(2)建模过程:
结构化分析实质上是一种创建模型的活动。为了开发出复杂的软件系统,系统分析员应该从不同角度抽象目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把实现有关的细节加进模型中,直到最终用程序实现模型
软件需求规格说明书是需求分析阶段得出的最主要的文档。通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。自然语言的规格说明具有很容易书写、容易理解的优点。
为了把用户的数据要求清楚、准确地描述出来,通常建立一个概念性的数据模型(信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与在软件系统中的实现方法无关。
数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互关联的关系
定义:
数据对象是对软件必须理解的复合信息的抽象。复合信息是指具有一系列不同性质或属性的事物,仅有单个值的事物不是数据对象。
特点:
属性定义了数据对象的性质。必须把一个或多个属性定义为标识符,即当希望找到数据对象的一个实例时,用标识符属性作为“关键字”。应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。
数据对象彼此之间相互连接的方式称为联系,也称为关系。联系也可能有属性。联系可分为以下三种类型:
使用实体联系图来建立数据模型。可以把实体─联系图简称为E—R图,把用E—R图描绘的数据模型称为E—R模型。
E—R图中包含了实体(数据对象)、关系和属性3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。
软件系统与经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。
①通常用“范式”定义消除数据冗余的程度。第一范式数据冗余程度最大,第五范式数据冗余程度最小。
②范式级别越高,存储同样数据就要分解成更多张表,“存储自身”的过程也就越复杂。
③随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,故在需求变化时数据的稳定性较差。
④范式级别提高则需要访问的表增多,因此性能将下降。一般选用第三范式都比较恰当
①第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。
②第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定。
③第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述,即一个非关键字属性值不依赖于另一个非关键字属性值。
状态转换图(状态图)通过描绘系统的状态及引起系统状态转换的时间,来表示系统的行为,状态图还提供了行为建模机制,指明了作为特定事件的结果系统将做哪些动作。
(1)定义:
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或做一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。
(2)分类:
状态主要有:初态(初始状态)、终态(最终状态)和中间状态。在一张状态图中只能有一个初态,而终态可以有0个或多个。
(3)表示:
状态图既可以表示系统循环运行过程,也可以表示系统单程生命周期。
事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。简而言之,事件就是引起系统做动作或转换状态的控制信息。
(1)符号的表示方法
(1)定义:
层次方框图用树形结构的一系列多层次的矩形描绘数据的层次结构,树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素。
(2)特点:
随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合需求分析阶段的需要。系统分析员从顶层信息的分类开始,沿图中每条路径反复细化,直到确定了数据结构的全部细节为止。
(1)验证需求正确性的目的
需求分析阶段的工作结果是开发软件系统的重要基础。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。
(2)进行验证的四个方面
(1)要求
为了更有效地保证软件需求的正确性,特别是为了保证需求的一致性,需要有适当的软件工具支持需求分析工作。这类软件工具应该满足下列要求。
①必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容。
②使用这个软件工具能够导出详细的文档。
③必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果。
④使用这个软件工具之后,应该能够改进通信状况。
需求分析的原因:
为了开发真正满足用户需求的软件产品,需求分析是软件开发工作获得成功的前提条件,不能满足用户需求的程序只会令用户失望,给开发者带来烦恼。
对软件系统的需求:
功能需求、性能需求、可靠性和可用性需求、出错处理、接口需求、约束、逆向需求、将来可能提出的要求。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。