结构化分析课件_第1页
结构化分析课件_第2页
结构化分析课件_第3页
结构化分析课件_第4页
结构化分析课件_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章结构化分析

第三章结构化分析

第一节需求分析

第二节结构化分析方法

第三节他具有结构化思想的需求分析方法

第三章结构化分析

第一节需求分析

软件需求是指用户对目标系统在功能、行为、

性能、设计约束等方面的要求。

需求分析是指对应用问题及其环境的理解与

分析,为问题涉及的信息、功能及系统行为建立

模型,将用户需求精确化、完全化,最终形成需

求规格说明的一系列活动或过程。

第三章结构化分析

需求分析介于系统分析和软件设计之间。

一方面,需求分析以系统规格说明和项目

规划作为分析活动的基本出发点。

另一方面,需求分析规格说明书又是软件

设计、实现、测试和维护的基础。

一个软件系统是由相互联系和相互作

用的若干部分组成的,是具有特定功能的

有机整体。要准确回答“系统必须做什

么“,要进行软件需求分析,需求分析有

时称为系统分析。

需求分析的过程是一个对系统的理解

与表达的过程,是软件工程的一个重要活

动。

理解就是开发人中充分理解用户的需求,对

问题及环境的理解、分析与综合,逐步建立目标

系统的模型。应该是开发人员与用户一起来理解

系统,大家都来理解系统要做什么。

表达就是产生规格说明书等有关文档。规格

说明书就是把分析的结果完全地、精确地表达出

来。

第三章结构化分析

一、需求分析的任务

需求分析的基本任务是确定系统必须完成哪

些工作,也就是对目标系统提出完整、准确、清

晰和具体要求。

即必须准确回答问题:“系统能做什么?”

而不是确定系统如何完成它的工作O

第三章结构化分析

软件项目的用户要求

用户与分析员之间需要通信和沟通。

一方面,分析员必须应澄清用户需求的模糊

性、歧义性和不一致性,全面理解用户的各项要

求,但又不能全盘接受所有要求,因为用户提出

的要求未必都是合理的。对于无法实现的要求,

应予充分解释,并对相互冲突的要求进行折衷。

另一方面,必须准确表达被接受的用户要求,

因为描述确切的软件需求才能成为软件设计和实

现的基础。

第三章结构化分析

对需求分析的结果,即分析模型和需求规格

说明必须严格审查。需求规格说明一旦得到用户

和软件开发方一致确认后,它将成为用户和软件

开发方之间的合同。

作为目标系统的参考,需求分析要做的工作

是借助于当前系统的逻辑模型导出目标系统的逻

辑模型,解决目标系统“做什么”的问题

第三章结构化分析

导出理解需

求的表达

第三章结构化分析

需求分析的任务主要有如下几个方面:

1.确定软件的综合需求

软件的综合需求包括:功能需求,性能需求,

运行需求,可靠性需求,安全保障需求,用户界

面需求,资源使用需求,成本消耗与开发进度需

求,将来可能提出的需求。

第三章结构化分析

功能需求:列出被开发的软件应该作什么。

性能需求:给出被开发的软件的技术性能指标,

包括存贮容量限制,响应时间,精确度指标和安全

性等。

运行需求:对系统运行时所处环境的要求。例如

在硬件方面,采用什么机型、什么外部设备和数据

通信接口等;在软件方面,采用什么系统软件(操

作系统,网络软件,数据库管理系统等)支撑软件

系统运行;在使用方面,要求使用部门、操作人员

在技术水平上应该具备什么样的条件等。

第三章结构化分析

可靠性需求:按实际的运行环境提出对被

开发软件在投入运行后不发生故障的概率之要

求。

安全保障需求:按实际环境提出对被开发

软件给予特殊设计,使其在投入运行后其安全

保密方面性能得到必要保证的要求。

用户界面需求a软件与用户界面友好程度

第三章结构化分析

