基于UML的辅助教学系统建模与实现
2021-10-15吴慧林
吴慧林
(马鞍山师范高等专科学校,安徽 马鞍山 243041)
21世纪,随着现代教学模式的不断改革,传统的以教师为主导的教学模式不再适应当前的教学需求,如何将学生与教师间的信息交流、信息管理等功能融合在一起成为一个亟待解决的问题。本文拟搭建的辅助教学系统使用当前广泛流行的UML(Unified Modeling Language,统一建模语言)建模技术,服务于高校师生,包括选课管理模块、学籍管理模块、考务管理模块、成绩管理模块等模块。UML的基本构造包括事物、关系和图三个模块,其中事物是指最有代表性的成分抽象;关系是指将事物结合在一起;图是指模型元素的图形表示,包括类图、用例图和活动图。使用UML建模,首先需要描述系统需求,然后根据需求建立相应的系统静态模型,构造系统的结构,最后补充系统的行为。本文采用面向对象的思想搭建辅助教学系统,以降低各模块之间的耦合度,为后期的开发和维护减轻压力。
1 系统功能模块设计
根据系统需求,该辅助教学系统主要面向高校学生和教师,同时需要系统管理员进行信息维护和监督。因此,该系统的用户角色分为学生、教师、管理员3种,主要包括7个功能模块,即学籍管理模块、课程管理模块、选课管理模块、考试管理模块、成绩管理模块、排课管理模块、教学资源管理模块。学籍管理模块用于管理学生在校期间所有的个人信息,包括学生档案信息、学生校园卡流水信息、学生奖助学金信息、学生学历学位信息、学生在校跟踪信息等。同时,该模块与学校财务系统、招生就业系统、学信网等系统互连,以保证信息的完整性和真实性。课程管理模块负责管理高校每个学期所开授的课程。该模块是后续学生选课、学生成绩统计、教学质量评估等环节的数据来源。选课管理模块是辅助教学系统的关键环节。考试管理模块是高校教学任务正常运行的重要环节,是对学生的学习情况以及教师的授课质量进行考核的重要标准。成绩管理模块负责管理学生在校期间的考试成绩,并提供相应的查询、统计与分析的功能;根据学生的成绩排名曲线为学生制定学习路线,同时为教师制定教学计划和方案提供数据支撑。排课管理模块根据开授课程的信息、学生学习计划、教师授课任务、教室使用情况等因素,统一安排高校课程。该模块可以最大化利用已有的教学资源,保障教学计划的顺利进行。教学资源管理模块负责教学资源的发放和共享。为了适应疫情期间学生居家学习的现实情况,该模块开放了学生和教师的互动窗口,允许学生和教师通过该模块进行在线问答,促进学生和教师的交流。
2 系统详细设计
2.1 课程管理模块
图1 课程管理模块用例图
图2 排课管理模块用例图
课程管理模块是选课、排课、成绩管理等模块的前提,其完整流程包括制定学期教学计划、管理开授课程信息、查询开授课程信息、学期教学任务安排,如图1所示。其中教学计划制定模块由系统管理员操作,系统管理员可以设定高校上课的年级、院系、专业、班级等信息,并根据学生自身制定的培养计划生成学校公共的专业计划和素质计划。开授课程信息管理模块亦由系统管理员操作,包括设定开授课程的起止时间、选择授课教师、设定课程学时学分等。
2.2 排课管理模块
排课管理模块是该系统功能最多、最复杂的模块,如图2所示。该模块中的管理员分为教务管理员和院系管理员,其中教务管理员可以对全校课程进行统一管理,可以根据学院信息等划分排课校区、排课时间段、排课教师等;院系管理员只能参与本院课程的排课任务。排课完毕后,学生和教师角色均可登陆系统查看排课结果,若教师角色有特殊原因需要对课表进行调整,需要填写调课申请,待系统管理员审批后,方可进行局部调整,否则教师角色无权限操作排课系统。
3 系统实现
3.1 登陆模块的实现
根据系统需求,系统用户分为学生、教师、管理员3种。这3种角色使用统一的登录页面,在登录页面,用户输入账号和密码,前端JavaScript会验证用户数据,若输入格式不合法,会直接提示错误信息;若输入格式合法,才会将用户登录请求转发给后端逻辑代码,进而与数据库中的用户信息进行比对。若用户登录信息合法,则根据用户身份信息进入相应的用户主页;若用户登录信息不合法,则提示用户错误信息,并重新返回登录页面。具体流程如图3所示。
图3 辅助教学系统登陆模块时序图
3.2 课程管理模块的实现
图4 辅助教学系统课程管理模块时序图
在该模块中,教务管理员首先输入自身管理员账号密码进入辅助教学系统,在其主页面内,可以通过JDBC技术查询学生培养方案中的课程设置信息,并对课程添加开课参数等(如开课院系、开课年级专业、开课学年、开课学分等),最终生成开授课程的完整信息,这些信息是后续功能模块的重要数据来源。当辅助教学系统中生成开授课程信息后,院系管理员可以登录系统,进入教学安排页面查询开授课程的详细信息,并且可以对每门课程配置相应的教学资源(如授课教师、授课教材、课后作业信息等),最终生成开授课程的详细通知单,随后发送到学生用户账号。具体流程如图4所示。
3.3 排课管理模块的实现
在该模块中,教务管理员首先登录系统,进入排课资源管理页面设置排课类别,此处的排课类别根据院系进行区分,不同的院系属于不同的排课类别,教务管理员在该模块可以对不同的排课类别设置不同的院系管理员和可安排的教学资源。院系管理员可以登录辅助教学系统查看开授课程的详细信息,并对排课数据进行局部编辑与微调,如设置排课时间段、课程优先级、教师特殊排课要求、单双周要求等。在院系所有排课信息确定后,系统进入自动编排界面,待自动排课结束后,教务管理员和院系管理员均可查看排课结果。为了保证排课的准确性,需要对排课结果进行冲突检测和手动微调。具体流程如图5所示。其中排课功能是一个多约束、多目标的优化问题,是典型的NP(Non-Deterministic Polynomial)非确定性完全问题,本系统采用遗传算法来解决该NP问题。
图5 辅助教学系统排课管理模块时序图
4 结束语
本文分析了当前高校教学模式改革需求,设计并实现了一套基于UML的辅助教学系统。该系统采用Java作为开发语言,以MySQL作为后台数据库,针对管理员、教师、学生3类目标用户,分别完成了学籍管理、课程管理、选课管理、考试管理、成绩管理、排课管理和教学资源管理等7个功能模块。该系统打破了传统教学模式的局限性,将大幅降低教师的教学和管理压力,提高教师的教学效率和学生的学习效率,并为同类系统的开发提供借鉴作用。