基于MDA的软件设计与实现研究

上传人:jiups****uk12 文档编号:40249483 上传时间:2018-05-25 格式:PDF 页数:4 大小:345.19KB
返回 下载 相关 举报
基于MDA的软件设计与实现研究_第1页
第1页 / 共4页
基于MDA的软件设计与实现研究_第2页
第2页 / 共4页
基于MDA的软件设计与实现研究_第3页
第3页 / 共4页
基于MDA的软件设计与实现研究_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于MDA的软件设计与实现研究》由会员分享,可在线阅读,更多相关《基于MDA的软件设计与实现研究(4页珍藏版)》请在金锄头文库上搜索。

1、信息系统协会中国分会第一届学术年会基于M D A 的软件设计与实现研究木郭宁( 首都经济贸易大学信息学院,北京1 0 0 0 2 6 )文摘t 模型驱动架构技术( M D A ) 使得应用程序和开发工具能够跨越中间件的边界,从而更容易地实现软件系统的集成与开发。该技术将业务逻辑功能和行为定义为一个代表分析结果的平台无关模型( P 垤) ,然后生成代表设计结果的平台相关模型( P s M ) 和多种平台的实现。本文分析了各类模型( P I M 、P S M 、代码模型等) 在软件系统开发中的作用,阐述了M D A 在实现教学管理系统中的实际应用,并针对M D A 的局限性提出了实施M D A 的

2、改进建议。 关键词l 软件工程;模型驱动架构( ) ;U M L ;O p m n a U随着计算机应用的深入,软件生产面临着增强 软件的柔性、灵活的应用模式、复杂的分布环境、各种应用集成和快速实施功能等多方面挑战。传统的软件设计方法已不能适应发展的需要。在这一背 景下,模型驱动架构( M D A ) 技术应运而生。M D A 是通过分离软件在特定平台上的功能实现与功能 描述,来实现业务与技术的互相分离,又通过统一 的基础应用平台使两者保持了统一。M D A 是一个开放的,中立于软件供应商的架构,它广阔地支持 不同的应用领域和技术平台,能够成为应用领域和 具体技术平台之间的杠杆。基于M D A

3、 平台独立的思想,各类构件技术将重新融合在一起;同时,由 于业务构件的抽象性,使得企业业务模型可以独立 于构件技术而存在,大大丰富了构件的层次性,从 而为企业信息资产的积累提供了巨大的机会。此 外,按照M D A 全面关注应用开发的完整生命周期的理念,基于构件的应用开发平台和运行平台将完 美地结合在一起,为提高软件质量和软件生产效率找到一条新的途径。1M D A 的基本思想I V I D A 认为系统开发的最好方法是提高系统的 抽象层次,隔离系统设计和系统实现,独立建模业务行为,从而克服软件复杂性所带来的困难。它将 软件系统的模型分离为与具体实现技术相分离的平台无关模型P I l V l (

4、P l a t f o r m - l n d e p e n d e n tM o d e l , 代表分析模型) 、加入实现平台技术的平台相关模型P s M ( P l a t f o r m - S p e c i f i cM o d e l ,代表设计模型) 和代码模型( 即实现模型) ,同时又能通过转换规则将它们统一起来,从而实现由模型直接转换为可 执行代码的过程。它是一种旨在使业务逻辑和应用作者简介t 郭宁( 1 9 5 8 ) ,女( 汉) 北京副教授 疆佰联系人:郭宁E - n m i h 秘 伽西劬1 l 弘逻辑、技术进展相分离的软件开发思维模式。这种开发方式实现了模型在不

5、同平台中的复用,开发人 员只需考虑和业务逻辑相关的模型设计,而模型到 应用的实现是和业务无关的、可重复的、低层次的工作交由机器来实现。 具体而言,I V l D A 是建立在U M L 之上:支持应用开发的完整生命周期,即支持应用软件从分析、设计、实现、部署、维护、演进以及与遗留应用的 集成的全过程。基于M D A 的思想,可以集成不同的程序设计语言、操作系统、网络协议和构件技术开发的应用。其核心技术包括: 1 1 统一的元数据管理框架 M D A 根据多种模型共存的需要,在不同的建模结构集上又增加了一个抽象层次,统一描述各种 建模结构,提供了管理不同元数据的统一框架。这样在元数据管理中就获得

