4. 分析:使用数据流图

4.1.数据流图功能和优点

概念化数据在整个组织是如何流动的,数据经历的过程和变换,以及输出。
优点:
(1) 不必过早着手系统和技术的实现。
(2) 进一步了解系统和子系统的相互关系。
(3) 通过数据流图与用户交流当前系统的知识。
(4) 更好地了解业务,分析建议的系统以确定是否定义了必要的数据和过程。[more…]

4.2.数据流图的图例规范


1. 实体的命名:名词
2. 数据流命名:名词
3. 过程命名
在上下文图中,赋予整个系统的名称, 如“选课系统”
命名子系统时,使用诸如“预定子系统”, “Web用户执行系统”
具体过程命名:动词+形容词+名词 “计算净工资”,每一个过程要有一个唯一编号,指出它在图中的层次。

4.3.开发数据流图步骤

1. 步骤
1)制定一个业务活动列表:实体,数据流,过程,数据存储
2)创建上下文图,外部实体+输入+输出+系统,没有过程和数据存储
3)0层图:分解系统,展示高层的过程和数据存储,过程一般不超过9个,为避免数据流线交叉,同一个实体和数据存储可以出现多次。
4)画0层图中每个过程的子图
注意编号与父过程相同
纵向平衡——不能有父过程没有的输入和输出。
子图中通常不显示实体,显示接口数据流。
可以有父过程中没有显示的数据存储。
5)检查错误:编号正确,命名正确,输入输出清晰,没有back hole, 没有miracle
6)根据逻辑数据流图,开发物理数据流图:通过名字描述真实地文件和报表的物理存储,增加控制以指出合适过程完成或发生错误。
7)分割物理数据流图。

2. 注意点
1) 图例和标识的准确性
2) 数据流:不能从实体到实体,不能存储到存储,可以从实体到过程,过程到过程,过程到存储
3) 数据流图的层次性
4) 尽量不要有线性流,即一个输入和输出的过程,出现通常是遗漏了数据流,一个过程输入和输出总数在>=4个以上最好。
5) 用户要能理解

4.4 如何向用户解释数据流图

1. 数据流图的标记要具体而有意义、
2.可以通过举例,类比和问询,让用户了解DFD的原理
3.每个DFD的过程控制在9个以内,太大的图,则要分解,保证在一页纸内
4.结合表格和图表向用户解释

4.5.逻辑数据流图 vs 物理数据流图

1) 二者的区别

2)逻辑数据流图优势
a)更好地与用户交流
b)系统更稳定
c)更好地了解业务
d)灵活、更易维护
e)消除冗余,更容易创建物理模型

3)物理数据流图优势
a)澄清哪些过程是手工的,哪些是自动的
b)更详细的描述过程
c)标识临时数据存储
d)指定真实地文件名和打印输出名
e)增加确保正确地完成过程的控制。
物理数据流图创建方法:事件建模法,用例法.

5. 使用数据字典分析系统

5.1.数据字典的基本概念

1.数据字典定义
是一种关于数据的数据参考书,指导系统的分析与设计,包括数据流,数据结构,数据元素和数据存储。

2.数据字典的必要性
a)作为数据的记录文档
b)消除冗余,保证数据的一致性
c)验证DFD的完备性和准确性
d)为开发界面和报表提供切入点
e)找出数据流图中过程的逻辑
f)创建XML

3.DFD与数据字典的关系

5.2 数据流的描述

通过DFD确定系统的输入和输出,对每个数据流描述如下,具体实例可以看书。
1)ID:可选标识符
2)数据流名称
3)数据流描述
4)数据流来源
5)数据流目标
6)数据流类型:文件、界面、报表、表格或内部数据(中间的临时数据)
7)包含的数据结构
8)单位时间的流量
9)备注

5.3.数据结构描述

1.描述
1)= 表示组成
2)+ 表示“和”
3){} 表示重复元素,一定有至少一个 1~n,可以包含固定重复次数,或上限与下限
4)[] “非此即彼”,互斥的选择
5)() 表示可选元素 0~1

2.逻辑数据结构和物理数据结构
逻辑数据结构是业务上,用户看到的数据。物理数据结构是软件实现所需要的数据。
物理数据结构需要增加:
1)键字段,唯一标识一条记录
2)标识主记录的状态代码,诸如一个雇员当前被雇佣或否。
3)如果一个文件包含不同的记录类型,则可以用交易码标识记录的类型。例如,包含返还项的记录和支付记录的信用文件。
4)重复组数据项,包含该组中有多少个数据项的计数。
5)重复组中数据项多少的限制
6)客户访问一个安全Web站点的密码。

5.4 数据元素描述

1)ID, 可选的
2)元素名称
3)别名
4)简短描述
5)是基本元素还是派生元素

6)元素长度:
对于数值金额的长度,给出最大数额。
名称和地址,给出合适的长度
对于其他字段,参照历史数据

7)数据类型:数值,日志,字母,varchar,字符
8)如果用特殊编码符号表明应当如何表示数据,则应包含输入和输出的格式。

9)验证标准,保证数据的精确性,对于离散或连续的数据有以下标准
a)某个值范围适合包含连续数据,如GPA 0.00~4.00
b)如果数据式离散的,则指出一组值
c)如果值的列表是泛指的,则可以采用一个代码表
d)对于键或者索引元素,通常包含一个校验位

10)提供某些元素的默认值
11)备注区域

5.5.数据存储描述

1)ID,必须有
2)数据存储名
3)文件的别名
4)简短描述
5)文件类型:人工文件或计算机文件
6)如果是计算机文件,则文件格式指明是数据库文件,还是传统的平面文件
7)文件上记录的最大记录数和平均记录数
8)文件或数据名指定的文件名(如果已知)
9)数据结构应使用数据字典中的名字,提供与此数据存储的元素的连接

5.6.创建数据字典

1.先创建DFD,自顶向下开发数据字典和数据流图。可以为每一个层次的DFD创建数据字典。

子数据流图上的数据流名称,包含在父过程上的数据流的元素或结构化记录中

2.分析输入输出
输入输出分析表包括:
1)输入或输出的描述名
2)负责进一步澄清细节、设计反馈和最后核准的用户联系信息
3)输入数据还是输出数据
4)数据流的格式。逻辑DFD,可以处于未确定
5)表明报表上或者界面上的数据顺序的元素
6)一个元素列表,包括元素的名称、长度,是基本元素还是派生元素,编辑标准。

3.开发数据存储
确定永久信息或临时信息。

5.7.使用数据字典

数据字典可以用来创建界面、报表和表单
1.使用数据字典产生计算机语言时要考虑
1)输出数据流中的基本元素必须出现在产生该输出数据流过程的输入数据流中。基本元素由键盘输入,而不由某一个过程创建
2)派生元素必须由过程创建,并且至少应当由一个不是该元素自身为输入的过程输出
3)输入或者输出某个数据存储的数据流中的元素,必须包含在该数据存储中

2.使用数据字典可以创建XML文档
XML是一种可用来在企业中交换数据的语言,是一种对数据进行定义、排序、过滤并把它转换成一种每个人都可以使用的统一数据语言的方法。

资源:
系统分析与设计part1
系统分析与设计part2
系统分析与设计part3
系统分析与设计part4