基于正反向工程的模型驱动的软件开发过程分析

2013-11-15 02:07周艳萍
电子测试 2013年24期
关键词:概念模型用例面向对象

周艳萍

(云南经济管理职业学院,云南昆明,650106)

模型驱动软件开发就是指首先要建立一个模型,在模型的可靠性、安全性、健壮性得到认可后,再进行软件代码或框架的开发与编写。如果在开发与编写软件代码时发现系统方面存在很多不完善或缺陷,再反回到模型建立初期,采用迭代或增量,进行模型的修改与重新定位,这就是基于正反工程的模型驱动。一般来讲,模型驱动下软件开发首先要进行建模,也就是建立相应的模型。当前计算机软件开发领域最常使用的建模工具有RationaRose和PowerDesigner两种,二者都十分适用于各种软件模型的建立。

1 RationaRose

1.1 RationaRose简介

RationaRose由Rational公司研制,它一种被广泛应用于软件建模与公司级水平软件应用组件构造的工具,它主要三个特点:第一,面向对象;第二,采用统一的建模语言;第三,它的建模过程是可视化的,便于模型的开发与建立。RationaRose的两大特性使其在建模领域内得到了最广泛的推广与应用。第一个特性为它提供了灵活的反复式发展,既进化式发展,工程师在利用它创建新的应用时,可以将上一个反复的输出转变为反复的输入,任何一个用户都可以整个工程是如何实现并完成的;第二特性就是具有来回旅程工程的能力,就是它可以通过回溯和模型的升级其余部门的代码使代码的一致性得到保证。使用RationaRose建模具有如下特点:

①模型与代码实现统一;

②适应多种开发语言;

③适用于团队协作开发;

④适用于模型的Internet发布;

RationaRose可以为任何一个建模任务提供全面的、可靠的、灵活的实现方法与途径。通常来讲,在一个软件开发团队中,会有项目负责人、系统分析工程师、模块编程人员等多种系统开发人员,这些人可以不局限于软件系统的开发顺序影响,在软件建设过程中,可以同时将系统的体系及功能转换为代码,这种并行工作方式不仅节约了时间,还节省了系统开发成本,整个架构的可视化特性使上述过程更易于实现了。

根据RationaRose在不同的架构视图中有不同的应用,其模型图可以分为9种类别,具体分类如表1所示。

表1 Rose的模型图

1.2 RationaRose建模过程

利用RationaRose进行建模主要经历以下几个步骤:

① 业务需求建模:在这个阶段主要进行业务角色的定位,对于用例进行分析,完成用例图的建立,通过对业务进行深入的分析,将业务执行过程中系统程序应遵守的业务规则制定出来,建立一个关系清楚、结构合理的用例结构图,此用例结构图通常由活动图来进行表示,还要完成泳道的划分,将对象流用规范的标志进行识别记录,完成业务关系实体的分析与提取,最终实现业务对像的建立。

②系统需求建模阶段:系统的需求有哪些,这些需求有哪些深层次的要求,系统的里面包含哪些角色与用例,这些分析结果都要通过用例来描述,并且用例的诸多影响关系中还有扩展、包含、泛化等,此阶段还应完成用例使用规则的制定,文档标准的制定。

③系统分析阶段:使用用例完成概念模型的建立,伴随着系统分析的深入,进一步将模型细化,将模型的外围概念进行扩展,结合系统结构建立功能与函数调用的顺序图,还要建立每个用例的状态图。

④分析模型的建立:完成系统的分层,进行系统架构分析与建设,将分析类划分为多种实体类、控制类、边界类,完成分析类图的建立,并且将这些分析类图进行分包。

⑤设计阶段:在分析模型的基础上实现真实用例的建立,包括对象图的建立,每一个类的职责需要重新进行定义,模型之间的关系需要理顺,确定表达系统的行为。

⑥设计模型的建立:要模型设计完成后,将独立的几个模型组合到一起,组成一个大的模型。

2 PowerDesigner

2.1 PowerDesigner简介

PowerDesigne是由Sybase公司出品的建模工具,它可以高效的完成管理信息系统的分析与设计工作,并最终实现整个数据库模型的建立。PowerDesigne最早是开发数据库模型的,但是发展到后期,由于业务发展的需要,也尝试着其他模型的研发。仅管PowerDesigne主要用于数据库结构的建模,还可以与计算机软件技术中的新兴理论与方法相结合,完成业务流程模型的建立,将统一建模语言UML和数据模型实现无缝集成。

