基于UML的模型软件开发应用与研究

时间:2022-10-21 02:14:13

基于UML的模型软件开发应用与研究

摘 要:在计算机信息化快速发展的今天,计算机软件的应用已经逐渐渗透到了生活的每一个方面。而目前统一建模语言(Unified Model Language,UML)作为一种标准的建模用语,在软件开发的过程中被广泛运用。本文将就目前基于uml模型软件的开发应用过程展开讨论。

关键词:UML;软件开发应用

中图分类号:TP311.5

1 UML语言介绍

1.1 UML语言的产生背景

在目前各类被适用于存储交换等软件设计中的建模语言中,统一建模语言(UML)便是最著名与运用范围最广的一类。UML语言的正式产生主要得益于三位主要面向对象的方法论专家的科研努力,他们分别是J. Rumbaugh,I.Jacobson以及G. Booch。这三位国外专家通过对于大量建模概念的研究,汲取了各类建模语言的优点,最终推出了在表示方法以及使用便利度上都远优于其他建模语言的新型建模语言种类,即统一建模语言――UML。在开发厂商运用UML进行软件开发的过程中,由于UML本身的优点特性,各大开发厂商尽管独立操作但是仍旧能够保持统一基本的共同概念和同样的表示法,使总体的模型风格呈现一致,也就是说,UML为整体的系统描述过程提供了一种单一化、标准化而又强大的语言。

1.2 UML的体系结构

UML总共有四层体系结构,如图1所示,分别为M0、M1、M2、M3:

图1

M0是UML体系结构中最内部的一层,也是UML实际运行中的实例层。在UML代码的运行过程中,其所生产的具体代码将会对应到M0这一层。而如图所示,M1这一层则被称为模型层,主要用于储纳所建立而成的模型,且此层中的概念是M0层中运行时实例的归类。接着,所谓的元模型层即M2层,它一来对M1层中的元素进行了具体规定,二来对M1层中的元素进行了归类。而最后一层M3层又被称作元元模型层。也就是说元元模型层中的事例都是元模型层中的元素,而元元模型层中的元素则是对元模型层中元素所在的归类。

2 基于UML模型的软件开发过程

基于UML模型的软件开发过程,即UML Based Software Deve-l opment Process,我们简称为UBSDP。本章节将就UBSDP展开讨论。具体来说,UBSDP将软件开发分成微过程和宏过程两大部分,以及辅助过程和业务过程两个过程分类。UML-Designer(UML语言的设计工作者)主要是负责微过程中的业务过程的支持工作。在UBSDP的具体开展过程中,主要有三大方面的内容起到关键性的作用。

首先,是关于驱动需求的软件开发。该部分主要包括帮助获取真正系统需求以及需求获取和细化技术两大部分。其次,是一种基于体系结构的软件开发的方法。在整体系统的构建过程中,体系结构是重要的建模组成部分,是设计环节中的基础构建,因而合适的体系结构构建使用户能够进行迭代增量开发。最后是对于约束和支持机制的研究部分。在该部分的研究进程中,我们能够发现软件开发过程中产品和过程的支持与约束工作所涉及的要素很多,包括经验、技术、资产和实施环境在内。

2.1 软件开发

软件开发即指组织为满足特定的开发目标所进行的一系列程序开发的活动,主要包括4大关键性因素P=,所对应的分别是过程、组织、产品以及资产。

2.2 软件开发过程/活动

ProcWork=是指在目标明确的前提之下,受到(IArtfyOArtf)的驱动,以及通过所需的资源P-Who的特定支持,在一定的控制约束下P-When,依照某种方式P-How进行的一系列软件开发行动。在具体的软件开发过程中,对于特定人员在何种资源支持下展开工作,以及何时做、如何做才能达到预定目标都进行了明确的定义,分别表示为P-Who、P-When和P-How。而且,每一个操作过程又可以分解为若干的子过程,也就是说,某个前部过程的输出产品便极有可能成为下个过程中的输入产品。在软件开发过程中,必须要将开发中4要素组织起来,而图2所描述的即是UB-SDP的微过程业务过程框架。

图2

3 在基于UML模型的软件开发过程中的测试工作

UML模型必须具备可测试性,否则就不能称该UML模型是测试就绪的,因而在基于UML模型的软件开发过程中,我们也必须涉及到对于整体UML模型的测试工作。在具体测试中,检验UML模型是否具备可测试性,具体地就是要检验模型是否满足以下几方面的要求:

(1)UML模型应该能够准确而完整地将被测系统反应出来,并且应当通过其所包含的信息量将测试中所有的功能特性表达出来,如果出现任何的疏漏,那么该模型都不能说具备可测性的。

(2)所有能够通过系统检测的UML模型都应当保证被测系统中那些能够及时发现错误并且可以验证系统一致性的相关关键细节还仍旧存在。另外,对于整体状态模型而言,UML模型必须保证能够描述所有事件、动作和状态,并且需要对各个状态进行明确的定义工作。

另外,在实际操作中,有时候为了能够减轻软件测试人员的工作负担,我们也可以将UML模型和具体使用模型进行结合,通过合并测试工作来改进传统的统计测试工作,使测试人员减轻总的测试量。在这种方法的具体测试工作中,我们首先要了解具体使用模型和UML模型之间的扩展与转换关系,进而对UML模型在其导出使用模型中的具体算法进行研究,只有了解了这其中所涉及的转换算法之后,才能有效地进行结合式测试工作。

4 结束语

在一般的软件开发过程中,其所涉及到的开发生命周期主要包括分析、需求、设计、实现一机测试这几个阶段,而每一个阶段工作相互影响、相互进行信息回馈,使软件开发的过程显得既细致化而又具有统一性。在很多大型软件开发的过程中,这种各个阶段分化实施的工作方式有的时候可能导致整体开发成本过高,且每个阶段缺少一定的耦合度,而这都是因为其具体的语言、构建甚至格式往往存在一定的不同。而现在将统一模型语言UML运用到软件开发的各个阶段之后,就能够保证每一个阶段所使用的语言与基本架构的一致性,从而能够打破在各个开发阶段的隔膜,更好地实现在软件开发过程中的关于合作信息的共享问题,也能够使整体项目具有更高的可控性和可视性。

参考文献:

[1]刘超,金茂忠.软件测试过程的基本模型 POCERM[J].北京航空航天大学学报Vol.23,1997-2:56-60.

[2]章涛,顾庆,陈道蓄.基UML状态图的测试技术研究[J].计算机科学,2007.

[3]A.S.Evans. Reasoning with UML Class Diagrams.Workshop on Industrial StrengthFormal Methods (WIFT'98),IEEE Press,1998.

[4]Zhu H, Hall P, May J.Software unit test coverage and adequacy. ACM ComputingSurveys,1997,29(4):366-427.

上一篇:为区域儿科中心定锚 下一篇:童话王国罗滕堡