APP下载

浅析UML在软件工程中的应用

2018-01-20刘秋香刘振伟

电脑知识与技术 2018年31期
关键词:软件工程建模

刘秋香 刘振伟

摘要:在软件工程中,UML的应用非常广泛。UML建模技术具有可视化、标准化、功能强大、普遍适用等优点,能够贯穿于软件工程的分析、设计、实现、测试、运行与维护等主要阶段。软件建模是开发优秀软件的一项核心工作,UML使用一些标准的图形符号为软件建立模型图。深入理解UML建模技术的各种图及其用途,就可以在软件工程的各个阶段正确应用UML模型图。

关键词:UML;软件工程;建模;模型图

中图分类号:TP311    文献标识码:A      文章编号:1009-3044(2018)31-0075-01

1 背景

UML(Unified Modeling Language,统一建模语言)是一种基于面向对象的可视化的标准建模语言,具有广泛适用性。UML采用了一组形象化的图形符号作为建模语言,通过建立图形之间的各种关系来描述模型。

软件工程是按照工程化的原则和方法组织软件开发工作[1]。软件工程把软件的生产过程(也称为软件生命周期)分为计划、分析、设计、实现(编码)、测试、运行(配置)与维护等几个主要阶段,并按各个阶段进行实施。

UML作为一种对软件系统进行规约、构造、可视化和文档化的语言[2],它融入了软件工程领域的新思想、新方法和新技术,贯穿于软件工程的各个阶段,为之建立相应的系统模型图。

2 UML建模技术

UML1.0版于1997年1月发布,同年12月,UML 1.1版被OMG(对象管理组织)采纳为业界标准,之后推出了一系列版本。目前最新版本是2017年推出的UML2.5.1[3],通用版本是2005年的UML2.0。

UML1系列版本主要包括9種图:用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图和部署图。而UML 2.0 包括13种图,与UML1相比,新增了包图、复合结构图、交互概览图、时序图,并且把原来的协作图改名为通信图、状态图改名为状态机图。

UML语言体系由构造块、规则和公共机制三个部分构成[4]。其中,构造块也称为构造符号,包括事物符号、关系符号和图,一些代表实体的事物符号按某种规则通过关系符号连接在一起组成图。下面分别对UML2.0中13种图的用途进行简要说明。

1)用例图:描述系统提供的功能单元、用户与系统如何交互。

2)类图:描述类、类的特性以及类之间的关系。

3)对象图:非正式图,描述系统在某一个特定时间点上各个对象之间的关系,是类图的实例和快照。

4)顺序图:也称为序列图,描述各个对象按照时间顺序进行交互的过程。

5)通信图:描述对象间通过消息进行的交互,强调对象在交互行为中承担的角色。

6)状态机图:描述对象在生命周期内,在外部事件作用下的状态变换。

7)活动图:描述多个对象从一个活动到另一个活动的控制流程,通常用于表示单个操作、业务用例或商业过程的逻辑流程。

8)构件图:描述系统中的构件、接口及关系。

9)部署图:也称为配置图描述系统运行时在各个硬件节点上的软件部署以及如何彼此通信。

10)包图:非正式图,描述包及其关系,展示系统总体结构。

11)组合结构图:描述系统中某一部分(类、构件等)的内部结构及与系统其他部分的交互点。

12)定时图:也称为计时图,描述对象之间的交互,强调对象处于特定状态的时间与触发状态变化的消息。

13)交互概览图:是顺序图与活动图的混合,一般以活动图为主线,由顺序图细化某些活动。

3 软件工程中的UML

UML可以描述任何类型的系统,具有很宽的应用领域,但最常用的是对各类软件系统的建模。UML能够贯穿于软件工程的分析、设计、实现、测试、运行与维护等主要阶段,为之建立相应的模型图。

1)分析:包括需求分析和系统分析。需求分析一般利用用例图和活动图建模,并编写用例规约;系统分析一般是在真实世界中的抽象层面上创建简单的类图,也可能会用到简单的包图、对象图、顺序图、通信图、状态机图等进一步描述。

2)设计:包括概要(总体)设计和详细设计。概要设计一般 (下转第89页)

(上接第75页)

利用类图、包图、状态图、顺序图和通信图建模,也可能会用到对象图、状态机图、定时图、交互概览图和细化的活动图;详细设计时,可能会对已有模型图进行修改。

3)实现(编码):一般利用构件图和部署图建模,可能会用到组合结构图和细化的包图。

4)测试:包括单元(模块)测试、集成测试、系统测试和验收测试。测试阶段不再建立新的模型图,可能会根据测试情况修改已有模型图。一般单元测试利用类图和顺序图,集成测试利用构件图和通信图,系统测试利用用例图和活动图,验收测试则由用户进行。

5)运行和维护:运行时一般利用部署图和构件图,维护时则可能用到各种模型图。

注意:在哪个阶段建立什么模型图不是绝对的,而且在实际进行软件建模时,几乎没有人使用UML标准中定义的所有图;一般不建议使用对象图和通信图。

4 结束语

UML建模是软件工程的一项重要内容,贯穿于软件工程的主要阶段,通过图形符号快捷有效地为软件建立相应的模型图。开发人员要根据软件的实际情况,建立适合的主要的模型图。

参考文献:

[1] 刁成嘉. UML系统建模与分析设计[M]. 北京: 机械工业出版社, 2017.

[2] 谢星星. UML基础与Rose建模实用教程[M]. 北京: 清华大学出版社, 2011.

[3] OMG官网. ABOUT THE UNIFIED MODELING LANGUAGE SPECIFICATION VERSION 2.5.1[EB/OL]. https://www.omg.org/spec/UML.

[4] 王先国. UML基础与建模实践教程[M]. 北京: 机械工业出版社, 2018.

猜你喜欢

软件工程建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
关于如何创新和完善计算机软件工程管理的探讨
IDEF3和DSM在拆装过程建模中的应用
三元组辐射场的建模与仿真