第3章 需求分析

3.1 复习笔记

一、需求分析的任务

1需求分析的定义

需求分析是发现、求精、建模、规格说明和复审的过程。

2需求分析的必要性

为了开发出真正满足用户需求的成功的软件产品,必须知道用户的需求。

3需求分析的任务

(1)确定对系统的综合要求;

(2)分析系统的数据要求;

(3)导出系统的逻辑模型;

(4)修正系统开发计划。

4对软件系统的综合需求

(1)功能需求

(2)性能需求

(3)可靠性和可用性需求

(4)出错处理需求

(5)接口需求

(6)约束

(7)逆向需求

(8)将来可能提出的要求

【注意】在描绘系统中的数据结构,使用层次方框图或Warnier图等图形工具。

二、与用户沟通获取需求的方法

1访谈

2面向数据流自顶向下求精

3简易的应用规格说明技术

4快速建立软件原型

三、分析建模与规格说明

1分析建模

(1)模型

模型由一组图形符号和组织这些符号的规则组成。

(2)建模过程

结构化分析实质上是一种创建模型的活动,应从不同的角度抽象目标系统的特性。

2软件需求规格说明

软件需求规格说明书是需求分析阶段得出的最主要的文档。

四、实体-联系图

1数据模型的定义

概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。

2数据模型的构成

(1)数据对象

定义

数据对象是对软件必须理解的复合信息的抽象。

特点

a.可以由一组属性来定义的实体都可以被认为是数据对象。

b.数据对象彼此间是有关联的。

c.数据对象只封装了数据而没有对施加于数据上的操作的引用。

(2)属性

属性定义了数据对象的性质。

(3)联系

数据对象彼此之间相互连接的方式称为联系,也称为关系。联系也可能有属性。联系可分为以下3种类型。

一对一联系(1:1)

一对多联系(1:N)

多对多联系(M:N)

3实体-联系图(E-R图)

(1)基本成分

E-R图中包含了实体(数据对象)、关系和属性3种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用直线把实体(或关系)与其属性连接起来。

(2)优点

E-R模型比较接近人的习惯思维方式;

E-R模型使用简单的图形符号来描述问题,便于用户理解。

五、数据规范化

六、状态转换图

1定义

状态转换图(状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

2状态

(1)定义

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。

(2)分类

状态主要有:初态(初始状态)、终态(最终状态)和中间状态。

【注意】在一张状态图中只能有一个初态,而终态则可以有0至多个。

3事件

事件是在某个特定时刻发生的事情,是引起系统做动作或(和)转换状态的控制信息。

4状态图的符号

(1)符号的表示方法

初态:用实心圆表示。

终态:用一对同心圆(内圆为实心圆)表示。

中间状态:用圆角矩形表示。可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,下面部分是活动表。

(2)组成部分

图3-1给出了状态图中使用的主要组成部分和符号表示。

图3-1 状态图中使用的主要符号

活动表

活动表的语法格式为:事件名(参数表)/动作表达式

在活动表中经常使用下述3种标准事件:entry,exit和do。entry事件指定进入该状态的动作;exit事件指定退出该状态的动作;do事件则指定在该状态下的动作。

状态转换

状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。

事件表达式

事件表达式的语法为:事件说明[守卫条件]/动作表达式,其中,事件说明的语法为:事件名(参数表)。

七、其他图形工具

1层次方框图

层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。

2Warnier图

Warnier图有以下三种基本符号:

花括号:用来区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息。

异或符号:表明一类信息或一个数据元素在一定条件下才出现。

圆括号中的数字:指明了这个名字代表的信息类在这个数据结构中重复出现的次数。

3IPO图

(1)定义

IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

(2)基本形式和用法

左边的框中列出有关的输入数据;

中间的框内列出主要的处理;

右边的框内列出产生的输出数据;

粗大箭头指出数据通信的情况。

处理框中列出处理的次序暗示了执行的顺序。

(3)改进的IPO图

改进的IPO图(IPO表)中包含某些附加的信息。如图3-2所示,改进的IPO图中包含的附加信息主要有系统名称、图的作者,完成的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单,注释,以及本模块使用的局部数据元素等。

图3-2 改进的IPO图的形式

【注意】考生要区分并牢记给定图形工具可用于软件生命周期的哪一阶段,此为常考题。本节三种图形工具均可用于需求分析阶段。

八、验证软件需求

1验证软件需求的正确性

(1)验证需求正确性的目的

为了提高软件质量,确保软件开发成功,降低软件开发成本。

(2)进行验证的四个方面

一致性;

完整性;

现实性;

有效性。

2验证软件需求的方法

(1)验证需求的一致性;

(2)验证需求的现实性;

(3)验证需求的完整性和有效性。

3用于需求分析的软件工具——PSL/PSA系统

定义

PSL是用来描述系统的形式语言,PSA是处理PSL描述的分析程序。

功能

a.描述任何应用领域的信息系统;

b.创建一个数据库保存对该信息系统的描述符;

c.对描述符施加增加、删除和更改等操作;

d.产生格式化的文档和关于规格说明书的各种分析报告。

优点

a.改进了文档质量,能保证文档具有完整性、一致性和无二义性,从而可以减少管理和维护的费用;

b.数据存放在数据库中,便于增加、删除和更改。