阅读以下关于基于MDA(ModelDrivenArchitecture)的软件开发过程的叙述,在答题纸上回答问题1至问题3。【说明】某公司拟开发一套手机通讯录管理软件,实现对手机中联系人的组织与管理。公司系统分析师王工首先进行了需求分析,得到的系统需求列举如下:用户可通过查询接口查找联系人,软件以列表的方式将查找到的联系人显示在屏幕上。显示信息包括姓名、照片和电话号码。用户点击手机的“后退”按钮则退出此软件。点击联系人列表进入联系人详细信息界面,包括姓名、照片、电话号码、电子邮箱、地址和公司等信息。为每个电话号码提供发送短信和拨打电话两个按键实现对应的操作。用户点击手机的“后退”按钮则回到联系人列表界面。在联系人详细信息界面点击电话号码对应的发送短信按键则进入发送短信界面。界面包括发送对象信息显示、短信内容输入和发送按键三个功能。用户点击发送按键则发送短信并返回联系人详细信息界面;点击“后退”按钮则回到联系人详细信息界面。在联系人详细信息界面内点击电话号码对应的拨打电话按键则进入手机的拨打电话界面。在通话结束或挂断电话后返回联系人详细信息界面。在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议基于公司现有的软件开发框架,采用新的基于模型驱动架构的软件开发方法,将开发人员从大量的重复工作和技术细节中解放出来,使之将主要精力集中在具体的功能或者可用性的设计上。公司任命王工为项目技术负责人,负责项目的开发工作。 问题内容:请用300字以内的文字,从可移植性、平台互操作性、文档和代码的一致性等三个方面说明基于MDA的软件开发方法的优势。【问题2】(8分)王工经过分析,设计出了一个基于MDA的软件开发流程,如图2-1所示。请填写图2-1中(1)~(4)处的空白,完成开发流程。 【问题3】(10分)王工经过需求分析,首先建立了该手机通信录管理软件的状态机模型,如图2-2所示。请对题干需求进行仔细分析,填写图2-2中的(1)~(5)处空白。
【问题1】 在MDA?框架中,首先使用平台无关的建模语言来搭建平台无关的模型PIM,然后根据特定平台和实现语言的映射规则,将PIM?转换以生成平台相关的模型PSM,最终生成应用程序代码和测试框架。因此MDA方法可移植性比较好。MDA方法中提供了模型转换标准,以及对象约束语言,工具厂商可以开发自动化的工具,开发人员只需关注于业务建模,开发PIM。从PIM到最后面向具体技术平台的可执行的应用程序,都由自动化的MDA工具来解决,很好地实现了平台互操作性。在MDA中代码是由模型生成的,可以保证文档和代码的一致性。 【问题2】(1)平台无关模型(PIM)(2)UML建模(3)模型变换(映射)(4)模型生成源码 【问题3】(1)点击“后退”按钮(2)联系人详细信息界面(3)点击发送给按键或点击后退按钮(4)点击拨打电话按键(5)拨打电话界面