UML在无纸化考务系统中的应用

时间:2022-05-28 03:42:48

UML在无纸化考务系统中的应用

摘要:为了更好的开发无纸化考试系统,采用统一建模语言(UML)对系统进行建模,通过对该考务系统的开发表明,UML提供了简洁描述复杂系统的能力,提升面向对象的分析和设计,使得软件开发过程有据可依,保证软件产品的高质量。

关键词:UML;Examination-system;UseCase

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)17-4657-03

Using UML Tools for the Development of The Paperless Examination System

CHEN Yi-hong, SHI Xin-jun, ZHENG Li-xia

(Guangzhou Command College of Armed Police Force, Guangzhou 510440, China)

Abstract: The paper introduces the use of the modeling language of UML and the application of Rational Rose issued by Rational Co. in the development of the paperless examination system.

Key words: UML;UseCase; Examination-system

1 统一建模语言

1995年至1997年在软件工程领域取得巨大进展,其成就已超过过去15年来的总和。其中具有划时代意义的成果之一就是在软件工程领域出现和使用了统一建模语言(UML:Unified Modeling Language) [1]。UML溶入软件工程领域的新方法、新技术和新思想,是一种功能强大、易于表达、定义良好而且普遍适用的建模工具。UML不仅适用于支持面向对象[2]的分析和设计,而且支持从需求分析开始的软件开发全过程。

“统一过程”是基于组件的,这意味着利用它开发的软件系统是由组件构成的,组件之间通过定义良好的接口相互联系。在准备软件系统的所有蓝图的时候,“统一过程”使用的是“统一建模语言(Unified Modeling Language)”。事实上,UML是“统一过程”的有机组成部分――它们是被同步开发的。然而,真正使“统一过程”与众不同的方面可以用三个句话来表达:它是用例驱动的、以基本架构为中心的、迭代式和增量性的[3]。一是用例驱动。开发软件系统的目的是要为该软件系统的用户服务。因此,要创建一个成功的软件系统,我们必须明白其潜在用户需要什么。用例驱动的开发过程实现了与用户的互动,能够大大降低软件开发的风险。二是迭代式开发。面对当今的复杂的软件系统,使用连续的开发方法:如首先定义整个问题,设计完整的解决方案,编制软件并最终测试产品,这在现实中是不太可能的。因此需要一种能够通过一系列细化,若干个渐进的反复过程而生成有效解决方案的迭代方法。三是以基本架构为中心。在全力以赴开发之前,关注于早期的开发和健壮可执行体系结构的基线。它描述了如何设计灵活的,可容纳修改的,直观便于理解的,并且促进有效软件重用的弹性结构。

UML做为一种建模语言,它主要包括UML语义和UML表示法。UML语义精确定义了UML的原模型,使开发人员在语义上取得一致,尽可能减少各开发人员的不同表达方法所造成的影响;其表示法为开发人员提供了使用这些文本语法与图形符号进行系统建模的标准,定义了UML符号的表示方法。UML提供五类图的定义[4]:①用例图描述了一组包括参与者(Actor)与用例(UseCase)之间的关系;②静态图共有三类,分别是类图、对象图和包图。类图显示类的静态结构,对象图描述类图的实例,基本使用与类图相同的标志,包图显示系统的分层结构;③行为图描述系统的交互关系,显示动态模型和组成对象之间内在联系,包括状态图和活动图。状态图描述类的对象的所有可能状态,同时表示出事件发生时状态的转移条件。活动图描述了满足用例要求的所有要进行的活动,和同时活动之间的约束关系便于识别并行之间的活动;④交互图描述对象之间的交互关系,主要有顺序图和合作图,其中的顺序图主要描述了对象之间的动态合作关系,而合作图显示对象之间的协作关系,描述了对象之间的动态合作关系;⑤实现图主要包括了构件图和配置图,其中的构件图描述代码部件的物理结构,和各部件之间的依赖关系,便于分析和理解部件间的相互影响程度,配置图显示软硬件的物理体系结构。

2 系统分析[5]

结构化方法和原型方法最大的缺点是忽略了数据与程序之间不可分割的内在联系,并由此引发了软件危机。面向对象方法是从对象的角度对系统进行分析和设计。对象与传统数据的本质区别是,对象包含了数据和操作,它能将数据和功能紧密的结合在一起,使开发出来的系统稳定性、可重用性及可维护性好。

2.1 系统的逻辑结构

系统逻辑结构是一种层次的模型结构,描述了系统如何从软硬件平台上逐步叠加,最后成为一个集成的系统。系统逻辑结构设计一方面要考虑到软硬件系统的开放性和可扩展性,另一方面也要考虑系统对相互扩充提供充分的支持。本系统采用的架构如图1所示。

2.2 用例建模

2.2.1 Use Case模型[6]介绍

用例模型是描述系统功能和系统环境的模型,它作为开发者与客户间的纽带。用例模型主要应用于分析、设计和测试活动三个方面的输入。

