APP下载

UML 实验中点放式建模与编程式建模探讨

2021-08-24戴莉萍王文乐

软件导刊 2021年8期
关键词:图形符号用例绘制

戴莉萍,王文乐

(江西师范大学 软件学院,江西南昌 330027)

0 引言

实验教学一直以来都是计算机专业教育的重要组成部分,教学量所占比例逐年上升,考核方法不断创新[1-2]。计算机学科专业实验教学有一定的复杂性,以实验工具为例,语言类开发工具如C、Java、Visual Studio 等,数据应用工具如SQL Server、SQLite、R 语言等,仿真虚拟工具VMware、Proteus 等,层出不穷。众多工具一方面给实验教学带来了便利,另一方面也使师生面临不断的挑战。

基于UML 的面向对象分析与设计课程可以帮助计算机学科专业学生认识软件工程的核心要素,以体系化、工程化方法思考软件开发过程,清晰各部分逻辑的重要作用。对于UML 建模课程的教学改革通常围绕着案例展开,有针对性地筛选案例、良好地组织案例、条理分明地讲述案例等都能有效提高课堂教学质量。围绕案例教学法不断改进其实施过程,提高学生参与度,优化评价体系等工作持续开展,取得了很好的教学成果[3-5]。UML 建模技术课程不仅要关注理论教学,还要精心设计相应的实验课程。来源于实践的真实案例有助于学生理解UML 的核心概念,建模过程包含各个模型的原样构建、模拟构建和独立构建等步骤,要求熟练使用相应的UML 绘制软件。实际教学过程往往关注建模工具的应用,忽视了类型分析环节。

UML 建模工具较多,如Rational Rose、StarUML、Proces⁃son、UMLet、Visio、PlantUML 等,课堂教学会对这些常用工具做一个大致介绍。虽然实验室提供了统一的建模工具,但学生却会按照自己的喜好选择不同的建模工具完成实验。UML 建模工具分为点放式绘图如StarUML 以及编程式绘图如PlantUML 两类,两种不同的建模方式在实验教学中呈现不同的过程、难度和效果。

1 点放式建模

Rational Rose 是基于UML 的面向对象可视化建模工具,可用来进行软件系统的面向对象业务分析、需求分析与设计,是当前最流行的可视化软件开发工具之一[6-7]。下面以Rational Rose 为例说明点放式建模实施过程。

Rational Rose 界面分为若干个区域,有菜单区、浏览区、图形工具区等等,最大的空白区域是模型构建的编辑窗口,如图1 所示。其中浏览区描述各个视图模型,并且提供每种视图组件间的访问功能,在该区域可以看到所有建模结果。当绘制不同的UML 图时,相应的图形工具区中的图形符号也会发生相应改变;可以将图形工具区的各种图形元素点放至编辑窗口,不断设置相应属性及调整空间布局,最终形成所需的UML 模型[8-10]。

Visio、UMLet、StarUML 等建模工具也大都具有这样的建模界面,符合人们在现实生活中利用图纸进行各种设计的行为和思考习惯。

Fig.1 Rational Rose operation interface图1 Rational Rose 操作界面

利用Rational Rose 工具进行点放式建模过程比较简单。首先对系统相关内容进行各种分析,确定所需要的模型及其作用,然后进行建模。绘制图形前先在浏览区选择相应的图形类型,图形工具区自动出现该图形的各个组成元素,点中某个图形符号,再将该图形符号放入编辑窗口,而后设置名称、属性等等;最后对图形进行布局调整,尽量不要有线交叉。下面以一个简单的用例图来说明点放式建模过程[11-13]。

输入:参与者图形符号、用例图形符号、关系图形符号

输出:图书馆系统用例图

处理步骤:①点放两个参与者至编辑窗口,分别命名为“访客”和“读者”,设置相应的属性;②点放6 个用例至编辑窗口,分别命名为“浏览图书”“搜索图书”“借书”“还书”“身份验证”和“超期罚款”,设置相应的属性;③在两个参与者之间点放上泛化关系箭头直线;④在参与者与用例之间点放上关联关系箭头直线;⑤在用例与用例之间点放上依赖关系箭头直线,设置相应属性。

图形变化详细步骤如图2 所示。

Fig.2 Implementation steps of point-and-click modeling图2 点放式建模实施步骤

观察该用例图构建步骤发现,点放式建模过程与数据结构中图结构的画法一致,都是先完成各个点即参与者、用例的布置,然后完成各条线即泛化关系、关联关系、依赖关系布置,按照从左到右分层完成,但在实际教学中画法顺序各有不同。

点放式建模设计是“所见即所得”,模型的最终效果与编辑窗口中的图形效果是一样的,建模的难度在于对问题的分析与理解上。点放式建模方式应用最为广泛,支持工具众多,使用人员不受限制,强大的建模工具使得图形建模过程简单又快捷。

2 编程式建模

PlantUML 是一个开源项目,支持快速绘制UML 模型,同时还支持架构图、SDL 图、甘特图、思维导图等等非UML图;通过简单直观的语言来定义这些示意图,可以生成PNG、SVG 或LaTex 格式的图片。使用PlantUML 的其他工具也很多,下面以在线PlantUML 为例说明编码式建模实施过程。

在线PlantUML 提供语法介绍及各种示例,使读者能够快速入门,各类帮助信息获取也较为方便。与一般的程序开发界面相似,PantUML Web Server 界面主要有代码编辑区和结果显示区,还有一个“Submit”提交按钮,如图3 所示。

