面对对象建模/划分主题域

面向对象方法是一种软件分析、设计与编程的方法。在面向对象方法中,核心的概念是“对象”,分析系统的重点也是考察系统中存在哪些“对象”,将所要面对的问题分解为多个单独的概念(或者对象)——即我们能够觉察到的事物。对象由属性和方法两部分组成,系统的所有功能是由对象体现出来的。
与面向对象相对应的是面向过程方法。在面向过程的方法中,将现实世界从过程和功能的角度进行分解,在分析过程中,用数据流程图描述数据流展现系统的数据动态特征,在设计阶段,将其转换为系统模块图,展现为系统的一系列功能。而在面向对象方法中,从分析到设计的过程始终是在寻找和细化对象,从分析到设计并没有非常严格的界限,系统的表示方法也没有变化。因此,面向对象方法在工程过程中更稳定。事务的处理过程是易变的,而系统中的对象是相对稳定的,因此,面向对象方法在应对系统的变化过程中,也体现出更好的稳定性。对于以计算为主的系统而言,其过程特征并不明显,系统采用面向对象方法和面向过程的方法可能没有很大的区别。而对于交易型的应用系统,面临着众多业务过程的支持,采用面向对象方法能够得到更为稳定的系统模型。
面向对象方法具有几个重要的特征:
1、 封装性:强调数据和功能的封装,对象的属性数据只能够通过对象对外提供的接口进行访问。
2、 继承性:强调子类可以继承父类的所有特征,从而支持重用。
3、 多态性:
在CRM以前的版本中,主要提出的是系统的概念模型和逻辑模型,在面向对象方法中,仍然存在概念模型的说法,简略说,概念模型就是问题域中概念的描述。然而,逻辑模型的说法已经限定在对象的属性存储语境中了,是指采用关系数据库对对象永久属性进行存储的数据模型。本次规范引入了系统的对象模型,包含:
1、 一组对象
2、 对象之间的关联
3、 对象的属性
4、 对象的方法(部分)
系统采用UML(Union Model Language)进行描述。其中,限于项目的时间要求,对象的方法部分主要围绕在明确定义了接口的服务所需要的相关对象的方法,并不是每一个对象都提供了方法。
引入面向对象方法最大的意义在于引入一种方法论,这种方法论的优点已经被业界所认可。也许,最初采用这样的方法得出的结果并不一定会比一个掌握面向过程方法的高明的设计团队所的到的成果有更好的表现,但是,它创造了一种实实在在的可能性,使得未来可以采用完全的面向对象方法获得更适合企业需要的模型。
2.7.2 数据模型概念及作用
数据模型是系统采用以E-R理论为基础的描述数据存储的表及其关系的模型,在本次建模过程中,用于存储系统对象的属性及其关系。由于基于关系理论,其最主要的特点就是通过范式规范表的存储结构。
2.8 建模方法论 
在本次规范中,既包括了对象模型,又包含了数据模型。在对象模型中已经描述了系统的业务概念,因此,数据模型的作用更强调对对象属性的基于E-R理论的数据存储。而且,项目组提交的对象模型更主要的是描述系统的业务概念模型,而不包含软件系统自身的管理对象,因此,在后文谈到的设计模式中,并未引入一些诸如“工厂(Factory)”模式等具有明显的软件特征的模式,而更多的采用了诸如Specification-Entity模式、Party-Role模式等突出业务概念的模式
2.8.3 建模思路与方法
面向对象的方法有很多具体做法,包括如Coad&Yourdon、Rambaugh、Booch等所提出的各自的方法,以及RUP方法等。项目组根据项目的人员组成以及项目的各方面的综合条件,采用了如下的过程方法:
1、确定系统对象。
2、确定对象关系。
3、确定对象属性。
4、抽象与模式化对象结构。
5、确定对象方法。
6、转换数据模型。
7、规范化数据模型。
在进行对象存储模型的建模时,采用的基本方法主要包括:
1、将对象转换为表,对象属性直接映射为表字段。
2、将对象关系连线转换为表间具有外键关联或增加关系表。
3、将设计形成的E-R模型根据三范式的要求进行范式化处理。










原文地址:https://www.cnblogs.com/eedc/p/9034707.html