3.2 结构化分析方法

【考点1】需求分析与需求分析方法

(1)需求分析

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

任务是发现需求、求精、建模和定义需求的过程。

需求的定义

a.用户解决问题或达到目标所需的条件或权能;

b.系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能;

c.一种反映a或b所描述的条件或权能的文档说明。

该定义从两方面阐述了需求的含义:

一是从用户角度所要求的系统应具有的功能,是系统的外部行为。

二是从系统开发者角度所要求的系统应具有的功能,是系统的内部特性。

需求分析阶段的工作

a.需求获取

需求获取的目的是确定对目标系统的各方面需求。涉及的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。

b.需求分析

对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。

c.编写需求规格说明书

作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

d.需求评审

对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。

(2)需求分析方法

结构化分析方法

a.面向数据流的结构化分析方法;

b.面向数据结构的Jackson方法;

c.面向数据结构的结构化数据系统开发方法。

面向对象的分析方法

从需求分析建立的模型的特性来分,需求分析方法又分为静态分析方法和动态分析方法。

【真题演练】

1下面描述中不属于软件需求分析阶段任务的是(  )。[2014年9月真题]

A.撰写软件需求规格说明书

B.软件的总体结构设计

C.软件的需求分析

D.软件的需求评审

【答案】B

【解析】需求分析阶段的工作包括:需求获取;需求分析;编写需求规格说明书;需求评审。软件的总体结构设计属于概念设计阶段的工作。答案选择B选项。

2在软件开发中,需求分析阶段产生的主要文档是(  )。[2013年3月真题]

A.可行性分析报告

B.软件需求规格说明书

C.概要设计说明书

D.集成测试计划

【答案】B

【解析】B项,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档,是需求分析阶段产生的主要文档。其作用是:便于开发人员进行理解和交流;反映用户问题的结构,可作为软件开发工作的基础和依据;可作为确认测试和验收的依据。A项,可行性分析报告产生于可行性分析阶段;C项,概要设计说明书产生于总体设计阶段;D项,集成测试计划产生于概要设计阶段。答案选择B选项。

【考点2】结构化分析方法

(1)关于结构化分析方法

定义

结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。

实质

着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

结构化分析的步骤:

a.通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型;

b.去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;

c.根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;

d.完善目标系统并补充细节,写出目标系统的软件需求规格说明;

e.评审直到确认完全符合用户对软件的需求。

(2)结构化分析的常用工具

数据流图

a.定义:数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。

b.数据流图中的主要图形元素与说明

加工(转换)。输入数据经加工变换产生输出。

数据流。沿箭头方向传送数据的通道,一般在旁边标注数据流名。

存储文件(数据源)。表示处理过程中存放各种数据的文件。

数据的源点和终点。表示系统和环境的接口,属系统之外的实体。

c.建立数据流图的步骤:

第一,由外向里:先画系统的输入输出,然后画系统的内部;

第二,自顶向下:顺序完成顶层、中间层、底层数据流图;

第三,逐层分解。

d.数据流图的构造规则和注意事项

第一,对加工处理建立唯一、层次性的编号,且每个加工处理通常要求既有输入又有输出;

第二,数据存储之间不应该有数据流;

第三,数据流图的一致性;

第四,父图、子图关系与平衡规则。

相邻两层DFD之间具有父、子关系,子图代表了父图中某个加工的详细描述,父图表示了子图间的接口。

数据字典

a.数据字典的作用

数据字典是结构化分析方法的核心,对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。

b.数据字典包含的内容

数据字典包含的信息有:名称、别名、何处使用/如何使用、内容描述、补充信息等。

判定树

分清判定条件和判定结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。

判定表

判定表由以下四部分组成:

a.基本条件项:列出了各种可能的条件;

b.条件项:列出了各种可能的条件组合;

c.基本动作项:列出了所有的操作;

d.动作项:列出在对应的条件组合下所选的操作。

【真题演练】

1数据流图中,带有箭头的线段表示的是(  )。[2013年3月真题]

A.控制流

B.事件驱动

C.模块调用

D.数据流

【答案】D

【解析】数据流图基本符号的含义:矩形表示数据的外部实体;圆角的矩形表示变换数据的处理逻辑;缺少右半边的矩形表示数据的存储;箭头表示数据流。答案选择D选项。

2软件开发中,需求分析阶段可以使用的工具是(  )。[2013年3月真题]

A.N-S图

B.DFD图

C.PAD图

D.程序流程图

【答案】B

【解析】结构化解析方法是结构化程序设计理论在软件需求解析阶段的运用,DFD(数据流图)是结构化解析常用的工具之一,数据字典、判定树和判定表也是常用的结构化分析工具。程序流程图、N-S图、PAD图等图形工具用于详细设计的过程中。答案选择B选项。

【考点3】软件需求规格说明书

软件需求规格说明(SRS)是描述需求中的重要文档,是软件需求分析的主要成果。

(1)软件需求规格说明书的作用

便于用户、开发人员进行理解和交流;

反映出用户问题的结构,可以作为软件开发工作的基础和依据;

作为确认测试和验收的依据;

为成本估算和编制计划进度提供基础;

软件不断改进的基础。

(2)软件需求规格说明书的内容

功能需求是软件需求规格说明,给出软件要执行什么功能的详尽描述;

性能需求是指定量地描述软件系统应满足的具体性能需求,即各种软件功能的速度、响应时间、恢复时间;

外部接口指软件如何与人、系统的硬件及其他硬件和其他软件进行交互;

属性是指与软件有关的质量属性,如正确性、可用性、可靠性、安全性、可维护性等;

约束条件包括影响软件实现的各种设计约束,如使用的标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求。

(3)软件需求规格说明的特点

正确性。体现待开发系统的真实要求。

无歧义性。对每一个需求只有一种解释,其陈述具有唯一性。

完整性。包括全部有意义的需求,功能的、性能的、设计的、约束的,属性或外部接口等方面的需求。

可验证性。描述的每一个需求都是可以验证的,即存在有限代价的有效过程验证确认。

一致性。各个需求的描述不矛盾。

可理解性。需求说明必须简明易懂,尽量少包含计算机的概念和术语,以便用户和软件人员都能接受它。

可修改性。SRS的结构风格在需求有必要改变时是易于实现的。

可追踪性。每一个需求的来源、流向是清晰的,当产生和改变文件编制时,可以方便地引证每一个需求。