


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、管理信息系统课程设计报告题目学生信息管理系统学生姓名缪惠学号200717020203专业班级信息管理与信息系统指导老师方霞老师设计日期指导老师评阅意见:评阅成绩:签名:目录1详细设计31.1.新生管理子系统31.2毕业生管理子模块81.3教学评价打分101.4学生成绩网上查询112系统维护和改进112.1运行维护14运行模块组合.14运行控制14运行时间14人工处理过程2.2系统的改进与提高1414需求分析(含业务流程图,数据流程图, 概要设计(模块划分等)E-R图等)1详细设计1.1.新生管理子系统总体设计:新生管理子系统包含新生录取信息的导入,新生预分学号,新生班级分配, 新生寝室安排,新
2、生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高 考成绩分布等。设计:下面给出设计方案与实现方法。新生基本信息管理功能:完成对新录取学生数据的导入到现场完成,并统计报到情 新生报到招生数据导计新生的各种分布比例到预处理分 设计:总体设计:用招生数据导入:可以通过选据使用手册检查 21个.dbf I文件处理,所以,只能借助记录集的循环来主要实现文件|Delphi的卜布PageCtrl控件来实现选择来指定全国网上录取系统的导出数据所在路径 否存在,来决定是否允许导入;|在导入时采用记录的查重 定完成;其中,对政治面各项菜单功能新生信息查询与统计貌与民族表要单独处理。并根检查的fun
3、 ctio n CheckDBFi学号olea n;vari,j:i nteger;blF oun d:bcbegin代班:e(级r s编排寝R室StTi ng处bo现olea场报到处理1:=t_j欠费查询统计hk:报 到 情 况 统 计新 生 比 例 分 布高 考 成 绩 统 计arrstrFileName0f=t_tddW;aTTstrFileNa 中/此处对表名赋值CheckDBFile:=False;blF oun d:=True;i:=0;strRst:=数据表;while (i21)dobeginj:=DBFileListBox .I tems.I ndexOf(arrstrFil
4、eNamei+.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;end; 学号预处理: 将导入的数据从信息库表到在校生表, 并根据考生的考号及其它信息填 入其基本信息(如省份、入年年份等) ;基本处理思想是:根据考生年份(报考号前两位) 与当前系统数据库的绝对学期时间, 筛选相应的考生信息, 然后从这些信
5、息中依次在学生基 本信息表( JBXX2 )中查询是否重复,来决定是否写入;如果写入,则根据报考号(第3、4 位)的信息,写入考生所在省份代码。 新生班级编排:将分配学号的新生编排到指定班级中。用两个DBGrid (可多选)分别将未分班学生和班级信息列出来, 通过手工选中一个或多个学生, 即可分配班级或从班级 中取消分班。实现 DBGrid 多选并在数据库中完成添加的代码:with StuDBGrid.DataSource.DataSet dobeginfor i:=0 to intSelStuCnt-1 dobeginGotoBookmark(pointer(StuDBGrid.Select
6、edRows.Itemsi);strStuNo:=Fields0.AsString;strSql:=Update jbxx2 set BJID=+strClasNo+;strSql:=strSql+ Where XH=+strStuNo+;database.Execute(strSql);end;end;寝室分配与班级编排可类似处理。 新生现场报到: 对新生的报到程序进行计算机管理, 自动检查该新生是否已到校, 是 否已完成所有报到手续,以及新生的欠费情况(只记载欠费,不记载缴费);并根据各项手续的完成,来确认新生的报到状态,为下一步查询提供足够信息。此处关键在于如何把数据表中“ 0”和“ 1
7、”状态标志以 CheckBox 的状态输出,代码如 下:读出:if ADORegInfo.Active then beginstrState:=ADORegInfo.FieldByName(SFQD).AsString;if strState=1 then /是否签到Reg1Check.Checked:=trueelseReg1Check.Checked:=false;strState:=ADORegInfo.FieldByName(ZZGX).AsString; if strState=1 then / 组织关系Reg2Check.Checked:=trueelseReg2Check.Che
8、cked:=false;strState:=ADORegInfo.FieldByName(HKQY).AsString;if strState=1 then / 户口迁移Reg3Check.Checked:=trueelse Reg3Check.Checked:=false;strState:=ADORegInfo.FieldByName(JCK).AsString; if strState=1 then / 就餐卡Reg4Check.Checked:=trueelse Reg4Check.Checked:=false;strState:=ADORegInfo.FieldByName(TJ).
9、AsString; if strState=1 then /体检Reg1Check.Checked:=trueelse Reg1Check.Checked:=false;end;写回数据库:ADORegInfo.Edit;if Reg1Check.Checked thenADORegInfo.FieldByName(SFQD).AsString:=1 elseADORegInfo.FieldByName(SFQD).AsString:=0; if Reg2Check.Checked thenADORegInfo.FieldByName(ZZGX).AsString:=1 elseADORegI
10、nfo.FieldByName(ZZGX).AsString:=0; if Reg3Check.Checked thenADORegInfo.FieldByName(HKQY).AsString:=1 elseADORegInfo.FieldByName(HKQY).AsString:=0; if Reg4Check.Checked thenADORegInfo.FieldByName(JCK).AsString:=1 elseADORegInfo.FieldByName(JCK).AsString:=0;if Reg1Check.Checked thenADORegInfo.FieldByN
11、ame(TJ).AsString:=1 elseADORegInfo.FieldByName(TJ).AsString:=0; ADORegInfo.Post;欠费查询可相应处理。 报到情况统计:可以按性别、专业、班级、省份等统计学生的报到情况,并以柱状图 和表格显示;提供自由控制条件查询未报到学生信息。统计功能实现代码如下:CntBySexDBChar.Title.Text.Clear;/ 清除标题CntBySexDBChar.Title.Text.Add( 新生报到情况 (按班级统计 );CntBySexDBChar.Series0.Clear;/ 清除图形strSql:=;CntStrG
12、rid.RowCount:=ADOQFCntQuery.RecordCount+1;for i:=0 to 4 do / 设置 StringGrid 的标题beginCntStrGrid.Colsi.Clear;CntStrGrid.Colsi.Add(titleNamei);end;i:=0;RegSexTLbl.Lines.Clear; / 清空统计显示while not ADOQFCntQuery.Eof dobeginintCntRegdi:=ADOQFCntQuery.FieldByName(ClassRegdCnt).AsInteger; CntBySexDBChar.Series
13、0.Add(intCntToti,inttostr(i)+ 应到 ,clBlue); CntBySexDBChar.Series0.Add(intCntRegdi, 到 ,clRed); strSql:=inttostr(i)+trim(strClassNamei)+ 报到比例 :;strSql:=strSql+floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%+#13;RegSexTLbl.Lines.Add(strSql);CntStrGrid.Rowsi+1.Add(inttostr(i+1);CntStrGrid.Rowsi+1.
14、Add(strClassNamei);CntStrGrid.Rowsi+1.Add(inttostr(intCntToti);CntStrGrid.Rowsi+1.Add(inttostr(intCntRegdi);CntStrGrid.Rowsi+1.Add(floattostr(trunc(intCntRegdi/intCnttoti*10000)/100)+%); i:=i+1;ADOQFCntQuery.Next; / 下一个班end; 新生分布情况统计: 从学生的扩展信息与高考资料中提取信息, 统计新生的各种分布 情况,以饼状图和表格信息显示出来。相应地, 高考成绩信息也可以按科目绘
15、制出柱状图来反映分布情况,对新生的整体情况有一个大概了解,以便有针对性地开展工作。成绩统计的代码如下:strSql:=Select Max(+FieldName+) as MaxScore,Min(+FieldName+) as MinScore,A VG(+FieldName+) as AvgScore;strSql:=strSql+ From t_tdd,xs_base,xs_expend Where t_tdd.ksh=xs_expend.bkh and xs_expend.xh=xs_base.xh;strSql:=strSql+ and Nj=+MidStr(CurrentXQSJ,
16、1,4);ADOQFCntQuery.SQL.Clear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;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.
17、Text.Add(新生高考成绩统计+itemName+);Cn tScoreDBChart.Series0.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:=
18、tr un c(mi nScore/1)*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 (itemsCount12) thenstrSql:=i nttostr(i ntCrntScore-1)+-;CntScoreDBChart.Series0.Add(intCrntCnti,strSql,intColori mod 11);Cn tSco
19、reStrGrid.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(最高分);Cn tScoreStrGrid.Rowsi+1
20、.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毕业生管理子模块功能:编辑学生(班级)的学习状态毕业生基本毕业班管理已毕业等)毕业班级学生(毕业生)综合信息查询_职业类別与档案材料基础代码的维护综信息查择意向与就业去码的处理择业与就业综合档案与经费证书发放毕业生
21、离校毕业生职业类择业意就业去择业与毕业生毕业生证书发证书发 毕业生档案材料与毕业经费的管理 毕业生证书的发放管理 设计: 总体设计:采用与新生管理统一的界面,用PageCtrl来实现。 毕业学生状态设置: 完成在校生到毕业班学生状态的改变或毕业班学生向已毕业学生 状态的改变。实现是通过修改学生基本信息的状态标志。修改学生状态代码如下:/设置毕业班procedure TSelGraForm.addClassBtnClick(Sender: TObject);varstrSql,strCrntClassID:String;beginif (ValClassListBox.Items.Count1)
22、 or (ValClassListBox.ItemIndex0) then abort;strCrntClassID:=strValClassIDValClassListBox.ItemIndex; strSql:=Update jbxx2 set ZT=+ 毕业班 + Where bjid=+strCrntClassID+; MainForm.database.Execute(strSql);SelGraForm.FormShow(Sender);end; 毕业生综合信息查询: 查询毕业生的综合信息 (成绩除外, 有单独模块提供查询功能) 按类分为若干页显示,提供打印功能。响应数据源控件的代
23、码:procedure TsrchForm.DSsrchStuDataChange(Sender: TObject; Field: TField); / 查询学生数 据源数据改变beginsrchForm.RefreshBaseInfo();/ 刷新基本信息 srchForm.RefreshJCInfo();/刷新奖惩信息srchForm.RefreshQTInfo();/刷新干部信息等end;procedure TsrchForm.RefreshBaseInfo();/ 刷新基本信息varstrSql,crntXH:String;/ 查询语句与学号begin crntXH:=trim(ADO
24、srchStuQuery.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.CYM,XS_EXPEND.SG,XS_EXPEND.XX,XS_EXPEND.BYXX,;strSql:=strSql+XS_EXPEND.TC,XS_EXPEND.EMAIL,
25、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 ON BJXX.BJID = XS_BJXX.BJID LEFT OUTER JOIN; /外连接专业表strSql:=strSql+ XS_ZYB ON BJXX.ZYID = XS_ZYB.ZYID LEFT OUTER JOIN;/ 外连接籍贯表strS
26、ql:=strSql+ SFB ON XS_BASE.SYSF = SFB.SFID LEFT OUTER JOIN;strSql:=strSql+ JGB ON XS_BASE.JGID = JGB.JGID;strSql:=strSql+ Where jbxx2.XH=+crntXH+;ADOBaseQuery.SQL.Clear;ADOBaseQuery.SQL.Add(strSql);ADOBaseQuery.Open;end; 基础编码维护: 直接维护职业类别表与档案材料表。 通过 ADOTable 对象来实现与数 据库中表的联系,直接读取或编辑更新数据表。 择业意向登记与就业去向登
27、记: 根据学生的择业要求和志向, 登记其擅长的职业类别; 按照毕业生的实际就业去向,登记毕业生的毕业单位、职务、 联系方式等信息,以进行各种 数据的统计和信息的交流。采用 DBGrid 来显示学生信息,而用数据库控件来绑定就业详细 信息;用按钮来实现数据的添加、修改和删除。关键在于按钮状态(增、删、改)的实现:procedure TMainForm.RefreshStuJob();/ 刷新就业信息varstrSql,strJobXH:String;beginstrJobXH:=trim(DBText10.Field.Text);/ 取得学号if strJobXH= then /为空,程序出错,
28、退出abort;strSql:=Select xs_jyxx.* from xs_jyxx Where XH=+strJobXH+; /查询是否已有该生就业信息ADOStuGraQuery.SQL.Clear;ADOStuGraQuery.SQL.Add(strSql);ADOStuGraQuery.Open;/控制权限if EditTB.Down then /处于编辑状态beginif not ADOStuGraQuery.Eof then /有该生就业信息beginFirmDBEdit.Enabled:=true;/ 可编辑ProTypeLookup.Enabled:=true;PosDB
29、Edit.Enabled:=true;TelDBEdit.Enabled:=true;EmailDBEdit.Enabled:=true;BZMemo.Enabled:=true;addJobBtn.Enabled:=false;delJobBtn.Enabled:=true;/删除为有效confirmJobBtn.Enabled:=true; / 确认编辑为有效 end else /无就业信息,可添加 beginFirmDBEdit.Enabled:=false;ProTypeLookup.Enabled:=false;PosDBEdit.Enabled:=false;TelDBEdit.E
30、nabled:=false;EmailDBEdit.Enabled:=false;BZMemo.Enabled:=false; addJobBtn.Enabled:=true;/添加为有效delJobBtn.Enabled:=false;/删除无效confirmJobBtn.Enabled:=false; /确认无效 end;end; /end of EditTB.Downend; /end of procedure 毕业生档案材料管理: 登记毕业生的档案材料信息, 并提供查询, 以确认该生是否具 备正常的可毕业手续。代码如下:procedure TMainForm.RefreshDocuSt
31、u();/ 刷新档案材料信息varstrSql,strCrntXH:String;begin strSql:=Select jbxx2.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=x
32、s_damc.dacldm; strCrntXH:=trim(ADODStuQuery.FieldByName( 学号 ).AsString);strSql:=strSql+ and xs_daxx.XH=+strCrntXH+; ADODocuStuQuery.SQL.Clear;ADODocuStuQuery.SQL.Add(strSql);ADODocuStuQuery.Open;end; 毕业经费处理与档案材料基本相同。 毕业证书发放管理: 对毕业证和学位证的发放进行管理, 登记毕业证和学位证的发放 情况,并对数据的完整性进行控制:毕业证发放日期如果不为空,则毕业证编号不能为空; 学位
33、证发放日期不为空, 则学位证编号不能为空; 若毕业证发放日期为空, 则必须说明证书 未发放原因。进行数据完整性控制的代码如下:procedure TMainForm.confirmCertiBtnClick(Sender: TObject);var strBYZRQ,strBYZBH,strXWZRQ,strXWZBH:String;beginstrBYZRQ:=trim(BYZRQEdit.Text); / 毕业证日期 strBYZBH:=trim(BYZBHedit.Text); /毕业证编号strXWZRQ:=trim(XWZRQEdit.Text); / 学位证日期 strXWZBH:
34、=trim(XWZBHEdit.Text); /学位证编号if (strBYZRQ=”)xor (strBYZBH=”)the n/ 异或运算if MessageDlg(毕业证颁发日期和毕业证编号不符!+#13+要取消本次更新操作吗?,mtWarni ng,mbYes,mbNo,0)=mrYes the nbeginADOCertiQuery.CancelUpdates; / 选择取消Mai nF orm.RefreshCertil nfo();abort;endelseabort;if (strBYZRQ=”)and (strBYZBH=”)and (strXWZRQ”)the n/处理学位
35、证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();abort;end1.3教学评价打分功能:对基础教学信息(主要指规范,相应名称及全院统一编制的制
36、表输出。设计:基础教学信息模块全院系科信息、课程信息、教室信息、教材信息)整理、ID(Identfier)号插、查、删、改;系科简况管本模块处理的数据比课程名称简主要理成系科信息表(Dep室简况课程信息表(Course|nfo) 教材简况管理t应数据及编码的输入、删除、修改,在输,ID信息。这主要通过教室信息表(Classroom)、教材信息表(JCXX)等相 入系科类似的已编码数据时,要通过名称下选而保存的是相应的 TDBLookupCpmboBox 来实现,设置好如下几个重要属性:_删除DataSource DOtaField KeyFieldListFieldListSource增/待输 加待输 /关联字段/下选显示字段 下选数据源的数入删据 M除据在数据浏览的网格图表中,各编码字段要显示为相应的名称,这要通过在数据集中新建Lookup类型的字段来实现,设置好如下几个重要属性:Field PropertyLookup Defin iti on Key FieldDataSetFieldType:=Looku
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程经济绩效评价体系试题及答案
- 行政管理领域公共关系学全新试题及答案
- 经济法概论考点复习指导试题及答案
- 2025国际民间贸易合作合同范本
- 数据分析在经济中的应用试题及答案
- 网络时代的公共关系挑战试题及答案
- 营口市招聘公益性岗位人员考试真题2024
- 2025年工程项目管理考试冲刺试题及答案
- 行政管理经济法应试文献试题及答案
- 公共关系学社会形象试题及答案
- 四川省乐山市2023-2024学年八年级下学期期末数学试题(解析版)
- CJT244-2016 游泳池水质标准
- 纳税人(扣缴义务人)基础信息报告表
- 焰火燃放安全技术规程
- 泛血管疾病抗栓治疗中国专家共识(2024版)
- 农村自建房包工劳动合同
- DL-T5159-2012电力工程物探技术规程
- 幼儿园中班数学课件:《理解数字符号的意义-查查路线》
- 广东省深圳市27校2022年中考一模英语试题(无答案无听力部分)
- 《红楼梦》知识点
- MOOC 信号与系统-西安邮电大学 中国大学慕课答案
评论
0/150
提交评论