驾校学员驾考成绩管理系统

本文档详述了一个驾校学员驾考成绩管理系统的开发,包括系统功能、数据库设计及用户权限管理。系统支持管理员、教练员和学员三种角色,分别具有不同的操作权限。管理员能进行数据录入、修改、删除及统计分析,教练员和学员则有查看和部分编辑功能。系统采用前后端分离架构,前端使用ElementUi和Vue.js,后端基于SpringBoot。此外,还展示了系统的部分功能演示和数据库表结构。
摘要由CSDN通过智能技术生成

前言

考研期间还得抽空做实验,而且这个好像网上很难找,周围同学都焦头烂额的,哈哈…
为造福后人,特此开源!

忙于考研,代码可能等考研才放上来,目前先放出 题目数据库设计项目演示文档

驾校学员驾考成绩管理系统

课题描述

设计一个驾校学员的驾考成绩管理系统,成绩管理信息包括:考试人员编号(001,002…),姓名,理论考试成绩,倒桩移库成绩,小三项成绩,路考成绩,并能够自动生成考试结果(是否取得驾照)。注:上述4项考试必须均在90分以上才可获取驾照。

基本要求

1、 实现三种不同权限的用户登录和管理功能——
(1)管理员登陆:具有查看、编辑修改和添加删除任意一条学员考试记录的功能,并能够查看本次考试的所有学员的考试结果统计信息(包括:总体通过率和各项通过率);
(2)教练员登陆:具有查看和编辑修改功能但是没有添加和删除的功能;
(3)学员登陆:只有查看功能,且只能查看本人的考试结果。

2、 在管理员模式下,实现对学员信息的录入,生成考试结果(显示出每项成绩和是否获得驾照),并可将此次考试结果保存为文件。

3、 在管理员模式下,实现对已保存文件的读取,以便获得过往考试结果的历史信息。

4、 三类用户在查看学员考试结果时,均可按照学员姓名或编号,对某个学员的考试记录进行单独查询

5、 管理员和教练员在查看本次考试的全体学员的考试结果时,均可按照学员姓名首字母(学员姓名录入时,只需录入其拼音字母即可)或考试编号进行正序或逆序排序。

6、 管理员和教练员均可进行统计查询,即仅查询获取驾照或未能获取驾照的人员名单、仅查询某单项考试的通过和未通过学员的名单、仅查询某单项考试的通过率。

提高要求

1、设计友好的用户界面

2、实现数据库查询、插入、删除等功能

3、管理员具备新建教练员或学员账号的功能,三类用户均具备更改登录密码的功能

数据库设计

学员人员表(t_user)

  • 学员编号(id):001,002…
  • 姓名(name):luzhenyu
  • 用户名(username):yusael
  • 用户密码(password):1234
