结构化需求分析方法.docx

上传人:b****0 文档编号:260952 上传时间:2022-10-08 格式:DOCX 页数:8 大小:229.68KB
下载 相关 举报
结构化需求分析方法.docx_第1页
第1页 / 共8页
结构化需求分析方法.docx_第2页
第2页 / 共8页
结构化需求分析方法.docx_第3页
第3页 / 共8页
结构化需求分析方法.docx_第4页
第4页 / 共8页
结构化需求分析方法.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

结构化需求分析方法.docx

《结构化需求分析方法.docx》由会员分享,可在线阅读,更多相关《结构化需求分析方法.docx(8页珍藏版)》请在冰豆网上搜索。

结构化需求分析方法.docx

结构化需求分析方法

结构化分析(SA)方法

结构化开发方法(StructuredDevelopingMethod)就是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点就是快速、自然与方便。

结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD法)及结构化程序设计方法(SP法)构成的。

结构化分析(StructuredAnalysis,简称SA法)方法就是面向数据流的需求分析方法,就是70年代末由Yourdon,Constaintine及DeMarco等人提出与发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别就是企事业管理系统。

  SA法也就是一种建模的活动,主要就是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

  1SA法概述

  1、SA法的基本思想

  结构化分析(StructuredAnalysis,简称SA法)就是面向数据流的需求分析方法,就是70年代由Yourdon,Constaintine及DeMarco等人提出与发展,并得到广泛的应用。

  结构化分析方法的基本思想就是“分解”与“抽象”。

  分解:

就是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。

  图4就是自顶向下逐层分解的示意图。

顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层就是从抽象到具体的逐层过渡。

抽象:

分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就就是“抽象”。

  2、SA法的步骤

  ⑴建立当前系统的“具体模型”;

  系统的“具体模型”就就是现实环境的忠实写照,即将当前系统用DFD图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

  ⑵抽象出当前系统的逻辑模型;

  分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD图描述的当前系统的“逻辑模型”。

  ⑶建立目标系统的逻辑模型;

  分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统“做什么”,建立目标系统的“逻辑模型”(修改后的DFD图)。

  ⑷为了对目标系统作完整的描述,还需要考虑人机界面与其它一些问题。

  3、SA法的描述工具

  ⑴分层的数据流图

  ⑵数据词典

  ⑶描述加工逻辑的结构化语言、判定表或判定树。

  2数据流图

  数据流图(DataFlowDiagram,简称DFD)就是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入与逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。

  1、数据流图的图符数据流图有以下4种基本图形符号:

   

  箭头表示数据流,圆或椭圆表示加工。

双杠或者单杠表示数据存储,矩形框表示数据的源点或终点,即外部实体。

  ⑴数据流就是数据在系统内传播的路径,由一组成固定的数据项组成。

除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名。

数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。

  ⑵加工也称为数据处理,它对数据流进行某些操作或变换。

每个加工也要有名字,通常就是动词短语,简明地描述完成什么加工。

在分层的数据流图中,加工还应有编号。

  ⑶数据存储指暂时保存的数据,它可以就是数据库文件或任何形式的数据组织。

流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。

⑷数据源点与终点就是软件系统外部环境中的实体(包括人员、组织或其她软件系统),统称为外部实体。

一般只出现在数据流图的顶层图中。

还有一些辅助的图例:

  例1:

画出图书预定系统的DFD图。

现有一图书预定系统,接收由顾客发来的订单,并对订单进行验证,验证过程就是根据图书目录检查订单的正确性,同时根据顾客档案确定就是新顾客还就是老顾客,就是否有信誉。

经过验证的正确订单,暂存放在待处理的订单文件中。

对订单进行成批处理,根据出版社档案,将订单按照出版社进行分类汇总,并保存订单存根,然后将汇总订单发往各出版社。

  画图步骤就是:

  ⑴首先确定外部实体(顾客、出版社)及输入、输出数据流(订单、出版社订单)。

  ⑵再分解顶层的加工(验证订单、汇总订单)。

  ⑶确定所使用的文件(图书目录文件、顾客档案等5个文件)。

  ⑷用数据流将各部分连接起来,形成数据封闭。

  特别要注意的就是:

数据流图不就是传统的流程图或框图,数据流也不就是控制流。

数据流图就是从数据的角度来描述一个系统,而框图则就是从对数据进行加工的工作人员的角度来描述系统。

数据流图中的箭头就是数据流,而框图中的箭头则就是控制流,控制流表达的就是程序执行的次序。

  下图就是培训中心管理系统的数据流图,由于只有一层,因此分解的加工较多不易理解,而且如果其中某个加工较复杂,例如编号为3的加工“付款”与编号为7的加工“复审”仍很复杂,一时难以理解,如果不继续分解下去,直到每个加工都足够简单易于理解为止,则会影响需求分析结果的可读性。

  1、画分层DFD图的方法

如图2、8所示,如果系统规模较大,仅用一个DFD图难以描述,会使得系统变得复杂,且难以理解。

为了降低系统的复杂性,采取“逐层分解”的技术,画分层的DFD图。

  画分层DFD图的一般原则就是:

“先全局后局部,先整体后细节,先抽象后具体”。

通常将这种分层的DFD图,分为顶层、中间层、底层。

顶层图说明了系统的边界,即系统的输入与输出数据流,顶层图只有一张。

底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。

在顶层与底层之间的就是中间层。

中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。

