基于Java的选课管理系统的设计与实现
一、项目介绍
针对学校选课存在的漏选、错选及拥塞的问题,设计并实现一种基于Java语言的选课管理系统。该系统采用B/S结构,前端使用bootstrap框架,后端则由Spring、MyBatis、Maven等多种技术。使用mysql来对选课系统中数据进行处理。
学生选课系统的参与者包括学生, 老师, 系统管理员。系统可以简单描述如下:学生以学生身份用ID登陆系统, 进入学生主界面可以查询个人课表, 进行选课操作;教师选择教师身份用ID登陆系统, 进入教师主界主界面可以查看课表, 选课学生名单, 并打印;系统管理员具有最高权限, 可以控制选课的开始和结束、增删改课程、管理学生和教师的资料。
二、需求分析
用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程,这是用例的实质。什么是业务过程?在待开发软件所处的业务领域内完成特定业务任务(business task)的一系列活动就是业务过程。
整体项目业务流程图如下:
用例图如下:
三、类图
识别出设计类图中的类,以及它的属性及方法,绘制设计类图。类图可以帮助我们识别业务中需求的人、业务概念、物品和事件等,并理清他们之间的关系。需求中提到的各种业务概念、人物等,经抽象后可视之为类。本文类图主要使用UML图。
四、数据建模
Student表即学生信息表。主要用于存放学生的信息。
Teacher表。主要用于存储老师的信息数据。
Course表即课程信息表。主要用于课程信息的存储。
五、概念原型
概念原型是一种虚拟的、理想化的软件产品形式。概念原型 = 用例 + 数据模型。
用户的角色主要分为三类:第一类是系统管理员,主要负责 维护协同管理系统的正常运行。第二类是属于普通用户的教 师,可以完成课程的增加删除与学生成绩的登录管理及在线答 疑等工作。第三类用户主要是学生,他们只能进行选课与查询 课程。对于这些用户,他们通过自己的账号和密码能够正常登 录选课系统,并且根据用户角色的不同显示各自所需的数据和 相关操作按钮。系统的管理员能够对整个系统进行管理和维 护;老师能够使用选课系统进行开设新课程和给所选的课程进 行评分;同学们能够在选课系统上进行课程的选择。
1) 表示层。由前端框架 bootstrap和JSP技术设计而成,主 要用于前端界面登录窗口、管理员窗口、教师窗口和学生选课 窗口的展示和操作,它是用户与课程管理系统交互的界面。客户机通过浏览器访问选课系统可以直接进行选课程、开设课 程、维护管理等一系列操作。
2) 中间功能层。该层是选课系统业务处理的核心层,主要 负责前端用户的请求与处理,后端数据层的数据调用和判断 等。其主要功能是用户存储数据、调用数据和对各种业务逻辑 进行处理。
3) 数据服务层。主要负责学生数据、教师数据、课程数据 等与选课系统相关数据的存储和访问,是选课系统数据的大 本营。
六、总结
本文通过软件工程课堂上学习的知识进行用例建模和业务领域建模,以及数据建模,最终形成概念原型,提升了自己的需求分析和概念原型设计的能力与软件工程专业素养。通过这次课程,让我能够更加抽象的对工程实践项目进行规范的设计而不是随意的堆叠,对工程实践项目的推动很有帮助。