EA中的逆向工程
来源:互联网 发布:消防编程软件 编辑:程序博客网 时间:2024/05/22 14:21
承接上篇《EA中的正向工程》,这次是EA中的逆向工程,何为逆向工程?逆向工程指的是针对已有的,推出其实现的设计和细节,本文要说的是针对已有的代码和数据库,生成其架构图的过程。
EA中的逆向工程
代码→架构图
从代码转换到架构图,主要是为了复用已经存在的架构,转为类图到EA中,在此基础上拓展,从而复用这些类图,以下列代码为例:
///////////////////////////////////////////////////////////// ItemManager.cs // 作用:项目管理模块// 创建日期:2012年8月12日// 作者: ***// 小组: ****** ///////////////////////////////////////////////////////////using Entity;using DAL;using System.Data;using System;using System.Text;namespace BLL{ public class ItemManager { ItemDAO itemDao = new ItemDAO(); /// <summary> /// 添加项目 /// </summary> /// <param name="item">使用item实体中的全部属性</param> public bool AddItem(Item item) { //防止项目名称重复(根据item的Name和SectionID查询是否存在记录) if (itemDao.QueryItemByName(item).Rows.Count != 0) { throw new Exception("该科室下面已经存在此项目!"); } //防止项目编号重复 else if (itemDao.QueryItemByItemID(item).Rows.Count != 0) { throw new Exception("该项目编号已经存在,请重新填写!"); } //添加成功 else if (itemDao.AddItem(item)) { throw new Exception("添加项目成功!"); } //添加失败 else { throw new Exception("添加项目失败!"); } } /// <summary> /// 根据项目id删除该项目 /// </summary> /// <param name="item">使用item实体中的id属性</param> public bool DeleteItemByID(Item item) { //删除成功 if (itemDao.DeleteItemByID(item)) { throw new Exception("删除项目成功!"); } //删除失败 else { throw new Exception("删除项目失败!"); } } /// <summary> /// 根据科室id获取包含所有项目 /// </summary> /// <param name="sections">使用sections实体中的id属性</param> public DataTable QueryItemBySectionID(Sections sections) { return itemDao.QueryItemsBySectionID(sections); } }//end ItemManager}
在EA中建立一个类图,导入源代码:
生成的类图:
生成的类图,不止包含方法属性,也包含注释的所有信息:
数据库表→架构图实体
详见博客《数据库表转换为实体类》。
数据库→数据模型图
EA还可以导入数据库表,生成对应的数据库模型图,需要建立ODBC数据源,具体过程不再赘述。
导入ODBC数据源:
选择要导入的表:
生成的数据库模型图:
EA中正向工程和逆向工程就先介绍到这里,EA的这些功能并不难学,难的是理解“复用”这一思想,何为复用?借用已存在的成熟的事物,一想,这不就是“站在巨人的肩膀上”么,不过是换了个说法而已。编程中,同样的工作一直重复,得需要想想是否有可“复用”的内容,否则,只能埋头苦做无用功。
- EA中的逆向工程
- EA逆向工程
- EA中的正向工程
- EA的正向和逆向工程
- EA使用(三):数据库逆向工程
- EA逆向工程--逆向生成实体属性图
- mybatis中的逆向工程
- myeclipse中的hibernate逆向工程
- 关于SSM中的逆向工程
- SQL Server数据库生成EA中数据库模式的图表——逆向工程
- EA(enterprise architecture)中的UML反向工程
- 【Android每周专题】Android中的逆向工程
- ea反向工程
- EA生成代码工程
- EA数据库反向工程
- EA数据库反向工程
- 逆向工程
- 逆向工程
- asp.net
- NEFU要崛起——第6场
- 网站收藏
- MYSQL学习二
- Linux Crontab 定时任务 命令详解
- EA中的逆向工程
- GCC版本导致的Floating Point Exception
- 使用复杂绑定完成 CheckBoxList 和 RadioButtonList 控件的绑定
- Access ado字段名问题
- DDMS工具使用
- Delphi学习笔记四——语句
- 贪吃蛇(C语言版)
- 【NPC】12、汉密尔顿回路规约到汉密尔顿路径
- Global.asax 文件是什么