资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,.,1数据流图,案例:,为了弄清系统中的各种关系,用数据流图的方法进行分析和建模。我们通过研制一个“教育基金会的捐助资金管理系统”的例子来说明数据流图的具体建模方法。要求如下:,(1)由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。,(2)由教育单位提出用款申请,在进行相应合法性校验和核对相应的捐款储备后做出支出。,(3)每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。,10/17/2025,1,.,资金管,理系统,捐助者,教育单位,用款请求,捐款请求,财政报表,理事会,捐助者,教育单位,理事会,用款,请求,捐款,请求,1,收入,处理,3,产生,报表,D3,收支状况,财政,报表,2,支出收入,图1,图2,10/17/2025,2,.,理事会,D3,收支状况,捐助者,捐款,请求,1,接受,请求,2,合法,检查,3,登记,收入,捐款,合法,捐款,教育单位,用款,请求,4,接受,请求,5,合法,检查,6,支出,批准,用款,合法,支出,7,产生,报表,财务,报告,D3,收支状况,D3,收支状况,图3,10/17/2025,3,.,通过上面的案例,我们可以得到:,(1)使用SA方法,任何一个系统都可抽象为图7.6所示的数据流图。,数据流,数据流,数据存储,数据来源,处理,数据输出,处理需求,信息需求,图7.6 数据流图,10/17/2025,4,.,(2)数据流图的组成:由于描绘系统的逻辑模型,主要是有四种基本符号:,1,),:数据的源点和终点。,2,),:数据的加工或处理。,3,),:文件,,即数据存储。,4,),:数据的流动方向,即数据流.,10/17/2025,5,.,(3)画数据流图的步骤:,(1)初步确定基本元素,画数据流图的第一步是确定图中数据的源点或终点和数据流。首先考虑数据的源点和终点。从以上对系统的描述可知:“捐款者向基金会提出捐助请求”,“由教育单位提出用款申请”,“每月给理事会一份财政状况报表”,所以“捐款者”和“教育单位”是数据源点,而“理事会”是数据的终点。然后考虑数据流,由于系统需要把每月的财政报表提供给理事会,因些财政报表是一个数据流;同样,捐助者的捐款请求和教育单位的用款申请都是系统的数据流。在问题的描述中,“给理事会财政状况报表”表明“财政报表”也是数据流。这样我们得到图1的顶层图。顶层图由若干个数据的源点和终点和一个加工组成。这个加工就是代表了整个系统的功能。,10/17/2025,6,.,(2)分解,接下来是对顶层数据流图进行细化。从而描述系统的主要功能。可以采用从外向里的方法进行。由上面的讨论可知,数据流“,捐款请求,”是作为基金会的收入来处理的,可以加上一个“收入处理”的加工;数据流“用款申请”是作为支出来处理的,应加上一个“支出处理”加工;数据流“财政报表”应由加工“产生报表”来完成。这三个加工将代替图1中的“资金管理系统”。此外,数据流图增加了一个数据存储,因为“处理收入”,“处理支出”和“产生报表”都需要从“财政状况”数据库中取得数据。与这个数据存储相对应的三个数据流,分别用于三个不同的加工访问数据存储中的数据。可以注意到这三个数据流与数据存储的命名相同,因为从一个数据存储中取得的数据通常和它本来存放的数据形式一样。这说明,数据存储和数据流中是同样的数据处于不同状态的两种形式。经过这一步的数据流图如图2所示,其中给数据存储和加工都加上了编号。,10/17/2025,7,.,(3)进一步细化,为了进行进一步的分解,检查系统中的收支处理的加工。当发生一个收入,或是支出请求时,系统必须具有接受,审查和登记(或批准)的功能,因此可以分解出一个“接受请求”的加工。在请求接受后,需要检查请求的合法性,因此需要分解出一个检查请求合法性的加工。检查依据是相应的有关捐助者或者教育单位的信息,因此就有相应的数据存储。对于通过合法检查的请求,需要分解出一处理用于更新收支状况数据库的数据。由此可见,需要把“收入处理”和“支出处理”分解成为三个处理步骤,即“接受请求”,“收入(/支出)合法性检查”和“登记(/批准)收入(/支出)”三个加工。此时应考虑增加必要的数据存储作为子加工间的信息接口。各种不同的考虑会产生不同的数据流图,我们在对这一问题进行课堂教学的讨论时就产生了许多的方案。读者也可以提出自己不同的想法及图3不同的分解方案。,10/17/2025,8,.,注意:在些我们没有必要对“产生报表”这个加工进行继续分解。这是因为,提供的财政报表中的所有信息在数据存储“收支状况”中都已经存在,而“产生报表”这个加工只不过是按照一定的格式排列和输出这些信息。继续分解这个功能将涉及到系统的具体实现细节,是不应该在数据流图上出现的。所以,当一个功能的的继续分解涉及到功能的具体实现时,在数据流图上就没有再分解这个功能的必要了。经过进一步细化的数据流图如图3所示:,10/17/2025,9,.,
展开阅读全文