首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
论模型驱动的软件开发方法及其应用 模型驱动架构(MDA)是对象管理组织(OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的UML模型相比,M
论模型驱动的软件开发方法及其应用 模型驱动架构(MDA)是对象管理组织(OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的UML模型相比,M
admin
2012-03-20
94
问题
论模型驱动的软件开发方法及其应用
模型驱动架构(MDA)是对象管理组织(OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的UML模型相比,MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换(Transformation)技术可自动转换为代码、测试脚本、数据库定义以及各种平台的部署描述。通过使用MDA技术,可以有效解决传统软件开发过程中的生产效率问题、系统移植问题、互操作问题以及文档和系统后期维护问题。
请围绕“模型驱动的软件开发方法及其应用”论题,依次从以下三个方面进行论述。
(1).概要叙述你参与实施的模型驱动的软件开发项目以及你所担任的主要工作。
(2).阐述模型驱动的软件开发过程中的主要活动,并论述模型驱动的软件开发过程与传统的软件开发过程的区别。
(3).阐述在进行模型驱动的软件开发时遇到了哪些问题,如何解决。
选项
答案
一、论文中要具体介绍组织的业务背景、组织结构、软件系统的架构、采用的技术等内容和担任的实际工作。 二、相关的内容包括: 模型驱动的软件开发过程中的主要活动包括: (1)需求分析人员根据领域需求得到描述软件系统外部特征的计算无关模型(CIM); (2)在对CIM进行分析的基础上得到平台无关模型(PIM),并根据业务逻辑进一步精化PIM; (3)进行PIM到平台特定模型(PSM)的模型转换; (4)将每个PSM转换为实现特定模型(ISM),生成应用程序代码,并进行测试。 2.与传统的软件开发过程相比,模型驱动的软件开发方法有5个主要区别。 (1)自动实现模型变换。 传统的开发过程中,模型到模型的变换,或模型到代码的变换都是手工完成的;而模型驱动的开发过程中,模型变换都是由相关工具自动完成的,PIM到,PSM、PSM到ISM都可以自动转换实现。 (2)模型是开发产品,也是程序生成的基础设施。 模型驱动的开发过程中,模型是软件开发生命周期中的核心产品,通过一系列转换最终可以自动生成执行代码,是产生执行代码的基础设施。而在传统开发过程中,模型只是分析人员、设计人员进行分析与交流的文档与图标,不能生成可用的应用程序代码。 (3)模型变换过程与代码生成过程同步,可维护性强。 模型驱动开发过程中,执行代码是由模型通过转换直接生成的,保证了模型与代码的同步。开发人员维护系统的重心不在是传统开发方法中的程序代码,而是与业务逻辑相关、与技术平台无关的平台无关模型PIM。 (4)业务逻辑模型与实现技术平台分离。 需求分析阶段生成的PIM模型与开发技术、开发平台以及实现技术无关,并且PIM模型可以根据不同的技术平台,自动生成以模型为基础的、适用于不同技术平台的软件系统。 (5)提高了开发效率与软件质量。 模型驱动开发的模型架构代表了对系统不同层次的抽象,使得开发人员更加清晰地了解系统的整个架构,而不会被具体的实现技术所困扰。开发人员专注于根据系统业务逻辑构建PIM,通过代码生成技术自动生成实现代码,减少了由于人为因素导致的系统实现错误。 三、在进行模型驱动的软件开发时可能存在的问题包括:如何对CIM和PIM进行建模;如何进行模型之间的转换,特别是PIM到PsM的转换;如何根据需求进行实现平台选择;如何根据PSM生成ISM(代码);如何进行系统测试;等等。
解析
转载请注明原文地址:https://kaotiyun.com/show/GZQZ777K
本试题收录于:
系统分析师下午案例分析考试题库软考高级分类
0
系统分析师下午案例分析考试
软考高级
相关试题推荐
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树转换成双向链表4=6=8=10=12=14=16。
datagrid.datasouse可以连接什么数据源
实现strstr功能(寻找子串在父串中首次出现的位置)
在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
概述.NET里对remoting和webservice两项技术的理解和实际中的应用。
给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:structListNode{intm_nKey;ListNode*m_pNext;};函数的声明如下:voidDeleteNode(L
输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入:定义二元查找树的结点为:structBSTreeNode//anodeinthebi
在用户管理组administrators中删除lusi用户。
随机试题
关于职业健康与安全管理体系合规性评价的说法,正确的是()。
某工地发生触电事故,一方面要进行人的安全用电操作教育,同时在现场要设置漏电开关,对配电箱用电电路进行防护改造。这属于安全隐患治理原则中的()。
个人独资企业财产不足以清偿债务的,投资人应当以其个人的其他财产予以清偿。()(2017年)
大学生思想政治品质的形成,是学校教育、社会影响和()三种力量相互作用的结果。
某旅行社对学生团体旅游提出如下优惠方案:每人享受八二折(即原价的82%)优惠,且如果人数多于5人,则有1人可全部免费,但不得分成多个旅游团。现有一个9名学生的旅游团参加该旅行社组织的旅游团组,则人均费用大约优惠了()。
设二维随机变量(X1,Y1)与(X2,Y2)的联合概率密度分别为求:P{Xi>2Yi}(i=1,2).
在VisualFoxPro中,有如下内存变量赋值语句:X={^2001-07-2810:15:20PM}Y=.F.M=$123.45N=123.45Z=’’123.24’’执行上述赋值语句之
Between1852,when【C1】______wasfirstestablishedthatMountEverestwasthehighestmountainonearth,and1953,whenEdmundHi
ValetaYoung,81,aretireefromLodi,Calif.,suffersfromheartfailureandrequiresalmostconstantmonitoring.Butshedoes
【说明】假设你是CarryTrade公司的市场经理王刚,请按以下内容给Smith先生写一封催款信。【时间】3月17日。【内容】1.Smith先生已于两个月前收到合同规定的ST218型号的洗衣机,却一直未付款;2.几天前写过催
最新回复
(
0
)