【总体设计】数字校园——教学辅助——点名册
首先分析需求:
1.登记每此课程(2自然学时)学生考勤
2.每次课程(2自然学时)学生评价(可以使课上作业、课下作业或课堂表现等,这里只实现登记,暂不包含作业推送、审批等功能)
3.学生期中考试成绩
4.学生实习表现(每次)
5.学生实习成绩
6.学期期末成绩7.课程总成绩
根据现有的数据库、类库,首先要分析出要新添加的表、基础类等,所以,首先要进行数据库表设计。
一、数据库表设计:
添加 表:
和这个系统相关的已存在类:Teacher、StudentInfo、Course、ClassInfo。缺少和学生成绩、考勤相关的类,可添加
成绩类Score,ScoreId为主键, StudentId
CourseId来确定所属学生和课程,现在难点在于如何添加不确定次数的考勤和作业成绩,经过上网搜索,得出下面方法:
员工ID
姓名
年份
月份
日期
上班
休息
请假
0001
张三
2004
07
17
1
0002
李四
2004
07
17
1
这样写怎么样?然后再在月底进行一次汇总存在一条月考勤数据中.
员工ID
姓名
年份
总月份
上班
休息
请假
0001
张三
2004
12
240
110
15
根据上面的启发,设计考勤表和成绩表:
1. 成绩表
Score
主键:ScoreId
int
学生Id:StudentId int
课程Id:CourseId int
平时成绩:AttendanceScore
double
期中成绩: MidtermScore
double
实习成绩:PracticeScore
double
期末考核成绩:TermEndScore double
最终成绩:FinalScore
double
2.考勤 Attendance
这个表是由教师添加记录的,并不是每次课都会有记录,而是教师录入一条才会有一次记录
主键:MAId
int
学生Id:StudentId
int
课程Id:CourseId int
日期:AttendanceDate
smallDateTime
节次:SessionNum
int
考勤状态:AttendanceState int
0——正常、1——请假、2——迟到、3——早退、4——旷课、
5——未录入 默认为
5
课程类型:ClassType
int 0 —— 理论课、1—— 实践课 、2 —— 实习
默认值为0
作业(本次课考核成绩、或者表现分数):ClassScore
int
-1 —— 默认值
其他 —— 在此限制为 0-100(可以在录入界面用验证控件)
备注:Comment
nvarchar null
二、基础类库设计
1.添加和成绩 Score 相关的类到系统
依此添加
Entity.Score IDAL.IDalScore
DAL.DalScore BLL.BllScore
并更改 DALFactory.DataAccess
2.添加和考勤
Attendance 相关的类到系统
依此添加
Entity.Attendance IDAL.IDalAttendance DAL.DalAttendance BLL.BllAttendance
并更改 DALFactory.DataAccess
基本上先做这些