浅析基于UML的软件开发及支持环境

2018-07-30 09:30:34

随着现代软件工程的复杂程度不断提高,而软件项目也产生了越来越多的问题,像软件项目的花费以及维护费用越来越高,以及软件开发的周期也越来越长等,而一个优秀的模型系统的建立成为必要。UML已经成为通用建模语言的工业标准,而工业在竞争激烈的市场中生存发展,则就需要基于UML的适用于需求分析、概要设计和结构优化的软件开发支持环境。而与传统的软件开发环境不同的是,它能广泛覆盖软件开发的各方面,同时其支持环境提供了全面的软件建模支持以及良好的体系结构,从而为软件开发者提供最好的服务。   2、基于UML的软件开发方法    

在对基于UML的软件开发方法探索时,则传统的软件开发方法必然有其不足之处。其一,很难准确的理解以及表达系统需求。毕竟准确、透彻的理解系统需求是软件开发的首要任务。其二,很难处理系统需求的变化。当前,软件系统更新较快,这就要求研发的周期要尽可能的短,同时在开发过程中要调整需求。其三,风险大以及软件复用率低。传统的开发方法,开发中大多是一段程序或者是模块的复用,软件复用的利用率和效果都不是很好。其四,软件的可维护性较差。这是由于传统的软件开发方法中,需求分析、设计和编码以及测试之间存在着鸿沟所造成的。    

由于传统的软件开发方法存在着诸多的弊端,而无法适应当今复杂并具有人性化的软件系统。则在众多开发中基于UML的软件开发方法成为首选。UML是一种建模语言,并不是一种面向对象的建模方法。当前也有RUP、OPEN以及OOSP等较为流行的开发过程,但通过比较RUP最为完善,与UML形成了最好的结合,是UML推荐使用的软件开发过程。   

首先,RUP建模框架模型。从软件工程过程的角度看,RUP是一个软件开发过程,是一个将用户需求转化成软件系统的一组有序的步骤。RUP是一种二维结构的软件开发过程。在RUP的二维开发模型中,则包括阶段与迭代内容。阶段是软件开发过程随着时间的动态组织。RUP把一个开发周期分成四个连续的阶段,有初始阶段、细化阶段、构造阶段和移交阶段。而迭代是一个完整的开发循环,它的结果是可执行产品的一个版本,是正在开发的最终产品的一个子集。当然,在上述的内容中可见,RUP建模框架模型中也存在这不足。则基于领域分析的RUP改进模型框架出现,它是一种三维模型,包括领域维、生命周期维和阶段维。基于领域分析的RUP改进模型动态建模技术主要有两个部分组成,领域建模方法和基于领域分析的RUP改进模型的动态建模方法。开发系统的最终目的是建立一个可执行的系统,在软件开发过程中,RUP为需求、分析、设计、实现以及测试提供了很好的指导。    

3、基于UML的软件开发支撑环境    

基于UML的软件开发支撑环境方面,国际上已经进行了一些研究和实际开发工作。特别是Rational公司的Rational Rose是目前国际上应用最广泛以及功能最强大的UML支撑环境。而国内对于UML支撑环境的研制开发工作尚处于起步阶段,而比较典型的有UML_Designer。而其按照功能划分包括建模和模型管理子系统,模型检查和代码生成子系统以及逆向变换和构件支持子系统以及工程管理和支持子系统。其中Rational Rose提供了UML的所有建模元素的可视化编辑环境,基于组件的开发以及对软件开发全过程的支持,其中, Rational Rose目前在面向对象分析、建模以及设计工具市场上都起着主导作用。    

基于UML的软件开发支撑环境主要包括UML建模环境、UML模拟环境以及自动代码生成环境和逆向变换环境等。而这些环境均是基于UML的语法规则和语义定义。在UML建模环境中主要实施的是对UML各种图形的可视化支持,除了完成最基本的图形编辑功能外,还要能进行语法检查和一致性检查,从而保证系统模型的完整性。其结构体系主要包括对象管理系统、图形支持库以及结构化图形编辑器生成工具等。自动代码生成,就是把为系统建立的各级分析以及设计模型转换成特定语言的代码,自动代码生成是以信息中心库为基础的。当用户对生成的代码进行修改后,逆向变换机制将用户的修改转换到模型上,保证模型和代码的一致性。代码的生成主要是通过五个步骤后生成,有检查系统模型,生成组件并将类赋予组件,设置代码生成属性,选择生成对象,生成代码。UML模拟环境支持UML的动态模型的模拟以及系统功能和用户界面的模拟和系统性能的模拟。作为一个良好的建模和开发支持工具,以支持对系统体系结构的建模,即在不同系统配置和功能分配的情况下,对系统性能进行模拟。    

建模是开发优秀软件的所有活动中的关键部分,其目的是为了更好的理解、分析以及设计和实现所构造的系统。而统一建模语言UML的出现是软件工程领域的重大突破,在对基于UML的软件开发方法以及软件支撑环境的研究中,虽然开发设计的探讨中,对全局性的框架部分有着理论以及相关实践的支持,特别是国内开发的UML_Designer开发支持环境,虽然并不是很完善,但也有着更大的发展前景。诸多不完善的地方主要有以下方面,对于UML的应用仍需要更多的实践对其进行评价,同时基于UML的动态建模技术和基于构件的开发技术还需要进一步结合等。对于这些方面的不足,有的需要进一步探讨研究,有的需要更多的实践应用及反复测试得到更多的数据作为依据。