已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章 面向对象模型及代码生成技术(教学:2学时,上机:2学时),各种代码的生成机制和技术,MDA:模型驱动体系(Model Driven Architecture) 代码生成机制,10.1 代码生成机制,10.1.1PowerDesigner对MDA的支持,OOMOOM:从分析(Analysis)语言到具体语言(如Java等)的转换。 OOMPDM:自顶向下先行根据需求设计出领域模型,然后PowerDesigner会自动转换为数据库模型,并同时建立O/R映射关系。 PDMPDM:逻辑模型语言到具体数据库语言的转换。 PDMOOM:自底向上的开发流程,同时自动建立O/R映射。 PDMCDM或CDMPDM CDMOOM或OOMCDM PDMXML:一般用于生成数据库的XML Schema或者是带有XML结构的数据库模型。 XMLXML:XML模型不同语言间的转换。,1.定义、修改对象语言定义文件的方法,10.1.2 PowerDesigner扩展OOM模型语义的方法,面向对象语言定义文件编辑窗口,2.定义、修改扩展模型定义文件的方法,10.1.2 PowerDesigner扩展OOM模型语义的方法,扩展模型定义文件编辑窗口,3.使用版型扩展UML模型对象的语义 4.使用模型对象的右键菜单完成相关工作,10.1.2 PowerDesigner扩展OOM模型语义的方法,类的右键菜单,5.在模型对象特性窗口添加特性页扩展模型对象的特性,10.1.2 PowerDesigner扩展OOM模型语义的方法,为模型对象添加特性页的方法,生成(Generation) 逆向工程(Reverse Engineering) GTL(Generation Template Language),10.1.3 代码生成及逆向工程的原理,C2.0起源于C/C+语言,它是一个使用灵活、符合现代设计、完全面向对象的语言。 建立基于C#2.0的OOM,可使用模型元素进行标准建模外,还可使用C#2.0的自定义工具设计类图和组合结构图。,10.2 C2.0的代码生成,程序集是指由一个或多个DLL文件、可执行C#文件构成的程序集合。 单程序集模型 多程序集模型 C#2.0的专用工具选项板,10.2.1 C#2.0的程序集,C#2.0专用工具选项板,程序集特性的含义,10.2.1 C#2.0的程序集,编译单元(Compilation-unit) :使用文件夹构造源代码文件的层次 编译单元由零个或多个using指令组成,每个using指令紧跟零个或多个全局属性,每个全局属性紧跟零个或多个命名空间成员声明。 操作: 1.创建编译单元 2.为编译单元填加类 3.创建Artifact的文件夹 4.在Artifact文件夹中填加编译单元,10.2.2 C#2.0的编译单元,命名空间(NameSpace):限制对象名称的一个范围。 直接在NewProduct的模型级定义类,所定义的类使用C#的全局命名空间; 在子包中定义类,所定义的类使用子包的命名空间。,10.2.3 C#2.0命名空间,命名空间的层次结构,10.2.4 C#2.0的类,类特性窗口C#页: Static表示静态类 Sealed表示密封类 New表示对类重新进行声明 Unsafe表示声明类型是不安全类,10.2.4 C#2.0的类,部分类(Partial Class):能够存放到多个编译单元中的类。 为部分类中每个内部类指定编译单元 :,10.2.4 C#2.0的类,设置CompilationUnit列,10.2.5 C2.0的结构类、委托类 、枚举类,结构类(Sucture) 委托类(Delegate) 枚举类(Enumeration),在C#2.0中,类的字段(Fields)实际上就是UML类的属性。 Compilation Unit说明字段所属的编译单元(部分类的字段有效) New说明字段是新类型 Unsafe声明字段是不安全类型 Const声明字段是常量 Readonly声明字段是只读型,10.2.8 C#2.0类的字段,在C#2.0中,类的方法实际上就是UML类的操作。 Compilation Unit Extern New Override Unsafe Virtual Scope Base Initializer This Initializer,10.2.9 C#2.0类的方法,事件表示为版型为属性,它与操作联合可以表达增加和/或删除处理; 索引表示为版型为属性,它与操作联合可以表达get和/或set访问; 特性表示为版型为属性,它与操作联合可以表达get和/或set访问。,10.2.10 C#2.0的事件、索引和特性,10.2.10 C#2.0的事件、索引和特性,PowerDesigner建立的基于C#2.0的OOM中的类图,能够生成C#2.0代码,10.2.11 生成C#2.0代码,C#2.0代码生成窗口,生成的文件列表窗口,逆向工程:由C#文件生成OOM的类图 C逆向工程对话框Options页,10.2.12 逆向工程C#2.0代码,1.C的预处理指令 2.定义C#的预处理符号 C#支持的预处理指令,10.2.12 逆向工程C#2.0代码,PowerDesigner设计基于Java或Java5语言的OOM时,可以使用标准建模,还可由Java语言定义工具设计EJBs、servlets和JSPs等对象。 Java的public类 Java的公共(public)类或接口,源文件中只有一个。 公共类与依赖类之间依赖关系使用版型。,10.3 Java的代码生成,Java 5中的枚举类:带有版型的类,10.3.2 Java的枚举类,Operation枚举类的类图,枚举类的代码,1.定义JavaDoc标签的值 2.JavaDoc注释的正向生成和逆向工程,10.3.3 JavaDoc注释,Java代码中的注释和标签,PowerDesigner对Javadoc注释和标签的支持,10.1 代码生成机制,Java5的注解(Annotation) : java.lang.Override java.lang.Deprecated java.lang.SuppressWarning java.lang.annotation.Documented java.lang.annotation.Inherited java.lang.annotation.Retention java.lang.annotation.Target Java的strictfp关键字 : 能够实现采用Java规范的计算,10.3.4 Jave5的注解,J2EE :EJB Java Servlets JSP 1.企业JavaBean(EJB): EJB是一个组件体系结构,主要用于开发和部署基于组件的分布式应用系统。 2.EJB 2.0的工作环境 3.EJB的分类 实体豆(Entity Beans) 会话豆(Session Beans) 消息驱动豆(Message Driven Beans),10.3.6 EJB2.0规范,4.EJB的特性 5.使用向导创建EJB的方法 6.定义EJB组件的接口和类 7.定义EJB的操作,EJB组件的远程和本地视图,10.3.6 EJB2.0规范,8.理解OOM对EJB的支持 EJB组件的初始化 EJB组件的同步,EJB组件的初始化,10.3.6 EJB2.0规范,EJB组件的代码生成机制,EJB组件生成的代码中的继承连接,EJB组件生成的代码中的实现连接,EJB类中持久化和非持久化属性的转换,10.3.6 EJB2.0规范,9.使用EJB的部署描述器,10.3.6 EJB2.0规范,EJB部署描述器在应用服务器部署中的作用,显示EJB部署描述器的内容,10.EJB代码的生成,EJB完整的部署过程,OOM与PDM相互转换时会自动建立OR映射,10.3.6 EJB2.0规范,EJB代码生成的两种类型,10.3.6 EJB2.0规范,数据库还不存在的部署过程,数据库已经存在的部署过程,理解EJB的源代码和持久化 生成EJB源代码,10.3.6 EJB2.0规范,生成的实现类(子类)的作用,生成EJB代码窗口,生成EJB部署描述器 为应用服务器生成O/R映射 选择目标应用服务器,10.3.6 EJB2.0规范,扩展模型定义文件选择窗口,11.JAR文件的生成,10.3.6 EJB2.0规范,JAR的生成过程,含有EJB的非版型的包,生成的JAR文件,12.EJB的逆向工程 将EJB的代码(.JAR文件、.class文件、java目录和部署描述器)逆向生成Java语言的OOM,10.3.6 EJB2.0规范,逆向工程Java窗口,逆向工程EJB部署描述器: 在元素中定义EJB组件; 在元素中描述豆类之间的关联; 在元素中定义实体豆; 在元素中定义会话豆; 在元素中定义消息驱动豆。,10.3.6 EJB2.0规范,元素的子元素与EJB特性的对应关系,元素在组件图中的结果,元素在组件图中的结果,10.3.6 EJB2.0规范,1.用EJB向导创建EJB3.0 2.EJB3.0类的特性,10.3.7 EJB3.0规范,3.EJB3.0组件的特性,10.3.7 EJB3.0规范,4.EJB3.0操作的特性,10.3.7 EJB3.0规范,1.Servlet组件的Servlet页 2.定义servlet类 3.使用向导创建Servlet组件,10.3.8 Java Servlet组件,创建servlet需要定义的参数,4.理解Servlet类的初始化和同步 5.生成Servlet的代码 生成Servlet Web部署描述器 6.生成WAR 7.Servlet的逆向工程,10.3.8 Java Servlet组件,WAR文件的生成例子,JSP:是一种包含二进制代码的HTML Web页,执行该页上的代码可以在页面上生成动态内容。 1.组件的JSP页 2.为JSP定义文件对象 3.用向导创建JSP 4.生成JSP和逆向JSP,10.3.9 JSP技术,1.Java的环境变量,10.3.10 生成Java代码,PowerDesigner缺省环境变量,2.选择Java生成选项,10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成人护理理论知识考核试题题库及答案
- 人行天桥新建工程施工方案及技术措施
- 学校大型集会突发事件应急演练脚本
- 2025幼儿教师资格证《综合素质(幼儿)》试卷附解析
- 2026年起重工技师技能模拟试题及答案解析
- 草坪建植专项施工方案
- 土建质量员考试题库及答案
- 汛期应急沙袋储备措施
- 医用气体(氧气、负压吸引、压缩空气)管道脱脂及焊接施工方案
- 吉安市卫生学校2026年公开选调工作人员【12人】笔试题库附参考答案详解(夺分金卷)
- 房地产项目权责分配表
- 纪检干部培训知识课件
- GB/T 45953-2025供应链安全管理体系规范
- DBJT15-242-2022 道路照明工程技术规范
- DBJ15-101-2014 建筑结构荷载规范
- 中医内科副高级职称考试历年真题及答案
- 产品质量投诉处理流程与技巧
- 2025-2030中国注册安全工程师考试大纲修订对安全生产培训市场冲击报告
- 《肉羊智慧养殖技术规范》征求意见稿
- 学堂在线 日语与日本文化 章节测试答案
- 福建省福州第八中学2025届高一下化学期末教学质量检测试题含解析
评论
0/150
提交评论