ER模型和DFD模型浅析

时间:2022-03-10 07:57:13

摘要:该文主要针对ER模型和DFD模型进行了探讨。ER模型和DFD模型是数据设计和数据流设计的有效工具,它们不仅是软件设计的基础,而且也是软件设计的必然。

关键词:数据设计;数据流设计;ER模型;DFD模型

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)33-9431-02

Analysis of ER Model and the DFD Model

LI Su-ping

(Taiyuan University of Technology,Yangquan 045000, China)

Abstract: This article mainly aimed at the ER model and the DFD model has carried on the discussion.The ER model and the DFD model are effective tools in the data design and the data stream design.Not only they are the foundation which the software designs, moreover alsothey arethe necessity which the software designs.

Key words: data design; data stream design; ER model; DFD model

软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题――“数据”及对数据的“处理”。即既要分析用户的数据要求(即需要有哪些数据、数据之间有什么联系、数据本身有什么性质、数据的结构等等),又要分析用户的处理要求(即对数据进行哪些处理、每个处理的逻辑功能等等)。所以,数据设计和数据流设计既是软件设计的基础,又是软件设计的必备。

1 数据设计

在软件工程学中,为了把开发系统的大量纷繁复杂的数据清晰明确地组织起来,通常建立一个概念性的数据模型,也称为信息模型。

概念性数据模型是按照用户的观点对数据或信息建模,它描述了从用户角度看到的数据,反映了用户的现实环境,且与在软件系统中的实现方法无关。

最常用的表示概念性数据模型的方法,是实体-联系方法(Entity-Relationship Approach)。这种方法是用实体-联系图(也称为实体-关系图或ER图)来描述现实世界中的实体,用这种方法表示的概念性数据模型又称为ER模型。

实体--联系模型中包含“实体”、“联系”和“属性”三个基本成分。

1) 实体

实体是客观世界中存在的且可相互区分的事物。实体可以是人也可以是物;可以是具体事物也可以是抽象概念。例如,职工、学生、课程、教师等都是实体。在ER图中用矩形框代表实体。

2) 联系

客观世界中的事物彼此间往往是有联系的。例如,教师与课程间存在“教”这种联系,而学生与课程间则存在“学”这种联系。联系可分为以下三类:

(1) 一对一联系(1∶1)

(2) 一对多联系(1∶N)

(3) 多对多联系(M∶N)

3) 属性

属性是实体或联系所具有的性质。通常一个实体由若干个属性来描述。例如,“学生”实体有学号、姓名、性别、系、年级等属性;“教师”实体有教工号、姓名、性别、职称、职务等属性;“课程”实体有课程号、课名、学时、学分等属性。

联系也可能有属性。例如,学生“学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于某名特定的学生又依赖于某门特定的课程,所以这是学生与课程之间的联系“学”的属性。

通常,我们应该根据所要解决的实际问题确定特定的数据(即实体)的一组合适的属性。

在ER图中,用椭圆形或圆角矩形表示实体(或联系)的属性,并用直线把实体(或联系)与其属性连接起来。

如图1是某校教学管理的ER图例。

可以看出, ER模型比较接近人的习惯思维方式,不熟悉计算机技术的用户也能容易地理解掌握。因此,它可以作为数据设计的有力工具。有了它,就可以方便地导出数据的逻辑模型,确定合适的物理结构,以顺利完成数据设计的任务,从而为软件设计打下坚实的基础。

2 数据流设计

当数据在软件中“移动”时,它将被一系列“处理”所修改。为了把用户的处理要求清晰明确地表达出来,通常建立一个抽象性的逻辑模型。它描述了数据在软件中从输入移动到输出的过程中所经受的变换(即加工处理)。它是从用户角度看到的处理,即对数据进行哪些处理、每个处理的逻辑功能等等,且与在软件系统中功能的具体实现方法无关。

在软件工程学中,通常用数据流图这种抽象性逻辑模型表示数据的处理。数据流图(DFD)是一种形象直观的图形,它仅仅描绘数据在软件中流动和被处理的情况,是软件系统逻辑功能的图形表示。

数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。

说明:数据存储和数据流都是数据,它们所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。

除了上述四种基本符号之外,有时也使用几种附加符号:星号(*)表示数据流之间“与”的关系(同时存在);加号(+)表示数据流之间“或”的关系;异或号()表示只能从数据流中选一个(互斥的关系)。

如下是某工厂定货系统的DFD图例。

假设一工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。如图2。

然而,从这张图上对定货系统所能了解到的信息非常有限。所以,应该把基本系统模型再细化。将定货系统分解为“处理事务”和“产生报表”两个基本功能,同时,增加两个数据存储(“库存清单”和“定货信息”)和两个数据流(“库存清单”和“定货信息”)

这时,还需进一步分解。因为通过系统的逻辑数据流当发生一个事务时必须首先接收它;随后按照事务的内容修改库存清单;最后,如果更新后的库存量少于库存量临界值,则应该再次定货,也就是需要处理定货信息。因此,把“处理事务”这个功能再分解为“接收事务”、“更新库存清单”和“处理定货”这样三个子功能就明了了。如图3。也就是说,分解到需要涉及功能的具体实现时就不应该再分解了。

可以看出, DFD模型也比较接近人的习惯思维方式,即使不是专业的计算机技术人员也很容易理解,所以,它是数据流设计极好的工具。有了它,就可以方便地导出系统模块图,完成数据流设计的任务,从而为软件设计打下坚实的基础。

因此,ER模型和DFD模型是数据设计和数据流设计的基础,更是软件设计的必然。

参考文献:

[1] 刘健.SQLServer数据库案例教程[M].北京:清华大学出版社,2008.

[2] 刘培文,数据库原理与应用[M].北京:中国人民大学出版社,2006.

[3] 陈明.软件工程[M].北京:清华大学出版社,2002.

上一篇:Web Service技术在数字化校园建设中的应用 下一篇:基于熵权和TOPSIS法的医院工作质量综合评价体...

被举报文档标题:ER模型和DFD模型浅析

验证码:

点击换图

举报理由:
   (必填)
紧急删除:

 13882551937、13808266089 服务时间:8:00~21:00 承诺一小时内删除

免责声明
发表评论  快捷匿名评论,或 登录 后评论
评论