USE CASE模型包括三个模型元素参与者(Actor)、用例(Use Case)和通讯关联(Communication Association)。一是参与者描述用户在与系统交互时所扮演的一组角色。用户可能是个人使用者,也可能是外部系统。二是用例描述一组用例实例,每一个实例都可以是系统所要执行的一系列相关操作,这些相关操作可生成特定参与者可观测的数值。三是通讯关联用于描述参与者与用例之间的相应关系,显示参与者使用了系统中的何用例,或者说是系统所提供的用例是被何参与者使用。

2.2.2 题库管理的用例建模

题库管理模块主要功能包括试题录入、修改、删除、查询、导入和导出,用于维护题库。

参与者:任课教师

用例功能:维护题库。

试题录入:按输入格式将试题录入题库。

试题修改:对题库中的试题实现修改。

试题查询:查询题库中符合条件的试题。

试题删除:删除题库中的试题。

试题导入:将试题导入到题库。

试题导出:将题库中的试题导出,以便重复利用。

2.2.3 部分用例描述

在对一个软件应用程序如何工作进行逻辑设计之前,对系统行为进行研究并把它的行为当作 “黑箱”来考虑是有益的。在UML中,用顺序图表示参与者与系统的交互以及由它们启动的系统操作。一个系统顺序图是用来表示用例特定场景、外部参与者产生的事件、他们的顺序及系统之间事件的描述,所有的系统都被当作黑箱;图的重点是从参与者跨越到系统边界的事件。用例模型中的活动图用来阐明用例中的事件流。用例的事件流用于说明系统在为主角赋值时需要完成哪些操作。它由一系列活动组成,这些活动共同为主角生成某些工件。事件流包括一个基本流和一个或多个备选流。由于本子系统用例比较多,限于篇幅,这里仅给出试题导入用例的描述:

用例参与者:任课教师。

用例功能:将试题导入题库。

用例描述:任课教师进行操作,系统出现选择对话框,教师选择试题备份文件进行导入。系统显示备份文件中的相应题目中,老师选中题目,点击加入,系统更新题库信息,更新操作记录到事件日志中。用系统顺序图描述如图3。

3 用例实现

用例实现[7]描述如何在设计模型内部使用协作对象来实现一个特定用例。用例实现的目的是区分系统阐释者关注的问题(例如用例模型和系统需求方面的问题)与系统设计者关注的问题。用例实现在设计模型中主要提供一种结构,应用组织与用例相关而却属于设计模型的工件。相关工件主要包括序列图和协作图,这些图应用协作对象以说明用例行为。

3.1 用例与用例实现图的关系

一个用例实现代表了一个用例的设计观点。它是一个组织模型元素,用于将一定数量的工件进行分组。这些工件与用例的设计有关(如参与类和子系统的类图以及说明用例事件流的序列图),并且通过一个类集和子系统实例来执行。

为通过用例实现分别控制用例,需要将用例实现与它的用例进行分离。这对于较大型的项目或一系列的系统尤其重要,因为相同的用例在产品系列中可以针对不同产品进行设计改动。以电话交换机系列产品的情况为例:电话交换机虽然存在很多共有的用例,但是根据产品定位、性能和价格需要对它们进行不同的设计和实施。

3.2 试题导入用例实现

试题导入用顺序图实现如图4。

4 结束语

应用简单总结考务系统开发中UML建模的一个方面,而在实际应用中会更加复杂,也对开发者提出了更高的要求和标准。在软件工程领域的发展中,统一建模语言的提出和应用是一个里程碑式的重大事件,UML改善了面向对象的分析和设计,使得软件开发过程有据可依,开发过程变得清晰,保证软件产品的高质量。使用Rational Rose的可视化UML建模工具,将为软件开发带来诸多方面好处:一是应用模型驱动的开发方法提高开发效率;二是通过使用UML语言促进开发团队的沟通;三是实现正、逆向工程;四是实现模型与代码保持同步。另外要说明的是,系统的设计不可能完全预料需求,它应该是可改变的。如果认为统一模型语言是完美的,开发者要完全死板设计代码,将极可能出现不符合实际需求产品。Rational Rose的逆向工程提供修改后的代码生成UML设计图的功能,使得由需求决定计划变得容易实现,实际上,统一软件开发过程的鲜明特点是迭代式与增量的开发。总之,软件分析与设计由于涉及主题多,形成非常复杂的业务流程,如果没有对系统进行统一规范化,将出现混乱的局面。考务系统的成功经验证明在软件开发中应用Rational Rose等UML建模工具的可行性和优越性。

参考文献:

[1] Boggs W,Boggs M.UML with Rational Rose从入门到精通[M].邱仲潘,译.北京:电子工业出版社,2000.

[2] 刘润东.UML对象设计与编程[M].北京:北京希望电子出版社,2001.

[3] 胡春萍,王一平,梁欣霆.UML在系统开发中的应用研究[J].现代电子技术,2002(8).

[4] 陈奕宏.一种无纸化考试和管理信息系统的实现[J].西南民族大学学报,2007(7).

[5] 刘芳,徐雅君,梁娜.UML和建模工具Rational Rose的应用[J].计算机应用研究,2002(11).

[6] 周达仁,张昱,陈意云.用UML和Rational Rose实现面向对象的三层C/S结构设计[J].计算机工程,2000(9).

上一篇:PDF解决打印输出和文档处理技巧 下一篇:智能建筑中的通讯协议研究