6、了相当程度的共性,而不 损及使用彼此迥异的建模语言能力或者引入新型 建模语言的能力。元数据的管理和集成可以使用 O M G 的一系列标准来完成:元对象设施M O F 、公 共仓库元模型C W M 、统一建模语言U M L 和咀。 元数据交换X M I 。其中最重要的是M O F ,它是M D A的核心部分。 1 2 精确建模 模型在M D A 中是可执行的,是能够产生产出的。在传统软件开发中,模型被看作是设计工件,主要用来作为交流工具,把3 G L 代码程序看作开发工件。但这样的模型所传达的信息是不够完整的,非正式的和不够精确的,甚至有些时候自相矛盾。 但当模型被用作自动生成工具的输入时,就要

7、求模 型具有足够的精度,包含系统实现的全部细节。然 而,单纯的图形表示是无法做到这一点的,它需要更为精确的、可以被机器理解的语言来补充说明。 适合M D A 的建模语言需要提供:足够的表现力,可以完整地说明系统,这既包括系统的静态信息也 包含系统的动态信息;一种通用的、不是特定于某 种应用的语言;适合于多层应用程序开发和分布式应用程序开发。 此种建模语言应该能够提供各层次模型之闻的映射。目前一般采用U l V I L 对系统建模。通过将基于 标准化的、平台独立的U l V I L 建模标准作为杠杆, 姗A 使得开发人员可以创建能被方便地访问、具有良好的互操作性的应用程序。对象约束语言o C L

8、 是统一建模语言U M L 标准的部分,它是一种施 加于模型元素的约束语言。O C L 的表达式以条件和限制的形式,附加在模型上,为实现可执行的模型 提供了可靠的途径。O C L 的基本元素包括不变量声 明、前置条件、后置条件、操作内容表达式等。大 量的不同的图形和O C L 表达式可以被结合起来表 示模型。U M L 和O C L 相结合实现了M D A 模型的 可执行性,保证U b R O C L 模型与生成的软件产品之间的一致性,使软件开发过程的成熟度级别得到了一个整体的提升。1 3 模型转换技术 模型转换是指按照变换定义从源模型到目标模型的自动生成。模型转换规则是对源模型中一个 或一些

9、模型元素如何变换为目标模型中一个或一 些模型元素的描述。模型转换定义是一组转换规则的集合,这些规则共同描述了源模型如何转换为目 标模型,无论源模型和目标模型是否属于同一个层 次,也不管是否使用同种描述语言。人们就是通过 定义模型转换语言来实现模型转换的。常用的模型转换技术包括:元模型转换和标记转换。元模型转换是建立两个元模型的模型元素之间的映射,当进 行模型转换时,根据元模型元素之间的映射来转换模型元素,从而生成目标模型。通过定义元模型之 间的变换规则来实现P l M 到P S M 的转换。标记转 换是在映射规则中包含一系列预定义的标记,这些 标记用于给模型中的元素增加标注,用于指导模型 转换

10、的过程。U M Lp r o f i l e 就是利用U M L 的构造型 和标记值来进行扩展的机制。为了更好的定义专用 领域模型,人们通过定义U M Lp r o f i l e 来创建专用 建模语言。例如:U M Lp r o f i l ef o rC O R B A ,U M Lp r o f i l ef o rE J B 等。这些U l V I Lp r o f i l e 作为P S M 的建模语言,更为快捷的实现了基于眦的P I M 到 P S M 的映射。2 基于M D A 开发实现教学管理系统为了适应当前教学管理模式的变化需要,基于l 晒 v I D A 技术,我们开发了一

