功能介绍
该系统有三种类型的用户:
- 管理员
- 实验员
- 学生
不同用户拥有不同的功能:
- 管理员的功能主要有:实验课程管理(增删课程),实验课程安排(给某个的班级安排某个课程)
- 实验员的功能:给自己负责的学生登入实验成绩
- 学生的功能:课程查询(查看自己被安排了什么课),成绩查询(查询课程的成绩,如果未录入就查不到)
页面设计
主要设计了8个页面,展示一部分:
- /index:主页面
- /sign_in:登录页面
- /profile:个人信息及功能页面(不同类型的用户有不同的展示)
- /score_query:学生的成绩查询页面
- /course_query:学生的课程查询页面
- /record_score:实验员的录入成绩页面
- /lab_management:管理员的实验课程管理页面
- /lab_arrangement:管理员的实验课程安排页面
数据库设计
数据库使用MySQL,一共设计了六张表:
administrator
1
2
3
4
5
6
7
8
9
10
11create table administrator
(
name varchar(100) not null,
email varchar(100) not null,
password varchar(100) not null,
constraint administrator_email_uindex
unique (email)
);
alter table administrator
add primary key (email);experimenter
1
2
3
4
5
6
7
8
9
10
11create table experimenter
(
name varchar(100) not null,
email varchar(100) not null,
password varchar(100) not null,
constraint experimenter_email_uindex
unique (email)
);
alter table experimenter
add primary key (email);student
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15create table student
(
id varchar(100) not null,
name varchar(100) not null,
email varchar(100) not null,
_class varchar(100) not null,
password varchar(100) default '123456' not null,
constraint student_email_uindex
unique (email),
constraint student_id_uindex
unique (id)
);
alter table student
add primary key (id);courses
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16create table courses
(
id int auto_increment,
name varchar(100) not null,
time varchar(100) not null,
week varchar(100) not null,
level varchar(100) not null,
experimenter varchar(100) not null,
constraint courses_id_uindex
unique (id),
constraint courses_name_uindex
unique (name)
);
alter table courses
add primary key (id);student_score
1
2
3
4
5
6
7
8create table student_score
(
id int auto_increment
primary key,
student_id varchar(100) not null,
course_id int not null,
score int default 0 null
);class_course
1
2
3
4
5
6
7create table class_course
(
id int auto_increment
primary key,
_class varchar(100) not null,
course_id int null
);
文件结构
1 | ├─lab-management-system |
用到的技术
- Spring Boot + Thyme Leaf + JDBC +MySQL
- HTML + CSS + JS + Bootstrap + Vue.js + Font Awesome