版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、管理信息系统课程设计报告题 目学生信息管理系统学生姓名缪惠学 号 200717020203专业班级信息管理与信息系统指导老师方霞老师设计日期指导老师评阅意见:评阅成绩:签名:目 录1详细设计31.1.新生管理子系统31.2毕业生管理子模块 81.3教学评价打分 121.4学生成绩网上查询 132系统维护和改进 142.1 运行维护142.1.1运行模块组合 14运行控制142.1.3 运行时间142.1.4 人工处理过程 142.2系统地改进与提高 14需求分析(含业务流程图,数据流程图,E-R图等) 概要设计(模块划分等)1详细设计1.1.新生管理子系统总体设计:新生管理子系统包含新生录取信
2、息地导入,新生预分学号,新生班级分配,新生寝室安排,新生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高考成绩分布 等设计:F面给出设计方案与实现方法功能:完成对新录取学生数据地导入 完成对新生数据地报到预处理(初始化) 实现新生报到现场完成,并统计报到情况 统计新生地各种分布比例和成绩分布设计:总体设计:用Delphi地PageCtrl控件来实现各项菜单功能 招生数据导入:可以通过选择来指定全国网上录取系统地导出数据所在路径,并根据使用手册检查 21个.dbf文件是否存在,来决定是否允许导入;在导入时采用记录地查重 处理,所以,只能借助记录集地循环来完成;其中,对政治面貌与民族
3、表要单独处理主要实现文件检查地代码:function CheckDBFile(var strRst:String):boolean;vari,j:i nteger;blF oun d:boolea n;beginarrstrFileName0:='t_tddw'arrstrFileName1:='t_jhk:/此处对表名赋值CheckDBFile:=False;blF oun d:=True;i:=0;strRst:='数据表'while (i<21)dobeginj:=DBFileListBox .1 tems.I ndexOf(arrstrFi
4、leNamei+'.dbf);if j=-1 then某个文件未找到,返回“假”beginblF oun d:=False;strRst:=strRst+arrstrFileNamei+'.dbf 'en d;i:=i+1;en d;strRst:=strRst+'不存在!'if blFou nd then/全部数据文件检查正确CheckDBFile:=True;en d; 学号预处理:将导入地数据从信息库表到在校生表,并根据考生地考号及其它信息填入其基本信息(如省份、入年年份等);基本处理思想是:根据考生年份(报考号前两位)与当前系统数据库地绝对学期时
5、间,筛选相应地考生信息,然后从这些信息中依次在学生基本 信息表(JBXX2 )中查询是否重复,来决定是否写入;如果写入,则根据报考号(第3、4位)地信息,写入考生所在省份代码. 新生班级编排:将分配学号地新生编排到指定班级中.用两个DBGrid (可多选)分别将未分班学生和班级信息列出来,通过手工选中一个或多个学生,即可分配班级或从班级中取 消分班.实现DBGrid多选并在数据库中完成添加地代码:with StuDBGrid.DataSource.DataSet dobeginfor i:=0 to in tSelStuC nt-1 dobeginGotoBookmark(poi nter(S
6、tuDBGrid.SelectedRows.ltemsi);strStuNo:=Fields0.AsStri ng;strSql:='Update jbxx2 set BJID='+”+strClasNo+”;strSql:=strSql+' Where XH='+”+strStuNo+”;database.Execute(strSql);en d;en d;寝室分配与班级编排可类似处理. 新生现场报到:对新生地报到程序进行计算机管理,自动检查该新生是否已到校,是否已完成所有报到手续,以及新生地欠费情况(只记载欠费,不记载缴费);并根据各项手续地完 成,来确认新
7、生地报到状态,为下一步查询提供足够信息.此处关键在于如何把数据表中“0”和“1”状态标志以CheckBox地状态输出,代码如下:读出:if ADORegl nfo.Active the nbeginstrState:=ADORegl nfo.FieldByName('SFQD').AsStri ng;if strState='1' the n / 是否签到Reg1Check.Checked:=trueelseReg1Check.Checked:=false;strState:=ADORegl nfo.FieldByName('ZZGX').AsS
8、tri ng; if strState='1' then / 组织关系Reg2Check.Checked:=trueelseReg2Check.Checked:=false;strState:=ADORegl nfo.FieldByName('HKQY').AsStri ng;if strState='1' then / 户口迁移Reg3Check.Checked:=trueelseReg3Check.Checked:=false;strState:=ADORegl nfo.FieldByName('JCK').AsStri ng
9、;if strState='1' then / 就餐卡Reg4Check.Checked:=trueelseReg4Check.Checked:=false;strState:=ADORegI nfo.FieldByName('TJ').AsStri ng;if strState='1' the n / 体检Reg1Check.Checked:=trueelseReg1Check.Checked:=false;en d;写回数据库:ADORegl nfo.Edit;if Reg1Check.Checked thenADORegl nfo.Fiel
10、dByName('SFQD').AsStri ng:='1' elseADORegl nfo.FieldByName('SFQD').AsStri ng:='0' if Reg2Check.Checked the nADORegl nfo.FieldByName('ZZGX').AsStri ng:='1' elseADORegl nfo.FieldByName('ZZGX').AsStri ng:='0' if Reg3Check.Checked the nADOR
11、egl nfo.FieldByName('HKQY').AsStri ng:='1'elseADORegl nfo.FieldByName('HKQY').AsStri ng:='O: if Reg4Check.Checked the nADORegI nfo.FieldByName('JCK').AsStri ng:='1' elseADORegI nfo.FieldByName('JCK').AsStri ng:='O: if Reg1Check.Checked thenADOR
12、egI nfo.FieldByName('TJ').AsStri ng:='1' elseADORegI nfo.FieldByName('TJ').AsStri ng:='O:ADORegI nfo.P ost;欠费查询可相应处理. 报到情况统计:可以按性别、专业、班级、省份等统计学生地报到情况,并以柱状图和表格显示;提供自由控制条件查询未报到学生信息统计功能实现代码如下:CntBySexDBChar.Title.Text.Clear;/ 清除标题CntBySexDBChar.Title.Text.Add('新生报到情况(按班级
13、统计)');CntBySexDBChar.SeriesO.CIear; 清除图形strSql:="Cn tStrGrid.RowCou nt:=ADOQFC ntQuery.RecordCou nt+1;for i:=0 to 4 do / 设置 StringGrid 地标题beginCn tStrGrid.Colsi.CIear;Cn tStrGrid.Colsi.Add(titleNamei);en d;i:=0;RegSexTLbl.Lines.Clear; / 清空统计显示while n ot ADOQFC ntQuery.Eof dobeginintCn tRegd
14、i:=ADOQFC ntQuery.FieldByName('ClassRegdC nt').AsI nteger;CntBySexDBChar.SeriesO.Add(intCntToti,inttostr(i)+'应到',clBlue);Cn tBySexDBChar.SeriesO.Add(i ntCn tRegdi,'到',clRed); strSql:=inttostr(i)+''+trim(strClassNamei)+'报到比例:'strSql:=strSql+floattostr(tru nc(in
15、tCn tRegdi/i ntC ntto ti *10000)/100)+'%'+#13;RegSexTLbl.Li nes.Add(strSql);Cn tStrGrid.Rowsi+1.Add(i nttostr(i+1);Cn tStrGrid.Rowsi+1.Add(strClassNamei);Cn tStrGrid.Rowsi+1.Add(i nttostr(i ntC ntToti);Cn tStrGrid.Rowsi+1.Add(i nttostr(i ntCn tRegdi);Cn tStrGrid.Rowsi+1.Add(floattostr(tru nc
16、(in tC ntRegdi/i ntCn tto ti *10000)/100)+'%'); i:=i+1;ADOQFCntQuery.Next; / 下一个班end; 新生分布情况统计:从学生地扩展信息与高考资料中提取信息,统计新生地各种分布情况,以饼状图和表格信息显示出来相应地,高考成绩信息也可以按科目绘制出柱状图来反映分布情况,对新生地整体情况有一个大概了解,以便有针对性地开展工作成绩统计地代码如下:strSql:='Select Max('+FieldName+') as MaxScore,Mi n('+FieldName+')
17、 as Min Score,A VG('+FieldName+') as AvgScore:strSql:=strSql+' From t_tdd,xs_base,xs_expe nd Where t_tdd.ksh=xs_expe nd.bkh and xs_expe nd.xh=xs_base.xh:strSql:=strSql+' and Nj='+MidStr(CurrentXQSJ,1,4);ADOQFC ntQuery.SQL.CIear;ADOQFC ntQuery.SQL.Add(strSql);ADOQFC ntQuery.Ope n;
18、if ADOQFC ntQuery.Eof the nbeginShowMessage('对不起,未找到相关学生地成绩!');abort;en d;for i:=0 to 2 dobeginCn tScoreStrGrid.Colsi.CIear;Cn tScoreStrGrid.Colsi.Add(titleNamei);en d;Cn tScoreDBChart.Title.Text.Clear;CntScoreDBChart.Title.Text.Add('新生高考成绩统计'+itemName+'');Cn tScoreDBChart.Se
19、ries0.CIear;maxScore:=ADOQFC ntQuery.FieldByName('MaxScore').Asl nteger;min Score:=ADOQFC ntQuery.FieldByName('Mi nScore').As In teger;avgScore:=ADOQFC ntQuery.FieldByName('AvgScore').Asl nteger;itemsCo un t:=tr un c(maxScore-min Score)/1)+1;in tCrntScore:=tr un c(mi nScore/1
20、)*1;i:=0;isWrite:=true;Cn tScoreStrGrid.RowCou nt:=itemsCou nt+4;in tCrntC nti:=ADOQFC ntQuery.FieldByName('CrntC nt').AsI nteger; strSql:="if (isWrite) or (itemsCount<12) then strSql:=i nttostr(i ntCrntScore-1)+'-'CntScoreDBChart.Series0.Add(intCrntCnti,strSql,intColori mod
21、11);Cn tScoreStrGrid.Rowsi+1.Add(i nttostr(i ntCrntScore-1)+'-'+i nttostr(i ntCrntScore);Cn tScoreStrGrid.Rowsi+1.Add(i nttostr(i ntCrntC nti);Cn tScoreStrGrid.Rowsi+1.Add(floattostr(tru nc(in tCrntC nti/19*10000)/100)+'%');isWrite:=not isWrite;i:=i+1;en d;CntScoreStrGrid.Rowsi+1.Add
22、('最高分');Cn tScoreStrGrid.Rowsi+1.Add(i nttostr(maxScore);CntScoreStrGrid.Rowsi+2.Add('最低分');Cn tScoreStrGrid.Rowsi+2.Add(i nttostr(mi nScore);CntScoreStrGrid.Rowsi+3.Add('平均分');Cn tScoreStrGrid.Rowsi+3.Add(i nttostr(avgScore);1.2毕业生管理子模块功能:编辑学生(班级)地学习状态(在读、毕业班、已毕业等)毕业班级学生(毕业生
23、)综合信息查询 职业类别与档案材料基础代码地维护 毕业生择意向与就业去向地处理 毕业生档案材料与毕业经费地管理 毕业生证书地发放管理 设计: 总体设计:采用与新生管理统一地界面,用PageCtrl来实现. 毕业学生状态设置:完成在校生到毕业班学生状态地改变或毕业班学生向已毕业学生状态地改变.实现是通过修改学生基本信息地状态标志.修改学生状态代码如下:/设置毕业班procedure TSelGraForm.addClassBt nClick(Se nder: TObject); varstrSql,strCrntClasslD:Stri ng;beginif (ValClassListBox.l
24、tems.Cou nt<1) or (ValClassListBox.lteml ndex<0) the n abort;strCrntClasslD:=strValClasslDValClassListBox.lteml ndex;strSql:='Update jbxx2 set ZT='+”+'毕业班'+”+' Where bjid='+”+strCrntClasslD+”; MainFo rm.database.Execute(strSql);SelGraForm.FormShow(Se nder);en d; 毕业生综合信息
25、查询:查询毕业生地综合信息(成绩除外,有单独模块提供查询功能), 按类分为若干页显示,提供打印功能.响应数据源控件地代码:procedure TsrchForm.DSsrchStuDataCha nge(Se nder: TObject; Field: TField); / 查询学生数 据源数据改变beginsrchForm.RefreshBasel nfo(); 刷新基本信息srchForm.RefreshJCI nfo();刷新奖惩信息srchForm.RefreshQTI nfo();/ 刷新干部信息等en d;procedure TsrchForm.RefreshBaselnfo();
26、 刷新基本信息varstrSql,crntXH:String;/ 查询语句与学号begincrntXH:=trim(ADOsrchStuQuery.FieldByName('学号').AsString);strSql:='SELECT XS_BASE.*, JBXX2.XM, JBXX2.XB, BJXX.BJMC,'strSql:=strSql+'XS_ZYB.ZYMC,XS_BJXX.CC,XS_BJXX.XZ,ZZMMB.ZZMM,MZB.MZ,JGB.JGMC,'strSql:=strSql+'SFB.SFMC,XS_EXPEND
27、.CYM,XS_EXPEND.SG,XS_EXPEND.XX,XS_EXPEND.BYXX,'strSql:=strSql+'XS_EXPEND.TC,XS_EXPEND.EMAIL,XS_EXPEND.HOMEPAGE,XS_EXPEND.JKXX'strSql:=strSql+' FROM JBXX2 INNER JOIN'strSql:=strSql+' BJXX ON JBXX2.BJID = BJXX.BJID LEFT OUTER JOIN' / 外连接班 级扩展信息strSql:=strSql+' XS_BJXX O
28、N BJXX.BJID = XS_BJXX.BJID LEFT OUTER JOIN' / 外连接专业表strSql:=strSql+' XS_ZYB ON BJXX.ZYID = XS_ZYB.ZYID LEFT OUTER JOIN'/ 外连接籍贯表strSql:=strSql+' SFB ON XS_BASE.SYSF = SFB.SFID LEFT OUTER JOIN'strSql:=strSql+' JGB ON XS_BASE.JGID = JGB .J GID'strSql:=strSql+' Where jbxx
29、2.XH='+""+crntXH+""ADOBaseQuery.SQL.Clear;ADOBaseQuery.SQL.Add(strSql);ADOBaseQuery.Ope n;en d; 基础编码维护:直接维护职业类别表与档案材料表通过ADOTable对象来实现与数据库中表地联系,直接读取或编辑更新数据表 择业意向登记与就业去向登记:根据学生地择业要求和志向,登记其擅长地职业类别;按照毕业生地实际就业去向,登记毕业生地毕业单位、职务、联系方式等信息,以进行各种数据地统计和信息地交流采用DBGrid来显示学生信息,而用数据库控件来绑定就业详细信
30、息; 用按钮来实现数据地添加、修改和删除关键在于按钮状态(增、删、改)地实现:procedure TMainForm.RefreshStuJob(); 刷新就业信息varstrSql,strJobXH:Stri ng;beginstrJobXH:=trim(DBText10.Field.Text); 取得学号if strJobXH=” then/为空,程序出错,退出abort;strSql:='Select xsyxx.* from xs_jyxx Where XH='+""+strJobXH+"" /查询是否已有该生就业信息ADOStu
31、GraQuery.SQL.CIear;ADOStuGraQuery.SQL.Add(strSql);ADOStuGraQuery.Ope n;/控制权限if EditTB.Dow n then/ 处于编辑状态beginif not ADOStuGraQuery.Eof the n有该生就业信息beginFirmDBEdit.E nabled:=true; / 可编辑ProTypeLookup.E nabled:=true;PosDBEdit.E nabled:=true;TelDBEdit.E nabled:=true; EmailDBEdit.E nabled:=true;BZMemo.E
32、nabled:=true; addJobBt n.En abled:=false;delJobBt n.E nabled:=true;删除为有效con firmJobBt n.E nabled:=true;/ 确认编辑为有效endelse无就业信息,可添加beginFirmDBEdit.E nabled:=false;ProTypeLookup.E nabled:=false; PosDBEdit.E nabled:=false;TelDBEdit.E nabled:=false; EmailDBEdit.E nabled:=false;BZMemo.E nabled:=false;addJo
33、bBt n.E nabled:=true;添加为有效delJobBt n.En abled:=false;删除无效con firmJobBt n.En abled:=false;确认无效en d;end; /end of EditTB.Dow nend; /end of procedure 毕业生档案材料管理:登记毕业生地档案材料信息,并提供查询,以确认该生是否具备正常地可毕业手续.代码如下:procedure TMainForm.RefreshDocuStu(); 刷新档案材料信息varstrSql,strCrntXH:Stri ng;beginstrSql:='Select jbx
34、x2.xh as 学号,xm as 姓名,xb as 性别,' strSql:=strSql+'xs_daxx.DACLdm as 档案材料代码,DACLMC as 档案材料名称,: strSql:=strSql+' xs_daxx.BZ as 备注';strSql:=strSql+' from jbxx2,xs_daxx,xs_damc'strSql:=strSql+' Where jbxx2.xh=xs_daxx.xh and xs_daxx.dacldm=xs_damc.dacldm' strCrntXH:=trim(ADO
35、DStuQuery.FieldByName('学号').AsString);strSql:=strSql+' and xs_daxx.XH='+""+strCrntXH+""ADODocuStuQuery.SQL.Clear;ADODocuStuQuery.SQL.Add(strSql);ADODocuStuQuery.Ope n;en d;毕业经费处理与档案材料基本相同. 毕业证书发放管理:对毕业证和学位证地发放进行管理,登记毕业证和学位证地发放情况,并对数据地完整性进行控制:毕业证发放日期如果不为空,则毕业证编号不能为
36、空;学位证发放日期不为空,则学位证编号不能为空;若毕业证发放日期为空,则必须说明证书未发放原因.进行数据完整性控制地代码如下:procedure TMai nF orm.c on firmCertiBt nClick(Se nder: TObject);varstrBYZRQ,strBYZBH,strXWZRQ,strXWZBH:Stri ng;beginstrBYZRQ:=trim(BYZRQEdit.Text); / 毕业证日期 strBYZBH:=trim(BYZBHedit.Text); /毕业证编号strXWZRQ:=trim(XWZRQEdit.Text); / 学位证日期 str
37、XWZBH:=trim(XWZBHEdit.Text); /学位证编号if (strBYZRQ=”)xor (strBYZBH=”)the n/ 异或运算ifMessageDlg('毕业证颁发日期和毕业证编号不符!'+#13+'要取消本次更新操作吗?',mtWarni ng,mbYes,mbNo,0)=mrYes the nbeginADOCertiQuery.CancelUpdates; / 选择取消Mai nF orm.RefreshCertil nfo();abort;endelseabort;if (strBYZRQ=”)and (strBYZBH=”)
38、and (strXWZRQ<>”)the n/处理学位证if (strBYZRQ=”) and (strBYZBH=”) and (strXWZRQ=”) and (strXWZBH=”)and(trim(YYEdit.Text)=”) then / 未获证if MessageDlg('未获得毕业证和或学位证地请写明原因!'+#13+'要取消本次更新操作吗?',mtWarning,mbYes,mbNo,0)=mrYes thenbeginADOCertiQuery.Ca ncelUpdates;Mai nF orm.RefreshCertil nfo
39、();abort;end1.3教学评价打分基础教学信息模块系科简况管理课程名称简况管理功能: 对基础教学信息(主要指全院系科信息、课程信息、教室信息、教材信息)整理、规范,相应名称及全院统一编制地ID(Identfier)号插、查、删、改; 制表输出.设计:本模块处理地数据比较简单,主要完成系科信息表(Depart)、课程信息表(CourseInfo)、教 室信息表(Classroom)、教材信息表(JCXX)等相应数据及编码地输入、删除、修改,在输入系科类似地已编码数据时,要通过名称下选而保存地是相应地ID信息.这主要通过TDBLookupComboBox来实现,设置好如下几个重要属性:DataSource/待输入数据地数据源DataField待输入数据地字段名KeyField关联字段ListField/下选显示字段ListSource /下选数据源在数据浏览地网格图表中,各编码字段要显示为相应地名称,这要通过在数据集中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位职工培训承诺函范文6篇
- 教育学术研究诚信坚守承诺书7篇
- 员工手册编写与修订标准模板
- 2025-2026学年估算教学设计与指导
- 《礼仪认知》-项目五
- 《建筑施工技术》-第10章
- 2025-2026学年高校平均数教学设计
- 2025-2026学年匪的拼音教学设计模板
- 《GBT 18640-2017 家畜日本血吸虫病诊断技术》专题研究报告
- 档案管理规章制度建设排查整治方案
- DB4419∕T 30-2025 高层、超高层民用建筑匹配消防救援能力建设规范
- 2025浙江宁波市水务环境集团有限公司招聘2人笔试参考题库附带答案详解(3卷)
- 购猫合同模板(3篇)
- DRG政策下医疗设备成本管理策略
- 三农电子商务创新创业项目
- 2025年教职人员个人总结
- 渣土运输车辆安全协议
- 薄型防火涂料施工方法方案
- 机械传动培训课
- 2025中证信息技术服务有限责任公司招聘16人考前自测高频考点模拟试题附答案
- 郑州铁路职业技术学院单招职业技能测试参考试题库(含答案)
评论
0/150
提交评论