画各层DFD图时,应“由外向内”。

  画分层DFD图的具体步骤:

  ⑴先确定系统范围,画出顶层的DFD图。

  ⑵逐层分解顶层DFD图,获得若干中间层DFD图。

  ⑶画出底层的DFD图。

   

  在画分层数据流图时,首先遇到的问题就就是应该如何分解?

不能够一下子把一个加工分解成它所有的基本加工,一张图中画出过多的加工就是使人难以理解的,但就是如果每次只就是将一个加工分解成两个或三个加工,又可能需要分解过多的层次,也会影响系统的可理解性。

  一个加工每次分解成多少个子加工才合适呢?

  根据经验“最多不要超过7个”。

统计结果证明,人们能有效地同时处理7个或7个以下的问题,但当问题多于7个时,处理效果就会下降。

当然也不能机械地应用,关键就是要使数据流图易于理解。

  同时还有几条原则可供参考:

  分解应自然,概念上要合理、清晰。

  只要不影响数据流图的“易理解性”,可以适当地多分解成几部分,这样分层图的层数就可少些。

  一般来说,在上层可以分解得快些,而在中、下层则应分解得慢些,因为上层就是一些综合性的描述,“易理解性”相对地说不太重要。

  下节我们以一个实例来说明画分层DFD图的方法。

  2分层DFD图的改进

  分层数据流图就是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的总貌,底层画出了系统所有的细部,而中间层则给出了从抽象到具体的逐步过渡。

  1、画分层DFD图的基本原则

  ⑴、数据守恒与数据封闭原则

  所谓数据守恒就是指加工的输入输出数据流就是否匹配,即每一个加工既有输入数据流又有输出数据流。

或者说一个加工至少有一个输入数据流,一个输出数据流。

  ⑵加工分解的原则

  自然性:

概念上合理、清晰;

  均匀性:

理想的分解就是将一个问题分解成大小均匀的几个部分;

  分解度:

一般每一个加工每次分解最多不要超过7个子加工,应分解到基本加工为止。

  ⑶子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。

  例1考察下图中子父图的平衡

  

显然,图2、13中子图与父图不平衡。

子图就是父图中加工2的分解,加工2有输入数据流R与M,输出数据流T,而子图则只有一个输入数据流N,却有两个输出数据流T与S。

图2、14中,子图就是父图中加工4的分解,虽然表面上加工4只有一个输入数据流“订货单”,而子图却有三个输入数据流,但就是如果“订货单”就是由“客户”、“帐号”与“数量”三部分组成,即有如下数据条目:

订货单=客户+帐号+数量(2、2、5数据词典),则子、父图平衡。

  ⑷合理使用文件

  当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么它同其它成份之间的联系也应同时表达出来。

  理解一个问题总要经过从不正确到正确,从不确切到确切的过程,需求分析的过程总就是要不断反复的,一次就成功的可能性就是很小的,对复杂的系统尤其如此,因此,系统分析员应随时准备对数据流图进行修改与完善,与用户取得共识,获得无二义性的需求,才能获得更正确清晰的需求说明,使得设计、编程等阶段能够顺利进行,这样做就是必须与值得的。

  3、分层DFD图的改进

  DFD图必须经过反复修改,才能获得最终的目标系统的逻辑(目标系统的DFD图)。

改进的原则与画分层DFD图的基本原则就是一致的,可从以下方面考虑DFD图的改进:

  ⑴检查数据流的正确性

  ①数据守恒

  ②子图、父图的平衡

  ③文件使用就是否合理。

特别注意输入/出文件的数据流。

  ⑵改进DFD图的易理解性

  ①简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。

  ②改进分解的均匀性。

  ③适当命名(各成分名称无二义性,准确、具体)。

  4、数据词典

  分层数据流图只就是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”(datadictionary)与“小说明”对图中的每个数据与加工给出解释。

  对数据流图中包含的所有元素的定义的集合构成了数据词典。

它有四类条目:

数据流、数据项、文件及基本加工。

在定义数据流或文件时,使用表2-1给出的符号。

将这些条目按照一定的规则组织起来,构成数据词典。

 

  1、数据流条目

  给出了DFD中数据流的定义,通常对数据流的简单描述为列出该数据流的各组成数据项。

  例:

数据流“乘客名单”由若干“乘客姓名”、“单位名”与“等级”组成,则词典中的“乘客名单”条目就是:

  乘客名单={乘客姓名+单位名+等级}

  又如:

报名单=姓名+单位名+年龄+性别+课程名

  也可以对数据流进行较详细的描述,如下例:

  例:

某查询系统中,有个名为“查询”的数据流,目前“查询”有三种类型,即“顾客状况查询”、“存货查询”与“发票存根查询”,预计至1990年底还将增加3至4种其她类型的查询。

系统每天约需处理2000次查询,每天上午9:

00—10:

00就是查询的高峰,此时约有1000次查询。

上述信息都就是“用户要求”的一部分,在分析阶段应该认真收集,并记录在词典的有关条目中,所以“查询”条目描述如下。

  数据流名:

查询

  简述:

系统处理的一个命令

  别名:

  组成:

[顾客状况查询|存货查询|发票存根查询]

  数据量:

2000次/天

  峰值:

每天上午9:

00—l0:

00有l000次

  注释:

至1990年底还将增加3至4种查询

  2、文件条目

  给出某个文件的定义,文件的定义通常就是列出文件记

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1