正向工程、逆向工程与MDA
正向工程:从UML图形生成代码;
逆向工程:从代码和成UML图形;
//不要依赖于正向或逆向工程,仅是一种辅助手段。画图的目的不是为了生成代码;而写代码的目的也不是为了生成图形。
MDA:(模型驱动架构)
未来软件开发的方向,(将来没有程序员,只有架构师,直接通过模型生成代码)
PIMs Platform Independent Models(平台无关模型) 和PSMs(Platform Specific Models)
MOF(UML 元模型 元元模型)
什么时候使用类图:
- 任何时候(不是说在建模,在描述概念的时候,任何时候都可以,不一定在设计的时候)
- 类图是UML中最重要的图形;
- 不要尝试使用类图描述所有的细节;
- 保持类图的简单;
- 对概念建模(领域模型)
- 分析时使用;(实体类 entity、控制类 control、边界类 boundary)
领域模型:
- 领域模型是OO分析中最重要的和经典的模型;
- 领域模型(Domain Model),也称为概念模型、领域对象模型、分析对象模型,我们在对项目进行分析的时候,往往会创建相应的领域模型;
- 领域模型包括:概念,关联,属性(不考虑动态行为,没有方法)
为什么需要领域模型
- 理解关键概念和词汇
- 逐步进入设计阶段(为进入设计阶段得到一些启示)
- 现实世界与软件实现之间的过度
如何创建领域模型
- 寻找概念类(名词短语、分析模式)
- 绘制类图
- 添加关联和属性
- 属性表示法(普通数据类型表示为属性;不要把复杂的领域概念建模为属性)如,Document类的创建者User为一个类,而不是Document类的一个属性