高校学生奖励与资助系统的设计
来源:岁月联盟
时间:2010-08-30
1 引言
在高校学生与管理工作中,学生的奖励、处分和资助是一项重要而复杂的工作。奖励和资助的种类多达几十项,涉及的金额高达数百万,参与的学生达到几万人次。每种奖励和资助都有相应的评定条件,学生要获得某种奖励和资助必须要满足该项目的最低条件。奖励与资助主要工作集中在对上报获奖学生按照评优条件进行资格审查上,随着学校办学规模的不断扩大和各种奖励与资助项目的不断增加,每年获得各种奖励和资助的学生可以占到在校生的60%以上,如此庞大的获奖与资助学生数量,单靠手工核对其效率非常低而且容易出错,因此提高审核工作的效率及准确性,使评优与资助工作公开、公平、公正,使奖励与资助资金最大限度地发挥激励和助困作用成为当前工作的重点。2 系统的总体设计与概要说明
评优条件中的学生成绩在每个学期末由任课教师录入到教务管理系统中,我们可以通过教务系统中提供的接口实现学生成绩数据共享,在学生奖励与资助系统中对从教务系统中获得的学生单科成绩和学分,通过平均学分基点公式得出学生平均成绩,再加入德育成绩、成绩,从而确定学生在同年级同专业中的综合素质排名,比照评优与资助的基本条件,实现奖励与资助资格的网上数据传输与审查。本系统设计的要点在于评优与资助系统与网上招生录取数据、学生资料系统、毕业生就业管理系统及教务系统接口实现数据的共享与对接,进而实现招生、教学、学生管理、就业数据一体化,实现学生人事档案的化。2.1 系统总体模块设计
在对系统进行需求分析的基础上,将评优与资助系统划分为以下几个功能模块如图1所示。各模块功能简要说明如下: (1)系统登录模块。提供登录用户名与密码的验证。 (2)教务成绩导入模块。该模块主要功能是将教务系统输出的学生成绩信息按照评优与资助系统对数据格式的要求进行整理并生成学生基本成绩信息表。 (3)学生成绩核对模块。提供学生成绩的查询、核对。可以分别按照学号、姓名、班级、专业查询。 (4)评优条件设定模块。评优与资助对学生成绩和德育成绩有一定的要求,该模块作用是设定奖励与资助的条件。 (5)资格审核模块。根据系统生成的学生综合测评成绩和评优与资助的条件对各系部上报获奖学生进行审核。 (6)审核结果输出模块。该模块作用是将审核结果以表格形式输出并返回各系部。 (7)系统帮助模块。提供系统使用帮助。
2.2 奖励与资助管理系统业务流程
评优与资助管理系统主要业务流程图如图2所示。
3 奖励与资助管理系统的详细设计
系统要求的功能以及业务流程确定后接下来是对数据库以及各功能模块进行详细设计。3.1 创建系统数据库
本系统是基于数据库的应用管理系统,选用Microsoft SQL Server 2000数据库,建立数据库实例名称为pingyou,包含6个数据表,表名称本别是:zonghe、new、jxjbz、chengji、good、bad。 表zonghe是用来存放从教务数据库中导入的学生成绩数据,表结构如表1所示。表1列名 | 数据类型 | 长度 | 可否为空 |
Xh | varchar | 10 | Not null |
Name | Char | 20 | Not null |
Dep | Char | 20 | Not null |
Class | Char | 20 | Not null |
Xueqi | Char | 20 | Not null |
Kmdm | Char | 10 | Not null |
kmmc | Char | 50 | Not null |
Xf | float | 8 | Not null |
Xs | int | 4 | null |
Kmlb | char | 10 | null |
kmcj | float | 8 | null |
bk | char | 10 | null |
teacher | char | 10 | null |
grade | char | 10 | Not nul |
列名 | 数据类型 | 长度 | 可否为空 |
Dep | Char | 20 | Not null |
Class | Char | 20 | Not null |
Xh | varchar | 10 | Not null |
Name | Char | 20 | Not null |
Cj | float | 8 | Not null |
Kmnum | Int | 4 | Not null |
列名 | 数据类型 | 长度 | 可否为空 |
Xh | Char | 10 | Not null |
Name | Char | 50 | Not null |
Class | Char | 50 | Not null |
Jlmc | Char | 50 | Not null |
Bz | Char | 200 | Not null |
num | bigint | 8 | null |
3.2 系统主要功能模块设计
系统主要包含七个功能模块,这里主要介绍教务成绩导入模块、奖励与资助审核模块和审核结果输出模块的实现。3.2.1 教务成绩导入模块设计 评优与资助的基本依据是学生成绩以及评优条件,在教务系统中学生成绩按照每学期,每人次,每门功课一条记录的形式存储。以10000学生为例,每学期每个学生平均选8门课,那么每学期学生成绩就有80000条记录。为了便于学生综合测评分数和排名,提高系统运行效率,首先需要对教务系统接口数据进行整理,以便在本系统中使用。本系统中教务成绩导入模块设计界面如图3所示。
教务成绩导入模块首先对教务成绩数据按照系部、班级、学号、姓名进行分组然后按照平均学分基点计算公式计算平均学分基点。主要实现程序代码: Dim conn As New ADODB.Connection conn.ConnectionString = "dsn=pingyou;uid=sa;pwd=asdf" //连接数据库 conn.Open conn.Execute ("drop table new")//新建数据表 conn.Execute ("SELECT dep, class, xh, name, round(SUM(kmcj * xf) / SUM(xf),2) AS cj, COUNT(xh) AS kmnum into new From zonghe WHERE (kmlb = '必修') AND (kmmc NOT LIKE '%') GROUP BY dep, class, xh, name ORDER BY dep, class, cj DESC")//执行SQL语句,按照系部、班级、学号、姓名进行分组计算平均学分基点。 conn.Close3.2.2 奖励与资助审核模块 奖励与资助基本条件主要包括学生平均成绩、单科成绩、德育成绩、体育成绩、综合排名等。资助的基本条件主要包括家庭状况、德育成绩、学习成绩等。各奖励和资助项目的评定首先在各个班级中根据基本条件进行初评后上报各系、院,再由各、系院汇总后上报学生工作处审核或审批。按照以上流程设计模块界面如图4。

