一、交流性
1、数据模型作为一种理想的工具,可以有效达到理解、记录并最终协调不同观点的目的。
2、数据模型是一个用于解释信息的理想工具。
3、借助数据模型,我们可以在不同的细节水平上交流相同的信息。数据模型有助于限定项目范围,帮助理解诸如客户、产品及相互作用等相关概念,帮助建立融洽的业务关系。
1)建模过程中的交流。建模过程中,必须分析数据及数据间的关系。
2)建模过程后的交流。
创建并完成的数据模型是讨论在应用程序中哪些模块应该被构建的基础,甚至更底层的,借以数据模型讨论业务流程或程序功能模块如何运作。
数据模型像一张可反复使用的地图,无论是分析师、建模者,还是开发者,都可以利用它,了解他们各自关心的对象如何工作
二、精确性
数据建模的精确性指的是阅读模型时,其中的每一个符号和条目都是清晰、无二义性的。你可能与其他人争议所使用的规则是否准确,但这与我们所强调的模型的精确性是不一样的概念。换言之,如果你看到模型中的某一符号并说“我看见了A”,那么另外一个看到这一符号的人不可能说“我看见了B”。
但是在3种情况下,数据模型的精确性可能降低:
1.弱定义:如果对一个数据模型中的一些条目(terms)的定义,缺乏根据或压根不存在,那么此时极有可能对这些条目产生多种理解。如果数据模型中的一则业务规则规定每一位雇员(Employee)必须拥有一套福利计划,同时又将“雇员”定义为碳基生物形式这样一种缺乏现实意义的表述,那么我可能认为“雇员”包括“工作申请人”,而你可能认为不包括“工作申请人(JobApplications)”,所以你我之间必将有一位是错误的。
2.伪数据:第2种情形出现在当某一数据超出了常规的取值,而我们又希望将其引入特定的数据记录中。一个绕开数据模型严谨性(rigorofdatamodel)的老把戏是扩大数据模型可能包含的数据值。例如,出于某种考虑要求联系人必须有至少一个电话号码,而如果要添加到应用程序的联系人并没有电话号码,那么某位程序使用者可能为该联系人创建诸如“不可用”“99”或其他假电话号码,该联系人最终被添加进了应用程序。这个例子中,使用伪数据将一位没有电话号码的联系人添加进了应用,从而违背并规避了我们最初制定的业务规则。
3.模糊或缺失的标签:阅读一个数据模型类似于阅读一本节,应该有正确的句子结构,动词是句子中非常重要的组成部分。对于数据模型,这些动词用来描述模型中一些概念间的相互关联。以“客户(Customer)”和“订单(Order)”这组概念为例,可以通过动词“订购”(place)把它们相互关联,即“一位客户可能会订购一个或多个订单”。而诸如“联系”“有”等模糊的动词,或者缺少动词,将降低整个数据模型的精确性,正如我们不能准确理解一个句子的含义一样。
三、使用数据模型
理解已有应用程序。数据模型提供了一个简单而精确的视角,用来观察某个应用程序所涉及的概念。我们可以通过考察一个现有应用程序的数据库,并根据该数据库结构创建出一个数据模型。 “逆向工程”(reverse engineering)这一专业术语,即表示根据现有的应用构建出数据模型的过程,不久前,一家制造业机构需要将一个已使用了25年的应用系统迁移到一个新的数据库平台,对于这个庞大的应用系统,为了掌握理解它的结构,我们将数据库逆向工程为一个数据模型。
风险管理。通过数据模型可以获取一些概念及概念间的相互作用,并且这些概念及相互作用受到程序、项目开发的影响。对一个现有应用程序进行结构性添加或修改将产生什么影响?有多少应用程序结构需要备价?借助数据模型进行影响分析,来明确对所购买的软件进行结构修改会产生什么影响。
了解业务。开展一个大型项目开发的必要条件是在了解应用程序如何辅助业务开展之前,你最好先去了解相关的业务流程。例如,在开发订单录入系统之前,得先了解订单录入的处理过程。
培训团队成员。当新成员想要尽快跟上进度或开发者想要了解需求时数据模型可以作为一个非常有效的阐述工具。
【备注说明】这本书写的很朴实,用通熟的语文讲最重要的道理。数据模型其实是一种服务工具,是为我们开展信息系统建设提供的一个指导工具,通过这个工具可以相互沟通,让建设者很容易了解要建设的内容。企业信息系统的建设及数据分析决策工作离不开数据模型,可以这样说,没有数据模型,企业无法进行信息化和数字化建设。