基于UML的学生在线测试系统建模研究

2021-01-26 09:45仇学敏
贵州开放大学学报 2020年4期
关键词:题库组件试卷

仇学敏

(贵州广播电视大学 贵阳 550004)

1 绪论

在线测试系统的研究,发达国家比我国早。在美国,一些著名的考试就采用了网上在线测试系统完成测试,例如:Microsoft公司的MCSE(微软系统工程师认证考试)、GMAT(工商管理硕士入学考试)、TOEFL(托福考试)、GRE(美国研究生入学考试)等。由于我国计算机技术和网络技术落后于发达国家,在线测试系统系统没有在国内广泛应用,仅在计算机类的部分考试采用了在线测试系统,这也导致了其它类型题库的建设也相对较晚。随着我国计算机网络信息技术的不断发展,在线测试系统的应用也逐步开始普及。例如:北京师范大学的网络教学平台、上海交通大学的网络考试平台、英语等级考试、驾照考试科目一、计算机等级考试等。

针对现阶段远程教育体系的办学现状和特点,研发一套具有现代远程教育办学特点的学生在线测试系统,有助于提高远程教育的教学质量。学生在线测试系统作为远程教育教学活动的补充,通过数据可视化呈现技术,教师能够更加直观清晰地了解学生的学习情况,根据数据的分析结果,更有针对性地改进教学。

2 UML开发学生在线测试系统

UML是可视化建模语言,UML为软件开发人员提供了一种用于交流的词汇表,是一种用于软件蓝图的标准语言。UML可以对系统进行静态结构和动态行为的建模。UML以面向对象的方法描述系统,从系统开发的需求分析阶段到系统的测试阶段,我们都可以把UML应用于整个系统的开发过程中。[1]

UML技术可以清晰的描述模型体系,比如类的职责定义,对外的依赖关系,以及类之间的交互动作等,提高建模准确性。采用UML分析设计学生在线测试系统时,首先,要对系统进行需求分析,对系统的静态模型进行建模,即用例图、类图、对象图、包图、构件图和配置图对系统进行静态建模而产生的图,这是系统软件模型建立的基础。其次,通过UML的动态模型来描述用例和类之间的协作,动态建模通常由顺序图、协作图、状态图和活动图来体现。建立的动态模型是否可以顺利执行或者执行时的时序、交互关系是否正确,这都可以通过对象间的消息传递来完成,对象所处的状态会随着传递结果的变化而发生改变。最后,用组件图来完成系统的物理实现[1]。

2.1 需求分析

在介绍和细化需求分析之前,先了解分析的定义。分析就是对问题域进行研究,即研究该领域特性以及存在(需要解决)的问题特性,通透理解后用文档详细记录并说明。根据分析的定义,我们可以知道对问题域的研究与理解是需求分析的核心。为方便对问题域的理解,根据现代软件工程方法,推荐的做法就是对问题域进行抽象,将其划分为若干基本元素,然后对这些元素间的关系进行建模[3]。需求分析的任务是对已经收集到的用户需求进行分析提炼,并明确得出系统需要实现的功能目标[2]。

学生在线测试系统需要满足四个需求目标:一是学生可以随时随地登录系统完成考试科目的测试。二是在线测试系统的题型均为单选题、多选题、判断题、填空题四种客观题,系统可以自动批改试卷、反馈考试结果。三是学生通过该系统可以了解自己掌握的知识点,及时查缺补漏,巩固知识点。四是系统可对每门课程的测试结果进行分析,运用数据可视化呈现技术直观展示数据的变化规律,指导教师根据学生对各个知识点掌握的情况,对教学内容的讲授有的放矢。教师也可以调整评分体系,根据教学内容的难易程度,制定灵活的评分参数,使评分系统更科学、合理。

2.2 系统建模

系统建模的目的就是通过对学生在线测试系统最大程度的模拟,充分了解、分析、获取用户的真正需求,了解系统的真正功能,找出系统开发过程中可能会遇到的问题,并提前加以防范[2]。用例图、类图、顺序图、活动图是用来对系统的用例方面或逻辑方面进行建模,关注的是系统内部业务组成与逻辑结构,组件图是描述系统的物理组成,描述软件系统中各个物理组件之间关系的一种UML图[4]。

2.2.1 用例图

Use Case Diagram(用例图)是表示一个系统中用例与参与者关系的图。它描述了系统中相关用户和系统对不同用户提供的功能和服务[1]。参与者、用例以及元素之间的关系是用例图的主要组成部分。在UML中,一个椭圆表示一个用例,一个小人表示一个参与者[5]。

通过需求分析可以看出,该系统的使用对象只有学生、教师和管理员三类。

学生用户:学生注册后就可以选中相应的试卷科目进行在线测试,当试卷测试完成后,系统会对试卷进行自动评卷,并给出评卷结果。

教师用户:教师主要对试卷的科目及每一科目试卷的试题库进行管理。

管理员用户:主要完成对用户身份资料和考试结果的管理。

图1是系统的总体用例图。用例的实例是“登陆”“用户权限管理”“考试结果管理”“题库操作”“试卷编辑”“在线测试”“学生注册”等。

图1中的参与者有学生、教师和管理员。学生用户登录系统后进入学生注册界面,注册成功后再进入在线测试界面,选择考试科目进行测试。教师用户登录系统后可以进行试卷编辑、题库操作。教师在试卷编辑时,可以添加新的试卷科目,删除不要的试卷科目(同时删除该科目所包含的题库)。教师对题库进行操作时,可以先选中相应的试卷,然后对该试卷的题库进行编辑(添加、删除、修改),教师可编辑的题库的类型有:单选题、多选题、判断题和填空题这四种主观题。管理员用户登录系统后可以对用户权限和考试结果进行管理。在用户权限界面,可以实现对用户(管理员、教师、学生)身份权限的管理(添加、删除、编辑)。在考试结果界面,系统会自动统计考试结果、考试分数段、试题出错次数,管理员可以对考试结果进行管理。