CREATE TABLE `t_student` (
	`id` varchar(50) NOT NULL,
	`name` varchar(50) DEFAULT NULL,
	`username` varchar(50) DEFAULT NULL,
	`password` varchar(50) DEFAULT NULL,
	PRIMARY KEY (`id`), KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

教练员(t_coach)

  • 教练员编号(id):C001、C002…
  • 姓名(name):大河马
  • 用户名(username):zhenyu
  • 用户密码(password):99999
CREATE TABLE `t_coach` ( `id` varchar(20) NOT NULL,
	`name` varchar(50) DEFAULT NULL,
	`username` varchar(50) DEFAULT NULL,
	`password` varchar(50) DEFAULT NULL,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

管理员(t_admin)

  • 管理员编号(id):A001、A002…
  • 用户名(username):admin
  • 用户密码(password):123456
CREATE TABLE `t_admin` (
	`id` varchar(50) NOT NULL,
	`username` varchar(50) DEFAULT NULL,
	`password` varchar(50) DEFAULT NULL,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

学员考试成绩表(t_exam)

  • 科目一理论考试(exam1):95
  • 科目二小路考(exam2):95
  • 科目三大路考(exam3):95
  • 科目四理论考试(exam4):95
  • 是否取得驾照(getLicence):yes
  • 学员编号(studentid):001
  • (学员姓名(name):luzhenyu)这个字段没有放到表里…
CREATE TABLE `t_exam` (
	`id` varchar(50) NOT NULL,
	`exam1` int(5) DEFAULT NULL,
	`exam2` int(5) DEFAULT NULL,
	`exam3` int(5) DEFAULT NULL,
	`exam4` int(5) DEFAULT NULL,
	`getLicence` varchar(5) DEFAULT NULL,
	`studentid` varchar(20) NOT NULL,
	PRIMARY KEY (`studentid`),
	CONSTRAINT `t_exam_ibfk_1` FOREIGN KEY (`studentid`) REFERENCES `t_student` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

项目演示

功能较多,这里演示一些主要功能。

登陆界面:若未登录,没有头像且不可点击导航栏(只有驾考主页可以访问)
在这里插入图片描述
三种权限登录后的导航栏,分别是:学员,教练,管理员
学员登录的权限
教练登录的权限
管理员登录的权限
然后我们以功能最多的管理员登录,进入驾考主页:上方是轮播图;
驾考主页
下方是一些信息咨询,并且可以展开如下:
在这里插入图片描述
进入学员管理页面,管理员是功能全开的,其他权限登录的话,有些按钮是不能点的:
比如学员登录后,只可查看自己的信息,并且不能点击其他任何按钮。
在这里插入图片描述
管理员登录后,可以查看所有人信息,并且所有按钮都是有效的:
在这里插入图片描述
点击删除:
在这里插入图片描述
编辑学员考试信息,学员号是不可改变的:
在这里插入图片描述
可以查看总体通过率和单科通过率:
在这里插入图片描述
在这里插入图片描述
学员账号管理可以管理学院账号,教练账号同理:
在这里插入图片描述
点击历史记录,进入后,上传历史文件即可查看历史记录:一开始没有文件:
在这里插入图片描述
上传历史文件后,可以查看到历史记录:
在这里插入图片描述

实验报告

概要设计

项目架构:前后端分离的 WEB 项目(SPA)

  • 前端技术栈:ElementUi + Vue.js + Axios
  • 后端技术栈:SpringBoot —— (Spring + SpringMVC + MyBatis)

技术栈简述:
本项目中采用的前端技术中,ElementUI 是饿了么团队开发的前端组件库,也就是前端精美漂亮的页面效果是由这个库完成的。 Vue.js 是国人尤雨溪开发的 javascript 库,拥有独特的 MVVM(双向绑定) 机制,十分适合前后端分离的架构。

后端采用 Java 框架 —— SpringBoot,SpringBoot 实际上就是简化配置版的 Spring + SpringMVC + MyBatis,其中 Spring 使用工厂设计模式来管理类,最大的特点是解耦合(大项目可以更好的体现);SpringMVC 扮演的是视图层,主要完成页面的跳转以及过滤器等功能;MyBatis 是 数据库层,用于完成数据库相关操作。

前后端的联系通过 Axios 建立,Axios 是一个基于 promise 的 HTTP 库。前端利用 Axios 向后台发送请求(通过 JSON 来传递数据),后端接收到前端传来的 JSON 数据后,将之转化为 Java 对象,然后可以进行相应的业务处理。

开发工具环境:
• 开发系统:Windows 10
• 前端工具 —— Visual Studio Code
• 后端工具 —— Intellij Idea
• 数据库工具:MySQL 5.7

页面构成:
本项目是 SPA (单页面富应用程序)项目,因此项目其实整体就一张界面,而 Vue.js 的开发模式是 组件式开发,因此项目的点击导航栏的页面跳转实际上是通过 router(路由)控制的组件的跳转。

本项目主要有以下几个组件:登录界面、驾考主页、学员管理、学员账号管理、教练账号管理、历史记录。

页面的导航栏:
在这里插入图片描述

项目总体结构图
在这里插入图片描述

UML图:
在这里插入图片描述
ET图:
(1)学员与驾考成绩的ER图
在这里插入图片描述
(2)管理员ER图、教练ER图
在这里插入图片描述

详细设计

在这里插入图片描述
在这里插入图片描述

。。。后面的有空再继续放上来,继续复习考研!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值