PowerDesigne的模型划分具体情况如表2所示:

2.2 PowerDesigner建模过程

PowerDesigner建模主要有三种途径:

①首先进行面向对象分析;第二步依次建立各种类图;第三步,将类图转换成CDM、PDM。

②首先进行结构化分析;第二步产生时序图、用例图等;第三步,将CDM、PDM转换为类图;第四步,将UML补充完。

③将前两种途径结合到一起

3 利用建模工具进行软件系统的开发

表2 PowerDesigne模型种类

上面探讨了RationalRose和PowerDesigner两种常用建模工具,二者既有区别又有联系,在实际的软件开发过程中,采用哪一种建模工具,可以根据用户要求与实际的系统环境来确定。本文研究的是基于反向工程的模型的开发。

3.1 使用PowerDesigner进行全程建模

采用PowerDesigner进行软件系统的建模,采用的是上述中的第2条途径,既先完成结构分析,建立时序图等,然后将其转换为类图,最后进行对细节部位进行进一步的修改。

3.2 系统模型的建立流程

整个系统模型建立主要经过9个环节:第一步是需求模型的建立;第二步是概念模型的建立;第三步是面向对象模型的建立;第四步是源代码的编写;第五步是编码实现与测试完成;第六步是利用反向工程再次进行面向对象模型的建立;第七步是反推概念模型;第八步是进行终极审核;第九步是实现系统的建立。

系统的功能与架构进行分析,此阶段的主要任务是完成功能的类型的确定,将完成模型的分析工作;建立需求模型后,就是进行概念模型的建立,对系统中的概念进一步细化与完善,保证投入使用后的系统可以为用户所有的需求功能;面向对象模型建立完成后,要对模型的性能进行测试,确定模型的安全可靠性,如果发现存在不完善与有缺陷的地方,应进行修改与细化;利用正向工程可以产生工程的框架的源代码;对源代码框架做完善处理,然后进行测试。再利用反向工程在框架下实现模型的建立,对需要进行修改的内容再添加到模型中,既反向产生面向对象的模型,再通过PowerDesigner转换为概念模型;最后一步是进行模型审核,如果建设完成的模型达到了设计标准,与最初的预想设计是相符的,表明其是成功的,可以运用到软件开发中,如果健壮性或安全性等没有达到设计要求,就要再次进行修订。

3.3 数据库模型的建立流程

上面提到的PowerDesigner最早就是进行数据库模型开发的,后期又在数据库模型的基础上进行系统模型的研究。系统模型的建立与数据库模型的建立大同小异,主要区别就是于概念模型建成后,系统模型建设流程中,接下来是概念模型与面向对象模型的建立,而数据库模型的建设流程则是在概念模型建立完成后,接下来是建立物理模型与生成SQL脚本。最初的概念模型的建立,发现问题时进行了迭代与增量,以及系统建设后期的测试等基本上都是相同的。

3.4 利用建模工具进行软件系统开发的特点

如果是一个团队共同开发软件系统的情况下,采用模型驱动的方式进行系统分析,可以简化团队内工作人员的交流,使系统的重要特性的理解更能保持一致,不发生误解,并且,建设完成的系统易于实现升级与维护。

采用正反工程进行系统模型与数据库模型建设时,进行的迭代可以形成一个独立的可运行不系统,同时,每一次增量也形成了一个独立的小系统。

4 结论

模型驱动软件开发模式是计算机技术发展的产物,它也是软件工程技术发展的结果。将模型与数据分开处理,可以让软件系统的开发工作并行开展,这样做不仅提高了工作效率,还简化了系统开发流程。正反向工程更是使模型的开发过程中,不必一次性完成,为发现问题时提出进行补救的渠道,使系统的一致性不被破坏。建模软件除了上述两种常用的外,还有其他一些建模工具,不同的建模工具有细节要求上略有不同,但是大体框架上还是十分类似的。新技术推动新产业的发展,因此,建模新技术的出现也可以能模型驱动软件系统开发模式提供新的活力与动力。

[1]宋薇.模型驱动开发方法在ATP软件开发中的应用研究[J].硅谷.2013(14)

[2]王文全 宋科璞.王勇.谢卫.基于模型驱动的机载嵌入式软件应用[J].计算机技术与发展.2013(8)

猜你喜欢
概念模型用例面向对象
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
网络服装虚拟体验的概念模型及其量表开发
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
基于“认知提升”的体系作战指挥概念模型及装备发展需求
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
基于PSR概念模型的稀土资源安全评价