图1 系统的总体用例图

2.2.2 类图

Class Diagram(类图)是显示一组类、接口、协作以及它们之间关系的图。类图的组成元素:类、接口和类之间的四种关系(依赖关系、泛化关系、关联关系、实现关系)[1]。该系统中的类图如图2所示。该系统有10个基本类,分别是:“试卷列表”“试卷”“理工类试卷”“文科类试卷”“经济类试卷”“考试记录列表”“考试记录”“理工类学生考试纪录”“文科类学生考试纪录”“经济类学生考试纪录”类。

·试卷类:从需求描述中可知,该系统需要实现系统自动评卷,试卷的题型只能由客观题组成。试卷的题型由单选题、多选题、判断题和填空题这四种客观题组成。

·试卷列表类:试卷列表由试卷信息组成,对该类而言,其主要的成员方法是添加、修改、删除。

·考试记录类:考试记录类的关键成员由序号、学生信息、考试时间、考试成绩等信息组成。

·考试记录列表:所有的考试记录信息组成了考试记录列表,考试记录列表类的主要职责就是查询、打印和统计。

图2 学生在线测试系统的类图

2.2.3 顺序图

Sequence Diagram(顺序图)是按时间为顺序来显示对象交互的图。它是按时间顺序描述一个交互及消息传递的一种方式,具体来说,顺序图显示了参与交互对象和所交换信息的先后顺序,顺序图用来表示用例中的行为,并把这些行为建模成信息交换。顺序图由四个元素组成:对象、生命线、激活和消息[1]。

图3显示了教师试卷管理功能顺序图,顺序图由水平方向和垂直方向两个轴组成。水平轴上表示了不同的对象,即登陆界面、试卷编辑界面、题库操作界面;垂直轴上表示时间、对象及类的生命周期。

在教师试卷管理功能顺序图中,它的角色显然是教师,当教师登录系统后,系统会自动辨别教师权限的合法性。拥有合法权限的教师,可以进入试卷编辑页面和题库操作这两个页面,对试卷进行管理操作。进入试卷编辑页面后,可以对试卷(理工类试卷、文科类试卷、经济类试卷)进行添加、删除的操作。需要注意的是,一旦选中删除某一门科目的试卷时,该科目中所有的试题也会全部删除且不能恢复。当教师进入题库操作页面后,教师可以进行添加试题、删除试题、查询试题和编辑试题的操作。

图3 教师试卷管理功能顺序图

2.2.4 活动图

Activity Diagram(活动图)是UML中一种重要的用于表达系统动态特性的图。在UML中,活动图的作用就像流程图一样,用来表达动作序列的执行过程,活动图又与传统的流程图不同的地方在于,活动图能够展示并发和控制分支。活动图的核心元素是活动和控制流,活动与活动之间通过控制流进行连接,组合成一张有意义的动作网络[1]。

图4显示了学生在线测试系统流程活动图。学生用户输入正确的用户名和密码,登录成功后,进入在线测试页面,首先对试卷进行选择,选出需要测试的试卷,其次进入试卷的测试阶段,测试题目的题型由单选题、多选题、判断题和填空题这四种客观题组成。学生完成试卷的测试后,把试卷的测试结果提交给系统,系统自动阅卷,最后反馈成绩单给学生,成绩单上的内容除了总分外,还有每道题的做题情况,方便学生对知识点进行查缺补漏。学生完成学习过程后,可退出在线测试页面。

图4 学生在线测试流程活动图

2..2.5 组件图

Component Diagram(组件图)由组件、接口和端口组成。被封装完好的物理实现单元就是一个组件,它具有组件的身份标识并定义了明确的接口。接口是一个被命名的操作集合,用于描述类或组件的一个服务。端口是一个被封装的组件,是对外的窗口。在被封装的组件中,所有出入组件的交互都要通过端口[1]。

通过对该系统进行规划设计,该系统的主要组件包括:学生交互、教师交互、管理员交互、学生注册、考试管理、在线测试、题库操作、试卷编辑、身份资料、数据库操作。如图5所示,是该系统的组件图。在确定了系统的组件以后,需要考虑组件可以对外部提供什么服务,也就是组件的接口和组件之间的依赖关系。在该系统中,考试管理组件中,考试信息的接口需要由在线测试组件来提供。在线测试组件中,题库信息的接口需要由题库操作组件来提供。在题库操作组件中,试卷信息的接口需要由试卷编辑组件来提供。

图5 系统组件图

3 结束语

现代软件开发常采用面向对象的方法进行建模,面向对象的方法适合在各种问题域中建造各种规模和复杂度的系统。UML的目的是对面向对象系统进行可视化、详述、构造和文档化[6]。根据学生在线测试系统的需求分析的结果,利用UML建模方法,实现了对学生在线测试系统的动态建模和静态建模,这为学生在线测试系统的实现打下了坚实的基础。

猜你喜欢
题库组件试卷
无人机智能巡检在光伏电站组件诊断中的应用
“勾股定理”优题库
“轴对称”优题库
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
“轴对称”优题库
“整式的乘法与因式分解”优题库
Module5 A Trip Along the Three Gorges
Module5 Great People and Great Inventions of Ancient China
Module 4 Sandstorms in Asia