【总体设计】数字校园——教学辅助——点名册
  首先分析需求:
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 
 
基本上先做这些
 
                    
                     
                    
                 
                    
                 
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号