正向工程、逆向工程与MDA
正向工程、逆向工程与MDA
正向工程:从UML图形生成代码;
逆向工程:从代码和成UML图形;
//不要依赖于正向或逆向工程,仅是一种辅助手段。画图的目的不是为了生成代码;而写代码的目的也不是为了生成图形。
MDA:(模型驱动架构)
未来软件开发的方向,(将来没有程序员,只有架构师,直接通过模型生成代码)
PIMs Platform Independent Models(平台无关模型) 和PSMs(Platform Specific Models)
MOF(UML 元模型 元元模型)
什么时候使用类图:
- 任何时候(不是说在建模,在描述概念的时候,任何时候都可以,不一定在设计的时候)
- 类图是UML中最重要的图形;
- 不要尝试使用类图描述所有的细节;
- 保持类图的简单;
- 对概念建模(领域模型)
- 分析时使用;(实体类 entity、控制类 control、边界类 boundary)

领域模型:
- 领域模型是OO分析中最重要的和经典的模型;
- 领域模型(Domain Model),也称为概念模型、领域对象模型、分析对象模型,我们在对项目进行分析的时候,往往会创建相应的领域模型;
- 领域模型包括:概念,关联,属性(不考虑动态行为,没有方法)
为什么需要领域模型
- 理解关键概念和词汇
- 逐步进入设计阶段(为进入设计阶段得到一些启示)
- 现实世界与软件实现之间的过度
如何创建领域模型
- 寻找概念类(名词短语、分析模式)
- 绘制类图
- 添加关联和属性
- 属性表示法(普通数据类型表示为属性;不要把复杂的领域概念建模为属性)如,Document类的创建者User为一个类,而不是Document类的一个属性
正向工程、逆向工程与MDA的更多相关文章
- PowerDesigner 正向工程 和 逆向工程 说明
PowerDesigner 正向工程 和 逆向工程 说明 database数据库脚本oraclegenerationsql 目录(?)[+] 一. 正向工程与逆向工程说明 在前面几篇里介绍了几 ...
- DbWrench002--建模以及数据正向工程和反向工程的具体操作
DbWrench--建模以及数据正向工程和反向工程 参考博客:https://my.oschina.net/u/3459265/blog/1611999 一.数据正向工程 在建模工作中画好的表与表之间 ...
- 正向工程configuration配置连接
在执行正向工程的时候需要用到这个关键词里面的configure();方法, 这个方法有好几个重构, 都是参数不一样的, 也可以空着不写, 不写的话就会默认去找hibernate.cfg.xml这个文件 ...
- Rose如何由模型生成代码(正向工程)
原创 正向工程: 选中要转换的模型. 单击 tools>Java/J2EE > Syntax Check 来检查目标代码是否符合规范,比如命名错误. 察看rose log窗口(下方)察看检 ...
- hibernate正向工程生成数据库
hibernate正向工程生成数据库 hibernate.cfg.xml ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 ...
- 懒要懒到底,能自动的就不要手动,Hibernate正向工程完成Oracle数据库到MySql数据库转换(含字段转换、注释)
需求描述 需求是这样的:因为我们目前的一个老项目是Oracle数据库的,这个库呢,数据库是没有注释的,而且字段名和表名都是大写风格,比如 在代码层面的po呢,以前也是没有任何注释的,但是经过这些年,大 ...
- Hibernate正向工程(实体类-->数据库)
1,新建实体类News.java package com.hanqi.dao; import java.util.Date; public class News { private Integer i ...
- powerDesigner 正向工程生成sql注释
找到script-->objects-->column-->add value内容如下: %:COLUMN% %:DATATYPE%[.Z:[%Compressed%? compre ...
- ERwin 正向工程
1.物理模型带字段备注 COMMENT ON 将模型切换至 physical 模式选择 Model ---> Domain Dictionary , 在 tab 标签中,切换至comment 然 ...
随机推荐
- Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)
Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...
- ssh-keygen - 生成、管理和转换认证密钥
通常使用:[b]ssh-keygen -i -f 公密匙名>> authorized_keys[/b]语法详细介绍[code]ssh-keygen [-q] [-b bits] -t ty ...
- LoadRunner利用ODBC编写MySql脚本(转)
LoadRunner测试数据库是模拟客户端去连接数据库服务器,因此,需要协议(或者说驱动的支持).LoadRunner本身直接支持Oracle.SqlServer数据库,这两个数据库直接选择相应的协议 ...
- 窗口管理器 Openbox 入门指南
2008-07-30 也许你听说过 Blackbox 和 Fluxbox,那么,Openbox 又是什么?Openbox 跟它们很相似.不过,我们还是来看看 Openbox 官方给出的说明吧.Op ...
- zookeeper集群的搭建
虚拟机为VirtualBox 4.3.12版本:系统为CentOS 6.6版本:zookeeper 3.4.7:java版本1.7.0_67. 虚拟机设置为桥接网卡,这样就可以通过主机网卡上网了.Vi ...
- .net core webapi参数绑定处理
在 Startup的ConfigureServices方法中添加: services.Configure<ApiBehaviorOptions>(options => { optio ...
- Linux命令-帮助命令:man
man ls 查看ls命令的帮助信息(输出结果和less命令一样,需要空格,回车,,上箭头,下箭头,PgUp,PgDn,q等方式浏览) 注意:由于这个文件信息量比较大,需要查找某一个字符,输入/,输入 ...
- 温度测量【RTD】
原理 温度是表征物体冷热程度的物理量,它可以通过物体随温度变化的某些特性(如电阻.电压变化等特性)来间接测量,通过研究发现,金属铂(Pt) 的阻值跟温度的变化成正比,并且具有很好的重现性和稳定性,利用 ...
- 常用音频软件:Wavesufer
作者:桂. 时间:2017-06-02 10:23:39 链接:http://www.cnblogs.com/xingshansi/p/6932408.html 前言 只列举两个自己用过的(wave ...
- c语言中各种数据类型的长度
在32位平台和64位平台上,同一种数据类型可能有不同的数据长度: 类型 32位平台 64位平台 char 1 1 short 2 2 int 4 4 long 4 8 long long 8 8 fl ...