#学生信息管理系统的设计与实现报告.doc
- 文档编号:243581
- 上传时间:2022-10-07
- 格式:DOC
- 页数:15
- 大小:108KB
#学生信息管理系统的设计与实现报告.doc
《#学生信息管理系统的设计与实现报告.doc》由会员分享,可在线阅读,更多相关《#学生信息管理系统的设计与实现报告.doc(15页珍藏版)》请在冰豆网上搜索。
《管理信息系统》课程设计报告
题目学生信息管理系统
学生姓名缪惠
学号200717020203
专业班级信息管理与信息系统
指导老师方霞老师
设计日期
指导老师评阅意见:
评阅成绩:
签名:
目录
1详细设计 3
1.1.新生管理子系统 3
1.2毕业生管理子模块 8
1.3教学评价打分 12
1.4学生成绩网上查询 13
2系统维护和改进 14
2.1运行维护 14
2.1.1运行模块组合 14
2.1.2运行控制 14
2.1.3运行时间 14
2.1.4人工处理过程 14
2.2系统的改进与提高 14
需求分析(含业务流程图,数据流程图,E-R图等)
概要设计(模块划分等)
1详细设计
1.1.新生管理子系统
总体设计:
新生管理子系统包含新生录取信息的导入,新生预分学号,新生班级分配,新生寝室安排,新生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高考成绩分布等。
设计:
下面给出设计方案与实现方法。
新生基本信息管理
招生数据导入
报到预处理
新生报到
新生信息查询与统计
预分学号
班级编排
寝室安排
预处理查询
现场报到处理
欠费查询统计
报到情况统计
新生比例分布
高考成绩统计
功能:
①完成对新录取学生数据的导入
②完成对新生数据的报到预处理(初始化)
③实现新生报到现场完成,并统计报到情况
④统计新生的各种分布比例和成绩分布
设计:
①总体设计:
用Delphi的PageCtrl控件来实现各项菜单功能
②招生数据导入:
可以通过选择来指定全国网上录取系统的导出数据所在路径,并根据使用手册检查21个.dbf文件是否存在,来决定是否允许导入;在导入时采用记录的查重处理,所以,只能借助记录集的循环来完成;其中,对政治面貌与民族表要单独处理。
主要实现文件检查的代码:
functionCheckDBFile(varstrRst:
String):
boolean;
var
i,j:
integer;
blFound:
boolean;
begin
arrstrFileName[0]:
='t_tddw';arrstrFileName[1]:
='t_jhk';
//……此处对表名赋值
CheckDBFile:
=False;
blFound:
=True;i:
=0;
strRst:
='数据表';
while(i<21)do
beginj:
=DBFileListBox.Items.IndexOf(arrstrFileName[i]+'.dbf');
ifj=-1then//某个文件未找到,返回“假”
begin
blFound:
=False;
strRst:
=strRst+arrstrFileName[i]+'.dbf';
end;
i:
=i+1;
end;
strRst:
=strRst+'不存在!
';
ifblFoundthen//全部数据文件检查正确
CheckDBFile:
=True;
end;
③学号预处理:
将导入的数据从信息库表到在校生表,并根据考生的考号及其它信息填入其基本信息(如省份、入年年份等);基本处理思想是:
根据考生年份(报考号前两位)与当前系统数据库的绝对学期时间,筛选相应的考生信息,然后从这些信息中依次在学生基本信息表(JBXX2)中查询是否重复,来决定是否写入;如果写入,则根据报考号(第3、4位)的信息,写入考生所在省份代码。
④新生班级编排:
将分配学号的新生编排到指定班级中。
用两个DBGrid(可多选)分别将未分班学生和班级信息列出来,通过手工选中一个或多个学生,即可分配班级或从班级中取消分班。
实现DBGrid多选并在数据库中完成添加的代码:
withStuDBGrid.DataSource.DataSetdo
begin
fori:
=0tointSelStuCnt-1do
begin
GotoBookmark(pointer(StuDBGrid.SelectedRows.Items[i]));
strStuNo:
=Fields[0].AsString;
strSql:
='Updatejbxx2setBJID='+''''+strClasNo+'''';
strSql:
=strSql+'WhereXH='+''''+strStuNo+'''';
database.Execute(strSql);
end;
end;
……
寝室分配与班级编排可类似处理。
⑤新生现场报到:
对新生的报到程序进行计算机管理,自动检查该新生是否已到校,是否已完成所有报到手续,以及新生的欠费情况(只记载欠费,不记载缴费);并根据各项手续的完成,来确认新生的报到状态,为下一步查询提供足够信息。
此处关键在于如何把数据表中“0”和“1”状态标志以CheckBox的状态输出,代码如下:
读出:
……
ifADORegInfo.Activethen
begin
strState:
=ADORegInfo.FieldByName('SFQD').AsString;
ifstrState='1'then//是否签到
Reg1Check.Checked:
=true
else
Reg1Check.Checked:
=false;
strState:
=ADORegInfo.FieldByName('ZZGX').AsString;
ifstrState='1'then//组织关系
Reg2Check.Checked:
=true
else
Reg2Check.Checked:
=false;
strState:
=ADORegInfo.FieldByName('HKQY').AsString;
ifstrState='1'then//户口迁移
Reg3Check.Checked:
=true
else
Reg3Check.Checked:
=false;
strState:
=ADORegInfo.FieldByName('JCK').AsString;
ifstrState='1'then//就餐卡
Reg4Check.Checked:
=true
else
Reg4Check.Checked:
=false;
strState:
=ADORegInfo.FieldByName('TJ').AsString;
ifstrState='1'then//体检
Reg1Check.Checked:
=true
else
Reg1Check.Checked:
=false;
end;
……
写回数据库:
……
ADORegInfo.Edit;
ifReg1Check.Checkedthen
ADORegInfo.FieldByName('SFQD').AsString:
='1'
else
ADORegInfo.FieldByName('SFQD').AsString:
='0';
ifReg2Check.Checkedthen
ADORegInfo.FieldByName('ZZGX').AsString:
='1'
else
ADORegInfo.FieldByName('ZZGX').AsString:
='0';
ifReg3Check.Checkedthen
ADORegInfo.FieldByName('HKQY').AsString:
='1'
else
ADORegInfo.FieldByName('HKQY').AsString:
='0';
ifReg4Check.Checkedthen
ADORegInfo.FieldByName('JCK').AsString:
='1'
else
ADORegInfo.FieldByName('JCK').AsString:
='0';
ifReg1Check.Checkedthen
ADORegInfo.FieldByName('TJ').AsString:
='1'
else
ADORegInfo.FieldByName('TJ').AsString:
='0';
ADORegInfo.Post;
……
欠费查询可相应处理。
⑥报到情况统计:
可以按性别、专业、班级、省份等统计学生的报到情况,并以柱状图和表格显示;提供自由控制条件查询未报到学生信息。
统计功能实现代码如下:
……
CntBySexDBChar.Title.Text.Clear;//清除标题
CntBySexDBChar.Title.Text.Add('新生报到情况(按班级统计)');
CntBySexDBChar.Series[0].Clear;//清除图形
strSql:
='';
CntStrGrid.RowCount:
=ADOQFCntQuery.RecordCount+1;
fori:
=0to4do//设置StringGrid的标题
begin
CntStrGrid.Cols[i].Clear;
CntStrGrid.Cols[i].Add(titleName[i]);
end;
i:
=0;
RegSexTLbl.Lines.Clear;//清空统计显示
whilenotADOQFCntQuery.Eofdo
begin
intCntRegd[i]:
=ADOQFCntQuery.FieldByName('ClassRegdCnt').AsInteger;
CntBySexDBChar.Series[0].Add(intCntTot[i],inttostr(i)+'应到',clBlue);
CntBySexDBChar.Series[0].Add(intCntRegd[i],'到',clRed);
strSql:
=inttostr(i)+'['+trim(strClassName[i])+']报到比例:
';
strSql:
=strSql+floattostr(trunc(intCntRegd[i]/intCnttot[i]*10000)/100)+'%'+#13;
RegSexTLbl.Lines.Add(strSql);
CntStrGrid.Rows[i+1].Add(inttostr(i+1));
CntStrGrid.Rows[i+1].
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 设计 实现 报告