【总体设计】数字校园——教学辅助——点名册

首先分析需求:

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 

 
基本上先做这些


 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

原文地址:https://www.cnblogs.com/chutianshu1981/p/2667676.html