浅谈UML教学

2022-09-12

UML (Unified Modeling Language) 是一种定义良好, 易于表达, 功能强大且普遍实用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它不仅可以支持面向对象的分析与设计, 更重要的是能够有力地支持从需求分析开始的软件开发的全过程。1994年10月, Grady Booch和Jim Rumbaugh首先将Booch 93和OMT-2统一起来, 并于1995年10月发布了称之为统一方法(Unified Method)的UM 0.8。1995年秋, OOSE的创始人Ivar Jacobson加盟到这一工作。经过3人的共同努力, 于1996年6月和10月分别先后发布了UML 0.9和UML 0.91两个新的版本, 并将U M重新命名为U M L。U M L的开发得到了公众的积极响应, 一批公司参与了U M L的定义工作, 其中有D E C、H P、IBM、Microsoft、Oracle、Relational Software、TI以及Unisys等。1997年1月正式公布了UML 1.0, 1997年11月17日, OMG (Object Management Group)接纳UML 1.0为基于面向对象技术的标准建模语言。2001年, UML 1.4修订完毕。

UML代表了面向对象方法的软件开发技术的发展方向, 具有重大的经济价值和国防价值, 获得了工业界和科技界的广泛支持。截止1996年10月, 已有700多个外国公司表示支持采用UML作为建模语言。

UML是一门涉及到软件工程建模的学科, 涉及面广、实用性强。通过本课程的学习, 要求学生掌握UML的基本概念、基本方法, 具有分析企业系统、规划和设计企业管理信息系统的能力, 具有用统一建模语言对复杂对象进行分析、设计等描述的能力, 并了解UML领域最新技术发展情况及研究前沿动态。

学生普遍都没有软件开发的实际经验, 所以在教学过程中存在一定的难度。通过对2届学生的教学, 我逐渐总结出一套针对没有实际经验的学生的较为有效的教学方法。

1 介绍U M L的发展历史、现实用途和经济价值, 引起学生的学习兴趣

虽然UML对于软件工程非常有用, 但对于象牙塔里的学生来说, 他们体会不到UML的实际意义, 反而会认为U M L太难, 对于应付考试没有多大的用途。所以在教学的最初, 一定引起学生的学生兴趣。那么, 应该怎么做才能让学生觉得学习UML不是一件浪费时间的事情呢?我的做法是:先让学生用VB语言编写一个小软件, 再用Java语言编写同一个小软件, 然后用C语言仍然编写这个小软件。这个时候很多学生都很不解我的意图, 他们很多人问我:“老师, 为什么你要我们用不同的语言来编写同一个软件呢?太麻烦了!”“对啊, 是很麻烦。我们现在随便用哪种语言, 只要能实现要求的功能就可以了。可是以后面对不同的客户、不同的用户, 我们是不是也要一次又一次地编写不同语言的代码来实现相同的功能呢?这样是不是浪费了财力、物力和人力呢?”这时, 很多学生都希望能有一种简便的方法来实现用多种语言编写相同功能的软件。那么, 此时适时引出UML会引起学生很浓厚的兴趣。因为UML是一种图形语言, 通过在专用软件中构筑模型图的方法, 可以转换出不同的编程语言, 既简便, 又实现了不同客户的不同需求, 何乐而不为呢?

2 引入U M L的基本概念介绍

UML的定义有两个主要组成部分:语义和表示法。UML的语义用自然语言描述, 表示法定义了UML的可视化标准表示符号, 这决定了UML是一种可视化的建模语言。这些图形符号和文字用于建立应用级的模型, 在语义上, 模型是元模型的实例。此外UML的定义还给出了语法结构的精确规约。对于一般建模者, 应重点掌握基本的概念与表示法, 并熟练运用它们, 建立元模型则是研究方法学的人的研究重点。

UML是一种可视化的建模语言, 对其各建模元素可进行详细说明, 并能生成所建模型的文档。使用UML时, 要从不同的角度观察系统, 为此定义了一个概念“视图”。视图是对系统的模型在某方面的投影, 注重于系统的某个方面。每个视图是图的协作, UML定义了9种模型图, 4种模型视图。

UML中有三种基本构造块, 分别是事物、关系和图。事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)。UML中有四种关系, 分别是依赖、关联、泛化和实现关系。

UML的应用主要是模型图, 所以在接触基本概念的时候, 就有必要让学生印象深刻。因此, 课后需要完成一定量的课后联系, 熟悉UML的各种图形语法。

3 重点掌握用例图、类图

3.1 用例图

虽然UML中一共有9种模型图, 但最基本、最重要的当属用例图和类图, 必须重点掌握。用例图是UML的基础, 所有系统的各级静态结构都由用例图来表示, 它也是其他模型图的基础。因此, 利用UML建模绘图的第一步就是准确绘制用例图。一般来说, 一个完整的模型中会包含多个用例图, 从系统的顶层用例图到以下的各级子用例图。对于学生来说, 缺乏实际的开发经验, 分解系统功能模块的时候比较困难, 找不到地方入手, 这样对于用例图的绘制会非常恼火。因此, 在课堂上, 我尽量介绍一些具体的模型, 增加学生的形象感。

3.2 类图

类图也是UML中非常重要的模型图。系统在经过用例图的分解后, 已经成为各个功能模块。此时, 需要使用类图来对功能模块进行进一步的细化。通常, 一个典型的系统有多个类图。在一个类图中不一定要包含系统中所有的类, 同时一个类也可以加到几个类图中。类图是定义其他图的基础。在类图的基础上, 状态图、协作图等进一步描述了系统其他方面的特性。类图也是组件图和部署图的基础。

4 综合应用

在了解了U M L各部分的意义和用法后, 最重要的就是综合应用。通常一个实际的系统模型规模都较大, 需要用到UML中很多语法元素。在给学生布置练习的时候, 我一般都从规模较小的系统入手, 慢慢深入, 要求学生先画出系统大致的结构图, 然后逐级分解。最后根据结构图进行UML模型图的绘制。最后, 再使用UML专用的软件工具对图形进行转换, 得到我们想要的各种语言的软件。

总之, UML是一门实践性很强的学科。在教学过程中, 一定要注重结合实例进行讲授, 增加学生的兴趣和形象感。这样, 教学才能受到较好的效果。

摘要:本文介绍了UML软件建模的现状, 并根据自己在实际教学中的经验和体会做出了简单的总结。

关键词:UML,UML教学

上一篇:大学教学模式变革与大学生学风建设下一篇:在会计教学中加强职业道德教育的思考