问答题
论模型驱动架构在系统开发中的应用
模型驱动架构(Model Driven Architecture,MDA)是对象管理组织提出的软件体系架构方法学,它基于UML以及一系列工业标准,能够支持基于可视化模型驱动的软件设计、内容存储与交换。MDA的核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM),然后针对不同实现技术制定多个映射规则,通过映射规则和辅助工具将PIM转换成与具体实现技术有关的平台相关模型(PSM),最后完成PSM到代码的转换。
通过PIM、PSM、MDA分离业务建模与底层实现技术,降低技术变迁对业务模型带来的影响。
请围绕“模型驱动架构在系统开发中的应用”论题,依次从以下三个方面进行论述。
(1)简要叙述你参与管理和开发的、与MDA相关的软件开发项目以及你所担任的主要工作。
(2)简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。
(3)具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。
【正确答案】(1)对你在论文中准备列举的、近期参与管理和开发的、与模型驱动架构(MDA)相关的大中型信息系统软件工程项目的背景、项目规模、发起单位、目标、项目内容、组织结构、项目周期、交付的产品等做简要的介绍。接着简要介绍你在该项目中所扮演的角色及所承担的主要工作。参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
(2)MDA强调由软件系统的建模行为驱动整个系统的开发过程,以此完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。MDA能够为软件开发带来的好处有(但不限于):
●将开发人员的注意力转移到了平台无关模型(PIM)中,从而避免陷入到具体的实现细节当中,简化了系统开发的工作量,提高了软件的开发效率。
●对于多种流行平台,很多工具会支持从PIM到平台相关模型(PSM)的转换;对于将来可能出现的新技术和平台,确定了平台表示及公共中间件的概念和功能,利用转换规则快速实现PIM到新技术平台的迁移,提高了系统的可移植性。
●利用MDA中基于PIM的桥接器,实现了多个PSM之间跨平台的相互通信,加强了互操作性。
●对于系统变更,通过修改PIM并重新生成PSM和代码,能够降低系统维护的成本。
●PIM帮助团队成员之间提高沟通效率并减少错误,自动生成代码能够保证代码的质量和一致性,确保了软件的质量。
●使用MDA时,功能和架构独立定义,针对新技术,能够利用原有的设计产生对应的实现,延长了系统的生命周期。
采用MDA进行软件开发的过程主要包括:
●使用PIM从如何以最好的方式支持商业逻辑的角度对系统进行建模,开发人员根据用户需求和其他因素对PIM进行精化,以使它能够更加精确地描述系统。
●将PIM转换到一个或多个特定技术相关的PSM,对于每种特定的技术都会生成独立的PSM。
●根据技术特性对生成的PSM进行修改以满足程序设计人员的要求,这些修改可以反映到PIM中去。
●对PSM不断精化,以指导代码生成器生成质量更高的程序代码。
●最后将每个PSM转换为实现特定模型(ISM),生成应用程序代码,进行后续的完善和系统测试。
(3)结合项目实践,简要说明你所列举的软件项目在实施过程中,通过哪些具体的策略、方法和步骤来应用MDA,包括PIM构建、PSM的技术方案选择等。该项目最后的实际开发效果如何?有哪些因应用MDA所产生的项目亮点?有哪些是今后类似的开发项目中需要重点注意或规避的教训?对需要进一步改进的地方,不可脱离实际提出过高的要求,要给出评价依据,评价要客观、适当。
【答案解析】