Fig.3 The main part of PlauntUMLWeb Server web page图3 PlauntUMLWeb Server 网页主体部分

PlantUML 建模实施步骤很少,就是编码与提交,但是其编码过程却较为复杂,模型及图形元素众多,需要经过分析、设计、编码、测试等基本阶段。下面以图书馆系统用例图为例来说明PlantUML 的实施过程。

输入:参与者变量、用例变量

输出:图书馆系统用例图

处理步骤:①定义参与者变量(访客、读者);②定义用例变量(浏览图书、搜索图书、借书、还书、身份验证、超期罚款);③绘制访客与读者的泛化关系;④绘制访客与浏览图书、搜索图书的关联关系;⑤绘制读者与借书、还书的关联关系;⑥绘制借书与身份验证之间的依赖关系(include);⑦绘制还书与超期罚款之间的依赖关系(extend)。

对应的代码如下:

程序运行效果如图4 所示。

Fig.4 Use case diagram drawn by PlantUML图4 PlantUML 绘制出的用例图

PlantUML 绘制的用例图,其图形使用元素和表达意思与Rose 绘制的图形一样,但是整体布局、各个图形元素之间的线条关系却难以规划,此时需要对代码进行调整,如将图4 对应的部分代码修改如下:

Fig.5 Use case diagram after modification in PlantUML图5 PlantUML 中修改后的用例图

在UML 建模中,不是所有的图形都像类图这样需要进行整体布局设计与调整,例如顺序图就是按照一定的顺序进行阅读和建模,在代码编写上更为简单一些[14-15]。以图书管理系统中的书籍添加为例,其代码表示如下:

Fig.6 Sequence of PlantUML drawing图6 PlantUML 绘制的顺序

顺序图建模代码定义了各个对象、消息编号、消息类型、消息内容、控制焦点的激活与停止等内容。虽然顺序图不需要考虑线条交叉、位置摆放等问题,但是消息可以通过alt、opt、loop、par、break 等关键词进行组合,使得消息可以分组嵌套使用,这增加了模型的阅读和建模难度。

通过类图和顺序图建模例证说明可知,与点放式绘图相比,编程式绘图难度更大一些,如需要知晓每个模型的图形元素名称,这大大增加了记忆负担;图形元素多、关系复杂的情况下可能出现布局困难、线条交叉等情况,代码的调试所花费的时间精力会更多一些。在理解UML 建模思想基础上,还需要具备相应的编程知识,能阅读、编写、调试并解决问题,对于使用人员要求较高。

PlantUML 支持较多模型构建,使用人数越来越多;学生在实验中也渐渐喜欢这种编程式绘图,觉得颇具趣味性和挑战性。

3 两种建模方式比较

点放式建模与编程式建模在实验教学中各有独特之处,表1 从多个角度对两者进行了较为详细的比较。

Table 1 Comparison of point-and-point modeling and programming modeling表1 点放式与编程式建模比较

UML 建模课程安排在大三上学期教授。此时的学生通过前两年的课程学习,较全面地掌握了相应的专业理论知识,在实际操作中也有运用,具有良好的实践能力,能动手解决问题,表2 的数据反映了一个班的学生对于两类工具的使用情况。

Table 2 Comparison of students'use of two kinds of tools表2 学生对于两类工具的使用比较

从表2 可以初步了解学生对这两类UML 建模工具的接受和使用程度。选择使用PlantUML 的原因很简单,编程式建模与一般的点放式建模过程很不一样,又和一般的程序执行体验不同,因此学生会对此好奇并尝试一番。随着课程的逐步深入,PlantUML 的参与度渐渐降低,主要原因在于时间规划上,高年级学生专业课程学习和技能掌握需要较多时间,PlantUML 的应用相当于增加了一门程序设计课程,从入门到掌握都需要较长时间。

另一方面,新工具的引入增加了学生对该门课程的兴趣,从课堂到课率、实验完成效果、综合考核等方面都可以体现出来。

4 结语

基于UML 面向对象的分析与设计课程通过实验环节将其原理、方法、工具贯穿起来,在有限的实验教学环节中从多个角度出发,利用不同的方法对其进行各种改进,例如利用微视频演示建模工具使用、利用案例了解各模型的语义与语境、规划实验阶段组成以提高时间利用率、制定实验评分机制以引起学生的足够重视等等。本文从建模工具的类型入手,仔细观察学生对不同工具的兴趣程度与应用情况,收集各种反馈信息,将建模工具的使用与建模知识的掌握进行关联分析,发现使用点放式建模工具的学生更重视工具所带来的便利性,例如图形的快捷菜单使用;使用编程式建模工具的学生更加重视建模的熟练度,例如图形符号的代码表示。建模工具的多样化可以加强学生建模能力培养、注重程序设计能力应用、提高创新实践能力,对实验教学改革是一种新的探索。后续将基于不同建模工具完成图形的测试,深化实验教学探索。

猜你喜欢

图形符号用例绘制
Art on coffee cups
UML用例模型中依赖关系的比较与分析
GB/T《流体传动系统及元件 图形符号和回路图 第1部分:图形符号》征求意见
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
川鄂盐道白菜柱头图形符号意义分析
放学后
手机界面中图形符号的发展趋向
在转变中绘制新蓝图
符号数独