学生管理系统详细设计说明书_第1页
学生管理系统详细设计说明书_第2页
学生管理系统详细设计说明书_第3页
学生管理系统详细设计说明书_第4页
学生管理系统详细设计说明书_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

年5月29日学生管理系统详细设计说明书文档仅供参考学生管理系统乐山师范学院计算机科学系Attract工作室标题:详细设计说明书类别:文档密级:内部编辑软件:MicrosoftWord中文版版本历史:版本作者日期备注V1.01/09/08详细设计说明书V1.0.2/08/30详细设计说明书编写目的:本文档详细描述组成系统的各个软件组成部分,包括每个软件模块(或类)的属性、方法、事件,各软件模块的外部接口说明,测试要点等内容。本文档由项目组维护,供项目组使用。目录TOC\o"1-3"\h\z第1章 引言 11.1.项目说明 11.2.项目定义 11.3.编写目的 11.4.参考资料 1第2章 程序系统的结构 2第3章 系统功能实现 33.1.系统控制台模块 33.2.新生管理子系统 63.3.学生在校管理子模块 213.4.社团组织管理子模块 413.5.毕业生管理子模块 493.6.教学评价打分 633.7.学生成绩网上查询 65引言1.1.项目说明项目名称:乐山师范学院学生管理系统。项目提出单位:乐山师范学院计算机科学系项目开发者:乐山师范学院计算机科学系Attract工作室项目使用部门:乐山师范学院各系科(学院)项目建设单位:乐山师范学院计算机科学系1.2.项目定义系科综合管理信息系统是为了适应现代化学校管理的需要,加快推进我校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应用技术和手段,提高办公效率、改进质量的高效管理信息系统。学生管理系统是系科综合管理信息系统的重要组成部分。1.3.编写目的本文档为”乐山师范学院系科综合管理信息系统(学生管理系统)详细设计说明书”,主要用于为实现系统的功能而进行的系统详细设计说明,详细系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。本文档供项目组全体成员及项目组领导,单元测试人员阅读。1.4.参考资料<学生管理系统_系统软件需求说明书>。<学生管理系统_系统概要设计说明书>。<学生管理系统_数据库设计说明书(数据库字典)>。

程序系统的结构整个学生管理系统的结构可由以下图示来表明:学生管理系统学生管理系统系科综合信息管理系统新生报到管理模块在校生日常管理模块组织社团管理模块毕业生信息管理模块学生成绩查询模块其它管理功能