资源使用需求:对被开发软件运行时所需的

数据、软件、内存空间等各项资源的要求;对开

发软件所需的人力、支撑软件、开发设备等的要

求。

成本消耗与开发进度需求:软件立项后,根

据合同规定,对软件开发的进度和各步骤的费用

要求。

将来可能提出的需求:对软件将来可能的扩

第三章结构化分析

2.分析系统的数据需求

分析系统的数据需求就是从系统的信息流中

归纳抽象出数据元素组成、数据的逻辑关系、数

据字典格式和数据模型,并以输入/处理/输出的

结构方式表示。

第三章结构化分析

3.导出系统的逻辑模型

明确目标系统与当前系统的逻辑差别,将变

化部分看作是新的处理过程,然后由外及里对变

化进行分析,推断其结构,最终获得目标系统的

逻辑模型。

第三章结构化分析

4.修正系统开发计划

在对目标系统有了更深入更具体认识的基础

之上对开发计划进行修正。

5.开发原形系统

采用开发原形系统策略的理由是:人类认识

能力的局限性,不能预先穷尽所有要求;用户与

系统分析员之间存在通信鸿沟;用户需要一个显

示的系统以便获得使用经验;开发过程中的反复

和重复是必要的和不可避免的。

第三章结构化分析

使用原形系统的目的是:让用户通过实践

获得关于未来系统将怎样为他们服务的直接概

念,从而能更准确的提出和确定用户要求。

探索型原型

第三章结构化分析

二、需求分析的主要步骤:

1.调查研究

调查用户需求,访谈或会谈是最早开始运

用的获取用户需求的技术,也是迄今为止广泛使

用的需求分析技术。

第三章结构化分析

2.分析与综合

问题分析与方案综合要求分析员从数据流和

数据结构出发,逐步细化所有的软件功能,找出

系统个元素之间的联系、接口特性和设计上的约

束,分析它们是否满足功能需求,是否合理。删

除不合理的部分,增补需要的部分,最终综合出

系统的解决方案,导出系统的详细逻辑模型。

3.书写文档

这个阶段可能需要完成下面三份文档资料

1)系统需求规格说明:主要包括描述目标系

统概貌、功能要求、性能要求、运行要求和将来

可能提出的要求。数据流图、用IPO图或其他工具

简要描述的系统主要算法都是该份文挡的重要组

成部分。此外,该份文档还应包括用户需求与系

统功能之间的关系、设计约束等等。

软件需求规格说明是需求分析阶段的最终成

果。

第三章结构化分析

2)数据要求:主要包括数据字典以及描述

数据结构的层次方框图或Warnier图。此外,

该份文档还应包括对存储信息分析的结果。

第三章结构化分析

3)用户系统描述:主要包括对系统功能性

能扼要描述,使用系统的主要步骤和方法,以

及用户的责任等等。该文档相当于一份初步用

户手册,它使得未来用户能从使用系统的角度

检查该目标系统,进而让用户比较易于判断这

个系统是否满足他们的需要。

修正开发计划:主要包括成本计划、资

源使用计划和进度计划等等。

第三章结构化分析

4.需求分析评审

将需求规格说明书提交设计之前,必须进

行需求评审,这是需求分析的最后一步。如果

在评审过程中发现说明书中存在错误或缺陷,

应及时重新进行相应的初步需求分析,修改需

求规格说明书,并重新评审。

第三章结构化分析

评审的内容包括:

正确性:需求规格说明书中对系统的功能、

行为、性能描述必须符合用户对目标软件产品的

期望。

无歧义性:需求规格说明书中的语法单位只

有唯一的解释。使用标准化术语是一种确保无歧

义性的有效措施。

完整性:需求规格说明书中不能遗漏用户需

求,即目标软件产品的所有功能、行为、性能约

束以及它在所有可能情况下的预期行为应该完全

包含在需求规格说明书中。

第三章结构化分析

可验证性:需求规格说明书中的各类需求都

