ea java逆向工程_EA中的逆向工程 | 学步园

本文介绍了如何使用Enterprise Architect(EA)进行Java代码的逆向工程,将现有代码转换为类图,以便复用和扩展。通过示例展示了如何导入`ItemManager.cs`代码生成类图,并解释了如何从数据库导入表以创建数据模型图。强调了理解复用思想在软件开发中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

承接上篇《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();

///

/// 添加项目

///

/// 使用item实体中的全部属性

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("添加项目失败!");

}

}

///

/// 根据项目id删除该项目

///

/// 使用item实体中的id属性

public bool DeleteItemByID(Item item)

{

//删除成功

if (itemDao.DeleteItemByID(item))

{

throw new Exception("删除项目成功!");

}

//删除失败

else

{

throw new Exception("删除项目失败!");

}

}

///

/// 根据科室id获取包含所有项目

///

/// 使用sections实体中的id属性

public DataTable QueryItemBySectionID(Sections sections)

{

return itemDao.QueryItemsBySectionID(sections);

}

}//end ItemManager

}

在EA中建立一个类图,导入源代码:

1356881290_2902.jpg

1356881318_6162.jpg

生成的类图:

1356881464_7018.jpg

生成的类图,不止包含方法属性,也包含注释的所有信息:

1356881496_7186.jpg

数据库表→架构图实体

数据库→数据模型图

EA还可以导入数据库表,生成对应的数据库模型图,需要建立ODBC数据源,具体过程不再赘述。

导入ODBC数据源:

1356912400_1247.jpg

1356912424_9662.jpg

选择要导入的表:

1356912472_9405.jpg

生成的数据库模型图:

1356912453_4435.jpg

EA中正向工程和逆向工程就先介绍到这里,EA的这些功能并不难学,难的是理解“复用”这一思想,何为复用?借用已存在的成熟的事物,一想,这不就是“站在巨人的肩膀上”么,不过是换了个说法而已。编程中,同样的工作一直重复,得需要想想是否有可“复用”的内容,否则,只能埋头苦做无用功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值