DFD (Data Flow Diagram) ,ER (Entity Relationship Diagram) , Business Process Diagram -- 三种类型图 ( 待修改 )
1. 需求分析方法:数据流图( DFD )
例如:请根据下列需求用DFD方法开发“某电子产品租借管理系统”的数据流图 ?
1) 出租产品:VCD , 录像带 ,DVD
2) 系统功能需求:要求系统具有客户管理,产品库存管理,租借管理,统计功能;客户管理要求完成店员注册,身份认证( 认证级别 ) :普通工作人员和经理
增,删,改 客户信息,查询客户租借信息等。产品库存管理:要求根据产品库存进货,完成产品数据的 增,删,改 及查询。租借管理:要求完成品查询。
答:首先数据流图( DFD ) 采取分层处理,第一层一般是 who , system , result , 然后 细分 system .
第一层数据流图 :
总结:
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
1.一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。
2.保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流 中直接获得,或者说是通过该加工能产生的数据。
3.每个加工必须既有输入数据流,又有输出数据流。
4.所有的数据流必须以一个外部实体开始,并以一个外部实体结束。
5.外部实体之间不应该存在数据流。
数据流图的画法:
1.确定系统的输入输出
2.由外向里画系统的顶层数据流图
3.自顶向下逐层分解, 绘出分层数据流图
注意事项。
①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。
2.ER模型图 ( 承上需求分析中的DFD图 )
建模方法:
1. 准备 ( 包括business 逻辑分析, 结合 DFD 图 , 收集相关资料信息 )
2. 建立实体集 ( 分析现实情况 , 建立实体 )
3. 建立联系 ( 联系矩阵 )
实体A | 实体B | 实体C | |
实体A | NULL | X | X |
实体B | NULL | NULL | X |
实体C | X | NULL | X |
上图中, 实体C与实体C之间也存在关系 , 即自己跟自己存在关系 , 例如以前狸子中的 employees这个table , 因为含有 manager的信息, 所以employees就包含这种关系.
4. 根据联系矩阵等等, 画出图形
注意:定义的实体是否满足范式要求等等,联系中是否存在m:n的情况,进行必要的修改(比如另外增加实体来保存这层关系),等等。
建模工具很多:例如 power designer .
3. Business process diagram ( 流程图 )
根据具体的 Business logic 绘制流程图。