应该存在技术和经济上的可行手段进行验证和确

认。

一致性:需求规格说明书中各部分不能存在

矛盾。例如,术语使用方面的冲突,功能和行为

特征方面的冲突,时序方面的前后不一致等。

第三章结构化分析

可理解性:用户设计人员和测试人员应该容

易理解需求规格说明书中的描述,避免使用过多

的专业词汇。

可修改性:需求规格说明书中的格式和组织

方式应能保证比较容易地接受后续的增、删和修

改,并使修改后的说明书能够较好地保持其他各

项属性。

可追踪性:需求规格说明书必须能将分析后

获得的每项需求与用户的原始需求清晰地联系起

来,并为后续开发和其他文档引用这些需求项提

供便利。

第三章结构化分析

另外还有系统需求分阶段提供的文档资

料是否齐全,与其他系统的重要接口是否都

已描述,设计的约束或限制条件是否切合实

际,被开发项目的数据流与数据结构是否足

够、确定,开发的技术风险是什么,用户是

否审查了初步用户手册,软件开发计划中的

估算是否受到了影响等等,其中正确性在评

审中受到普遍关注。

第三章结构化分析

评审应由专门指定的人员负责,评审结束后

应有评审负责人的结论意见及签字。分析员,用

户、开发部门的管理者、软件设计、实现、测试

人员都应当参加评审工作。评审可以采取会议的

形式进行,首先,分析员要说明软件产品的总体

目标,包括产品的主要功能、与环境的交互行为

以及性能指标。

第三章结构化分析

评审会议要对需求模型进行评估,以此决定

该说明书能否成为良好的软件设计基础。评审会

议还要就原始软件问题讨论除当前需求模型之外

的其他解决问题的方案,并对各种影响软件设计

和质量的因素进行折衷,决定说明书中采用的取

舍是否合理。最后,评审会议应对软件的质量确

认方法进行讨论,形成为用户和开发人员均能接

受的各项测试指标。

第三章结构化分析

三、需求分析的原则

1.理解和表示问题的信息域和功能域。

信息域包括数据流数据内容数据结构

数据流就是数据经过系统时的变化形式,输

入数据先转换成中间数据,再由中间数据转换成

输出结果数据。

数据内容就是数据项。

数据结构就是各数据项的逻辑组织。

第三章结构化分析

2.对描述信息、功能和行为的模型进行分

解,用层次的方式展示细节。

把J可题以自顶向下、逐层分解的方式分解

为几个较易理解的部分,并确定各部分之间

的接口,从而实现软件的整体功能。

在需求分析阶段,软件的功能域和信息域

都可以做进一步的分解。

第三章结构化分析

3.分清系统的:」和「":

•WS给出的是系统要达到的功能和要处

理的信息间的关系,而不是实现细节。

II卷濠I给出的是系统处理功能和数据结构

的实际表示形式,这通常由设备本身所决定。

第三章结构化分析

第二节结构化分析方法

结构化分析(StructuredAnalysis,SA)的基

本思想是用抽象模型的概念,按照软件的内部数

据传递、变换关系,从层次的角度出发,自顶向

下地逐层分解,直到找到满足功能要求的所有可

实现的软件为止。

是指抽出事物的本质特性而暂时不考虑

它们的细节。

分解是指把一个大问题经过多次逐层划分成

为若干个足够简单容易解决的小问题的过程。

抽象和分解是结构化分析方法的主要手段O

第三章结构化分析

结构化分析方法是一种依赖数据流图的自顶

向下的建模方法,它的核心是数据流图,所以又

说它是一种面向数据流的分析方法

结构化分析方法常用的几个工具是数据流图、

数据字典、结构化英语、判定表与判定树

第三章结构化分析

一、数据流图

数据流图(DFD)从数据传递与加工的角度,以

图形的方式描绘数据从输入移动到输出所经历的

变换过程。设计数据流图时,只需考虑软件必须

