• 软件体系结构——第十章<从模型到代码>


    一、正向工程

    正向工程是指按照软件开发基本过程,将抽象层次较高的静态结构转换为相对具体的模型的过程

    • 从类图生成框架代码,简单转换(Rose)

    • 从交互图(主要指顺序图)生成类的方法中操作的调用代码框架,主要将交互图中的消息转换为对操作的调用。简单转换(利用IBM Rational Software Architect、Enterpris Architect(EA)等工具)

    • 从状态机图生成状态转换控制代码,可以构建无二义的代码实现。复杂转换(利用同上工具)

    从类图生成框架代码

    什么是框架代码?代码在设计上的初步实现。主要是类定义的基本信息,不包括方法的具体实现

    类的框架代码包括那些?

    • 属性值定义:名称、类型、缺省值等

    • 操作的定义:名称、参数、返回类型等

    • 关系——引用属性的表示,等等

    根据设计类图产生框架代码(也即类的上述初步核心结构),如:

    • 用操作和简单属性定义一个类

    • 加入引用属性:用角色名定义引用属性

    实例:预定房间场景的VOPC类图

    image.png

    ①用操作和简单属性定义一个类(属性、操作)

    image.png

    ②加入引用属性(关联和导航;角色名)

    image.png

    二、逆向工程

    逆向工程

    • 根据源代码导出设计模型,如:

      • 对Java语言来说:逆向工程是分析Java代码,然后将源代码转换到Rose模型的类和组件(构件)的过程。
    • 设计类图、设计交互图(rose不支持)

    逆向工程的主要作用

    • 开始编码后,很多地方势必会和设计模型不一致,此时则可通过逆向工程更新原有的设计模型,从而保持设计模型的有效性、一致性

    • 已有的系统缺少相关文档,通过逆向工程获得系统的设计模型,以便理解和完善文档

    ①类、属性和操作

    image.png

    ②关系和角色

    image.png

    三、模型驱动构架

    问题的提出(模型的构建):模型是应用程序或系统的某些部分的简单抽象表示。用户可以以任意的复杂程度构建模型:从在白板上手绘的方框图,到使用建模工具生成的复杂的UML图。

    然而,实际开发却经常脱离模型,模型只作为一个软件系统的蓝图,开发者仍然要手工编写所有的实现代码。

    因此,模型驱动开发(MDD,Model-Driven Development)是一种能够将模型与实现更紧密地联系在一起的开发方法。

    模型驱动的常见开发技术:

    支持MDD的核心技术有两种:

    • 模型驱动架构(MDA, Model Driven Architecture) 。MDA 表示了一种模型驱动开发方法的概念框架。

    • 模型转换(MT, Model Transformation)

  • 相关阅读:
    XMPP Openfire集成windows身份认证
    WIF claimsbased identity
    VMWare Workstation使用总结几则
    把成熟的代码从.NET移植到Mono 【转】
    工作流jBPM使用总结
    C++实现的IO高效的算法TPIE
    XMPP的简介和基本概念
    NoSQL学习路线图 使用 NoSQL 数据库分析大规模数据[转]
    Spring Security 3 网站安全授权
    jBPM 5 的点滴
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/16227228.html
Copyright © 2020-2023  润新知