张 艳
(天津海运职业学院 天津 300350)
当今软件的主流开发方法是面向对象的程序设计和软件开发,并取得了一定的发展,逐渐成熟。而在这种开发方式发展的过程当中,也形成了不少相对比较复杂的开发方法。UML作为一种通用的用于建模的语言,把OOSE、OMT和Booch的概念结合了起来,是可以对软件密集型的系统的制品来进行构造、详述、可视化和文档化的一种计算机图形语言。它相对于传统的计算机语言,不仅融入了最新的思想和方法,还可以让开发出来的软件具有更加强大的功能,供用户使用。下面就探讨一下基于UML的软件体系结构的开发方法。
基于UML的软件系统包含着几个模型,分别是用例分析模型、静态结构模型、动态行为模型和物理结构模型。
用例分析模型的作用是对软件系统的需求进行初步的分析,分析一下软件可以做到的方面和被期待去做的方面,以及不可以做的方面,具体的情况可以用用例来进行描述。
静态结构模型的作用是进一步对软件系统的需求进行分析,确定类和类之间的关系以及每个类的作用,把软件系统的静态结构确定下来,一般用对象图和类图来描述。
可以通过活动图、协作图、状态图和顺序图来对软件系统的动态行为模型进行描述。主要用于描述系统基于时间的变化,对象之间会发生的协作行为和系统的交互关系。
通常使用部署图和构件图来描述物理结构模型,作用是清楚描述软件系统的物理结构和内部的系统构建。
软件体系结构要解决的问题就是如何将以上四种模型来做一个相对平稳的过渡。在软件系统的开发当中,软件系统模型起到了相当关键的作用,是软件系统开发的基础。
绝大部分的软件体系结构由5部分来构成,分别是组件、连接器、配置、角色和端口,其中最基本的元素是组件、连接器和配置。
还带有类型、接口、约束、语义、演化和非功能等属性。如server、client、filter和GUI。
连接器相对独立,可以不对应系统中的编译元,与组件不同。如pipes和browser-server等。
组件作为软件体系结构中一个封装的实体,它的类可以描述为一个包含接口的集合。组件要想与外部环境进行交互,就要通过它的接口来进行,而接口则对组件和外部环境的交互和行为进行了描述。每个端口都包含了有一组端口,而每个端口都对应一个交互点。其中要注意的是:一是在组件的描述中,组件接口的类型至少要有一种;二是在接口的描述中,端口的类型至少要有一种;三是在系统的运行中,组件的实例至少要有一个;四是每一个组件都应该要有一个用于辨别是符合组件还是原子组件的标签。
在软件体系结构中,连接器作为一个主要的实体,接口也是必不可少的,而连接器的接口的组成单位则是角色,每一个在连接器中的角色都对与该连接器交互的参与者进行了定义。要注意的地方前三点和组件的描述类似,第四,组件和与组件项链的地段连接器来决定连接器的顶部接口;第五点和第四点有相似之处,组件和顶端连接器来决定连接器的底端接口。
一个软件体系结构的风格由它的配置来决定,还能够根据配置的信息来确定系统内的组件和连接器是否可以正常通信等等。要注意的地方有:一是软件体系结构的风格类型由配置来定义;二是配置与软件体系结构的连接器和组件相关联;三是至少要有一个实例在配置的系统当中。
组件和连接器的实例组成了软件体系结构,因为系统的高层设计问题由体系结构关注,因此软件体系结构的用model类来进行定义。要注意的地方有:一是构成软件体系结构的类必须要是它的模型元素;二是在组件端口中,至少要参与一个连接器的角色;三和二类似,至多由一个组件端口来实现每个连接器角色;四是软件体系结构的内部各组件不参与其它软件体系结构的关联。
要将基于UML的软件体系结构的开发方法很好地应用到系统的建模当中,就要寻求合适的方法,来实现模型和模型之间的平稳过渡。首先,开发者应该获取用户的需求,然后根据用户的需求创建一个用例分析模型,然后以这个模型作为切入点来将其中的用例转化成各组件和连接器之间的关系,来导出相应的软件体系结构模型。在导出的过程中,对模型的问题进行修正,达到最好的状态。最后,根据已有模型,再进一步精化模型,创建相应的静态结构视图,再创建出相应的动态行为模型,最后再根据已做的所有工作,创建出对应的物理结构模型。
以上通过了以UML作为软件体系结构模型的语言,来开发一个软件体系结构。此方法的核心就是以软件体系结构模型作为中心,并让用例分析模型放在它之前,其他设计模型则安排在它之后,这样的话,用例分析模型模型就搭起了一座连通与其它模型的桥梁,这样就可以有效改进各模型之间的平稳过渡问题。
[1]韩幸才.基于UML的ICU信息系统的设计与实现[J].计算机技术与发展.2012.
[2]朱贤友.基于 UML的公共选修课程管理系统的研究与实现[D].湖南大学 2010.
[3]李庭磊.基于UM L描述的软件体系结构研究[J].中国新技术新产品.2012.
[4]石琳.探讨基于UML的软件体系结构开发方法[J].电脑编程技巧与维护.2013.