完成基本逻辑功能,不要考虑如何实现这些功能。

第三章结构化分析

1.数据流图符号

数据的源点/汇点

加工或处理,输入数据在

此进行变换产生输出数据

数据存储

数据流

第三章结构化分析

I.例子

假设一家工厂的采购部每天需要一张定货报

表,报表按零件编号排序,表中列出所有需要

再次定货的零件。对于每个需要再次定货的零

件应该列出下述数据:零件编号、零件名称、

定货数量、目前价格、主要供应者和次要供应

者。零件入库或出库称为事务,通过放在仓库

中的CRT终端把事务报告给定货系统。当某种零

件的库存数量少于库存量临界值时就应该再次

定货。

第三章结构化分析

要画出上述定货系统的数据流图,须从问题

描述中获取数据流图的四种成分:

源点或终点处理逻辑数据存储数据流

仓库管理员可作数据源点;由“采购部每天需要

一张定货报表》和“仓库中的CRT终端把事务报

告给定货系统”知道采购员可作为数据终点。任

何改变数据的操作都是处理或加工,因此必须有

一个用于产生报表的处理和一个改变零件库存量

的事务的处理。系统把生成的定货报表送往采购

部,因此定货报表是一数据流;事务从仓库送到

系统,所以事务是另一数据流。每当有一个事务

发生时,就立即处理这个事务,然而每天只产生

一次报表。

第三章结构化分析

任何系统的基本模型都由若干个数据源点/终点

以及一个处理组成,这个处理就代表了系统对数据

加工变换的基本功能。对于上述的定货系统可以®

出如图所示的基本系统模型。

第三章结构化分析

从基本系统模型这个非常高的抽象层次开始

画数据流图优点是这个高层次的数据流图上是

否列出了所有给定的数据源点/终点是一目了然

的。

下一步应该把基本系统模型细化,描绘系统

的主要功能。在图3.5中给处理和数据存储都

加了编号,这样做的目的是便于引用和追踪。

第三章结构化分析

第三章结构化分析

接下来应该对功能级数据流图中描绘的系

统主要功能进一步细化。当对数据流图分层细

化时必须保持信息连续性,也就是说,当把一

个处理分解为一系列子处理时,分解前和分解

第三章结构化分析

第三章结构化分析

3.命名

数据流图中每个成分的命名是否恰当,

直接影响数据流图的可理解性。

第三章结构化分析

为数据流(或数据存储)命名。名字应代表整

个数据流(或数据存储)的内容,而不是仅仅反映

它的某些成分。不要使用空洞的、缺乏具体含义

的名字(如“数据"、"信息”、"输入”之类)。

如果在为某个数据流(或数据存储)起名字时遇到

了困难,则很可能是因为对数据流图分解不恰当

造成的,应考虑重新分解。

第三章结构化分析

为处理命名。通常先为数据流命名,然后再

为与之相关联的处理命名。名字应该反映整个处

理的功能,而不是它的一部分功能。

尽量避免使用“加工”、“处理”等空洞笼

统的动词作名字。通常名字中仅包括一个动词,

如果必须用两个动词才能描述整个处理的功能,

则把这个处理再分解成两个处理可能更恰当些。

如果在为某个处理命名时遇到困难,则很可

能是发现了分解不当的迹象应考虑重新分解。

第三章结构化分析

4.数据流图的画法

(1)画数据流图的原则

画数据流图的基本步骤可以概括为:“自

外向内、自顶向下、逐层细化、完善要求”。

画法如下

1)找出数据的源点与汇点,它们是外部实体,

有了它们,就可以确定系统与外部世界的接口。

2)找出外部实体的输出数据流和输入数据流。

3)画出系统的外部实体。

4)从外部实体的输出数据流出发,根据系统的

逻辑需求,逐步画出一系列逻辑加工,直至找

到外部实体所需要的输入数据流,从而形成数

据流的封闭。

