UML建模实例教程(第3版)课件 第10章 双向工程_第1页
UML建模实例教程(第3版)课件 第10章 双向工程_第2页
UML建模实例教程(第3版)课件 第10章 双向工程_第3页
UML建模实例教程(第3版)课件 第10章 双向工程_第4页
UML建模实例教程(第3版)课件 第10章 双向工程_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章双向工程110.1双向工程简介10.2正向工程10.3逆向工程2本章将向读者详细介绍Umbrello2.32的双向工程的功能及操作方法。Umbrello双向工程的内容主要包括:双向工程简介、正向工程、逆向工程。本章的学习要点包括:从模型到代码的正向工程;从代码到模型的逆向工程。310.1双向工程简介45Umbrello的双向工程包括正向工程和逆向工程。

正向工程就是从UML模型到具体语言程序代码的过程,而逆向工程是在软件开发环境中由具体语言程序代码到UML模型的过程。

使用正向工程,一旦软件系统的设计完成后,开发者可以借助正向工程直接由UML模型生成程序代码框架,提高开发效率。而借助于逆向工程,开发者可以通过程序源代码得到软件系统的设计模型和设计文档。10.1双向工程简介10.2正向工程(生成Java代码)610.2正向工程(生成Java代码)7任务1使用Umbrello的正向工程将类图生成Java代码。任务描述

8正向工程是从模型图到代码框架的过程。通过将软件模型对某种特定语言的映射可以从UML图得到该语言的代码,帮助开发者节约许多编写类、定义属性和方法等重复性工作的时间。转换是把源模型的元素转变为目标模型的元素。转换配置是转换的实例,它包括转换要使用的所有信息。源模型和目标模型可以是文本文件、代码模型,也可以是UML模型。当源模型和目标模型都是UML模型时,转换通常是把元素从一个抽象级别转变为另一个抽象级别。转换包括转变规则,这些规则把一种类型的源元素转变为一个或多个目标元素。除了转变规则外,转换还包括贯穿于源模型元素并基于元素类型和特定规则标准运行的机制。转换配置是转换的一个实例,它包括转换所使用的所有信息,如一个唯一的名字、转换源及转换目标等;它也可以包括一个已有转换的具体特定属性。当用户运行一个转换时将使用用户在转换配置中提供的信息。在用户运行转换之前,用户必须创建一个转换配置。当用户应用一个转换配置时,系统将创建一个转换的实例并应用转换配置中的属性来运行,最后生成用户所期望的输出。10.2正向工程(生成Java代码)9使用Umbrello的正向工程将类图生成Java代码。详见教学视频《正向工程》10.2正向工程(生成Java代码)1010.2正向工程(生成Java代码)选择类图正向工程生成的Java代码文件正向工程前:正向工程后:1110.2正向工程(生成Java代码)完成步骤:1.设置默认语言为Java。2.设置代码生成选项。3.选择类图。4.设置代码生成选项。5.选择类。6.生成代码。7.检验代码生成情况。8.编辑代码。12设计model等值对象时,不必为其设计getter(),setter()方法,正向工程会自动生成其getter(),setter()方法;一般A类调用B类,最终代码中经常以在A类里初始化一个B类的变量。在设计时,不要在A类中设计一个B类类型的属性。这种关系要在“AssociationProperties”中通过为RoleA指定值来实现;类设计时要按开发规范写好类和方法的注释,正向工程会将注释生成到代码中,开发过程中注释如有改动,可通过逆向工程将类图和代码保持同步。(1)使用Umbrello的正向工程将图书管理系统中的类图转换成Java代码。(2)在Umbrello中查看新生成的对应类的Java代码。

1.操作要求

2.操作提示

(1)通过学习小组讨论和上网查询资料形式完成。(2)比较生成的代码与自己编写的程序代码的区别。10.3逆向工程1410.3逆向工程15任务2使用Umbrello的逆向工程将已有的Java源代码转换成Umbrello模型。任务描述

16Umbrello逆向工程就是从现有系统的代码来生成模型的功能。逆向工程通常在迭代过程结束,重新同步模型和代码时非常有用。在一个迭代开发周期中,对于原有模型的实现,可能会加入许多新的类、属性或方法。这样就可能造成设计模型和实现模型不一致。这时候,采用逆向工程就可以实现设计模型和实现模型的同步。同时,通过逆向工程可以分析已有的代码,了解代码结构与数据结构,这些代码对应到模型图就是类图、数据模型图与组件图。Umbrello所支持的逆向工程功能很强大,包括的编程语言有C++、VB、VC、Java、CORBA等,并且可以直接连接DB2、SQLServer、Oracle和Sybase等数据库,导入Schema并生成数据模型。很多大型软件系统的开发都涉及数据库的使用,尤其是在做二次开发的情况下,主要的难点就是对源码与数据库结构的分析。而利用Umbrello的逆向工程这一功能,就可以完成代码、类图以及数据库Schema到数据模型图的转换。10.3逆向工程17publicclassAdministrator{

protectedStringname;

protectedStringpass;

publicvoidmanageBook(){}

publicvoidmanageReader(){}

publicvoidmanageNotice(){}

publicvoidmanageLibrarian(){}

publicvoidmanageFine(){}

publicvoidmanageBookType(){}

publicvoiddoQuery(){}

publicvoidmanageSystem(){}}10.3逆向工程假设现有图书管理系统中的管理员类Administrator.java代码:18由Administrator.java源文件生成Umbrello类图。详见教学视频《逆向工程》10.3逆向工程逆向工程得到的类图1910.3逆向工程完成步骤:1.选择Java类文件。2.导入代码。3.将转换后的类添加到类图。20借助于逆向工程可以检查逆向同步设计会不会出问题,以及信息会不会丢失;进行逆向工程时,若有关联的类(包括框架的类或别的模块的类)不存在,则逆向会报错,无法进行;逆向工程只能生成类,不能生成类图;如要得到类图,请创建一个类图,然后将上面逆向工程过来的类拖进类图区域即可。(1)在Java语言中编写WebShop电子商务系统中商品类的代码,添加一个g_Producer属性并添加一个queryGoods()方法。(2)使用Umbrello的逆向工程,将商品类对应的Java类(goods.java)转换成Umbrello中的类图,并比较该类图在修改前后的变化。21

1.操作要求

2.操作提示(1)通过学习小组讨论和上网查询资料形式完成。(2)必须保证会员类之前没有g_Producer属性和queryGoods()方法。

(1)完善图书管理系统中的类的属性和方法(指定其类型和返回值)。(2)由图书管理系统中的类图生成对应的Java代码。(3)使用Java语言编写一个描述学生的类Student.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论