需求分析:管理教师安排任课教师课程,安排听课教师,听课教师到教室听课,使用手机记录学生表现、教师表现、综合表现、以及建议,告别纸质化。课后授课教师查看所有听课人对本节课程的相关评价,教学主任查看所有授课教师所授课程的记录和评价等信息。
逻辑设计:
1.管理教师:定制听课安排,选择授课教师、学科、班级、时间、填写授课章节和课题,选择课程类型,填写听课人数限制。
2.教师查看所有听课安排,选择感兴趣的课程报名听课
3.评课教师:填写课堂教学评价:学生表现、教师表现、综合表现,并选定等级(优良中差),填写建议。
4.授课教师:查看自己所有授课的评价。
5.教学处主任:查看所有人的授课评价。
数据库表设计:
听课信息表ListenClassInfo(id,classId,subjectId,teacherId,date,content,type,status)
主键 | 班级id | 科目Id | 教师id | 时间 | 评价内容 | 评价类型 | 状态 |
---|---|---|---|---|---|---|---|
id | classId | subjectId | teacherId | date | content | type | status |
CREATE TABLE ListenClassInfo(
id int not null AUTO_INCREMENT comment '主键',
classId int comment'班级id',
subjectId int comment'科目id',
teacherId int comment'教师id',
listenDate dateTime comment'课程时间',
content LONGTEXT comment'课程内容',
type int comment'课程类型',
status int comment'状态',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
听课评价表:EvaluationClassInfo(id,ListenClassInfoId,ListenTeacherId,studentPerformance,teacherPerformance,ComprehensivePerformance,level,advise)
主键 | 听课表id | 听课教师id | 学生表现 |
---|---|---|---|
id | listenClassInfoId | listenTeacherId | studentPerformance |
教师表现 | 综合表现 | 等级 | 建议 |
---|---|---|---|
teacherPerformance | ComprehensivePerformance | level | advise |
CREATE TABLE EvaluationClassInfo(
id int not null AUTO_INCREMENT comment '主键',
listenClassInfoId int comment'听课班级id',
listenTeacherId int comment'听课教师id',
studentPerformance LONGTEXT comment'学生表现',
teacherPerformance LONGTEXT comment'教师表现',
comprehensivePerformance LONGTEXT comment'综合表现',
level int comment'等级',
advise LONGTEXT comment'听课建议',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
教师表Teacher(id,name,phone,sex,email,address,idCard,available)
主键 | 姓名 | 电话 | 性别 | 邮箱 | 地址 | 身份证号码 | 状态 |
---|---|---|---|---|---|---|---|
id | name | phone | sex | address | idCard | status |
CREATE TABLE Teacher(
id int not null AUTO_INCREMENT comment '主键',
sex int comment'性别',
name VARCHAR(80) comment'姓名',
phone VARCHAR(40) comment'电话',
email VARCHAR(40) comment '邮箱',
address VARCHAR(200) comment'地址',
status int comment'状态',
idCard VARCHAR(18) comment'身份证号码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
班级表ClassInfo(id,name,level,alias,type,status
主键 | 名称 | 级别 | 别名 | 类型 | 状态 |
---|---|---|---|---|---|
id | name | level | alias | type | status |
CREATE TABLE ClassInfo(
id int not null AUTO_INCREMENT comment '主键',
name VARCHAR(80) comment'名称',
alias VARCHAR(80) comment'别名',
level int comment'级别',
type int comment'类型',
status int comment'状态',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
教师班级中间表TeacherClassInfo(teacherId,classId)
教师id | 班级id | 任课开始时间 | 任课结束时间 |
---|---|---|---|
teacherId | classId | startTime | endTime |
CREATE TABLE TeacherClassInfo(
teacherId int comment '教师id',
classId int comment '班级id',
startTime dateTime comment '开始时间',
endTime dateTime comment '结束时间'
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
学科表 CourseInfo(id, name,type,status)
学科id | 学科名称 | 学科类型 | 状态 |
---|---|---|---|
id | name | type | status |
CREATE TABLE CourseInfo(
id int not null AUTO_INCREMENT comment '主键',
name VARCHAR(80) comment '名称',
type int comment '类型',
status int comment '状态',
PRIMARY KEY(id)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
教师学科中间表 TeacherCourseInfo(teacherId,courseId)
教师id | 课程id | 任课开始时间 | 任课结束时间 |
---|---|---|---|
teacherId | courseId | startTime | endTime |
CREATE TABLE TeacherCourseInfo(
teacherId int comment '教师id',
courseId int comment '课程id',
startTime dateTime comment '开始时间',
endTime dateTime comment '结束时间'
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
数据字典:等级
角色设计:
角色:听课管理教师、普通授课教师、教学处主任