11、个集成化的教务管理系 统。该系统包括培养计划管理、学籍管理、课程管理、选课管理、成绩管理、教师管理、教材管理、 系统管理等子系统。在开发时我们选用了 C o m p u w a m 公司的O l 疵m a U 。0 1 诵m a l J 是利用M D A 技术,基于J 2 E E 平台,采用S t r u t s 模式的开发环境。 在o p 缸a u 中,基于U M L 的域模型( 包括域类模 型和域服务模型) 是以业务逻辑为中心的模型,跟 具体实现技术无关,与M D A 的P I M 模型相对应; 应用模型( 包括W E B 模型、聃模型和D B M S 模 型) 与M D A 的P S M

12、 模型相对应。一旦从域模型产生了应用模型后,O p t i m a U 就自动产生实际的代码 完成各自模型的组件。开发教学管理系统过程如下:2 1建立需求用例模型首先建立该系统的用例模型,明确描述系统的 功能与范围,描述系统外部的执行者与系统提供的各类用例之间的关系等。 2 2 建立域模型( P I 瓤)在这里以创建选课管理的域类模型为例,说明域类模型和域类服务的建立过程。域类模型侧重于 描述系统的静态结构,域服务模型则侧重于业务规则的实现,描述系统的动态特征。通过分析我们识别出与选课管理相关的类包括:课程类、用户类( 包 括学生类、教师类、管理员类) 、选课表类、课程类、教室类和校区类等。在

13、识别了问题域中各个类 之后,通过采用职责驱动的方法为类分配相应的操作。 域服务模型以平台无关的方式定义了应用程序的事务、信息的动作类型。服务模型的关键优势是它能自动生成会话组件,会话组件的典型特征是 定义应用系统的行为。域服务模型最主要的元素包含属性、操作和域视图。为了实现用户登录,我们定义验证密码域服务l o g i n C h e c k S e r v i c e ,它包括p u b l i cb o o l e a ne q u a l p a s s w o r d 0 域操作,用于判断用 户名和密码的正确性。 2 3 建立P 跚模型 由P I M 映射成P S M 时产生了三个平台

14、相关模型:展示( W E B ) 模型,业务逻辑( E I B ) 模型和数据库( D B M S ) 模型。 W e b 模型展示了在最终生成的W e b 页面中将 要实现的各功能模块及其相互关系。镜像模式自动 映射域模型的元素到W E B 模型的元素。W E B 模型 的主要元素有:w e b 组件的包容器、w e b 数据大纲 ( 包括关联和数据类) 、w e b 组件( 定义了指定数据 类集合的用户接口) 、w e b 验证组件( 为应用系统定义验证方法) 。为了保证系统安全以及管理系统不 同角色对组件的操作权限,我们定义了w e b 验证组信息系统协会中国分会第一届学术年会件来实现系

15、统登录。W e b A u t h e n t i c a t e C o m p o n e n t 有 两种登录方式,一种是服务器验证登录;一种是用户自己来定义J a v a 类及验证方法的实现。如果定义了W e b A u t h e n t i c a t e C o m p o n e n t ,在生成代码时,就 会自动生成登录时所对应的授权组件的应用程序W E B A u t h e n t i c a t i o n C o m p o n e n t j s p 。 E J B 模型是处理事务、安全、持久性、可测量 性的中间层模型,它是在代码模型之上的抽象层次。在使用o p t

16、 i m a U 中,E J B 组件模型是系统自动 生成的。开发人员可以通过增加一些组件来优化E J B 模型,这些组件可以是f i n d e r 方法、业务方法、H o m e 接口和S e l e c t 方法等。例如:我们可以在E J B 模型中加入学生姓名查询,按课程名称查询等操作。我们在域服务模型中定义的L o g i n c h e c k s e r v i c e 被映射为S e s s i o nB e a n 。另外,通过定义业务规则及业务规则库中存放的业务表达式,实现对部分业务逻辑的定义和约束。例如,为了保证学习质量,要对学生最高选课学分进行限制。而最高限制学分数,对不同系别、专业、学期有不同的规定。把这种限制定义成业务表达式,有利于对动态信息的维护和更改,而不会影响到内部代码的改变。 D B M S 模型。当域模型完成之后,可以从它生 成D B M S 模型。数据持久性是J 2 E E 开发的一个重 要部分,通用的方法是使用关系数据库。D B M S 包 括应用程序需要的关系数据库定义集,可以看成是各个物理表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号