学籍管理系统论文.docx
- 文档编号:23242892
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:32
- 大小:110.63KB
学籍管理系统论文.docx
《学籍管理系统论文.docx》由会员分享,可在线阅读,更多相关《学籍管理系统论文.docx(32页珍藏版)》请在冰豆网上搜索。
学籍管理系统论文
东北农业大学毕业说明书
学籍管理系统
入学年级:
2008秋
学生姓名:
周长伟
学号:
964B20115010
所学专业:
计算机科学与技术
东北农业大学
中国●哈尔滨
2011年5月
一前言………………………………………………………………………1
1学籍管理软件及学籍管理方式概况………………………………………1
2软件简介……………………………………………………………………1
二需求分析……………………………………………………………………2
三总体规划……………………………………………………………………3
1规划方案……………………………………………………………………3
2系统流程图…………………………………………………………………3
3数据库的设计………………………………………………………………3
4文件设计……………………………………………………………………6
5用于界面总体考虑…………………………………………………………6
四详细设计……………………………………………………………………7
1主程序的设计………………………………………………………………7
2主菜单设计…………………………………………………………………9
3输入与维护表单的设计…………………………………………………11
4查询表单的设计…………………………………………………………………13
5密码修改表单的设计………………………………………………15
6程序设计中遇到的问题及解决办法……………………………………16
五系统测试………………………………………………………………16
六毕业设计小结…………………………………………………………17
1目标完成情况……………………………………………………………17
2存在不足…………………………………………………………………17
3今后模块设想……………………………………………………………17
4总结和体会………………………………………………………………17
七、参考文献………………………………………………………………18
一、前言
1、学籍管理软件及学籍管理方式概况
学籍管理是学校管理的一个重要内容,管理的主要内容包括学生基本情况管理、学生成绩管理两大块。
就其管理的数据而言,是一个典型的关系型数据,可以方便的用关系数据库管理系统实现,在许多教材上,都以学籍管理系统的设计为典型例子;目前,关于学籍管理方面的软件包括商业软件、共享软件,可以说是不计其数。
但目前学校的学籍管理现状又如何呢?
在绝大多数学校没有使用学籍管理软件,很多学校还在使用手工方式进行管理,先进一点的也就是采用Excel制作几个电子表格进行管理,有些学校,即使上级发了统一的管理软件,也是仍在一边。
为什么会出现这样的断层呢?
究其原因,每个学校的管理有学校自己的具体情况,绝大多数学籍管理软件不适合学校具体情况,尤其是在小学学籍管理方面,本身软件数量不多,而成绩管理部分都采用“分数制”为记分标准,不适合素质教育制度下,小学学生“等级制”成绩管理的需要。
因此,在学籍管理问题上,一则需要国家教委的主管部门尽量规范学籍管理中有共性的部分,形成一个标准,以促进适合各个学校学籍管理软件的产生,促进学校管理的现代化(这就像计算机行业的各种标准一样,每一个标准的制定,都会推动计算机行业的快速发展。
),二则迫切需要开发一个适合各个学校学籍管理的学籍管理系统,尤其是小学学籍管理系统。
正是在这种条件下,本人根据素质教育环境下的小学教育管理特点,设计了“学籍管理系统”
二、软件简介
本系统使用VisualFoxpro6.0开发,充分利用了VisualFoxpro可视化编程的优点,以小学为背景,结合素质教育环境下的小学管理实际情况,对学生基本情况输入、维护与查询,学生成绩输入、维护与查询等常用的学校学籍管理的常用方面进行编程设计,具有符合小学学籍管理、界面友好、操作方便等特点。
软件开发环境:
中文windows98/2000/xp/2003等操作系统
VisualFoxpro6.0中文版
软件运行环境:
中文Windows98/2000/xp/2003等环境下运行。
二、需求分析
学籍的管理主要由学生档案管理和学生成绩管理两部分。
在学生档案管理方面主要要实现学生档案的输入、维护,学生个人基本情况的查询,各班级学生基本情况表的查询、输出。
学生成绩管理方面,主要要实现学生成绩的输入、维护,学生个人成绩的查询,各班级学生成绩表的查询、统计及输出。
根据小学的情况,学生档案的数据主要包括学生的学号、姓名、性别、出生年月、民族、籍贯、家庭住址、联系电话,学生成绩数据主要包括各学期的语文、数学、英语、音乐、体育、美术、电脑、品德。
根据以上情况系统主要应该实现的功能有:
学生档案的输入
学生档案的维护
学生个人基本情况的查询
各班级学生基本情况表的查询及输出
实现学生成绩的输入
实现学生成绩的维护
学生个人成绩的查询
各班级学生成绩表的查询及输出
各班级学生成绩表的统计及输出
为了实现以上功能,本人的总体构思系统应由以下几部分组成。
(1)数据的输入与维护,主要用于学生基本情况的输入与维护,包括学生的学号、姓名、性别、出生年月、民族、籍贯、家庭住址、联系电话的输入与维护;学生成绩的输入与维护,包括各个学生各学期的语文、数学、英语、音乐、体育、美术、电脑、品德的成绩的输入与维护。
(2)数据的查询统计,主要用于学生个人学生个人基本情况的查询;班级学生基本情况表的查询及输出;学生个人成绩的查询;各班级学生成绩表的查询及输出;各班级学生成绩表的统计及输出。
(3)系统设置和数据库维护,主要用于修改用户密码,备份和恢复数据库。
三、总体规划
一、规划方案
根据需求分析,设计整个系统的规划方案如下:
A.系统主程序
系统主程序主要用于设计系统主页面窗口,调用本系统的登录表单。
B.系统菜单
系统菜单用于执行数据备份、数据还原过程,启动帮助文件,调用系统中用于实现数据输入、维护,查询、统计等系统主要功能的表单文件。
C.系统登录表单
用于控制非法操作员使用本系统的口令输入框口。
如果密码正确则调用系统菜单,进入系统。
D.档案输入维护表单
用于学生基本情况的输入
E.成绩输入维护表单
用于学生各学期成绩的输入、修改与删除
F.学生个人档案查询表单
用于按学号或姓名查询学生基本情况
G.学生个人成绩查询表单
用于按学号查询学生各学期个人成绩
H.班级学生情况查询表单
用于整个班级学生基本情况的查询和打印输出
I.班级学生成绩查询表单
用于整个班级各学期成绩情况的查询和打印输出
J.班级成绩统计表单
用于整个班级各学期各门功课各成绩段,优秀率,合格率的统计和打印输出。
K.密码修改表单
用于修改用户密码。
另外,设计一个显示版权信息的关于表单。
二、系统流程图
根据总体构思绘制软件流程图见下
系统管理
输入维护
退出
N
Y
查询统计
帮助
密码修改
数据备份
数据还原
退出系统
档案输入维护
成绩输入维护
个人档案查询
个人成绩查询
班级情况查询
班级成绩查询
班级成绩统计
帮助文件
关于系统
系统菜单
密码正确
登录系统
主程序
三、数据库设计
数据库的设计主要考虑以下因素:
按关系数据的要求,尽量减少冗余数据。
按照关系模式的规范化理论进行数据的规范化,消除数据依赖中不合适的部分
根据关系数据库的参照完整性规则,设置合理的数据参照完整性。
充分考虑以上两点的基础上设计数据表xjgl.dbc,其中包括学生档案数据表xsda.dbf和学生成绩表xscj.dbf,他们之间通过xh字段建立一对多关系,xsda.dbf以xh字段作为主索引,xscj.dbf以xh为普通索引,xh+xq为主索引。
数据库的参照完整性设置为
更新规则:
级联
删除规则:
级联
插入规则:
限制
学生档案数据表xsda.dbf和学生成绩表xscj.dbf的结构定义如下:
学生档案表
字段名
字段类型
字段宽度
小数点
说明
Xh
字符型
8
学号(主码)
Xm
字符型
8
姓名
Xb
字符型
2
性别
Csrq
日期型
8
出生日期
Mz
字符型
8
民族
Jg
字符型
10
籍贯
Jtzz
字符型
30
家庭住址
Lxdh
字符型
11
联系电话
学生成绩表
字段名
字段类型
字段宽度
小数点
说明
Xh
字符型
8
学号(主码)
Xq
字符型
10
学期(主码)
Yw
字符型
1
语文
Sx
字符型
1
数学
En
字符型
1
英语
Yy
字符型
1
音乐
Ty
字符型
1
体育
Ms
字符型
1
美术
Dn
字符型
1
电脑
Pd
字符型
1
品德
为了学生成绩单,及班级成绩表处理的方便,为数据库xjgl.dbc增加了一个视图xscjd,它利用xsda.dbf和xscj.dbf的xh联结关系,由xscj.dbf中的所有字段以及xsda.dbf中相关纪录的xm字段构成。
为了成绩统计的方便,另外设计一张自由表cjtj.dbf,其结构如下:
班级成绩统计表
字段名
字段类型
字段宽度
小数点
说明
Kcm
字符型
8
课程名称
Yxs
数值型
2
优秀人数
Lhs
数值型
2
良好人数
Jgs
数值型
2
及格人数
Xmls
数值型
2
需努力人数
Yxl
数值型
6
2
优秀率
Jgl
数值型
6
2
及格率
四、文件设计
软件所在目录为\xjgl1,项目文件、密码文件直接放在\xjgl1下,该目录下设置了七个子目录:
Data存放数据库、数据表文件
Forms存放表单文件
Tabl存放报表文件
Progs存放程序文件
Graphics存放图标、图片
Backup存放备份文件
Menus存放菜单文件
具体包括哪些文件以及文件的内容见详细设计部分
五、用户界面总体考虑
用户界面的设计主要使用VFP中的表单实现,为了预防出现使用绝对路径,所用表单的背景图片都使用代码加载,在表单的Activate事件中加入thisform.picture="graphics\back.bmp"。
另外与主窗口同样大小的表单,Titlebar属性全都设置为.f.。
四、详细设计
前面的各部分内容由我们小组的所有成员——郑海明(本人)、吴胜、鲁跃杰三人在指导教师的帮助下共同完成,详细设计部分由大家分工合作完成,本人主要完成主程序设计、下面详细叙述这些部分的设计要点,并给出相关代码。
一、主程序设计
主程序主要主要实现功能:
设置运行环境、设置全局变量、设置系统主页面窗口、运行登录表单及建立事件循环。
其程序内容如下:
******运行环境设置********
clearall
closeall
setsysmenuoff
setclockoff
setescapeoff&&关闭ESC退出键功能
setexacoff&&严格字符串比较
setcarryon
setdeletedon
setoptimizeon
setrefreshto0,5
setodometerto100
setblocksizeto64
setdefaulttosys(5)+curdir()
setsecondson
setcenturyon
sethoursto12
setdatetoansi
setsysformatsoff
setdecimalsto2
setfdowto1
setfweekto1
setmarkto'.'
setseparatorto','
setpointto'.'
setexclusiveoff
settalkoff
setsafetyoff
***********定义全局变量**********
publiccPword
store"8888"toPword
***********设置系统主界面********
systit="学籍管理系统"
_screen.caption=systit&&设计窗口的状态和基本环境
_screen.autocenter=.t.
_screen.windowstate=0
_screen.movable=.t.
_screen.picture="graphics\back.bmp"
_screen.icon="graphics\xjgl.ico"
_screen.minbutton=.t.
_screen.maxbutton=.f.
_Screen.Closable=.f.
_screen.height=430
_screen.width=636
_screen.addobject("lbll","label")&&增加一个标签
_screen.lbll.backcolor=rgb(64,128,128)
_screen.lbll.autosize=.t.
_screen.lbll.fontsize=28
_screen.lbll.fontname="楷书"
_screen.lbll.caption=allt(systit)
_screen.lbll.left=(_screen.width-len(systit)*16-20)/2
_screen.lbll.top=140
_screen.lbll.forecolor=rgb(72,183,108)
_screen.lbll.visible=.t.
_screen.lbll.backstyle=0
_screen.addobject("lbl2","label")&&增加另一个标签以显示立体效果
_screen.lbl2.backcolor=rgb(64,128,128)
_screen.lbl2.fontsize=28
_screen.lbl2.autosize=.t.
_screen.lbl2.fontname="楷书"
_screen.lbl2.caption=allt(systit)
_screen.lbl2.left=(_screen.width-len(systit)*16-18)/2-2
_screen.lbl2.top=139
_screen.lbl2.backstyle=0
_screen.lbl2.forecolor=rgb(0,128,0)
_screen.lbl2.visible=.t.
_screen.addobject("lbl3","label")&&增加一个标签
_screen.lbl3.backcolor=rgb(64,128,128)
_screen.lbl3.autosize=.t.
_screen.lbl3.fontsize=14
_screen.lbl3.fontname="楷书"
_screen.lbl3.caption="软件设计:
郑海明鲁跃杰吴胜"
_screen.lbl3.left=(_screen.width-len(_screen.lbl3.caption)*10+20)/2
_screen.lbl3.top=200
_screen.lbl3.forecolor=rgb(0,128,0)
_screen.lbl3.visible=.t.
_screen.lbl3.backstyle=0
_screen.addobject("lbl4","label")&&增加一个标签
_screen.lbl4.backcolor=rgb(64,128,128)
_screen.lbl4.autosize=.t.
_screen.lbl4.fontsize=14
_screen.lbl4.fontname="楷书"
_screen.lbl4.caption="指导教师:
张苏"
_screen.lbl4.left=(_screen.width-len(_screen.lbl4.caption)*10+20)/2
_screen.lbl4.top=240
_screen.lbl4.forecolor=rgb(0,128,0)
_screen.lbl4.visible=.t.
_screen.lbl4.backstyle=0
******调用登录表单*********
restorefrompmem&&读取密码值
DOformforms\Login
readevents
系统初始密码为:
123456
二、系统主菜单设计
系统的主菜单是系统的一个核心内容,通过它将各个程序联系在一起,只有通过系统菜单才能调用系统的各个功能模块。
系统菜单的结构可从系统流程图中看出,现对各个菜单项的功能和设计简述如下:
系统管理:
修改密码:
通过命令doformforms\xgmm调用修改密码表单
数据备份:
将data\xjgl.dbc数据库下的xsda.dbf、xscj.dbf备份到backup目录。
其过程代码是:
usedata\xsda.dbf
copytobackup\xsda.dbf
use
usedata\xscj.dbf
copytobackup\xscj.dbf
use
messagebox("数据已成功备份",0+48+0,"提示")
数据恢复:
将backup目录下的数据恢复到数据库,并删除原有数据库中的所有内容。
其其过程代码是:
ifmessagebox("确实要还原数据吗?
还原后将用备份文件;
中的数据替换所有现有数据!
",1+32+256,"警告")=1
usedata\xsda.dbfexclusive
deleteall
appendfrombackup\xsda.dbf
pack
use
usedata\xscj.dbfexclusive
deleteall
appendfrombackup\xscj.dbf
pack
use
messagebox("学生基本情况数据已成功恢复",0+48+0,"提示")
endif
退出:
通过执行过程progs\quit.prg退出系统。
其中quit.prg的代码为:
Clearevent
closetableall
closedatabase
setsysmenutodefault
setsysmenuon
setdeleoff
setsafetyon
quit
输入维护:
档案输入维护:
通过命令调用档案输入维护表单。
成绩输入维护:
通过命令调用成绩输入维护表单。
查询统计:
个人档案查询:
调用学生个人情况查询表单。
班级情况查询:
调用班级情况查询表单,实现全班学生基本情况表的查询,以及打印输出。
个人成绩查询:
调用学生个人成绩查询表单,查询各学生各学期学习成绩情况。
班级成绩查询:
调用班级成绩查询表单,实现全班学生成绩表的查询,以及打印输出。
班级成绩统计:
调用班级成绩统计表单,实现学校各班级各学期,各门课程优秀人数,良好人数,及格人数,须努力人数,以及优秀率,及格率的统计和输出。
帮助:
帮助文件:
启动帮助文件(由于时间关系,未能完成)
关于:
显示关于表单。
三、输入维护模块的设计
学生档案输入维护表单以及学生成绩输入维护表单的设计思路基本相同,下面主要使用学生档案输入维护表单介绍程序设计的思路,表单如下图所示:
表单中设计了若干文本框和一个单选按钮组作为数据的输入与修改,各控件的Ctrolsoure属性分别与xsda.dbf中的字段相对应。
表单中还添加了一个表格控件,作为数据的显示区,也可直接在其中修改数据。
右下脚有一个起主要作用的命令按钮组。
各按钮的click事件代码如下:
首纪录按钮:
gotop
this.enabled=.f.
mand2.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
mand6.enabled=.t.
thisform.refresh
上一条按钮:
skip-1
ifbof()
this.enabled=.f.
mand1.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
mand6.enabled=.t.
else
this.enabled=.t.
mand1.enabled=.t.
mand3.enabled=.t.
mand4.enabled=.t.
mand6.enabled=.t.
endif
thisform.refresh
下一条按钮:
skip1
ifeof()
this.enabled=.f.
mand1.enabled=.t.
mand2.enabled=.t.
mand4.enabled=.f.
mand6.enabled=.f.
else
this.enabled=.t.
mand1.enabled=.t.
mand2.enabled=.t.
mand4.enabled=.t.
mand6.enabled=.t.
endif
thisform.refresh
尾纪录按钮:
gobottom
this.enabled=.f.
mand1.enabled=.t.
mandgroup1.c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍 管理 系统 论文