您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 学生信息管理系统的设计与实现报告
软件工程课程设计1《管理信息系统》课程设计报告题目学生信息管理系统学生姓名缪惠学号200717020203专业班级信息管理与信息系统指导老师方霞老师设计日期指导老师评阅意见:评阅成绩:签名:软件工程课程设计2目录1详细设计...............................................................................................................................31.1.新生管理子系统.....................................................................................................31.2毕业生管理子模块...................................................................................................81.3教学评价打分.........................................................................................................121.4学生成绩网上查询..................................................................................................132系统维护和改进.................................................................................................................142.1运行维护.................................................................................................................142.1.1运行模块组合....................................................................................................142.1.2运行控制............................................................................................................142.1.3运行时间............................................................................................................142.1.4人工处理过程....................................................................................................142.2系统的改进与提高.................................................................................................14需求分析(含业务流程图,数据流程图,E-R图等)概要设计(模块划分等)软件工程课程设计31详细设计1.1.新生管理子系统总体设计:新生管理子系统包含新生录取信息的导入,新生预分学号,新生班级分配,新生寝室安排,新生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高考成绩分布等。设计:下面给出设计方案与实现方法。功能:①完成对新录取学生数据的导入②完成对新生数据的报到预处理(初始化)③实现新生报到现场完成,并统计报到情况④统计新生的各种分布比例和成绩分布设计:①总体设计:用Delphi的PageCtrl控件来实现各项菜单功能②招生数据导入:可以通过选择来指定全国网上录取系统的导出数据所在路径,并根据使用手册检查21个.dbf文件是否存在,来决定是否允许导入;在导入时采用记录的查重处理,所以,只能借助记录集的循环来完成;其中,对政治面貌与民族表要单独处理。主要实现文件检查的代码:functionCheckDBFile(varstrRst:String):boolean;vari,j:integer;blFound:boolean;begin新生基本信息管理招生数据导入报到预处理新生报到新生信息查询与统计预分学号班级编排寝室安排预处理查询现场报到处理欠费查询统计报到情况统计新生比例分布高考成绩统计软件工程课程设计4arrstrFileName[0]:='t_tddw';arrstrFileName[1]:='t_jhk';//……此处对表名赋值CheckDBFile:=False;blFound:=True;i:=0;strRst:='数据表';while(i21)dobeginj:=DBFileListBox.Items.IndexOf(arrstrFileName[i]+'.dbf');ifj=-1then//某个文件未找到,返回“假”beginblFound:=False;strRst:=strRst+arrstrFileName[i]+'.dbf';end;i:=i+1;end;strRst:=strRst+'不存在!';ifblFoundthen//全部数据文件检查正确CheckDBFile:=True;end;③学号预处理:将导入的数据从信息库表到在校生表,并根据考生的考号及其它信息填入其基本信息(如省份、入年年份等);基本处理思想是:根据考生年份(报考号前两位)与当前系统数据库的绝对学期时间,筛选相应的考生信息,然后从这些信息中依次在学生基本信息表(JBXX2)中查询是否重复,来决定是否写入;如果写入,则根据报考号(第3、4位)的信息,写入考生所在省份代码。④新生班级编排:将分配学号的新生编排到指定班级中。用两个DBGrid(可多选)分别将未分班学生和班级信息列出来,通过手工选中一个或多个学生,即可分配班级或从班级中取消分班。实现DBGrid多选并在数据库中完成添加的代码:withStuDBGrid.DataSource.DataSetdobeginfori:=0tointSelStuCnt-1dobeginGotoBookmark(pointer(StuDBGrid.SelectedRows.Items[i]));strStuNo:=Fields[0].AsString;strSql:='Updatejbxx2setBJID='+''''+strClasNo+'''';strSql:=strSql+'WhereXH='+''''+strStuNo+'''';database.Execute(strSql);end;end;……寝室分配与班级编排可类似处理。⑤新生现场报到:对新生的报到程序进行计算机管理,自动检查该新生是否已到校,是否已完成所有报到手续,以及新生的欠费情况(只记载欠费,不记载缴费);并根据各项手续的完成,来确认新生的报到状态,为下一步查询提供足够信息。此处关键在于如何把数据表中“0”和“1”状态标志以CheckBox的状态输出,代码如软件工程课程设计5下:读出:……ifADORegInfo.ActivethenbeginstrState:=ADORegInfo.FieldByName('SFQD').AsString;ifstrState='1'then//是否签到Reg1Check.Checked:=trueelseReg1Check.Checked:=false;strState:=ADORegInfo.FieldByName('ZZGX').AsString;ifstrState='1'then//组织关系Reg2Check.Checked:=trueelseReg2Check.Checked:=false;strState:=ADORegInfo.FieldByName('HKQY').AsString;ifstrState='1'then//户口迁移Reg3Check.Checked:=trueelseReg3Check.Checked:=false;strState:=ADORegInfo.FieldByName('JCK').AsString;ifstrState='1'then//就餐卡Reg4Check.Checked:=trueelseReg4Check.Checked:=false;strState:=ADORegInfo.FieldByName('TJ').AsString;ifstrState='1'then//体检Reg1Check.Checked:=trueelseReg1Check.Checked:=false;end;……写回数据库:……ADORegInfo.Edit;ifReg1Check.CheckedthenADORegInfo.FieldByName('SFQD').AsString:='1'elseADORegInfo.FieldByName('SFQD').AsString:='0';ifReg2Check.CheckedthenADORegInfo.FieldByName('ZZGX').AsString:='1'elseADORegInfo.FieldByName('ZZGX').AsString:='0';ifReg3Check.Checkedthen软件工程课程设计6ADORegInfo.FieldByName('HKQY').AsString:='1'elseADORegInfo.FieldByName('HKQY').AsString:='0';ifReg4Check.CheckedthenADORegInfo.FieldByName('JCK').AsString:='1'elseADORegInfo.FieldByName('JCK').AsString:='0';ifReg1Check.CheckedthenADORegInfo.FieldByName('TJ').AsString:='1'elseADORegInfo.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的标题beginCntStrGrid.Cols[i].Clear;CntStrGrid.Cols[i].Add(titleName[i]);end;i:=0;RegSexTLbl.Lines.Clear;//清空统计显示whilenotADOQFCntQuery.EofdobeginintCntRegd[i]:=ADOQFCntQuery.FieldByName('ClassRegdCnt').AsInteger;CntBySexDBChar.Series[0]
本文标题:学生信息管理系统的设计与实现报告
链接地址:https://www.777doc.com/doc-2521891 .html