模型驱动复习整理

1.模型驱动相关名词

  MDPM (Model driving programming methodology) 模型驱动编程方法

  MDA(Model deiven Architecture)模型驱动体系结构  

  OMG (Object  Management Group) 对象管理组织

  UML (Unified Modeling Language) 统一建模语言

  PIM (Platform Independent Model) 平台独立模型

  ACSE (Abstract conceptual structure)抽象概念结构图

  PSM (Platform Specific Model)平台相关模型

  ALSD (Abstract logical structure)抽象逻辑结构图

  AISD (Abstract implementation diagram)抽象实现结构图

2.some concept   

  1)MDA(Model deiven Architecture)模型驱动体系结构

    MDA是一种新的编程规范,是开发应用程序的方法,核心思想是抽象出PIM与平台无关模  型,然后针对不同实现技术制定多个映射即PSM平台相关模型,再将PSM转换成为代码。   

  2)Model

    MDA对Model下的定义是广泛的:源代码是一个模型,基于UML统一建模语言也是一个模型

  3)PIM与PSM

    pim是从技术细节中抽象抽象结构和功能的形式化规范,通过UML来表示,它与UML都是与平台无关的。而psm是描述pim在特定平台上如何实现。

    pim中包含ACSE抽象概念结构图

    psm中包含ALSD抽象逻辑结构图与AISD抽象实现结构图

  4)MDA模型驱动体系结构 的 架构(只介绍部分)

      4.1UML (Unified Modeling Language) 统一建模语言

        该语言包含内容很多有许多种图,许多种模型具体可见 :统一建模语言百科 ,

        UML础: 统一建模语言简介 (有详细各种图的事例)

      4.2核心目标平台:XML,JAVA,.net等等

      4.3普及服务:如图略

      4.4垂直领域:如图略

  

  5)PIM平台独立模型 到 PS平台相关模型 的映射

    它们是MDA定义的两种主要模型类型,通过映射规则可以互相转换。

    所有基于MDA开发的object都是从用 UML统一建模语言 创建一个PIM开始的,PIM可以表达应用系统的 设计细节、商业逻辑、数据需求。因为不依赖于平台所以少了许多顾虑,很是方便。

    PIM设计完成后就要选择一个平台,然后转换成对应平台的PSM。

    OMG定义MDA的文档中列出了四种方法将PIM转换为PSM

      ?手工转换

      ?用已建立模式来进行转换

      ?通过一些已建立的模式定义一个算法,然后用这个算法处理PIM得到PSM的主要框架,最后在手工的添加内容。

      ?使用应用上述算法的工具来自动生成PSM

  6)基本概念的关系模型   

  

    6.1动作action

      ?动作是程序行为的基本单位。

      ?动作就是将一组输入转化为一组输出并作一些事情。输入与输出都可能为空

      ?动作有多种类型,每种类型都有对应的规则 。     

    6.2数据流data flow

      ?数据流链可以连接许多动作,比如:一个动作的output 是另一个动作的input。

      ?它可以表示一组动作的有序进行

    6.3控制流control flow

      ?控制流表示两个动作的顺序依赖关系。比如:后继动作只有在前驱动作完成后才能执行。

      ?当两个动作没有数据流的次序约束时使用。

      

    6.4过程procedure

      ?过程是一组动作的集合,比如c++中的类和传统c中的函数。

      ?过程可有多个参数和结构。

      ?过程蓝图就是将过程可视化。

  7)抽象概念结构图(ACSD)

 

       ?基本集合Tcn = {+,*,o,?,!,:,>,e,&,#}

       ?自然语言集合Snn={s|s∈自然语言语句}

      ?ACSD是树形结构的。

      ?+ 顺序动作后有一个描述,然后依次执行它的子节点

      ?o 单项选择动作后有一个行为描述,当条件满足时顺序执行它的子节点,概念层只需      概述行为,而不需给出具体条件。

      ??多项选择后也有一个行为描述 ,会执行它的若干子节点中的一个

      ?* 循环动作后也有一个行为描述,无需给出循环条件,它的子节点满足条件时将重复      执行。

      ?e 异常处理动作

      ?:基本动作,定义赋值。

      ?!模块动作

      ?>跳转动作 用于表示无条件和有条件跳转。

      ?#未定义动作

  

     ?实例

      

  8)抽象逻辑结构图(ALSD) (只给出java平台相关)

    ?JAVA抽象节点类型

  

    ?实例

  

  9)抽象实现结构图(AISD)

    ?AISD实例    

    

    ?有源代码的所有细节

  10)为什么分层描述?

    10.1概念层

      ?目标

        描述求解问题的思想和概要解决方案

      ?要求

        抽象,可视,可理解,有结构,避免细节,独立于现实

      ?设置的好处

        将解题思想与程序代码隔开,可以抛开许多实现问题去思考,能很好的表达解题思      路,便于截图思路的重用。可跨平台移植。还易于他人理解。

      

    10.2逻辑层

      ?目标

        详细描述求解算法的控制结构,达到彻底分解

      ?要求

        可理解,逻辑构造的利于实现,容易变为实现层,避免数据流表示细节,控制流要       与实现相关。

      ?设置的好处

        利于让不同人发挥长处(xuan),利于管理(xue)

    10.3实现层

      ?目标

        过程实现的精确描述

      ?要求

        精确,严格,可视化,控制流数据流都与实现相关,能直接生成代码。

      ?设置好处

        过程实现表示的可视化,数据流表示细节的局部化,更适合人的阅读与使用。

    10.3三层的工作性质

      概念层属于设计与分析。

      逻辑层既属于设计,也属于构造。  

      实现层属于构造工作

    10.4程序独立性原理

      一是指,解决问题的思路与目标平台的 控制流 数据流 的实现细节 相互独立。

      二是指,目标平台语言的逻辑控制结构 与 它的数据流实现表示细节相互独立。

  11)过程蓝图表示法总结

    

    11.1过程蓝图的目的

      把程序的静态结构进行可视化描述。制造独立性,以便更好的理解正在构造的程序,提    供简化和重用的机会

    11.2比较

       