系统功能实现从前面需求分析能够看出,系统功能庞杂,主要分为前台浏览器(B/S)信息发布和数据查询,后台(C/S)数据管理和处理,学生管理功能部分数据分为5类:新生相关;在校生相关;组织社团相关;毕业生相关;学生成绩综合查询相关。从使用和操作的功能上分,有三种用户:普通客户(浏览器浏览、查询);业务数据管理人员(学生工作辅导员、教务干事);系统管理员。为便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独立的功能完全独立设计,编译成独立的目标(功能)模块(singleExecutable),各功能模块最后被集成到一个称为虚拟桌面的控制台模块中。相应地将系统结构分为一个控制台程序和五个子系统,各子系统又分为若干各子模块。对应于每一个模块,几乎都有录入、查询、修改、删除、查看详细资料这几个功能。整个业务流程就是由这几种基本功能实现的。在这里每个模块都要用到的功能没必要在每个子模块里重复阐述,在每个子模块里只列出区别于其它子模块的功能实现。3.1.系统控制台模块功能:各子功能模块的组织和调用;统一的登陆界面实现到数据库服务器的登陆;显示系科主页Web的首页(主要是系科重要通知、消息等);学院通知页面;系科每周工作安排。系统图标。设计:1.登陆数据库:输入数据库服务器名(ServerIP)、用户账号()UserID、密码(PassWord);以账号DEP_Computer0、密码DEP_Computer0登陆数据库服务器,检索系统权限表,根据权限设置相应功能模块:①无此用户或禁止权限Enable:=False;②浏览权限Enable:=True;修改UserID:=Dep_Computer1;修改PassWord:=1;③修改权限Enable:=True;修改UserID:=Dep_Computer2;修改PassWord:=;2.采用Win31下程序组、程序项的原理组织各执行模块:登陆服务器新生录取数据、入学报道管理学生信息(在校)管理学生社团管理毕业生信息管理学生成绩综合查询与统计各程序组、程序项的显示分别能够是分层/树状/大图标/小图标等方式;各程序项或菜单项的名称命名为相应功能模块的目标代码文件名。3.可执行功能模块的调用执行:经过程序项或菜单项名称获取可执行目标代码文件名,应用API函数CreateProcess开始执行。i:=StartMenu.IndexOf(MenuItem);j:=StartMenu.Items[i].IndexOf(MenuItem);caseStartMenu.Items[i].Items[j].Tagof1:allow:='禁止';2:allow:='浏览';3:allow:='修改';end;ExecutableFileName:=Trim(StartMenu.Items[i].Items[j].Name)+'.exe'FillChar(StartupInfo,Sizeof(StartupInfo),#0);StartupInfo.cb:=Sizeof(StartupInfo);StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;CreateProcess(PChar(ExecutableFileName),'',nil,nil,false,CREATE_NEW_CONSOLEorNORMAL_PRIORITY_CLASS,nil,'.\',StartupInfo,ProcessInfo);

3.2.新生管理子系统总体设计:新生管理子系统包含新生录取信息的导入,新生预分学号,新生班级分配,新生寝室安排,新生报到管理,新生报到信息统计,新生欠费统计,新生分布信息,新生高考成绩分布等。设计:下面给出设计方案与实现方法。新生基本信息管理新生基本信息管理招生数据导入报到预处理新生报到新生信息查询与统计预分学号班级编排寝室安排预处理查询现场报到处理欠费查询统计报到情况统计新生比例分布高考成绩统计模块名称:招生数据导入输入:新生网上录取数据库;处理:将招生数据按相同格式导入系统数据库输出:提示信息数据表:T_tdd,T_jhk,T_tddw等25个招生数据表,在数据库中T_mzdm导入MZB中,T_zzmmdm导入ZZMMB中。模块名称:预分学号输入:招生数据导入的表;处理:根据当前年份,为当前新生预分临时学号,并将新生信息导入在校生表,导入基本信息输出:提示信息数据表:JBXX2:学生基本信息表(简)XS_BASE:学生基本信息(详)XS_EXPEND:学生扩展信息模块名称:班级编排输入:学生预分学号信息,班级信息;处理:将新生编入指定班级输出:班级名单数据表:JBXX2:学生基本信息BJXX:班级信息模块名称:寝室安排输入:学生预分学号信息,寝室信息;处理:将新生按性别分入指定寝室输出:寝室名单数据表:JBXX2:学生基本信息(简)XS_BASE:学生基本信息(详)QSZY:寝室资源表

模块名称:现场报到处理输入:学生预分学号、编班、寝室安排等信息;处理:根据新生到校情况,完成新生报到情况的记载以及欠费记载输出:表格数据表:JBXX2:学生基本信息BJXX:班级信息XS_BASE:学生基本信息XS_BDQK:学生报到情况XS_QFXX:学生欠费信息模块名称:新生欠费查询统计输入:新生欠费信息;处理:统计欠费新生信息输出:欠费报表数据表:JBXX2:学生基本信息XS_QFXX:学生欠费信息模块名称:新生报到情况统计输入:新生报到信息;处理:根据新生报到信息,进行各项分类统计输出:柱状图与表格信息数据表:JBXX2:学生基本信息XS_BASE:学生基本信息XS_EXPEND:学生扩展信息BJXX:班级信息SFB:省份表MZB:民族表ZZMMB:政治面貌表

模块名称:新生信息统计输入:新生网上录取数据库;处理:按各种分类标准,对新生的分布情况进行统计输出:饼状图与表格信息数据表:JBXX2:学生基本信息XS_BASE:学生基本信息MZB:民族表ZZMMB:政治面貌表SFB:省份表模块名称:新生高考成绩统计输入:新生扩展信息,新生成绩信息;处理:按各项成绩分别统计各分数段人数比例输出:柱状图与表格信息数据表:JBXX2:学生基本信息XS_EXPEND:学生扩展信息T_TDD:考生投档单功能:①完成对新录取学生数据的导入②完成对新生数据的报到预处理(初始化)③实现新生报到现场完成,并统计报到情况④统计新生的各种分布比例和成绩分布设计:①总体设计:用Delphi的PageCtrl控件来实现各项菜单功能,整体界面如下:②招生数据导入:能够经过选择来指定全国网上录取系统的导出数据所在路径,并根据使用手册检查25个.dbf文件是否存在,来决定是否允许导入;在导入时采用记录的查重处理,因此,只能借助记录集的循环来完成;其中,对政治面貌与民族表要单独处理。界面如下:主要实现文件检查的代码:functionCheckDBFile(varstrRst:String):boolean;vari,j:integer;blFound:boolean;beginarrstrFileName[0]:='t_tddw';arrstrFileName[1]:='t_jhk';//……此处对表名赋值CheckDBFile:=False;blFound:=True;i:=0;strRst:='数据表';while(i<25)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的状态输出,代码如下:读出:……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//体检Reg5Check.Checked:=trueelseReg5Check.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.CheckedthenADORegInfo.FieldByName('HKQY').AsString:='1'elseADORegInfo.FieldByName('HKQY').AsString:='0';ifReg4Check.CheckedthenADORegInfo.FieldByName('JCK').AsString:='1'elseADORegInfo.FieldByName('JCK').AsString:='0';ifReg5Check.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].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].Add(strClassName[i]);CntStrGrid.Rows[i+1].Add(inttostr(intCntTot[i]));CntStrGrid.Rows[i+1].Add(inttostr(intCntRegd[i]));CntStrGrid.Rows[i+1].Add(floattostr(trunc(intCntRegd[i]/intCnttot[i]*10000)/100)+'%');i:=i+1;ADOQFCntQuery.Next;//下一个班end;……⑦新生分布情况统计:从学生的扩展信息与高考资料中提取信息,统计新生的各种分布情况,以饼状图和表格信息显示出来。界面如下:相应地,高考成绩信息也能够按科目绘制出柱状图来反映分布情况,对新生的整体情况有一个大概了解,以便有针对性地开展工作。界面如下:成绩统计的代码如下:strSql:='SelectMax('+FieldName+')asMaxScore,Min('+FieldName+')asMinScore,AVG('+FieldName+')asAvgScore';strSql:=strSql+'Fromt_tdd,xs_base,xs_expendWheret_tdd.ksh=xs_expend.bkhandxs_expend.xh=xs_base.xh';strSql:=strSql+'andNj='+MidStr(CurrentXQSJ,1,4);ADOQFCntQuery.SQL.Clear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;ifADOQFCntQuery.EofthenbeginShowMessage('对不起,未找到相关学生的成绩!');abort;end;fori:=0to2dobeginCntScoreStrGrid.Cols[i].Clear;CntScoreStrGrid.Cols[i].Add(titleName[i]);end;CntScoreDBChart.Title.Text.Clear;CntScoreDBChart.Title.Text.Add('新生高考成绩统计['+itemName+']');CntScoreDBChart.Series[0].Clear;maxScore:=ADOQFCntQuery.FieldByName('MaxScore').AsInteger;minScore:=ADOQFCntQuery.FieldByName('MinScore').AsInteger;avgScore:=ADOQFCntQuery.FieldByName('AvgScore').AsInteger;itemsCount:=trunc((maxScore-minScore)/5)+1;intCrntScore:=trunc(minScore/5)*5;i:=0;isWrite:=true;CntScoreStrGrid.RowCount:=itemsCount+4;while(i<itemsCount)and(i<30)dobeginstrSql:='Selectcount(xs_base.xh)asCrntCntfromxs_base,xs_expend,t_tdd';strSql:=strSql+'Wherexs_base.xh=xs_expend.xhandxs_expend.bkh=t_tdd.ksh';strSql:=strSql+'andNj='+MidStr(CurrentXQSJ,1,4);strSql:=strSql+'and'+FieldName+'>='+inttostr(intCrntScore);strSql:=strSql+'and'+FieldName+'<'+inttostr(intCrntScore+5);intCrntScore:=intCrntScore+5;ADOQFCntQuery.SQL.Clear;ADOQFCntQuery.SQL.Add(strSql);ADOQFCntQuery.Open;intCrntCnt[i]:=ADOQFCntQuery.FieldByName('CrntCnt').AsInteger;strSql:='';if(isWrite)or(itemsCount<12)thenstrSql:=inttostr(intCrntScore-5)+'-';CntScoreDBChart.Series[0].Add(intCrntCnt[i],strSql,intColor[imod11]);CntScoreStrGrid.Rows[i+1].Add(inttostr(intCrntScore-5)+'-'+inttostr(intCrntScore));CntScoreStrGrid.Rows[i+1].Add(inttostr(intCrntCnt[i]));CntScoreStrGrid.Rows[i+1].Add(floattostr(trunc(intCrntCnt[i]/59*10000)/100)+'%');isWrite:=notisWrite;i:=i+1;end;CntScoreStrGrid.Rows[i+1].Add('最高分');CntScoreStrGrid.Rows[i+1].Add(inttostr(maxScore));CntScoreStrGrid.Rows[i+2].Add('最低分');CntScoreStrGrid.Rows[i+2].Add(inttostr(minScore));CntScoreStrGrid.Rows[i+3].Add('平均分');CntScoreStrGrid.Rows[i+3].Add(inttostr(avgScore));3.3.学生在校管理子模块在校生信息管理在校生信息管理基础编码基本数据日常管理奖惩信息勤工助学信息基它信息班级基本信息新生学号替换日常考勤管理寝室清洁卫生在校生奖励信息在校生处罚信息在校生异动信息困难学生信息困难补助管理勤工俭学管理学期注册管理年鉴定管理学生基本信息在校生欠费管理在校生日志信息模块名称:基础编码输入:在校生基础编码信息处理:维护管理在校生管理基础编码信息输出:在校生基础编码数据表:JBXX2:学生基本信息BJXX:班级信息XS_YDLB:异动类型信息XS_BZLB:补助类型信息XS_ZXLB:助学金类型信息XS_JXJLB:奖学金类型信息XS_DKLB:贷款类型信息XS_QSZY:寝室资源信息SFB:省份信息模块名称:学生基本信息输入:在校生基本信息处理:根据学生简况信息管理系科学生基本信息输出:在校生基本信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_BASE:在校生基本信息XS_EXPEND:在校生扩充信息模块名称:班级基本信息输入:班级基本信息处理:根据班级简况信息管理班级详细数据输出:班级详细数据数据表:BJXX:班级信息XS_BJXX:班级基本信息

模块名称:新生学号替换输入:新生正式学号分配信息处理:用新生正式学号替换相关数据表中新生临时学号输出:在校生正式学号分配信息数据表:JBXX2:学生基本信息其它相关使用新生临时学号数据用于新生临时学号的导出和正式学号的导入的数据表(本地表)模块名称:在校生日常考勤管理输入:在校生日常考勤信息处理:维护和管理在校生日常考勤信息输出:在校生考勤信息及相关统计报表数据表:JBXX2:学生基本信息BJXX:班级信息XS_KQXX:学生考勤信息模块名称:在校生寝室清洁卫生管理输入:在校生寝室清洁卫生信息处理:维护管理在校生寝室清洁卫生信息输出:在校生寝室清洁卫生数据及相关统计报表数据表:JBXX2:学生基本信息BJXX:班级信息XS_QJWS:异动类型信息

模块名称:在校生奖励信息管理输入:在校生奖励信息处理:维护管理在校生奖励信息输出:在校生奖励信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_HJXX:奖励信息模块名称:在校生处罚信息管理输入:在校生处罚信息处理:维护管理在校生处罚信息输出:在校生处罚信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_CFXX:处罚信息模块名称:在校生异动信息管理输入:在校生异动信息处理:维护管理在校生异动信息输出:在校生异动信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_YDXX:异动信息模块名称:困难学生基本信息输入:困难学生基本信息处理:维护管理困难学生收入来源及生活情况输出:困难学生基本信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_KNXX:困难学生基本信息模块名称:困难补助信息管理输入:在校生接受困难补助信息处理:维护管理在校生困难补助情况输出:在校生困难补助信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_KNBZ:困难补助信息模块名称:勤工俭学信息管理输入:在校生勤工俭学信息处理:维护管理在校生勤工俭学情况输出:在校生勤工俭学信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_QGZX:勤工俭学信息模块名称:在校生学期注册信息管理输入:在校生学期注册信息处理:管理在校生学期报到注册信息,并验证学生基本信息以学生欠费信息输出:在校生学期注册信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_XQZC:困难补助信息XS_BASE:学生基本信息信息XS_QFXX:学生欠费信息模块名称:在校生年鉴定信息管理输入:在校生年鉴定信息处理:管理在校生年鉴定信息输出:在校生年鉴定信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_XNJD:学生年鉴定信息模块名称:在校生欠费信息管理输入:在校生欠费信息处理:管理在校生欠费信息输出:在校生欠费信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_QFXX:学生欠费信息模块名称:在校生日志信息管理输入:在校生日志信息处理:管理在校生日志信息输出:在校生日志信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_RZXX:学生日志信息功能:在校生信息管理基础编码的维护和管理;在校生详细信息维护和管理;班级详细信息维护和管理;新生入校分配正式学号后对数据表中相关使用临时学号的数据进行替换;在校生日常缺勤信息的维护以及制作相关统计报表;在校生寝室清洁卫生的维护和相关报表制作;在校生奖惩信息的维护和管理;在校生异动信息(转系、留级、退学、休学、停学等)维护和管理;困难学生基本信息管理以及困难补助和勤工俭学信息管理;在校生学期注册信息管理;在校生年鉴定信息管理;在校生欠费信息管理;在校生其它日志信息管理设计:本模块采用多文档窗体的形式,并提供子窗体排列的两种不同形式(层叠和平铺)⒈基础编码管理采用分页结构,完成在校生管理中所需要的基础字典进行编码;⒉学生基本信息管理采用分页结构,在学生简况信息的基础上完成其它详细信息的编辑和查询功能(需检验学生基本信息的唯一性)casepagecontrol1.ActivePageIndexof0:jbxxquery.Locate('xh',dbedit1.Text,[loPartialKey]);//定位指定学生记录1:beginxsjbxxtable.Filtered:=false;xsjbxxtable.Filter:='xh='+''''+dbedit4.Text+'''';xsjbxxtable.Filtered:=true;ifxsjbxxtable.recordcount=0thendbnavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast,nbInsert,nbDelete,nbEdit,nbPost,nbCancel]//如不存在该学生基本信息则允许新建elsedbnavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast,nbDelete,nbEdit,nbPost,nbCancel];//如存在学生基本信息则不允许新建ifzxsglfrm.BrowseTB.Downthendbnavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast];end;⒊班级基本信息管理在班级简况信息的基础上完成班级其它详细信息的维护和管理⒋新生学号替换在新生进校后,正式学号可能会延时分配,因此,在新生的管理为方便进行管理设置了临时学号,在正式学号分配完成后,应将数据表中新生数据临时学号替换为正式学号先选取要进行学号替换的班级,生成新生学号输入表(本地数据库LOCALDB.MDB)并以班级编号为名建表;adocommand1.CommandText:='createtable'+bjid_combo.Items.Strings[bjmc_combo.itemindex]+'(oldxhchar(11),xsxmchar(8),xbchar(2),newxhchar(11))';adocommand1.Execute;//创立本地新生学号输入表whilenotbj_query.Eofdobeginadocommand1.CommandText:='insertinto'+bjid_combo.Items.Strings[bjmc_combo.itemindex]+'(oldxh,xsxm,xb,newxh)values('+''''+bj_query.Fieldbyname('xh').asstring+''''+','+''''+bj_query.Fieldbyname('xm').asstring+''''+','+''''+bj_query.Fieldbyname('xb').asstring+''''+',null)';adocommand1.Execute;//在本地输入表中添加学生基本数据bj_query.Next;end;再导出新生输入表,并允许再进行编辑;localtable.Close;localtable.TableName:=bjid_combo.Items.Strings[bjmc_combo.itemindex];localtable.Active:=true;//导入新生正式学号输入表localtable.FieldByName('oldxh').DisplayLabel:='旧学号';localtable.FieldByName('xsxm').DisplayLabel:='姓名';localtable.FieldByName('xb').DisplayLabel:='性别';localtable.FieldByName('newxh').DisplayLabel:='新学号';button5.Enabled:=true;//允许进行学号替换最后进行学号替换fori:=1to16dobeginprogressbar1.Position:=j;//round(100/(adotable2.RecordCount*15))label7.Caption:='学号替换正在进行当中';th_query.SQL.Clear;th_query.SQL.add('select*from'+tablename[i]+'wherexh='+''''+localtable.Fieldbyname('oldxh').asstring+'''');th_query.Open;//选取要进行替换的数据表whilenotth_query.Eofdobeginiflocaltable.FieldValues['newxh']<>nullthenbeginth_query.Edit;th_query.FieldValues['xh']:=localtable.fieldbyname('newxh').asstring;//进行学号替换th_query.Post;end;th_query.Next;end;⒌学生日常考勤信息管理主要记载在校生日常缺勤信息,并提供分班分时间段的查询和统计,并进行班级出勤情况的比较编辑界面:统计界面:j:=1;bjquery.First;whilenotbjquery.Eofdobeginfori:=1tocombobox1.ItemIndex+1dobeginrckqquery.Close;rckqquery.SQL.clear;rckqquery.sql.add('selectxs_kqxx.qqjc,jbxx2.xmfromxs_kqxxjoinjbxx2onjbxx2.xh=xs_kqxx.xhjoinbjxxonbjxx.bjid=jbxx2.bjidwherejbxx2.bjid='+''''+bjquery.FieldValues['bjid']+''''+'andxs_kqxx.xq='+''''+edit1.Text+''''+'andxs_kqxx.week='+''''+edit2.Text+''''+'andxs_kqxx.wday=CAST('+inttostr(i)+'ASchar(2))');//生成统计字符串rckqquery.Open;whilenotrckqquery.Eofdobeginstringgrid1.Cells[i,j]:=trim(rckqquery.fieldbyname('xm').AsString)+''+trim(rckqquery.fieldbyname('qqjc').asstring)+',';rckqquery.Next;//将统计结果写入数据网格end;end;bjquery.Next;j:=j+1;end;⒍学生寝室清洁卫生信息管理完成学生寝室清洁卫生信息的管理功能,并提供近几周内清洁卫生的对比情况(主要分为得分为’A’和得分为’C’两种情况)编辑界面:统计界面(分数据表和图表两种统计形式)fori:=1tostrtoint(edit2.Text)dobeginstringgrid1.cells[0,i]:=inttostr(i);qjwsquery.Close;qjwsquery.SQL.Clear;qjwsquery.SQL.add('SELECT*FROMXS_QJWSINNERJOINXS_QSZYONXS_QJWS.ZH=XS_QSZY.QSZHANDXS_QJWS.QSH=XS_QSZY.FJHWHEREXS_QJWS.XQ='+''''+edit1.Text+''''+'ANDXS_QJWS.Week=CAST('+inttostr(i)+'ASchar(2))'+'andxs_qszy.xkid='+''''+zxsglfrm.CurrentXKID+''''+'andupper(xs_qjws.df)='+''''+'A'+'''');//生成统计字符串(统计得分为A的寝室)qjwsquery.Open;stringgrid1.Cells[1,i]:=inttostr(qjwsquery.recordcount);chart1.Series[0].Add(qjwsquery.recordcount,'第'+inttostr(i)+'周',clred);//将统计结果写入图表whilenotqjwsquery.Eofdobeginstringgrid1.Cells[2,i]:=stringgrid1.Cells[2,i]+qjwsquery.fieldbyname('zh').AsString+'-'+qjwsquery.fieldbyname('qsh').AsString+',';//将统计结果写入数据网格qjwsquery.Next;end;qjwsquery.Close;qjwsquery.SQL.Clear;qjwsquery.SQL.add('SELECT*FROMXS_QJWSINNERJOINXS_QSZYONXS_QJWS.ZH=XS_QSZY.QSZHANDXS_QJWS.QSH=XS_QSZY.FJHWHEREXS_QJWS.XQ='+''''+edit1.Text+''''+'ANDXS_QJWS.WEEK=CAST('+inttostr(i)+'ASchar(2))'+'andxs_qszy.xkid='+''''+zxsglfrm.CurrentXKID+''''+'andupper(xs_qjws.df)='+''''+'C'+'''');//生成统计字符串(统计得分为C的寝室)qjwsquery.Open;stringgrid1.Cells[3,i]:=inttostr(qjwsquery.recordcount);chart1.Series[1].Add(qjwsquery.recordcount,'第'+inttostr(i)+'周',clblue);//将统计结果写入图表whilenotqjwsquery.Eofdobeginstringgrid1.Cells[4,i]:=stringgrid1.Cells[4,i]+qjwsquery.fieldbyname('zh').AsString+'-'+qjwsquery.fieldbyname('qsh').AsString+',';//将统计结果写入数据网格qjwsquery.Next;end;end;⒎完成在校生奖励信息管理在进行数据输入的过程中采用层层筛选的方式,避免输入过程中发生输入错误先筛选班级curxq_edit.Text:=zxsglfrm.CurrentXQSJ;bjxs_query.SQL.Clear;bjxs_query.SQL.add('SELECTbjmc,bjidFROMbjxxwherexkid='+''''+zxsglfrm.CurrentXKID+'''');bjxs_query.Open;再筛选学生bjxs_query.Close;bjxs_query.SQL.clear;bjxs_query.SQL.add('selectxh,xbfromjbxx2wherexm='+''''+xsxm_combo.Text+''''+'andbjid='+''''+bjid_combo.Items.Strings[bjmc_combo.itemindex]+'''');bjxs_query.Open;最后允许编辑⒏完成在校生处罚信息管理同在校生奖励信息类似⒐完成在校生异动信息的记载,处理部分在学生简况管理中完成同在校生奖励信息类似⒑在校困难学生基本信息、困难补助信息、勤工俭学信息维护和管理在学生递交困难补助或勤工俭学申请书后,将学生困难信息存入档案,进行困难补助和勤工俭学管理时依据困难学生档案来进行⒒在校生学期注册管理学生每期进行注册时,记载注册时间,并同时提供学生基本信息的完善和欠费信息的查询由当前班级和注册时间来确定数据表中是否该班已经生成注册数据,在注册过程中实时查看当前注册情况;允许多人同时注册,也可在注册时查看学生当前基本信息是否完善以及是否存在欠费验证是否已生成班级学期注册表if(yzcrs=0)and(wzcrs=0)thenbeginifzxsglfrm.EditTB.Downthenbutton4.Enabled:=true//未生成学期注册数据,则允许生成elsebutton4.Enabled:=false;//已生成学期注册数据endelsebeginbutton4.Enabled:=false;多人注册:ifDBGrid1.SelectedRows.Count>0thenbeginwithDBGrid1.DataSource.DataSetdofori:=0toDBGrid1.SelectedRows.Count-1dobeginGotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));xszctable.Locate('xh;xq;term',VarArrayOf([fields[1].AsString,zcxq_edit.Text,inttostr(zcterm_combo.ItemIndex+1)]),[loPartialKey]);xszctable.Edit;xszctable.FieldValues['zcsj']:=zcsj_edit.Text;xszctable.Post;end;end;当前学生报到注册情况查看:yzc_edit.Text:=inttostr(yzcrs);//已注册人数wzc_edit.text:=inttostr(wzcrs);//未注册人数chart1.Series[0].Clear;chart1.Series[0].Add(strtoint(wzc_edit.text),'未注册',clblue);chart1.Series[0].Add(strtoint(yzc_edit.text),'已注册',clred);//图表查看⒓在校生年鉴定管理根据当前选定班级及鉴定年生成年鉴定表,然后填写学生年鉴定数据判定当前数据表中是否已生成班级年鉴定数据xsjd_query.close;xsjd_query.SQL.Clear;xsjd_query.SQL.Add('selectjbxx2.xh,jbxx2.xm,jbxx2.xb,xs_xnjd.jdnr,xs_xnjd.jspy,xs_xnjd.bzfromxs_xnjdjoinjbxx2onxs_xnjd.xh=jbxx2.xhwherejbxx2.bjid='+''''+bjid_combo.Items.Strings[bjmc_combo.itemindex]+''''+'andxs_xnjd.xn='+''''+jdxn_edit.Text+'''');xsjd_query.Open;ifxsjd_query.RecordCount=0thenbegin………………//生成班级年鉴定数据xnjdtable.Active:=true;whilenotxsjd_query.eofdobeginxnjdtable.Append;xnjdtable.FieldValues['xh']:=xsjd_query.FieldByName('xh').asstring;xnjdtable.Fieldvalues['xn']:=jdxn_edit.Text;xnjdtable.Post;xsjd_query.Next;end;⒔在校生欠费信息管理判定学生有无欠费信息qfxx_query.SQL.Clear;qfxx_query.SQL.add('selectjbxx2.xh,jbxx2.xm,xs_qfxx.qfje,xs_qfxx.yjwjsj,xs_qfxx.bzfromxs_qfxxjoinjbxx2onxs_qfxx.xh=jbxx2.xhjoinbjxxonbjxx.bjid=jbxx2.bjidwherebjxx.xkid='+''''+zxsglfrm.currentxkid+'''');//+'andjbxx2.zt<>'+''''+'已毕业'+''''+'andjbxx2.zt<>'+''''+'退学'+'''');qfxx_query.Open;qfxx_query.FieldByName('xh').DisplayLabel:='学号';qfxx_query.FieldByName('xm').DisplayLabel:='学生姓名';qfxx_query.FieldByName('qfje').DisplayLabel:='欠费金额';qfxx_query.FieldByName('yjwjsj').DisplayLabel:='预计完结时间';qfxx_query.FieldByName('bz').DisplayLabel:='备注';ifqfxx_query.RecordCount=0thenbeginlabel3.Caption:='无欠费记录!';panel3.Visible:=false;endelsepanel3.Visible:=true;//有欠费信息,则列出学生欠费信息⒕在校生日志信息管理同学生欠费信息管理类似

3.4.社团组织管理子模块学生组织及社团信息管理学生组织及社团信息管理基本信息管理其它信息管理费用信息管理基本信息管理其它信息管理费用信息管理团费缴纳信息管理党费缴纳信息管理社团组织奖励信息社团组织活动信息干部基本信息党员基本信息社团组织基本信息新团员基本信息团费缴纳信息管理党费缴纳信息管理社团组织奖励信息社团组织活动信息干部基本信息党员基本信息社团组织基本信息新团员基本信息模块名称:新团员基本信息输入:新团员基本信息处理:维护管理在大学阶段入团人员基本信息输出:新团员基本信息数据表:JBXX2:学生基本信息XS_XTYXX:新团员信息模块名称:党员基本信息管理输入:学生入党基本信息处理:维护管理学生入党基本信息输出:学生入党基本信息数据表:JBXX2:学生基本信息XS_DYXX:党员基本信息模块名称:社团组织基本信息管理输入:社团组织基本信息处理:维护管理社团组织基本信息输出:社团组织基本信息数据表:JBXX2:学生基本信息XS_STLBB:社团基本信息模块名称:干部信息管理输入:干部基本信息处理:维护管理干部基本信息输出:干部基本信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_STLBB:社团组织基本信息XS_GBXX:干部基本信息模块名称:团费缴纳信息管理输入:团费缴纳信息处理:维护管理团费缴纳信息输出:团费缴纳信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_TFJNXX:团费缴纳信息模块名称:党费缴纳信息管理输入:党费缴纳信息处理:维护管理党费缴纳信息输出:党费缴纳信息数据表:JBXX2:学生基本信息XS_DFJNXX:党费缴纳信息模块名称:社团活动信息管理输入:社团基本活动信息处理:维护管理社团组织活动信息输出:社团组织活动信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_STTLBB:社团基本信息XS_JTHDXX:集体活动信息模块名称:社团组织集体获奖信息管理输入:社团获奖信息处理:维护管理社团组织获奖信息输出:社团组织获奖信息数据表:JBXX2:学生基本信息BJXX:班级信息XS_STTLBB:社团基本信息XS_ZZHJXX:集体获奖信息功能:学生大学入团信息管理;学生入党信息管理(分为正式党员、预备党员、入党积极分子等);社团基本信息管理(包括挂靠系科的社团及系内组织如学生会等集体组织)干部基本信息管理(包括在职的和非在职的,班级干部和社团干部)团费缴纳管理(以班级为单位,实时统计查询指定时间段缴费情况)党费缴纳管理(以党员为单位,实时统计查询指定时间段缴费情况)社团组织活动信息管理;社团组织获奖信息管理;设计:本模块与在校生基本信息管理类似,采用多文档窗体的形式⒈新团员基本信息管理完成大学新纳入团员的入团信息⒉党员基本信息管理以班级为单位记录党员总人数,以学生个体为单位建立入党档案⒊社团基本信息管理记载社团组织基本信息⒋干部信息管理维护和管理班干部及社团干部基本信息,并提供相应查询(班干部信息、个人干部信息、在职干部信息)gbxx_query.Close;gbxx_query.SQL.Clear;gbxx_query.SQL.add('select*fromxs_gbxxwherezzsf='+''''+'是'+'''');gbxx_query.open;//列出所有在职干部casecombobox1.ItemIndexof0:begingbxx_query.SQL.add('select*fromxs_gbxxwherexh='+''''+dbedit14.Text+''''+'andzwlb='+''''+combobox1.Text+''''+'andzwdwid='+''''+dbedit4.Text+'''');//列出所有班干部(在职和非在职)ifstglfrm.edittb.Downthendbnavigator3.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast,nbinsert,nbdelete,nbedit,nbpost,nbcancel];end;1:begingbxx_query.SQL.add('select*fromxs_gbxxwherexh='+''''+dbedit14.Text+''''+'andzwlb='+''''+combobox1.Text+''''+'andzwdwid='+''''+dbedit1.Text+'''');//列出所有社团干部(在职和非在职)ifstglfrm.edittb.Downthendbnavigator3.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast,nbinsert,nbdelete,nbedit,nbpost,nbcancel];end;-1:begingbxx_query.SQL.add('select*fromxs_gbxxwherexh='+''''+dbedit14.Text+'''');//列出所有干部(在职和非在职)dbnavigator3.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast];end;⒌团费缴纳管理以班级为单位进行团费收缴,实时查询当前时段团费收缴情况收缴团费:tfjntable.Active:=true;tfjntable.Locate('bjid;fyqssj;fyzzsj',VarArrayOf([bjid,qssj_edit.Text,jssj_edit.text]),[loPartialKey]);tfjntable.Edit;tfjntable.FieldValues['jfsj']:=edit4.Text;tfjntable.Post;tfjntable.Active:=false;撤消团费收缴:tfjntable.Active:=true;tfjntable.Locate('bjid;fyqssj;fyzzsj',VarArrayOf([yjfbj_query.FieldByName('bjid').asstring,qssj_edit.Text,jssj_edit.text]),[loPartialKey]);tfjntable.Edit;tfjntable.FieldValues['jfsj']:=null;tfjntable.FieldValues['jfje']:=null;tfjntable.FieldValues['jfzrs']:=null;tfjntable.FieldValues['jsr']:=null;tfjntable.FieldValues['bz']:=null;tfjntable.Post;⒍党费缴纳管理以党员个体为单位进行党费收缴管理,设置两个网格,左边网格列出当前时间段未缴费党员信息,右边网格列出当前时间段已缴费党员信息,采用多人同时缴费也可同时撤消的方式,并实时统计当前党费收缴情况党费收缴:dfjnxxtable.Active:=true;ifDBGrid2.SelectedRows.Count>0thenbegin//多选withDBGrid2.DataSource.DataSetdofori:=0toDBGrid2.SelectedRows.Count-1dobeginGotoBookmark(pointer(DBGrid2.SelectedRows.Items[i]));dfjnxxtable.Locate('xh;fyqssj;fyzzsj',VarArrayOf([fields[5].AsString,qssj_edit.Text,jssj_edit.text]),[loPartialKey]);dfjnxxtable.Edit;//缴费dfjnxxtable.FieldValues['jfsj']:=time_edit.Text;dfjnxxtable.Post;end;end;当前党费收缴统计设计:wjf_edit.Text:=inttostr(wjfdy_query.RecordCount);//未缴费人数yjf_edit.Text:=inttostr(yjfdy_query.RecordCount);//已缴费人数dbchart1.Title.Text.Clear;//以饼形图的形式统计dbchart1.Title.Text.Add('党费缴纳比例图');dbchart1.Series[0].Clear;dbchart1.Series[0].Add(strtoint(wjf_edit.text),'未缴费',clblue);dbchart1.Series[0].Add(strtoint(yjf_edit.text),'缴费',clred);⒎社团组织活动信息管理分社团组织和班级两大类管理活动⒏社团组织获奖信息管理同社团组织活动信息管理类似

3.5.毕业生管理子模块毕业生基本信息管理毕业生基本信息管理综合信息查询基础编码维护择业与就业档案与经费证书发放毕业生离校毕业生标记职业类别档案材料择业意向处理就业去向处理择业与就业统计毕业生档案材料毕业生经费证书发放登记证书发放统计模块名称:毕业生综合信息查询输入:学生在校信息;处理:完成毕业生综合信息(除成绩外)查询输出:网格与报表数据表:JBXX2:学生基本信息BJXX:班级信息XS_BASE:学生基本信息XS-EXPEND:学生扩展信息XS_GBXX:干部信息XS_HJXX:获奖信息XS_CFXX:处罚信息

模块名称:毕业生标注输入:在校生信息与班级信息;处理:将毕业班学生状态标注为毕业生输出:毕业班信息数据表:JBXX2:学生基本信息BJXX:班级信息模块名称:职业类别与档案材料类别输入:职业类别与档案材料信息;处理:维护基本信息输出:网格数据数据表:XS_ZYLB:职业类别信息XS_DAMC:档案材料信息表模块名称:择业意向处理输入:职业类别信息;处理:登记毕业生的择业意向输出:网格数据数据表:JBXX2:学生基本信息BJXX:班级信息XS_ZYLB:职业类别XS_ZYYX:择业意向模块名称:就业去向处理输入:职业类别信息;处理:登记毕业生的就业去向和职业类别输出:报表与统计报表数据表:JBXX2:学生基本信息XS_XYLB:职业类别XS_JYXX:就业信息模块名称:择业意向与毕业去向统计输入:择业意向信息与就业去向信息;处理:基于择业意向与就业去向进行统计输出:饼状图数据表:JBXX2:学生基本信息XS_ZYYX:择业意向XS_JYXX:就业去向模块名称:毕业生档案材料输入:档案材料名称与档案记载;处理:登记毕业生的档案材料情况输出:网格数据数据表:JBXX2:学生基本信息XS_DAMC:档案名称XS_DAXX:毕业生档案信息模块名称:毕业经费管理输入:毕业生经费信息;处理:结毕业生经费进行处理和查询输出:网格数据数据表:JBXX2:学生基本信息XS_BYJF:毕业生经费模块名称:毕业证书发放登记输入:毕业证书发放信息;处理:登记毕业生的证书发放情况输出:网格数据数据表:JBXX2:学生基本信息XS_BYZS:毕业证书信息表模块名称:毕业证书发放统计输入:毕业证书发放信息;处理:统计毕业生的证书发放情况输出:网格数据与饼状图数据表:JBXX2:学生基本信息BJXX:班级信息XS_BYZS:毕业证书信息表模块名称:毕业生离校处理输入:毕业生班级信息学生信息;处理:将毕业班级学生的状态修改为已毕业输出:网格数据数据表:JBXX2:学生基本信息BJXX:班级信息功能:①编辑学生(班级)的学习状态(在读、毕业班、已毕业等)②毕业班级学生(毕业生)综合信息查询③职业类别与档案材料基础代码的维护④毕业生择意向与就业去向的处理⑤毕业生档案材料与毕业经费的管理⑥毕业生证书的发放管理设计:①总体设计:采用与新生管理统一的界面,用PageCtrl来实现。②毕业学生状态设置:完成在校生到毕业班学生状态的改变或毕业班学生向已毕业学生状态的改变。实现是经过修改学生基本信息的状态标志。界面如下:修改学生状态代码如下:……//设置毕业班procedureTSelGraForm.addClassBtnClick(Sender:TObject);varstrSql,strCrntClassID:String;beginif(ValClassListBox.Items.Count<1)or(ValClassListBox.ItemIndex<0)thenabort;strCrntClassID:=strValClassID[ValClassListBox.ItemIndex];strSql:='Updatejbxx2setZT='+''''+'毕业班'+''''+'Wherebjid='+''''+strCrntClassID+'''';MainForm.database.Execute(strSql);SelGraForm.FormShow(Sender);end;……③毕业生综合信息查询:查询毕业生的综合信息(成绩除外,有单独模块提供查询功能),按类分为若干页显示,提供打印功能。界面如下:响应数据源控件的代码:procedureTsrchForm.DSsrchStuDataChange(Sender:TObject;Field:TField);//查询学生数据源数据改变beginsrchForm.RefreshBaseInfo();//刷新基本信息srchForm.RefreshJCInfo();//刷新奖惩信息srchForm.RefreshQTInfo();//刷新干部信息等end;procedureTsrchForm.RefreshBaseInfo();//刷新基本信息varstr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论