还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
信息工程学院毕业论文论文题目:学生成绩档案管理系统姓名:曹斌学号:2008171101班级:08级教育技术本科班指导教师:马月进讲师2012年5月学生成绩档案管理系统曹斌,马月进(陇东学院信息工程学院甘肃庆阳745000)摘要高校学生成绩管理是学生学籍管理的一方面,用户在成绩管理过程中,涉及的信息(如学生基本情况、学生所在专业班级的课程设置情况及各课程任课教师情况等),其来源分别依赖于不同的管理岗位系统开发任务主要包括数据库的设计与维护、界面设计等两个方面对于前者要求建立起数据库具有完整性和一致性,且具有一定的数据的安全性,如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点关键词成绩管理;学籍分配;学生简历;学生成绩;数据库设计;界面设计StudentachievementrecordsmanagementsystemCaoBinMayuejinLongdongCollegeofInformationEngineeringQingyang745000Abstract:TheperformancemanagementofthecollegestudentsistheStudentManagementontheonehandintheperformancemanagementprocessinvolvinginformationsuchasthestudentsthebasicsituationofthestudentswherethecurriculumoftheprofessionalclassesthesituationandthecourseInstructoretc.andoriginatingdependsonthedifferentmanagementpositions.Systemdevelopmenttasksmainlyincludetwoaspectsofdatabasedesignandmaintenanceandinterfacedesign.Theformerrequirestoestablishadatabaseintegrityandconsistencywithacertaindegreeofdatasecuritysuchasuserpasswordtousewhileforthelatterrequirestheprograminterfaceisfriendlyandfullyfunctional.Keywords:performancemanagement;enrollmentdistribution;studentresume;studentachievement;databasedesign;interfacedesign引言高校学生成绩管理是学籍管理的重要组成部分在成绩管理过程中涉及的信息种类繁多,数量庞大例如,每一学生来自什么系别,不同学期各门课程成绩如何,以及各科任课教师是谁都是成绩档案管理过程中必须记录和使用的信息随着高校规模的不断扩大,成绩管理档案的信息量成倍增长,相应的成绩计算整理、日常维护和查询任务量也越来越大因此建立一套完善的成绩档案信息的存储、快速整理与检索系统非常必要VisualFoxPro数据库管理系统在开发中、小型数据库应用系统方面由于对计算机软、硬件的要求不高,且功能强大,深受系统设计人员的欢迎本案例将结合高校学生成绩档案管理的实际,开发出一套相对完善的学生成绩档案管理系统1用户需求分析
1.1用户调查经调查在成绩档案管理过程中,管理人员的工作是从两个方面入手的第一是收集和建立学生基本情况信息,如学生的系别和专业,以及学生的自然条件、政治面貌等信息其次是收集和建立学生的成绩信息,即分别对每个学生不同学期各门课程的成绩进行记载和整理成绩档案管理是以每个学生为基本单位进行管理的,即成绩的建立、整理和查询可以具体到每一个学生在学生成绩档案管理过程中,信息的建立和维护是交替进行的,如新生信息录入和毕业生信息清除另外,每学期的课程成绩录入以后也不是一成不变的,如重修或补考后的成绩更改等学生成绩管理过程中更大的任务则是根据不同需要对学生成绩进行快速查询并形成各种报表如学籍成绩、奖学金评定、就业推荐、课程教学评估等都是对学生成绩档案管理工作的内容和任务赋予了具体的内涵图1学生成绩档案管理工作流程图成绩档案管理除了在内容上有具体要求外,在管理程序和管理制度上也有严格的要求,如成绩登录和日常管理一般应由专人负责
1.2构造系统的逻辑模型经过详细调查,我们已经掌握了学生成绩管理的现行工作流程,接下来需要给出系统的逻辑模型构造系统逻辑模型的工具是数据流程图和数据字典学生成绩档案管理系统数据流程图(如图2).图2学生成绩档案管理系统数据流程图学生成绩档案管理系统的数据流程图确定以后,还有许多具体的信息,如学生注册信息、系别设置信息、课程设置信息、成绩信息等需要进一步描述,即建立数据字典表1列出了成绩档案管理系统的主要数据字典表格从表1中可以看出在成绩档案管理过程中,数据信息大致分为两个方面,即学生注册信息和课程成绩信息表1学生成绩表学号2008171101姓名曹斌性别男第一学年第二学年……第一学期第二学期第三学期第四学期课程成绩课程成绩课程成绩课程成绩思修体育Ⅰ体育Ⅱ体育Ⅲ体育Ⅳ高数Ⅰ高数Ⅱ
1.3确定目标系统的功能经过以上详细的用户调查,在现行工作流程和数据分析的基础上,基本可以确定系统设计所必须达到的目标学生成绩档案管理系统必须具备的功能如下
(1)基础档案的记录和维护功能通过建立相应的数据文件,记录并保存基本的档案信息建立的信息系统必须适应档案信息的动态变化特征,如学生信息的更替、成绩变动等
(2)方便的分类检索功能成绩档案的存储不是目的,目的是为了查阅和应用因此,在系统信息检索设计中,必须考虑用户的实际工作习惯如学生查询主要考虑其本人各个学期各门课程的成绩如何,而教室教师查询则侧重考虑其本人所承担课程各个学生的成绩等
(3)报表整理功能在成绩档案管理中,成绩报表一般分两类,即以学生为描述对象的学生成绩单和以课程为描述对象的单科成绩单
(4)身份验证功能根据成绩档案管理的特点,系统设计必须考虑身份验证功能,防止与档案管理无关的人员对成绩档案进行修改或破坏
1.4概念结构设计及数据分析
1.
4.1数据库建模经过对现有管理模式的分析,可以提取出以下几个实体系别,学生,课程,成绩等现在把它们分别给出如图
3、如图
4、如图
5、如图6所示图3系别实体图图4学生实体图图5课程实体图图6成绩实体图
1.
4.2关系描述的设计依据数据库的原理,并结合以上实体图,经过转换,可以导出各个关系其转换规则为首先每个实体应转换为一个关系,然后给出每个关系的关键字系别高校学生管理多以系别为单位进行考虑到这种情况,在系统数据库中建立系别登记数据表,记载学校系别设置情况,在数据表中设置“系别编号”字段同记载学生名录的数据表关联主要设计字段应包括“系别名称”和“系别编号”学生记载学生的基本自然属性和社会属性如姓名、性别、出生日期、政治面貌等该数据表应设立两个关联字段即“系别号”和“学号”,通过“系别号”可以同系别名录数据表关联,反映学生的系别归属通过学号同学生成绩表关联,反映学生的成绩状况在“学号”字段上应设置主索引,避免出现相同的学号成绩记载学生不同学期的各门成绩,每条记录记载一门课程的成绩该数据表应设立“学号”和“课程编号”两个关联字段通过学号同学生记录数据表关联,通过课程编号同课程数据表进行关联课程记载各个系别所有专业对应学期所开设的课程及任课教师该数据表的关联字段为“课程编号”,在该字段上建立主索引,避免出现相同的课程编号该数据表同学生成绩数据表建立一对多关联2系统设计根据软件工程的基本原理,系统设计一般分为总体设计和详细设计依据用户需求分析阶段的调查分析,已经十分清楚系统必须具备的功能,下面的工作就是这些功能如何实现的问题总体设计主要工作有两个一是通过该阶段的工作划分出组成系统的物理元素,即程序、文件、数据库、文档等;二是设计软件系统的结构,即确定系统的模块组成及各模块之间的关系根据用户需求分析阶段的数据流程图,采用软件工程中软件设计的概念和原理,与用户充分协商后,本案例系统设计的模块规划如图7所示图7系统模块设计规划图
2.1数据库的设计该系统的所有数据分析已经完成根据该阶段所建立的概念模型,已经得出满足第三范式的几个关系描述,下面就是把前一阶段的成果转化为具体的数据库数据库设计分为逻辑设计和物理设计两个步骤
2.
1.1数据库的逻辑设计需求分析阶段已经给出了系统的概念模型即实体图,根据实体图即可进行数据库的逻辑设计数据库的逻辑设计即把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据表根据前面得到的各个关系,现把它们转化为数据表1)成绩表学号,课程编号,成绩,学分,学期2)学生表系别号,学号,姓名,性别,出生日期,政治面貌,照片,简历,通讯地址,邮政编码,电话号码3)课程表课程编号,课程名称,教师姓名4)系别表系别名称,系别编号5)用户表用户编号,用户姓名,用户密码此表用于对操作员的设置
2.
1.2数据库的物理设计基于以上数据库的逻辑设计,本案例数据库拟建4个数据库表和1个自由表数据表文件名称分别为cjb.dbf、xsjl.dbf、kcb.dbf、xbb.dbf和sysb.dbf各数据结构如表
2、表
3、表
4、表5和表6所示表2cjb.dbf结构表字段名称字段类型字段宽度小数点索引类型学号字符型6普通索引课程编号字符型4普通索引成绩字符型6学分数值型20学期字符型14表3xsjl.dbf结构表字段名称字段类型字段宽度小数点索引类型系别号字符型2普通索引学号字符型6主索引姓名字符型8性别字符型2出生日期日期型8政治面貌字符型4照片通用型10简历备注型10通讯地址字符型40邮政编码字符型6电话号码字符型18表4kcb.dbf结构表字段名称字段类型字段宽度小数点索引类型课程编号字符型4主索引课程名称字符型16教师姓名字符型8表5xbb.dbf结构表字段名称字段类型字段宽度小数点索引类型系别号字符型2主索引系名字符型18表6sysb.dbf结构表字段名称字段类型字段宽度小数点索引类型bh(操作员编号)字符型2xm(操作员姓名)字符型8ma(操作员密码)字符型6本案例系统数据库名称为xjgl.dbc,在数据库中除了创建的xsjl.dbf、cjb.dbf、kcb.dbf和xbb.dbf数据表外,另建立两个报表视图,“简历查询”和“成绩查询”,视图关联设置全部采用内连接方法,视图字段设置如图8和如图9所示数据库结构及各表之间的关联设置如图10所示图8“简历查询”视图设计图9“成绩查询”视图设计图10xjgl.dbc结构图
2.2详细设计依据软件工程的基本原理,详细设计阶段的根本任务是确定应该如何具体实现所要求的系统,即经过这个阶段的设计工作,得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成应用程序设计语言书写的程序本系统采用VisualFoxPro
6.0作为开发工具主程序流程图如图11所示图11系统主控程序的程序流程图3系统的现实与调试本系统在实现时,将大多数过程放于表单中,主控程序及相关的自定义函数添加到项目工程中
3.1建立学生基础档案编辑表单
3.
1.1界面控件元素构成及主要属性设置学生基础档案编辑表单“frm_jbdajl”主要完成“xsjl.dbf”数据表的数据录入、修改和删除本表单可以通过系统主菜单中“学生基础档案建立”和系统工具条中的按钮调出表单界面控件元素构成,如图12所示图12“frm_jbdajl”界面构成
3.
1.2编写事件代码“首记录”Commandgroup
1.Command1的单击Click事件GOTOPThisform.Commandgroup
1.Command
2.Enabled=.F.Thisform.Commandgroup
1.Command
3.Enabled=.T.Thisform.Commandgroup
1.Command
4.Enabled=.T.Thisform.REFRESH刷新表单显示的信息“上一条”Commandgroup
1.Command2的单击Click事件IFBOFThis.Enabled=.F.Thisform.Commandgroup
1.Command
1.Enabled=.F.Thisform.Commandgroup
1.Command
3.Enabled=.T.Thisform.Commandgroup
1.Command
4.Enabled=.T.ELSESKIP-1This.Enabled=.T.Thisform.Commandgroup
1.Command
1.Enabled=.T.Thisform.Commandgroup
1.Command
3.Enabled=.T.Thisform.Commandgroup
1.Command
4.Enabled=.T.ENDIFThisform.REFRESH刷新表单显示的信息“下一条”Commandgroup
1.Command3的单击Click事件SKIP1IFEOFThis.Enabled=.F.Thisform.Commandgroup
1.Command
1.Enabled=.T.Thisform.Commandgroup
1.Command
2.Enabled=.T.Thisform.Commandgroup
1.Command
4.Enabled=.F.ELSEThis.Enabled=.T.Thisform.Commandgroup
1.Command
1.Enabled=.T.Thisform.Commandgroup
1.Command
2.Enabled=.T.Thisform.Commandgroup
1.Command
4.Enabled=.T.ENDIFThisform.REFRESH刷新表单显示的信息“末记录”Commandgroup
1.Command4的单击Click事件GOBOTTOMThis.Enabled=.F.Thisform.Commandgroup
1.Command
1.Enabled=.T.Thisform.Commandgroup
1.Command
2.Enabled=.T.Thisform.Commandgroup
1.Command
3.Enabled=.F.Thisform.REFRESH刷新表单显示的信息“增加”Commandgroup
1.Command5的单击Click事件APPENDBLANKThisform.REFRESH“删除”Commandgroup
1.Command6的单击Click事件IFMESSAGEBOX“确定删除这条记录吗?”,1+64+256,”警示”=1DELETEPACKThisform.REFRESHENDIF“退出”Commandgroup
1.Command7的单击Click事件Thisform.RELEASE表单释放操作数据导航按钮在显示记录的同时,如果自动显示照片则必须进行OLE对象设置OLE控件是指将图像、声音、视频等信息以嵌入和链接的方法放到数据表中,以实现多媒体数据库的功能注意,链接和嵌入是有区别的在应用程序中以链接方式包含一个OLE对象时,应用程序只是和OLE对象建立一种引用关系,当用户在其他的应用程序中修改该OLE对象时,修改结果可在包含该对象的应用程序中反映出来链接实际上是存储了被链接对象的文件名,而不是文件本身,当文件被修改时,使用该文件名的内容当然要随之改变而嵌入则是把OLE对象的副本本身放在通用字段中,在其他应用程序中修改该OLE对象时,和存储在通用字段的OLE对象不再发生关系,当然其中的内容也不可能改变
3.2建立学生成绩档案编辑表单
3.
2.1界面控件元素构成及主要属性设置学生成绩档案建立表单“frm_cjdajl”主要完成“cjb.dbf”数据表的数据录入、修改和删除功能首先通过控件表单“frm_cjjlml”选定文件,然后将所选定的条件参数传递给被调用的成绩档案建立表单,该表单将编辑符合条件的学生成绩档案成绩档案建立可以从系统主菜单中“学生成绩档案建立”进入“frm_cjjlml”和“frm_cjjdjl”表单界面控件的元素构成,如图13和图14所示图13“frm_cjjlml”界面构成图14“frm_cjdajl”界面构成
3.
2.2编写事件代码
(1)表单“frm_cjdaml”事件代码Form1的初始化事件代码USExsjlORDERTAG学号SCANThisform.List
1.additem学号ENDSCANUSEList1的单击事件代码Thisform.Text
1.Value=This.ValueCommand1的单击事件代码Thisform.HIDEDOFORMfrm_cjdajlWithThisform.Text
1.ValueCommand2的单击事件代码Thisform.RELEASE该表单的主要功能是输入学生参数,即在成绩输入过程中,首先输入学生的学号作为成绩表的筛选条件,然后调出表单frm_cjdajl,并录入该学生的各科成绩表单中的文本框用来接受用户的键盘录入或鼠标点击的数据为了提高学号参数输入的效率,在表单初始化事件init中编制数据表扫描代码,将数据表xsjl.dbf中的学号按照预设的次序添加到列表框List1中表单启动以后列表框中列出所有学生的学号,用户可以在列表框中通过鼠标来选择学号List1的单击事件代码将完成对学号的选择
(2)表单“frm_cjdajl”事件代码Form1初始化事件代码PARAxhThisform.Dataenvironment.Cursor
1.Filter=”学号=Xh”Command1的单击事件代码SELEcjbAPPENDBLANKREPLACE学号WITHxsjl.学号Thisform.REFRESHCommand2的单击事件代码Thisform.RELEASEFrm_cjjlml.SHOW该表单除表格控件外,其他显示学生基础档案信息的文本对象的ReadOnly属性.T.这样处理以避免用户在成绩录入阶段更改学生的基础信息因此表单在启动时要接受表单frm_cjdaml的参数传递,因此其WindowsType属性应设置为1在表单的初始化事件中设置代码,对父表xsjl.dbf进行筛选操作
3.3设计学生基础档案检索表单
3.
3.1界面控件元素构成及主要属性设置学生档案检索表单“frm_jbdacx”主要根据用户输入的检索条件,完成其基础档案的数据只读显示功能首先通过控制表单“frm_dacxml”选定条件,然后通过调用该表单将所选定的条件参数传递过来,检索表单将显示符合条件的学生基础档案档案检索功能可以从系统主菜单中“学生基础档案检索”和系统常用工具条中实现“frm_dacxml”和“frm_jbdacx”表单界面控件元素构成如图15和图16所示图15“frm_dacxml”界面构成图16“frm_jbdacx”界面构成
3.
3.2编写事件代码
(1)表单“frm_dacxml”事件代码List1的单击事件代码thisform.text
1.value=this.valueList2的单击事件代码thisform.text
2.value=this.valueCommand1的单击事件代码thisform.hidedoformfrm_jbdacxwiththisform.text
1.valueCommand2的单击事件代码selectxbb.系名xsjl.学号xsjl.姓名xsjl.性别xsjl.出生日期xsjl.政治面貌xsjl.通讯地址xsjl.邮政编码xsjl.电话号码;fromxjgl!xbbinnerjoinxjgl!xsjlonxbb.系别号=xsjl.系别号orderbyxbb.系名xsjl.学号;wherexbb.系名=alltrimthisform.text
2.valueCommand3的单击事件代码thisform.release该表单的主要功能是输入查询参数,查询参数分别采用了“学号”和“系别”两个条件参数,每个条件参数分别作为不同查询控制条件进行学生档案查询为了提高参数的输入效率,表单上的列表框List1和List2分别列出了xsjl.dbf和xbb.dbf中的学生学号和系别名称,用户可以通过鼠标单击列表框快速选择按学号查询时,将直接调用学生基础档案显示表单frm_jbdacx按系别查询时,将直接启动数据表查询浏览窗口,符合条件的学生基础信息将通过该窗口显示出来
(2)表单“frm_jbdacx”事件代码Form1的初始化事件代码paraxhthisform.dataenvironment.cursor
1.filter=学号=xhCommand1的单击事件代码thisform.dataenvironment.cursor
1.filter=thisform.releasefrm_dacxml.show表单frm_jbdacx中的文本对象的ReadOnly属性应设置为只读即ReadOnly=.T.即用户通过此表单只能完成数据的查询,而不能对数据进行修改因此表单在启动时要接受表单frm_dacxml的参数传递,因此其WindowsType属性应设置为1在表单的初始化事件中设置代码,对表xsjl.dbf进行筛选操作
3.4设计学生成绩档案检索表单
3.
4.1界面控件元素构成及主要属性设置学生成绩档案检索表单“frm_cjdacx”主要根据用户输入的检索条件,完成其成绩档案的检索功能首先通过表单上的列表框或文本框中输入检索条件,然后利用SQL标准查询语句进行条件查询本表单可以通过系统主菜单中“学生基础档案检索”调用表单界面控件的元素构成,如图17所示图17“frm_cjdacx”界面构成
3.
4.2编写事件代码Command1的单击事件代码thisform.caption=学生成绩查询+-thisform.combo
1.value-selectxbb.系名xsjl.学号xsjl.姓名xsjl.性别kcb.课程名称cjb.成绩;cjb.学分kcb.教师姓名fromxjgl!xbbinnerjoinxjgl!xsjl;innerjoinxjgl!cjbinnerjoinxjgl!kcbonkcb.课程编号=cjb.课程编号;onxsjl.学号=cjb.学号onxbb.系别号=xsjl.系别号;orderbyxbb.系名kcb.课程名称xsjl.学号;wherexsjl.学号=thisform.combo
1.valuethisform.caption=学生成绩查询Command2的单击事件代码thisform.caption=学生成绩查询+-thisform.combo
2.value-selectxbb.系名xsjl.学号xsjl.姓名xsjl.性别kcb.课程名称cjb.成绩;cjb.学分kcb.教师姓名fromxjgl!xbbinnerjoinxjgl!xsjl;innerjoinxjgl!cjbinnerjoinxjgl!kcbonkcb.课程编号=cjb.课程编号;onxsjl.学号=cjb.学号onxbb.系别号=xsjl.系别号;orderbyxbb.系名kcb.课程名称xsjl.学号;wherexbb.系名=thisform.combo
2.valuethisform.caption=学生成绩查询Command3的单击事件代码thisform.caption=学生成绩查询+-thisform.combo
3.value-selectxbb.系名xsjl.学号xsjl.姓名xsjl.性别kcb.课程名称cjb.成绩;cjb.学分kcb.教师姓名fromxjgl!xbbinnerjoinxjgl!xsjl;innerjoinxjgl!cjbinnerjoinxjgl!kcbonkcb.课程编号=cjb.课程编号;onxsjl.学号=cjb.学号onxbb.系别号=xsjl.系别号;orderbyxbb.系名kcb.课程名称xsjl.学号;wherekcb.课程名称=thisform.combo
3.valuethisform.caption=学生成绩查询Command4的单击事件代码thisform.release该表单的特点是参数输入和结果显示于一体组合控件combo
1、combo
2、combo3在设计阶段启动控件生成器程序或从属性窗口分别对数据表xsjb.dbf、xbb.dbf和kcb.dbf中的学号、系别和课程字段进行绑定成绩检索表单frm_cjdacx启动后,用户利用鼠标可以直接从其下拉列表中快速选择查询参数当单击对应查询按钮后,分别启动事件代码中的数据库标准查询语句进行数据筛选各种查询结果将直接显示在临时的查询窗口之中
3.5设计学生基础档案打印控制表单
3.
5.1界面控件元素构成及主要属性设置学生基础档案打印控制表单“frm_jbdady”主要根据用户输入的打印条件,完成其基础档案的报表打印功能首先通过表单上的组合框或在文本框中输入打印条件,然后运行报表文件,实现条件打印本表单可以通过系统主菜单中“学生基础档案打印”调用表单界面控件的元素构成,如图18所示图18“frm_jbdady”界面构成
3.
5.2编写事件代码Form1的初始化事件代码opendatabasexjglusexsjlordertag学号scanthisform.combo
1.additem学号endscanusexbbscanthisform.combo
2.additem系名endscanuseclosedatabaseCommand1的单击事件代码reportformxsdanocofor学号=thisform.combo
1.valuepreviewCommand2的单击事件代码reportformxsjlnocofor系名=thisform.combo
2.valuepreviewCommand3的单击事件代码thisform.release该表单的主要功能是学生基础档案打印控制的参数输入,在设计过程中参数的输入利用两个组合框来完成组合框中列出的数据可以在设计阶段启动控件生成器程序或从属性窗口直接设置,但这里是在表单程序运行时来完成的,即在表单初始化事件中通过对数据表xsjb.dbf和xbb.dbf的扫描操作,分别将学生的学号和系别名称信息添加到相应的组合框中
3.6设计学生成绩档案打印控制表单
3.
6.1界面控件元素构成及主要属性设置学生成绩档案打印控制表单“frm_cjdady”,主要根据用户输入的打印条件,完成其基本成绩档案的报表打印功能首先通过表单上的组合框或在文本框中输入打印条件,然后运行报表文件,实现条件打印本表单可以通过系统主菜单中“学生成绩档案打印”调用表单界面控件的元素构成,如图19所示图19“frm_cjdady”界面构成
3.
6.2编写事件代码Form1的初始化事件代码opendatabasexjglusexsjlordertag学号scanthisform.combo
1.additem学号endscanusexbbscanthisform.combo
2.additem系名endscanusekcbscanthisform.combo
3.additem课程名称endscanuseclosedatabaseCommand1的单击事件代码reportformxscjnocofor学号=thisform.combo
1.valuepreviewCommand2的单击事件代码reportformxscjnocofor系名=thisform.combo
2.valuepreviewCommand3的单击事件代码reportformxscjnocofor课程名称=thisform.combo
3.valuepreviewCommand4的单击事件代码thisform.release该表单的主要功能是学生成绩档案打印控制的参数输入成绩管理是本案例的中心设计议题,在实际工作中用户对成绩报表的种类和格式要求比较复杂,如按学生、课程、任课教师、系别进行分类打印等这些要求反映到系统设计上来,表现为报表格式及控制条件的多样化该表单利用三个组合框即combo
1、combo
2、combo3分别完成对学生、系别和课程的选择组合框中列出的数据可以在设计阶段启动控件生成器程序或从属性窗口直接设置,但这里是在表单程序运行时来完成的,即在表单初始化事件中通过对数据表xsjb.dbf、kcb.dbf和xbb.dbf的扫描操作,分别将学生的学号、系别名称和课程信息添加到相应的组合框中
3.7设计系统登录表单
3.
7.1界面控件元素构成及主要属性设置系统登录表单“frm_login”主要根据用户输入的密码,控制非法用户进入系统,同时显示系统功能和版本等信息表单界面控件元素构成,如图20所示图20“frm_login”界面构成
3.
7.2编写事件代码“确定”Container
1.Command1的单击事件代码privatesysmaselectsysbsysma=alltrimthis.parent.txtma.valuelocateforalltrimbh==alltrimthis.parent.combo
1.valueiffoundandalltrimsysb.ma==sysmathisform.cuser=alltrimsysb.bhthisform.visible=.F.dozkcd.mprreadeventthisform.visible=.T.this.parent.txtma.value=elsemessagebox用户编号或密码不正确!请重新输入0警告this.parent.txtma.value=this.parent.txtma.setfocusendif“退出”Container
1.Command2的单击事件代码thisform.cuser=thisform.releaseForm1的Unload事件代码returnthisform.cuser系统登录表单是系统运行的起点,在此界面上只有通过用户身份验证的用户才可以进入系统进行操作系统登录界面实际上就是一个参数输入的窗口界面,用户输入的登录信息是否合法,可以同程序中内置的参数或特定数据表中预置的数据进行比较,符合条件者可以进入系统操作控制界面,否则必须重新录入登录信息或直接结束系统运行该案例的用户登录验证信息全部存放在数据表sysb.dbf中用户输入的信息直接同数据表中的记录信息进行比较,如果在数据表可以找到对应的用户登录信息,则系统将启动主控菜单
3.8系统工具栏设计
3.
8.1创建系统工具条类库本工具条的调用在系统主窗口中进行,首先定义一个容器类,然后在其中添加命令按钮,最后设定各个按钮的图标及单击事件代码工具条模式如图21所示如图21系统工具条构成图
3.
8.2编写事件代码Command1的单击事件代码doformfrm_jbdajlCommand2的单击事件代码doformfrm_cjdacxCommand3的单击事件代码doformfrm_jbdadyCommand4的单击事件代码waitwindow帮助系统timeout3Command5的单击事件代码Quit工具栏设计的目的是为了方便用户的操作在系统设计过程中一般将用户经常进行的操作定制在相应的工具按钮单击事件中本案例将学生基础档案建立、成绩档案查询、学生基本档案控制打印和结束系统运行的操作定到了工具栏按钮的单击事件之中进行控制工具栏设计过程中采用了类设计的方法
3.9设计系统报表
3.
9.1设计学生学籍卡片报表“xsda.frx”该报表完成学生学籍卡片报表输出任务数据环境及报表版面设计,如图22所示该报表数据环境中的数据表为xsjl.dbf图22学生学籍卡片报表“xsda.frx”版面设计图
3.
9.2设计学生名册报表“xsjl.frx”该报表完成学生名册报表输出任务数据环境及报表版面设计,如图23所示该报表数据环境的数据源为视图“简历查询”图23学生名册报表“xsjl.frx”版面设计图
3.
9.3设计学生成绩册报表“xscj.frx”该报表完成学生成绩报表输出任务数据环境及报表版面设计,如图24所示该报表数据环境的数据源为视图“成绩查询”图24学生成绩册报表“xscj.frx”版面设计图
3.10系统主控程序及系统关闭函数设计
3.
10.1设计系统主控程序系统主文件为程序文件,主要进行系统选项设置和系统控制,程序代码如下setsafetyoffpublicdltclconshutdown=xtgbonshutdownlconshutdownsetclasslibtoxtlk_screen.caption=学生档案管理系统_screen.addobjectfmtp_screen.fm.width=_screen.width_screen.fm.height=_screen.height_screen.fm.visible=.T._screen.addobjectgjxtgj_screen.gj.visible=.T._screen.windowstate=2_screen.minbutton=.F._screen.maxbutton=.T._screen.showtips=.T._screen.addobjectlbl01label_screen.addobjectlbl02label_screen.addobjectlbl03label_screen.lbl
01.autosize=.T._screen.lbl
02.autosize=.T._screen.lbl
03.autosize=.T._screen.lbl
01.visible=.T._screen.lbl
02.visible=.T._screen.lbl
03.visible=.T._screen.lbl
01.backstyle=0_screen.lbl
02.backstyle=0_screen.lbl
03.backstyle=0_screen.lbl
01.fontname=楷体_GB2312_screen.lbl
02.fontname=楷体_GB2312_screen.lbl
03.fontname=楷体_GB2312_screen.lbl
01.top=100_screen.lbl
02.top=200_screen.lbl
03.top=230_screen.lbl
01.left=_screen.width-_screen.lbl
01.width/2-150_screen.lbl
02.left=_screen.width-_screen.lbl
02.width/2-85_screen.lbl
03.left=_screen.width-_screen.lbl
03.width/2-100_screen.lbl
01.fontsize=40_screen.lbl
02.fontsize=15_screen.lbl
03.fontsize=15_screen.lbl
01.caption=学生档案管理_screen.lbl
02.caption=设计者曹斌_screen.lbl
03.caption=版权所有S2012_screen.lbl
01.backcolor=rgb64128128_screen.lbl
02.backcolor=rgb64128128_screen.lbl
03.backcolor=rgb64128128_screen.lbl
01.forecolor=rgb000_screen.lbl
02.forecolor=rgb000_screen.lbl
03.forecolor=rgb000doformfrm_logintocuserifemptycuserdltc=.T.xtgbcleaallcloseallonshutdownendif
3.
10.2设计系统关闭函数该函数名为“xtgb”,为一自定义函数,当用户试图关闭系统时,该函数被调用,使系统重新设定为启动状态,代码如下functionxtgbifdltc=.T.onshutdowncleareventclosetableallclosedatabasesetsysmenutodefaultsettalkonsetclockoffsetsysmenuonsetnotifyonsetdeleteoffsetexclonsetsafetyonelsecleareventsetsysmenuoffsetsysmenutoendifendfunc
3.11主菜单设计主控菜单用来控制系统的各项操作如图25所示,在菜单设计器中,建立菜单名称及各菜单项的运行方式除“系统退出”采用命令方式外,其他各项均设置子菜单项目中调用相应的表单或报表文件即可菜单设计完成后,生成存盘文件“zkcd.mpr”图25“zkcd.mpr”菜单设计
3.12组装系统部件系统各功能部件设计完成后,建立一个名为“xjgl.pjx”的项目文件,然后将各部件添加到项目管理器中
3.
12.1添加数据文件将文件“xjgl.dbc”、“cjb.dbf”、“xsjl.dbf”、“kcb.dbf”、“xbb.dbf”和文件“sysb.dbf”添加到项目中
3.
12.2添加文档文件将表单文件“frm_cjdacx”、“frm_cjdady”、“frm_cjdajl”、“frm_cjjlml”、“frm_dacxml”、“frm_jbdacx”、“frm_jbdady”、“frm_jbdajl”、“frm_login”、和报表文件“xscj.frx”、“xsda.frx”、“xsjl.frx”添加到项目中
3.
12.3添加类文件将类库文件“xtlk.vcx”添加到项目中
3.
12.4添加代码文件将代码文件“xtgb.prg”、“zkcx.prg”添加到项目中
3.
12.5添加其他文件将菜单文件“zkcd.mpr”及系统设计的图片文件添加到项目中
3.
12.6编译可执行文件打开项目管理文件,单击【连编】按钮,连编一个名为“xjgl.exe”的可执行文件,然后桌面上创建一个快捷方式
3.13系统运行与调试
3.
13.1启动学籍管理系统单击桌面上的“xjgl.exe”快捷方式,弹出系统启动界面
3.
13.2运行基础档案建立表单系统启动界面弹出后,输入操作员姓名和口令,单击【确定】按钮当操作员姓名和操作口令完整无误时,将进入系统主控界面,整个系统运行完全置于系统主控菜单的控制之下,单击“档案建立”菜单的“基础档案建立”选项,将调出“frm_jbdajl”表单文件,进行学生基础档案编辑
3.
13.3运行成绩档案建立表单单击“档案建立”菜单的“成绩档案建立”选项,将调出成绩录入控制表单“frm_cjjlml”,选择控制条件后,单击【确定】按钮,调出“frm_cjdaml”表单编辑学生成绩档案
3.
13.4运行学生简历查询表单单击“档案查询”菜单的“学生简历查询”选项,将调出学生档案检索控制表单“frm_dacxml”,选择控制条件后,单击【按学号查询】按钮,则运行表单“frm_jbdacx”显示学生基本简历信息情况单击【按系别查询】按钮,则显示一个浏览窗口
3.
13.5查询学生成绩单击“档案查询”菜单的“学生成绩查询”选项,将调出学生成绩检索控制表单“frm_cjdacx”,选择控制条件后,分别单击【按学号查询】,【按系别查询】、【按课程查询】按钮,符合控制条件的成绩记录将显示在浏览窗口内
3.
13.6打印学生基础档案单击“档案打印”菜单的“简历打印”选项,将调出学生简历打印控制表单“frm_jbdady”,选择控制条件后,分别单击【学籍卡片打印】,【学生名册打印】、按钮,将输出符合控制条件的数据报表
3.
13.7打印学生成绩档案单击“档案打印”菜单的“成绩打印”选项,将调出学生成绩打印控制表单“frm_cjdady”,选择控制条件后,分别单击【按学号查询】,【按系别查询】、【按课程查询】按钮,将输出符合控制条件的成绩报表参考文献
[1]汤观全.VisualFoxPro
6.0数据库应用实例完全解析M.北京人民邮电出版社
20067.
[2]周青.VisualFoxPro软件项目开发实例M.北京电子工业出版社.
20054.
[3]周佩德.数据库原理及应用M.北京电子工业出版社.
20059.
[4]史济民.VisualFoxPro及其应用系统开发M.北京:清华大学出版社.
20023.
[5]郑砚.VisualFoxPro
8.0实用编程100例M.北京:中国铁道出版社
200410.
[6]伍军良.VisualFoxPro
6.0/Foxbase课程设计案例精编M.北京:中国水利水电出版社
20017.
[7]邵阳谷宇等.VisualFoxPro
6.0数据库系统开发实例导航M.北京:人民邮电出版社.
20009.
[8]网冠科技.VisualFoxPro
6.0时尚变编程百例M.北京:机械工业出版社
200512.
[9]夏辉王冬等.VisualFoxPro
7.0函数和系统变量手册M.北京:清华大学出版社
20046.
[10]陈华生单启成.VisualFoxPro
5.0教程M.苏州:苏州大学出版社
20025.
[11]钱培德朱巧明.VisualFoxPro
5.0学习指导M.苏州:苏州大学出版社
20028.工作准备阶段系别设置情况课程设置情况学生成绩登记学生注册情况简历查询与维护成绩查询与维护学籍处理、学生评定、就业推荐等学生信息维护成绩信息维护成绩管理员学生及课程信息成绩录入成绩整理学籍处理成绩管理员系别系别名称系别编号学生姓名性别系别号学号出生日期期课程课程名称课程编号任课教师成绩课程编号学号分数开课学期主控界面建立学生名录信息建立学生成绩信息学生成绩检索成绩报表打印学生名录打印系统主程序权限认证主控界面建立学生名录信息建立学生成绩信息学生成绩检索成绩报表打印学生名录打印PAGE16。