5)进行检查和修改。

6)按找上述步骤,再从各加工出发,画出所需

的子图。

供货第三章结构化分析

供货商原材料

-商

原材料

原材料熔化的原料

2

收原材料

熔化」

原材料到达产品库存下降

客铸钟

产量

成口口和控制

运输单

7生产细节

运*刖钟跑调

6

合格的钟

已包装成品成品包装5

运输成品装配

细节

客尸定单

装箱成品包装材料成品钟舌

第三章结构化分析

数据流图除了用于概念设计,还可以用于系统的逻

辑设计6

例:图书馆为读者提供图书(包括刊物)的借阅、归

还、续借、预约服务。可以用书名预约图书,用刊物名和

卷号(简称为卷号)预约刊物。用户要成为读者须先登记。

读者离开图书馆后,工作人员要取消无效的预约,要

作图书的整理和上架等工作。

有些图书需要装订。图书馆从机关团体处(如出版社)

取得图书,或与其他图书馆进行交换。图书馆需要经常统

计图书的使用情况,向领导层汇报(管理者)。此外,图

书馆还向社会捐赠图书。

第三章结构化分析

4个子系统:

第三章结构化分析

4个外部实体:

用户:登记后成为读者

机关团体:为图书馆提供图书。

管理者:管理图书的使用情况。

社会福利事业:接受图书馆捐赠的图书。

第三章结构化分析

5个数据存储:

读者:记录图书馆所有读者的信息。

图书:记录所有图书的信息。

图书馆:记录所看外部图书馆的信息。

图书馆用书:记录与外部图书馆交换图

读者用书:记录读者使用图书的所有

第三章结构化分析

图书馆系统

读者服务图书服务图书使用使用情况

第三章结构化分析

数据流图的优点

•自顶向下描述系统中信息的流动,结构清晰,概

念性强,有利于系统分析员理顺系统脉络、澄清含

混的概念和逻辑。

•因为数据流图的表达方式是结构化的,易于与常

用的计算机处理相对应,容易转换为低级别的设计。

数据流图的缺点

可能变得非常复杂,不易理解。

不能处理出错和意外情况。

•不能描述过程的控制结构(没有条件分支、

r循环、选择)。

二、数据字典

数据字典是为了描述在结构化分析过程中定

义的对象的内容,而使用的一种半形式化的工具。

1.数据字典的定义

数据字典是描述数据信息的集合,它对数据

流图中的各个元素进行完整的定义与说明,是数

据流图的补充工具。

数据字典是所有与系统相关的数据元素的有

组织的列表,并且包含了对这些数据元素的精确、

严格的定文,从而使得用户和系统分析员双方对

输入、输出、存储的成分甚至中间计算结果有共

同的理解。

第三章结构化分析

2.数据字典的内容

1)数据流

在数据流图中,数据以数据流为单位进行传

输。主要内容包括:

1)名字及称号。

2)可能的来源和去处:外部实体,处理逻辑,

数据存储。

3)组成:一个数据流可能包含若干个数据结

构。

第三章结构化分析

2)数据项

数据项也称数据元素,它“不可再分”,

是数据的最小单位。主要内容包括:

1)名称和编号。

2)别名。数据项另外的名称。

3)取值的范围和含义。

4)长度。数据项包含的字符或数字的位

数。

(3)数据存储

数据存储是数据结构停留和保存的地方。主

要内容包括:

1)名称和编号。

2)流入、流出数据流。流入数据流指出其来

源,流出数据流指出其去向。

3)组成。数据存储所包含的数据项和数据结

构。

第三章结构化分析

:4)处理逻辑

第三章结构化分析

(5)外部实体

主要内容包括:

1)名称和编号。

2)相关数据流。

第三章结构化分析

(6)数据结构

数据结构是各个数据项之间的逻辑关系的一

种描述。一个数据结构可以由若干个数据项组成,

也可以由若干个数据项和数据结构组成。主要内

