学籍档案系统规范说明书前言:学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用Visual Foxpro 6.0开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言),尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,在开发阶段设计利用的数据库是Microsoft Visual FoxPro Drivers对DBC数据库进行开发,具有很强的移植性。关键字:面向对象(Object)、数据窗口(DataWindow)、信息管理系统(Mis)、学生档案。一、系统需求分析1.1 编写目的 本需求的编写目的在于研究学生档案管理系统软件的开发途径和应用方法。 1.2 背景及范围 本项目的名称:学生档案管理系统。 本软件基本上能具体化、合理化的管理学生的学籍档案,用结构化的思维方式去了解计算机的基本工作原理和高级程序设计语言。1.3 功能主要功能:班级设置、课程设置、学生基本信息录入、学生成绩录入、学生信息和成绩修改、查询成绩。1.4用户活动图 SHAPE \* MERGEFORMAT 1.5系统数据(1)、数据字典字段名类型说明系名Char(14)关键字系主任Char(8)字段名类型说明系名Char(14)关键字班级Char(20)字段名类型说明学号Char(10)主关键字姓名Char(8)性别Char(2)出生日期Date班级Char(20)外部关键字(班级信息)联系电话Char(11)入校时间Date寝室号Char(10)家庭地址Char(30)注释memo字段名类型说明课程表名Char(30)表名由”系+班级+学期”构成字段名类型说明系名Char(14)成绩表名Char(30)字段类型说明学号Char(10)关键字姓名Char(8)候选键课程Char(14)成绩Num(5,1)二、概念设计根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础.这些实体包括各种具体 HYPERLINK "http://www.daima.com.cn/LW/1/5ivb.net12427/search.aspx?keyword=%d0%c5%cf%a2&where=title" \o "信息" 信息,通过相互之间的作用形成数据的流动. 本 HYPERLINK "http://www.daima.com.cn/LW/1/5ivb.net12427/search.aspx?keyword=%cf%b5%cd%b3&where=title" \o "系统" 系统的实体有:学生实体,系实体,班级实体,课程实体,学生成绩实体。 SHAPE \* MERGEFORMAT SHAPE \* MERGEFORMAT 2.2 各实体之间的联系 SHAPE \* MERGEFORMAT 三、详细设计 此系统是在Visual FoxPro6.0开发的,利用“项目管理器”创建,共有三个数据库student、course、grade;一个主程序main.prg;一个主菜单和35个表单组成。1、菜单设计如下: SHAPE \* MERGEFORMAT 2、流程图①查询流程图: SHAPE \* MERGEFORMAT SHAPE \* MERGEFORMAT 3、源代码在项目管理器中,可以打开任何一个表单查看它的详细代码。下面给出了程序一部分的源代码:①主程序main.prg源程序:set talk offset escape offset clock status_screen.caption="学生档案管理系统"_screen.picture="back.jpg"_screen.icon="picture\xt.ico" &&指定应用程序图标_screen.windowstate=2 &&设置启动时应用程序为全屏显示public potpot=0mypath=left(sys(16),rat("\",sys(16))) &&返回路径set defa to &mypathdo form login.scx &&调用登录对话框read eventsmodi windows screen close &&恢复主窗口的关闭能力set sysmenu to defa &&恢复VFP的默认菜单close allrelease allreturn② 查询源代码Form1对象 Init事件功能:将查询的字段添加到列表框中public tiaojian,backtj,ftypetiaojian="select * from student!学生基本信息 where "backtj=tiaojianopen database data\studentuse 学生基本信息for i=1 to fcount()-1 thisform.pageframe1.page1.combo1.additem(fields(i))endforthisform.pageframe1.page1.combo2.enabled=.f.thisform.pageframe1.page1.text1.readonly=.t.thisform.pageframe1.page1.optiongroup1.enabled=.f.Thisfrom.pageframe1.page1对象 Click事件tiaojian="select * from student!学生基本信息 where "backtj=tiaojianthisform.pageframe1.page1.edit1.value=""close databaseopen database data\studentuse 学生基本信息for i=1 to fcount()-1 thisform.pageframe1.page1.combo1.additem(fields(i))endforthisform.pageframe1.page1.combo1.enabled=.t.thisform.pageframe1.page1.combo2.enabled=.f.thisform.pageframe1.page1.text1.readonly=.t.thisform.pageframe1.page1.optiongroup1.enabled=.f.thisform.pageframe1.page1.combo1对象 Click事件功能:选择查询的字段tiaojian=backtjif len(alltrim(this.value))=0 ret=messagebox("字段不能为空!",16,"查询")else thisform.pageframe1.page1.combo2.enabled=.t. tiaojian=backtj+alltrim(this.value) thisform.pageframe1.page1.edit1.value=tiaojian endifthisform.pageframe1.page1.combo2对象 Click事件功能:选择查询条件this.enabled=.f.ziduan=alltrim(thisform.pageframe1.page1.combo1.value)ftype=type("&ziduan")do case case ftype="C" tiaojian=tiaojian+'"'+'"' case ftype="N" tiaojian=tiaojian case ftype="D" tiaojian=tiaojian+"ctod()" endcasebacktj=tiaojianthisform.pageframe1.page1.text1对象 InteractiveChange事件功能:获得查询的值do case case ftype="C" tiaojian=stuff(backtj,len(backtj),0,alltrim(thisform.pageframe1.page1.text1.value))endcasethisform.pageframe1.page1.edit1.value=tiaojian Command1查询按钮 Click事件功能:查询满足条件的记录,并将结果赋于表单的表格中create sql view xsst1 as &tiaojian thisform.pageframe1.page1.grid1.recordsource="xsst1" drop view xsst1 thisform.pageframe1.page1.combo1.enabled=.t.四、调试分析经过一段时间的使用,稳定性较好,没有出现误差。有些进程之间的互斥性不是太好,很可能造成数据表与数据表之间的冲突,所以使用的时候尽可能的把某项功能完成后再完成其它功能,也就是说尽可能少的打开某些窗口,以便造成文件冲突,但是不会影响到数据丢失以及更改数据的内容。以下是某些功能的运行结果:五、优点和缺点优点:能实现学籍管理系统的大部分功能,能满足用户的需求,可移植性强。数据库之间的连接较完善。缺点:某些数据表没有规划完善,如课程表和成绩表。学生基本信息表和系班级表存在删除异常,还值得改进。六、用户使用说明书 下面给出文字性说明,具体说明见系统的帮助说明。1、系统维护(1)系单位管理①创建系单击"系统维护/系单位管理",将弹出一个“系库维护”对话框。单击“创建”按钮,将弹出一个“创建系”对话框: 在"系名"中输入新的系名,在“系主任”中输入该系主任的姓名,单击确定即可创建新的系。②更名系首先在“系统维护”窗体中选择要更名的系,单击“更名”按钮,在弹出的对话框中输入要更名后的新名称,单击确定即可更改该系的名称,更改后与之相对应的成绩表和课程表、班级信息的系也会随着改变。③删除系在“系统维护”窗口中选择要删除的系,单击“删除”按钮,将弹出一个询问对话框,如果单击“是”,将删除改系,删除改系后,也会将该系的所有内容一起删除,如班级信息。(2)系班级管理系班级维护功能有:增加班级、删除班级、更改名称。在菜单栏中单击“系统维护/系班级管理”,将弹出一个“班级维护”对话框, 在系列表框中选择系,在班级列表框中会自动列出该系的所有班级,然后单击班级名,便可对班级进行操作。①增加班级在弹出的对话框中的“新增班级的名称”框中输入要增加的班级名称,然后单击确定,将会将新班级增加到所选的系中。②删除班级删除班级将会将该班级和所在班级的信息一同删除,请慎用。③更改名称单击要更改的班级,然后单击“更改名称”按钮,在弹出的对话框中输入新的名称,单击“确定”即可,更改名称将会更改对应的班级信息。(3)课程管理课程管理可以对班级所选的课程进行增加和删除管理。单击"系统维护/课程管理"将会弹出"课程维护"对话框:增加课程在“系统维护”中单击“增加课程”命令按钮,在弹出的对话框中输入新增加的课程名,单击确定即可。删除课程在“系统维护”中选中要删除的课程,单击“删除课程”命令按钮即可删除选中的课程。(4)成绩库管理成绩库管理可对班级增加成绩表。单击“系统维护/成绩库管理”,将会弹出一个对话框。创建成绩表步骤如下:选择系和所在的班级,单击学期,将会自动在列表框中列出本班组本期的课程。添加课程选中要添加的课程,单击“添加”即可将选中的课程添加到“要创建的课程字段”列表框中,单击“全部添加”按钮可添加所有课程。移除课程在“要创建的课程字段”中选中要删除的课程,单击删除即可删除选中的课程。也可单击“全部移去”可移去全部课程。确定所要创建所选的课程后,单击“确定创建”。创建的表名将会自动生成,表名为:系+班级+第几期的成绩构成。2、档案管理①档案浏览单击"成绩管理/浏览成绩",将弹出“浏览成绩”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,就可以浏览所选成绩表的记录。②档案修改单击"档案管理/档案修改",将弹出如出“修改信息”窗口。单击"修改信息"按钮,然后用鼠标单击要修改的记录,可以按光标键选择要修改的字段值,可以修改信息。档案录入 单击"档案管理/档案录入",将弹出“档案录入“窗口。单击"录入信息"按钮,能够追加新信息。档案删除在弹出的对话框中先将记录移动到要删除的记录上,单击删除即可删除。3、成绩管理①成绩修改单击"成绩管理/成绩修改",将弹出“成绩修改”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,单击"修改"实现内容的修改。②成绩录入单击"成绩管理/成绩录入",将弹出“成绩录入”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,单击"录入"实现成绩的录入。另外,这里单击"修改",也可以修改记录。替换单击"成绩管理/替换",将弹出“替换”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,"替换的字段"和"替换的值"选择和输入自己的替换需求,"范围"实现修改范围的选择,单击"确定"按钮实现替换。成绩删除单击"成绩管理/成绩删除",将弹出“成绩删除”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,通过右边的几个按钮来选中记录,"删除记录"实现当前记录删除,"删除该表"实现整张表记录的全部删除。浏览成绩单击"成绩管理/浏览成绩",将弹出“浏览成绩”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,就可以浏览所选成绩表的记录。4、查询系统①按学号和姓名查询单击“查询系统/按学号查询”将弹出对话框。 在“学号”文本框中输入要查询的学号,再选择查询类型,有三种选择:基本信息、查看成绩、查看课程。选择后单击查询即可列出所查询的结果。a、 基本信息 将列出该生的基本信息b、 查看成绩 选择“查看成绩”后,单击确定,将弹出一个成绩表对话框,该对话框中列出了该生的所在班级的所有成绩表,选择其中一个成绩表,单击确定可列出该生的成绩。c、查看课程 将会列出该生所在班级的课程。在“姓名”文本框中输入要查询的姓名,同学号查询。②查询成绩查询成绩:单击“查询系统/查询成绩,将会弹出“查询成绩”对话框。在“学号”文本框中输入要查询的学号,输入后将会自动列出该生所在班级的所有成绩表,选择要查询的成绩表,单击确定即可查询,如果没找到,将不会显示记录。③查询课程查询课程:单击“查询系统/班级补考名单”,将会弹出“查询课程”对话框。共提供了两种查询课程的方式:a、按学号查询课程:输入要查询的学号后,将会列出该生的课程表,在下拉列表中选中课程表,即可显示该生的课程,如果没有找到,将会给出提示信息。b、按班级查询课程:首先选择系和所在的班级,将列出所选班级的课程表,单击查询。④查询班级补考名单 单击“查询系统/班级补考名单”,将会弹出“补考名单”。选择系和所要查询补考名单的班级,将会列出该班级的所有成绩表,选择要查询补考名单的成绩表,将会显示该成绩表中凡是有课目不及格的同学的记录。⑤自定义查询单击“查询系统/自定义查询”,将会弹出“自定义查询”对话框。自定义查询可以根据用户所耍要的条件查询记录。其中主要包括查询两方面的内容。a、查询学生基本信息:首先选择要查询的字段,然后在“查询条件”的下拉列表框选择条件符号,条件符号有:>,>=,<,<=,=,<>;再在“查询值”中输入要查询的值,如果还要选择条件,可以选择下列的逻辑表达式:and、not、or 然后重复前面的步骤。单击“查询”即可查询出满足条件的记录,如果要重新填写,单击“重填”按钮。b、查询满足条件的成绩:单击“成绩查询”,选择系和所在的班级,将会列出该班级的成绩表,选择要查询的成绩表,“查询字段”下拉列表框中会列出该表中的成绩字段,选择要查询的字段,再选择条件和输入查询的值,方法同查询学生基本信息。编辑框会自动生成SQL。单击“查询”按钮即可查询。 5、成绩统计①统计总分单击"成绩统计/统计总分",将弹出“统计总分”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,然后用"可加字段",选择出"总分"的字段。单击确定,即可实现统计总分的功能。如果统计总分的成绩表中没有总分字段,将会自动增加一个总分字段。②排列名次单击"成绩统计/排列名次",将出现“排列名次”窗口。通过"系别","班级","成绩表",选出要查找的班级的成绩,"确定"按钮实现名次排列。如果排列名次的表中没有名次字段,将会自动增加一个"名次 N(2)"的字段。③排序单击"成绩统计/排序",将出现“排序”窗口。通过"数据表","关键字",另加"升序","降序"实现名次排列的顺序。④高级"综合"统计系,班级,人数,成绩表的个数,"班级"统计系别,系别班级,"成绩表"统计系别,系别班级,成绩表个数。学生档案管理系统说明书成绩表班级表、课程表学生基本信息表输出查询结果查询成绩查询课程查询基本信息用户查询接受、判断查询项目录入信息学生基本信息学生成绩数据库学生基本信息表成绩数据库系信息:学生基本信息:班级信息:课程表课程表………………学生档案信息Course(课程数据库)Grade(成绩数据库)Student(基本信息数据库)班级课程表n班级学生成绩n班级课程表1课程表班级学生成绩1成绩表管理员登录信息学生登录信息系信息班级信息学生基本信息(2)数据库学生实体E-R图注释家庭住址寝室号入校时间班级联系电话出生日期性别姓名学号学生班级系名班级班级实体E-R图:系主任系名系课程成绩姓名学号课程名课程成绩表系实体E-R图:课程实体E-R图成绩实体E-R图成绩表学生成绩查询学生学生基本信息管理员修改管理班级信息系班级成绩库修改学生基本信息成绩查询学生基本信息成绩库系包含班级信息包含学生成绩成绩表关于帮助帮助主题关于统计总分排列名次排序高级按学号查询按姓名查询查询成绩补考名单查询课程自定义查询成绩修改成绩录入替换成绩删除浏览成绩档案浏览档案修改档案录入删除单条连续删除全部删除系单位管理系班级管理课程管理成绩库管理退出成绩统计查询系统成绩管理档案管理系统维护输入条件在基本信息中查找是否找到查询基本信息Y查询成绩Y提示信息输出基本信息查询所在的班级取出成绩表是否有成绩表Y输出满足条件的成绩提示信息N2.1 E-R图如下:统计总分选择可加的成绩字段是否有总分字段N新建总分字段计算总分Y②统计流程图:1234567Y
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。