奖励与资助审核模块对上报数据审核的主要实现程序代码: Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objImportSheet As Excel.Worksheet//在VB中引用EXCEL表格 Dim colnum, rownum Set objExcelFile = New Excel.Application objExcelFile.DisplayAlerts = False Set objWorkBook = objExcelFile.Workbooks.Open(Text1. Text) Set objImportSheet = objWorkBook.Sheets(1) colnum = objImportSheet.UsedRange.Columns.Count rownum = objImportSheet.UsedRange.Rows.Count For i = 1 To rownum no = objImportSheet.Cells(i, 1).Value jxj = objImportSheet.Cells(i, 3).Value//读取EXCEL表格数据 Adodc3.RecordSource = "select xh,name,class,kmmc,kmcj,kmlb from zonghe where kmlb = '必修' AND xh='" & no & "'" Adodc4.RecordSource = "select xh,name,cj,kmnum from new where xh='" & no & "'" Adodc5.RecordSource = "select * from jxjbz where jxjmc='" & jxj & "'" Adodc3.Refresh Adodc4.Refresh Adodc5.Refresh3.2.3 审核结果输出模块 奖励与资助审核模块对上报数据审核完毕后,审核结果暂存于系统数据库的两个数据表:good和bad中,该结果需要以表格形式返回各系部并且作为学生资料系统、毕业生就业管理系统的输入数据。实码如下: Dim omyXLS As New Excel.Application omyXLS.Visible = False omyXLS.DisplayAlerts = False omyXLS.ScreenUpdating = False omyXLS.Workbooks.Add sFileName = App.Path & "/output/" & Format(Now, "YYYYMMDDHHMMSS") & "bad.XLS" omyXLS.ActiveWorkbook.SaveAs FileName:=sFileName, FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False//以年月日时间为名称生成EXCEL文件用于存储输出结果 Dim i i = 1 If Adodc2.Recordset.EOF <> True Then Adodc2.Recordset.MoveFirst Do While Adodc2.Recordset.EOF <> True omyXLS.Cells(i, 1) = Trim(Adodc2.Recordset(0)) omyXLS.Cells(i, 2) = Trim(Adodc2.Recordset(1)) omyXLS.Cells(i, 3) = Trim(Adodc2.Recordset(2)) omyXLS.Cells(i, 4) = Trim(Adodc2.Recordset(3)) omyXLS.Cells(i, 5) = Trim(Adodc2.Recordset(4)) Adodc2.Recordset.MoveNext i = i + 1 Loop omyXLS.SaveWorkspace End If omyXLS.Visible = False omyXLS.ScreenUpdating = True omyXLS.DisplayAlerts = True omyXLS.Workbooks.Close omyXLS.Application.Quit Set omyXLS = Nothing MsgBox "文件已生成,在:" & sFileName