容包括:

1)名称和编号

2)组成。若是一个简单的数据结构,需要列

出它所包含的数据项;若是一个嵌套的数据结构,

需要列出它所包含的数据结构名称。

第三章结构化分析

3.定义数据的方法

对数据自顶向下分解,当元素分解到每个

与工程有关的人都清楚其含义时,分解就告结

束。

数据元素组成数据的方式有四种类型。

1)顺序:以确定的次序连接两个或多个分量。

2)选择从两个或多个可能的元素中选取一个。

3)重复把指定的分量重复零次或多次。

4)可选一个分量是可有可无的(重复零次或

第三章结构化分析

4.数据字典的用途

首先,数据字典中所建立的一组严密一致的

定义有助于改进工程参与人员之间的通信,消除

许多可能的误会,避免许多麻烦的接口问题。

其次,数据字典列出了使用一个给定的数据

元素的所有程序或模块,很容易估计改变一个数

据将产生的影响,并能对所有受影响的程序或模

块作出相应的改变。

最后,数据字典是开发数据库的第一步。

目前实现数据字典有三种途径:

全人工过程

利用数据字典处理程序的全自动化过程

用正文编辑程序报告生成程序等已有的

实用程序帮助人工过程的混合过程。

各称

别名

指述

定义

限制

子图

存款单一L

P2

现金,利息单

数据描述

数据字典

名称别名类型长度

XM8

CKRQ

SFZH16

类别LB

QKRQ

8,2

利息税LXS

、客户表=姓名+身份证-亍'豕^电*7古

储蓄信息表=姓名+身份证号+金额+类另।

+存款日期

第三章结构化分析

三、加工逻辑小说明

分层数据流图的最底层数据流图中的加工不

能再通过子图做进一步的描述,因此必须有一个

加工小说明来定义底层数据流图中的加工。

目前用于写加工逻辑说明的工具有结构化英

第三章结构化分析

行为4

行为5

使用1号包装箱

使用2号包装箱

使用3号包装箱

使用4号包装箱

决策

决策表的结构

第三章结构化分析

1中音钟TTFF

匕豪华型

­•TFTF

使用1号包装箱V

使用2号包装箱V

使用3号包装箱V

使用4号包装箱V

老客户TTFF

即时付款TFFFF

一周内付款TFTF

半月内付款FTFT

正常价格X0.95

正常价格V

正常价格XL05VV

正常价格义1.10V

第三章结构化分析

矩阵是一个普遍使用的简单易行的方法,最常用的是。根据用

途不同,有不同的类型。

寻找或确定行元素与列元素的关系,然后利用行与列交汇处的值来

完成某种任务。

(1)功能/事件矩阵

某个功能由哪些事件来触发

接受申请选择学生学生登记交纳学费

事宿'

1申请入学VV

1录取学生VV

学生注册

第三章结构化分析

(2)实体/功能矩阵

收到1:卡||松浦;||..|IIiKf'lUI|迎L;力

实体客户订单订单项产品

功能、\

收到需求RCC

核准RURUR

汇集RRu

发回RRURU

客户确认CRUDR

通知库房RRCRUD

第三章结构化分析

四、实体—关系图

数据字典强调对数据存储结构的逻辑设计,

并用数据结构表达数据项之间的逻辑关系,在

复杂数据与数据之间的复杂关系的分析和建模

中,数据字典机制难以适应,这时可以使用实

体一关系图。

数据对象是指具有一系列不同性质或属性的

事物,仅有单个值的事物,例如宽度,就不是数

据对象。

2.属性

属性定义了数据对象的性质,应该根据对所

要解决的问题的理解,来确定特定数据对象的一

组合适的属性。

第三章结构化分析

3.关系

数据对象彼此之间相互连接的方式称为关系

或联系。

(1)一对一联系(1*1)

(2)一对多联系(1:N)

(3)多对多联系(M:N)

联系也可能有属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论