1、分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD图 描述的当前系统的“逻辑模型”。建立目标系统的逻辑模型;分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统“做什么”,建 立目标系统的“逻辑模型”(修改后的DFD图)。为了对目标系统作完整的描述,还需要考虑人机界面和其它一些问题。3.SA法的描述工具分层的数据流图数据词典描述加工逻辑的结构化语言、判定表或判定树。2数据流数据流图(Data Flow Diagram,简称DFD)是描述系统中数据流程的图形工具, 它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的 加工处理。1.数据流图的图符数据流
2、图有以下4种基本图形符号:闺5DFD图的A本符匕实体名箭头表示数据流,圆或椭圆表示加工。双杠或者单杠表示数据存储,矩形框表示 数据的源点或终点,即外部实体。数据流是数据在系统内传播的路径,由一组成固定的数据项组成。除了与数 据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语 命名。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工, 也可以从源点流向加工或从加工流向终点。加工也称为数据处理,它对数据流进行某些操作或变换。每个加工也要有名 字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还 应有编号。数据存储指暂时保存的数据,它可以是数据库文件
3、或任何形式的数据组织。 流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据 可理解为从文件读数据或得到查询结果。数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件 系统),统称为外部实体。一般只出现在数据流图的顶层图中。还有一些辅助的图例:我中:*正示与,+ 次示蚊. 代示曳斥图6 DFD图的辅助符:;例1:画出图书预定系统的DFD图。现有一图书预定系统,接收由顾客发来的 订单,并对订单进行验证,验证过程是根据图书目录检查订单的正确性,同时根 据顾客档案确定是新顾客还是老顾客,是否有信誉。经过验证的正确订单,暂存 放在待处理的订单文件中。对订单进行成批处理,
4、根据出版社档案,将订单按照 出版社进行分类汇总,并保存订单存根,然后将汇总订单发往各出版社。顾客档案 杼处理nr单文件 订货根交图做定系统的DFD图画图步骤是:首先确定外部实体(顾客、出版社)及输入、输出数据流(订单、出版社 订单)。再分解顶层的加工(验证订单、汇总订单)。确定所使用的文件(图书目录文件、顾客档案等5个文件)。(4)用数据流将各部分连接起来,形成数据封闭。特别要注意的是:数据流图不是传统的流程图或框图,数据流也不是控制流。数 据流图是从数据的角度来描述一个系统,而框图则是从对数据进行加工的工作人 员的角度来描述系统。数据流图中的箭头是数据流,而框图中的箭头则是控制流, 控制流表
5、达的是程序执行的次序。下图是培训中心管理系统的数据流图,由于只有一层,因此分解的加工较多不易 理解而且如果其中某个加工较复杂,例如编号为3的加工“付款”和编号为7的加工“复审”仍很复杂,一时难以理解,如果不继续分解下去,直到每个加工都足 够简单易于理解为止,则会影响需求分析结果的可读性。1.画分层DFD图的方法方员/课程 krr八注用印 J 8不畲MT图2.8 中心管理系舞的DFD图通止员如图2.8所示,如果系统规模较大,仅用一个DFD图难以描述,会使得系统变 得复杂,且难以理解。为了降低系统的复杂性,采取“逐层分解”的技术,画分层 的DFD图。画分层DFD图的一般原则是:“先全局后局部,先整
6、体后细节,先抽象后具体”。通 常将这种分层的DFD图,分为顶层、中间层、底层。顶层图说明了系统的边界, 即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工 组成,这些加工都已足够简单,称为基本加工。在顶层和底层之间的是中间层。 中间层的数据流图描述了某个加工的分解,而它的组成部分乂要进一步分解。画 各层DFD图时,应“由外向内”。画分层DFD图的具体步骤:先确定系统范围,画出顶层的DFD图。逐层分解顶层DFD图,获得若干中间层DFD图。画出底层的DFD图。11图2.1图图 S DFD图2.2图在画分层数据流图时.,首先遇到的问题就是应该如何分解?不能够一下子把一个 加工分解
7、成它所有的基本加工,一张图中画出过多的加工是使人难以理解的,但 是如果每次只是将一个加工分解成两个或三个加工,乂可能需要分解过多的层 次,也会影响系统的可理解性。一个加工每次分解成多少个子加工才合适呢?根据经验“最多不要超过7个”。统计结果证明,人们能有效地同时处理7个或7 个以下的问题,但当问题多于7个时,处理效果就会下降。当然也不能机械地 应用,关键是要使数据流图易于理解。同时还有几条原则可供参考:分解应自然,概念上要合理、清晰。只要不影响数据流图的“易理解性”,可以适当地多分解成几部分,这样分层图的层数就可少些。一般来说,在上层可以分解得快些,而在中、下层则应分解得慢些,因为上层是 一些
8、综合性的描述,“易理解性”相对地说不太重要。下节我们以一个实例来说明画分层DFD图的方法。2分层DFD图的改进分层数据流图是一种比较严格乂易于理解的描述方式,它的顶层描绘了系统的总 貌,底层画出了系统所有的细部,而中间层则给出了从抽象到具体的逐步过渡。1.画分层DFD图的基本原则.数据守恒与数据封闭原则所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据 流乂有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。加工分解的原则自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,应分
9、解到基本加 工为止。子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的 输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。例1考察下图中子父图的平衡图2.13子图与父图图2 14子图与父图的甲乙显然,图2.13中子图与父图不平衡。子图是父图中加工2的分解,加工2有 输入数据流R和M,输出数据流T,而子图则只有一个输入数据流N,却有两 个输出数据流T与S。图2.14中,子图是父图中加工4的分解,虽然表面上加 工4只有一个输入数据流“订货单”,而子图却有三个输入数据流,但是如果“订 货单”是由“客户”、“帐号”和“数量三部分组成,即有如下数据条目:订货单=客
10、户+帐号+数量(2.2.5数据词典),则子、父图平衡。合理使用文件当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图 中的一个独立成份画出来了,那么它同其它成份之间的联系也应同时表达出来。理解一个问题总要经过从不正确到正确,从不确切到确切的过程,需求分析的过 程总是要不断反复的,一次就成功的可能性是很小的,对复杂的系统尤其如此, 因此,系统分析员应随时准备对数据流图进行修改和完善,与用户取得共识,获 得无二义性的需求,才能获得更正确清晰的需求说明,使得设计、编程等阶段能 够顺利进行,这样做是必须和值得的。3.分层DFD图的改进DFD图必须经过反复修改,才能获得最终的目标系统
11、的逻辑(目标系统的DFD 图)。改进的原则与画分层DFD图的基本原则是一致的,可从以下方面考虑 DFD图的改进:检查数据流的正确性数据守恒子图、父图的平衡文件使用是否合理。特别注意输入/出文件的数据流。改进DFD图的易理解性简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。改进分解的均匀性。适当命名(各成分名称无二义性,准确、具体)。4.数据词典分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数 据词典(data dictionary)和“小说明”对图中的每个数据和加工给出解释。对数据流图中包含的所有元素的定义的集合构成了数据词典。它有四类条目:数 据
12、流、数据项、文件及基本加工。在定义数据流或文件时,使用表2-1给出的 符号。将这些条目按照一定的规则组织起来,构成数据词典。比2/布s(氟司熨的定义中出境的?r;符号含义例及说明被定义为与X=a-b衣示X|JQ W b组屐AX-a b表示K也,或bifl成成女衣示乂由。个或多个a重发X=2 (a )6 A x=(a): &耳、4 U 2-5 次 a可选X-(a) &示a,“在义中出现.也可不出现基本效据元嘉夫&和X是取例为字符,前改砧人不 娃按得X=l-s &小X 1到85的H技旬M1.数据流条目给出了 DFD中数据流的定义,通常对数据流的简单描述为列出该数据流的各组 成数据项。例:数据流“乘
13、客名单”由若干“乘客姓名”、“单位名”和“等级”组成,则词典中的“乘 客名单”条目是:乘客名单=乘客姓名+单位名+等级乂如:报名单=姓名+单位名+年龄+性别+课程名也可以对数据流进行较详细的描述,如下例:某查询系统中,有个名为“查询”的数据流,目前“查询”有三种类型,即“顾 客状况查询”、“存货查询”和“发票存根查询”,预计至1990年底还将增加3至4 种其他类型的查询。系统每天约需处理2 000次查询,每天上午9: 0010: 00是查询的高峰,此时约有1 000次查询。上述信息都是“用户要求”的一部分, 在分析阶段应该认真收集,并记录在词典的有关条口中,所以“查询”条目描述如 下。数据流名
14、:查询简述:系统处理的一个命令别名:无组成:顾客状况查询|存货查询|发票存根查询数据量:2000次/天峰 值:每天上午9: 00有I000次注释:至1990年底还将增加3至4种查询2.文件条目给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流,还可指出 文件的组织方式。某销售系统的订单文件:订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期3.数据项条目给出某个数据单项的定义,通常是该数据项的值类型、允许值等。例如:帐号=00000 99999 ;存款期=1 | 3 | 5 (单位:年)4.加工条目 加工条目就是“加工小说明:由于“加工”是DFD图的重要组成部分,一般应单独 进行说明。因此,数据词典是对数据流图中所包含的各种元素定义的集合。它对的4类条 目:数据流、数据项、文件及基本加工进行了描述,是对DFD图的补充。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1