1引言
IDEF的含义是集成计算机辅助制造(Integrated Computer-AidedManufacturing,ICAM)DEFinition。最初的IDEF方法是在美国空军ICAM项目建立的,最初开 发3种方法:功能建模(IDEF0)、信息建模(IDEF1)、动态建模(IDEF2),后来,随着信息系统的相继开发,又开发出了下列IDEF族方法: 数据建模(IDEF1X)、过程描述获取方法(IDEF3)、面向对象的设计(OO设计)方法(IDEF4)、使用C++语言的OO设计方法 (IDEF4C++)、实体描述获取方法(IDEF5)、设计理论(rationale)获取方法(IDEF6)、人-系统交互设计方法(IDEF8)、 业务约束发现方法(IDEF9)、网络设计方法(IDEF14)等。根据用途,可以把IDEF族方法分成两类:
第一类IDEF方法的作用是沟通系统集成人员之间的信息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。IDEF0通过对功能 的分解、功能之间关系的分类(如按照输入、输出、控制和机制分类)来描述系统功能。IDEF1用来描述企业运作过程中的重要信息。IDEF3支持系统用户 视图的结构化描述。IDEF5用来采集事实和获取知识。
第二类IDEF方法的重点是系统开发过程中的设计部分。目前有两种IDEF设计方法:IDEF1X和IDEF4。IDEF1X可以辅助语义数据模型的设计。IDEF4可以产生面向对象实现方法所需的高质量的设计产品。
2 IDEF1x方法
IDEF1X是IDEF系列方法中IDEF1的扩展版本,是在E-R(实体联系)方法的原则基础上,增加了一些规则,使语义更为丰富的一种方法。概 念模型设计常用IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。IDEF1的最初形式是在 P.P.S (Peter) Chen的实体联系模型化概念与P.P.(Ted) Codd的关系理论的基础上发展起来的。IDEF1X是IDEF1的扩展版本,除在图形表达和模型化过程方面的改进外,还对语义进行了增强和丰富。例如: 分类联系 (Categorization Relationships)的引入。
IDEF1X是语义数据模型化技术,它具有以下的特性:
(1) 支持概念模式的开发。
IDEF1X语法支持概念模式开发所必需的语义结构,完善的IDEF1X模型具有所期望的一致性、可扩展性和可变换性。
(2) IDEF1X是一种相关语言。
IDEF1X对于不同的语义概念都具有简明的一致结构。IDEF1X语法和语义不但比较易于为用户掌握,而且还是强健而有效的。
(3) IDEF1X是便于讲授的。
语义数据模型对许多IDEF1X用户都是一个新概念。因此,语言的易教性是一个重要的考虑因素,设计IDEF1X语言是为了教给事务专业人员和系统分析人员使用,同样也是教给数据管理员和数据库设计者使用的。因此,它能用作不同学科研究小组的有效交流。
(4) IDEF1X已在应用中得到很好地检验和证明。
IDEF1X是基于前人多年的经验发展而来的,它在美国空军的一些工程和私营工业中充分地得到了检验和证明。
(5) IDEF1X是可自动化的。
IDEF1X图能由一组图形软件包来生成。商品化的软件还能支持IDEF1X模型的更改、分析和结构管理。
IDEF1X把实体-联系方法应用到语义数据模型化中,IDEF1的最初形式是在P.P.S (Peter) Chen的实体联系模型化概念与P.P.(Ted) Codd的关系理论的基础上发展起来的。IDEF1X是IDEF1的扩展版本,除在图形表达和模型化过程方面的改进外,还对语义进行了增强和丰富。例如: 分类联系 (Categorization Relationships)的引入。
IDEF1X模型的基本结构和ER模型基本类似,主要有以下元素:
(1)实体(如人、地点、概念、事件等)用矩形方框表示;
(2)实体之间的关系(联系),用方框之间的连线表示;
(3)实体的属性,用方框内的属性名称来表示。
关系是实体间的一种逻辑联系,用动词或动词短语命名。实体之间的关系可以分为确定关系和不确定关系。确定关系又分为连接关系和分类关系。连接关系也 称“父子关系”,它是两个实体之间的联系或连接,一个实体(子实体)依赖于另一个实体(父实体)。分类关系表示实体间的一种分层结构,一个实体(类属实 体)表示这些事物的全集,其它(分类实体)则为其子集。不确定关系又称“多对多关系”,两个实体间相互存在着一对多的联系,如图1。
图1 不确定关系
连接关系又分为标识关系和非标识关系。判别一个关系是标识关系还是非标识关系只要区分子实体的主键,看是否需要父实体的外键来共同作为主键,需要则 为标识关系(Identifying),如图2;如果子实体自己的主键就可唯一标识则它为非标识关系(Non-Identifying),如图3。在标识 关系中的子实体称为依赖实体,用圆角矩形表示;其它用方角矩形表示的就是独立实体。
图2 标识关系
图3 非标识关系
分类关系根据表示分类的实体集是不完全分类还是完全分类的又可以分为不完全分类关系和完全分类关系。
很多的数据库建模工具都支持IDEF1x方法,如CA公司的ERWin、Sybase公司的PowerDesigner以及微软公司的Visio 等。这些工具都能建立完整的IDEF1x概念模型并支持直接将模型转换为物理数据库的结构。图4显示的就是采用Visio建立的学生选课的数据库概念模 型。我们用这个实例来说明IDEF1x建模方法的步骤。
图4 基于IDEF1x方法的学生选课概念模型