3.正向工程实例

4.逆向工程实例

时间: 2024-09-29 09:26:02

模型驱动复习整理的相关文章

java复习整理之集合

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ java复习整理之集合: Collection:集合中的最顶层接口,提供了一些操作集合的共性方法添加:boolean add(E e)boolean addAll(Collection<? extends E> c)删除:void

【ASP.NET MVC】个人复习整理

1.为 Action 标注 Attribute 限制访问 public class HomeController : Controller { [HttpPost] public ActionResult Index() { return View(); } } 那么该 Index 的 Action 就只能够通过 Post 方法请求,其它例如 Get 方法请求则响应 404. 2.设置 View 所使用的 Model 假设有 Person 类. 则 Controll 代码: public cla

JSP复习整理(二)基本语法

最基础的整理.. 一.语句声明 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.d

JSP复习整理

好久没更了,一周完成了SRDP,一周完成了课程设计,这一周就要好好回顾回顾Java Web的学习轨迹了. 用的eclipse Mars 一.表单 start.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4

图像处理复习整理(3.图像差值)

图像插值的困惑点: 之前一直不明白,差值需不需要考虑循环边界还是0边界什么的,但是最终发现,想错了,我们需要考虑的是已有像素点之间的块的应该有的像素值,所以说,所有的参数都有了. 图像差值主要解决的问题有: 奇异像素点处理 图像放大 一维线性差值: 一维三次差值: 双线性插值: 双立方差值(比较难) 双立方差值的目标函数: 所以有16个变量,所以偏微分,全微分,本身值都要算进去

图像处理复习整理(4.图像去噪)

检测图像噪音程度: 计算平方误差: function d = mse(est,ref) d =mean( (est(:)-ref(:)).^2 ) ; 计算信号噪声比: function d = snr(est,ref) mse = mean((ref(:)-est(:)).^2); dv = var(ref(:),1); snr = 10*log10(dv/mse); 峰度信号噪声比: function p = psnr(est,ref) mse= mean((est(:)-ref(:)).^

c#复习整理

一.基本语法 1.数据类型 整数类型:int.long 浮点类型:float.double.decimal 布尔类型:bool 字符串类型:string 2.类型转换 int a; double b = 3.14;a = (int)b;a = Convert.ToInt32(b);a = int.Parse(b.ToString());int.Parse需要放置的值是string类型的 3.前++和后++ int a = 3;a++;//a=a+1;++a;//a=a+1; 前++和后++不一样

JSP复习整理(五)JavaBean

一.创建一个JavaBean UserBean.java 1 package jsp.test; 2 3 public class UserBean { 4 5 private String userName; 6 private String pwd; 7 private String name; 8 private String gender; 9 private int age; 10 private String email; 11 private String tel; 12 priv

数据库复习整理

1.关系模型的三类完整性规则:实体完整性,参照完整性,用户定义的完整性规则. 2.SQL server 默认带有四个系统数据库: master:存储系统级信息,登录账户信息,配置参数等,model:创建所有数据库模板,msdb:用于计划警报和作业,tempdb:保存临时表和临时存储过程. 3.主要数据文件 mdf,次要数据文件 ldf,事务日志文件 ldf. 4.子查询:使用in关键字 select * from student where claid in(select claid from