学籍管理系统设计与实现论文.docx
- 文档编号:28095618
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:27
- 大小:97.06KB
学籍管理系统设计与实现论文.docx
《学籍管理系统设计与实现论文.docx》由会员分享,可在线阅读,更多相关《学籍管理系统设计与实现论文.docx(27页珍藏版)》请在冰豆网上搜索。
学籍管理系统设计与实现论文
【摘要】
本论文叙述了校计算机系学籍管理的现状以及VisualFoxpro6.0语言的概况。
重点介绍了学籍管理系统的实现过程:
包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统实现。
本系统主要功能有学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、补考成绩录入、数据查询、打印输出等功能。
总结了本系统的特点:
操作方便、提高工作效率、节约学籍管理成本。
【关键词】计算机系、学籍管理系统、VisualFoxpro6.0、功能、特点
目录
摘要
关键词
第一章引言……………………………………………………………………(4)
1.1项目开发的目标…………………………………………………………(4)
1.2项目提出的意义…………………………………………………………(4)
1.3本系统使用语言的介绍………………………………………………(4)
第二章系统分析………………………………………………………………(6)
2.1用户需求…………………………………………………………………(6)
2.2系统设计思想……………………………………………………………(6)
2.3系统设计分析……………………………………………………………(6)
2.4系统功能分析……………………………………………………………(7)
第三章系统设计………………………………………………………(7)
3.1学籍管理中所涉及到的主要实体集及其属性…………………………(7)
3.2功能模块设计…………………………………………………………(8)
第四章学生学籍管理系统的实现及编码…………………………………(9)
4.1主程序及代码……………………………………………………………(9)
4.2进入系统密码校验模块…………………………………………………(9)
4.3菜单设计………………………………………………………………(11)
4.4信息录入模块…………………………………………………………(11)
4.5修改密码………………………………………………………………(14)
4.6学生注册查询…………………………………………………………(17)
4.7学生补考查询…………………………………………………………(17)
4.8学生注册查询……………………………………………………………(19)
4.9打印输出-成绩登记表…………………………………………………(20)
系统评价……………………………………………………………………………(22)
结束语………………………………………………………………………………(22)
【参考文献】
第一章引言
1.1项目开发的目标
建立计算机学籍管理系统,进一步提高办学效益和现代化水平。
帮助主管学籍的工作人员提高工作效率,实现学籍信息管理工作流程的系统化、规范化和自动化。
1.2项目提出的意义
现在我国的大中专院校的档案管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。
1.3本系统使用语言的介绍
Visualfoxpro是microsoft公司推出的全新的pc平台关系数据库管理系统。
它具有强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单得数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,是系统成为目前最快、最完美的数据库系统。
不但兼容早期的dbase以及foxbase各种版本,同时还提供了许多基于windows的崭新功能。
Visualfoxpro作为具有windows95兼容标志的应用软件,具有快速开发应用程序、面向对象和客户机/服务器的强大功能,它是多年来出现在关系数据库方面最重要的产品。
Microsoftvisualfoxpro是一个32位的数据库开发系统,可运行于window98和windowsxp操作系统。
Visualfoxpro既具有visual系列的功能强大、直观易用、面向对象等优点,又兼具windows和foxpro的长处。
提供了“向导”、“设计器”和“生成器”等工具,使的数据库的管理工作变的容易。
Visualfoxpro的易用性使初学者和那些想避免涉及foxpro复杂命令的人能很快用它来管理自己的数据库,制作各种报表、标签等;增添的面向对象的编程方式等新特色,使它成为应用程序开发人员强有力的工具;正是由于其易用性、先进性和广泛性,使visualfoxpro 真正做到了面向各种水平的用户。
(1)简单,易学,易用
①快速完成应用任务
VisualFoxpro6.0提供了向导,生成器和设计器三种工具,这三种工具都使用图形交互界面方式,使用户能够最简单而又最快速地完成数据操作任务。
例如:
此学籍管理系统中的各项数据输入的表单就是用表单向导和生成器来制作的。
②使用方便的工具栏
象许多其他Microsoft产品一样,VisualFoxpro6.0也给用户提供了使用方便的工具栏,工具栏里有许多按钮,他们代表着菜单里的某些选项。
一般来说,用户经常执行的操作或使用的对象多对应一个按钮,用户可以通过选择这些按钮方便而迅速地完成操作,而不必通过菜单选项。
③不编程而建立应用程序界面
VisualFoxpro6.0提供的窗体设计器是一种功能强大的工具,用户能够不编程或使用很少的代码来实现友好的交互式应用程序界面以及对界面的控制。
例如;用户可以用栅格控制很容易地建立一对多的窗体;用户只需把一个数据表拖到一个窗体上就可以了。
也可以利用页格式控件来建立有标签的对话框话或用户自己的生成器界面。
④用项目管理器统一界面
VisualFoxpro6.0提供的另一高效易用的工具是项目管理器。
通过项目管理器,用户可以集中地管理数据,文档,类库,源代码等各种资源。
例如用户可以建立和更新数据库,设计或改变窗体和报表,定义或改变类库,生成或重新生成自己的应用程序。
另外,用户也可以在项目管理器中使用VisualFoxpro6.0提供的简单而有效的其他工具,如向导,生成器,工具栏等。
所有这些,使用户能够对工作进行集中管理而又简单有效。
(2)功能更强大
VisualFoxpro6.0比以前的数据库管理系统具有更强大的功能。
它通过使用快速查询技术和对系统的优化而使用户最大限度地体会到VisualFoxpro6.0快速而又功能强大的优点。
①具有面向对象编程的能力
VisualFoxpro6.0在支持标准的Xbase传统编程方式的同时,也提供了完全的面向对象编程的能力。
在VisualFoxpro6.0的对象模式下,用户可以利用所有的面向对象编程特性,这些特性包括继承,封装,多态性以及分类,他们都作为用户所熟悉的Xbase编程语言的扩展集而实现。
②最优化系统
VisualFoxpro6.0能通过优化用户的实际来提高自身的性能。
在所有的优化措施中,做有效的方法是尽可能多地增加用户的扩展内存或减少被其他程序所占用的内存。
其余的提高VisualFoxpro6.0性能的措施包括加快启动速度和优化设置指令。
③使用快速查询技术
快速查询技术是一种专用的数据查询技术,他能够迅速从数据库中选择出一组满足用户要求的记录。
使用这种即使能将数据查询所需的时间大大缩短,这样可以极大的提高数据查询效率。
④可视化编程技术
Visualfoxpro用于visualc++、visualbasic同样的编程技术,这是他取名为Visualfoxpro的原因。
可视化编程技术给人一种所见即所的的感受,在您编辑屏幕表单、报表、菜单时,可以直接运行,不必来回调试,极为方便。
⑤新增许多命令和函数,功能大大加强,sql语句更加丰富
增加了7种新的字段类型:
整型、货币型、日期时间型、双精度型、通用型、二进制型和二进制备注型。
在结构化的复合索引中可以建立4种类型的索引:
主索引、候选索引、普通索引和唯一索引。
允许在表中使用空值null,以保证与采用sql标准的数据库管理系统的兼容和数据共享。
⑥用32位方式
Visualfoxpro使用32位方式,其运算速度、存储能力大大提高。
第二章系统分析
2.1.用户需求
要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。
本系统从以下四个方面对用户需求进行了分析:
用户的信息需求:
能查询班级信息、学生基本信息、课程信息、学生成绩及补考信息。
用户的处理要求:
要能录入班级信息、学生基本信息、学生注册登记、对专业或班级的课程设置、课程信息、学生成绩录入与修改查询、补考成绩录入修改查询等。
对系统的适应性要求:
要求系统能够不受未来课程设置变化的影响及班级变动的影响,仍能照常使用。
对系统的安全性要求,要求进入系统必须进行口令校验。
2.2系统设计思想
1、采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
2、系统就满足学校的需求,例如学生信息的录入、查询、更新等。
学生录入与排名。
3、系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。
2.3系统设计分析
其功能主要分为四大类:
课程管理:
用于对各学期课程的开设和修改。
成绩管理:
用于对成绩的输入、修改、汇总及排名。
班级管理:
用于对班级的录入与修改。
打印功能:
用于打印所需数据。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。
2.4系统功能分析
录入功能:
为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
查询功能:
为所有用户提供查询的功能,可查询允许范围内的所有信息。
维护功能:
为一般用户提供查询及相应的修改,删除功能,为用户提供对所有信息的修改删除功能。
打印功能:
能打印全校学生的信息及积各班信息,科目成绩等。
退出功能:
结束并关闭系统。
第三章:
系统设计
3.1学籍管理中所涉及到的主要实体集及其属性
1、班级﹛班级编号,班级名称,专业代码,学制,收费金额,班主任姓名,入学时间﹜;
2、班级课程﹛班级编号,学期,课程名称,讲授学时,上机学时,讲授教师﹜;
3、补考﹛学号,学期,课程名称,补考1,补考2,原因,未到原因﹜;
4、成绩信息﹛学号、学期、课程名称、成绩﹜;
5、学生基本信息﹛学号,姓名,性别,出生日期,政治面貌,身份证号,班级编号,入学时间,QQ号码、联系电话、e_mail地址、英语等级﹜
6、教学计划﹛专业代码,学期,课程编号﹜;
7、注册﹛学号、学年、注册否﹜;
8、课程信息﹛课程编号,课程名称﹜;
9、专业信息﹛专业代码、专业名称﹜
3.2功能模块设计
软件所实现的功能强弱是衡量一个软件的最根本的标准。
经过对系统的分析、及数据库设计后,确定了本子系统的功能模块如图所示。
退出
补考成绩查询
补考不及格查询
按学号查询
按班级查询
第四章学籍管理系统的实现及编码
4.1、主程序
先建一个项目管理器,命名为“学籍管理.pjx”。
按照前面几章系统分析及设计的结果,建立一个名称为“学籍库.dbc”的数据库并添加系统所涉及的各个表。
然后根据功能模块结构设计的结果建立一个菜单,并设置相应的菜单项的单击事件。
再建立一个主控程序,命名为“主程序.prg”。
主界面
主程序.prg的代码如下:
_SCREEN.WINDOWSTATE=2
_SCREEN.CAPTION="学籍管理系统"
_SCREEN.CONTROLBOX=.F.
_SCREEN.BACKCOLOR=RGB(50,100,128)
SETSYSMENUOFF
SETTALKOFF
SETSAFETYOFF
SETSTATUSBAROFF
DOFORM封面TONUM
IFNUM
DO菜单.mpx
READEVENT
ENDIF
4.2、系统密码校验模块(即封面.scx)
1、流程图:
2、程序界面设计:
3、相关代码如下:
(确认按钮)
RESTORFROMPASS1.MEMADDI
LOCALMM1,MM2
MM1=PASS1
MM2=THISFORM.TEXT1.VALUE
SETEXACTON
IFALLT(MM1)=ALLT(MM2)
THISFORM.CONT=.T.
THISFORM.RELEASE
CLEA
ELSE
THISFORM.CONT=.F.
THISFORM.NO=THISFORM.NO+1
=MESSAGEBOX("密码错误!
",48+0+0,"错误")
IFTHISFORM.NO=3
=MESSAGEBOX("三次密码错误,将自动退出程序!
",4+16+2,"退出")
THISFORM.COMMAND2.CLICK
ENDIF
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT1.SETFOCUS
CLEA
ENDIF
SETEXACTOFF
(取消按钮)
THISFORM.RELEASE
CLOSEALL
4.3、菜单设计
运行结果如下:
相关代码如下:
退出:
?
?
CHR(7)
RE=MESSAGEBOX("是否退出学籍管理系统?
",4+32+256,"信息窗口")
IFRE=6
CLEAREVENT
ENDIF
班级名单录入:
DOFORM班级信息
学生基本情况:
DOFORM基本情况
学生注册登记:
DOFORM注册
4.4、信息录入模块
1、界面设计:
2、相关代码如下:
(添加按钮)
THIS.CAPTION="继续"
Thisform.班级编号1.VALUE=SPACE(3)
Thisform.班级名称1.VALUE=SPACE(6)
Thisform.专业代码1.VALUE="07070"
Thisform.学制1.VALUE="3"
Thisform.收费金额1.VALUE=1800.00
Thisform.班主任名1.VALUE=SPACE(8)
Thisform.入学时间1.VALUE=CTOD("//")
Thisform.班级编号1.ENABLED=.T.
Thisform.班级名称1.ENABLED=.T.
Thisform.专业代码1.OPTION1.ENABLED=.T.
Thisform.专业代码1.OPTION2.ENABLED=.T.
Thisform.专业代码1.OPTION3.ENABLED=.T.
Thisform.专业代码1.OPTION4.ENABLED=.T.
Thisform.专业代码1.ENABLED=.T.
Thisform.收费金额1.ENABLED=.T.
Thisform.班主任名1.ENABLED=.T.
Thisform.入学时间1.ENABLED=.T.
THISFORM.班级编号1.SETFOCUS
THIS.ENABLED=.F.
THISFORM.COMMAND2.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.T.
THISFORM.COMMAND4.ENABLED=.F.
THISFORM.REFRESH
(撤消按钮)
?
?
CHR(7)
RESULT=MESSAGEBOX("是否确认放弃添加?
",4+48+256,"信息窗口")
IFRESULT=6
Thisform.班级编号1.ENABLED=.F.
Thisform.班级名称1.ENABLED=.F.
Thisform.专业代码1.OPTION1.ENABLED=.F.
Thisform.专业代码1.OPTION2.ENABLED=.F.
Thisform.专业代码1.OPTION3.ENABLED=.F.
Thisform.专业代码1.OPTION4.ENABLED=.F.
Thisform.专业代码1.ENABLED=.F.
Thisform.学制1.ENABLED=.F.
Thisform.收费金额1.ENABLED=.F.
Thisform.班主任名1.ENABLED=.F.
Thisform.入学时间1.ENABLED=.F.
THIS.ENABLED=.F.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND3.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.REFRESH
ENDIF
(确认按钮)
IFEMPTY(THISFORM.班级编号1.VALUE)
=MESSAGEBOX("班级编号不能为空,请重新输入!
",48+0+0,"警告")
THISFORM.班级编号1.SETFOCUS
ELSE
IFEMPTY(THISFORM.班级名称1.VALUE)
=MESSAGEBOX("班级名称不能为空,请重新输入!
",48+0+0,"警告")
THISFORM.班级名称1.SETFOCUS
ELSE
IFEMPTY(THISFORM.入学时间1.VALUE)
=MESSAGEBOX("入学时间不能为空,请重新输入!
",48+0+0,"警告")
THISFORM.入学时间1.SETFOCUS
ELSE
SELEBJ
APPEBLAN
REPLBJ.班级编号WITHTHISFORM.班级编号1.VALUE
REPLBJ.班级名称WITHTHISFORM.班级名称1.VALUE
REPLBJ.专业代码WITHTHISFORM.专业代码1.VALUE
REPLBJ.学制WITHTHISFORM.学制1.VALUE
REPLBJ.收费金额WITHTHISFORM.收费金额1.VALUE
REPLBJ.班主任名WITHTHISFORM.班主任名1.VALUE
REPLBJ.入学时间WITHTHISFORM.入学时间1.VALUE
Thisform.班级编号1.ENABLED=.F.
Thisform.班级名称1.ENABLED=.F.
Thisform.专业代码1.OPTION1.ENABLED=.F.
Thisform.专业代码1.OPTION2.ENABLED=.F.
Thisform.专业代码1.OPTION3.ENABLED=.F.
Thisform.专业代码1.OPTION4.ENABLED=.F.
Thisform.专业代码1.ENABLED=.F.
Thisform.学制1.ENABLED=.F.
Thisform.收费金额1.ENABLED=.F.
Thisform.班主任名1.ENABLED=.F.
Thisform.入学时间1.ENABLED=.F.
THIS.ENABLED=.F.
THISFORM.COMMAND1.ENABLED=.T.
THISFORM.COMMAND2.ENABLED=.F.
THISFORM.COMMAND4.ENABLED=.T.
THISFORM.REFRESH
ENDIF
ENDIF
ENDIF
(退出按钮)
?
?
CHR(7)
RESULT=MESSAGEBOX("是否退出?
",4+32+256,"信息")
IFRESULT=6
THISFORM.RELEASE
ENDIF
4.5、修改密码(代码)
(确认按钮)
RESTOFROMPASS1.MEMADDI
LOCALMM1,MM2
MM1=PASS1
MM2=THISFORM.TEXT1.VALUE
SETEXACTON
IFALLT(MM1)<>ALLT(MM2)
THISFORM.NO=THISFORM.NO+1
=MESSAGEBOX("原密码错误!
",48+0+0,"错误")
IFTHISFORM.NO=3
=MESSAGEBOX("三次密码错误,将自动退出修改!
",4+16+2,"退出")
THISFORM.COMMAND2.CLICK
ENDIF
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT2.VALUE=""
THISFORM.TEXT1.SETFOCUS
ELSE
PASS1=THISFORM.TEXT2.VALUE
SAVETOPASS1.MEMALLLIKEPASS1
=MESSAGEBOX("密码修改成功!
",48+0+0,"恭喜")
THISFORM.RELEASE
ENDIF
SETEXACTOFF
4.6、学生注册查询
1、界面设计:
2、相关代码:
(开始查询按钮)
THIS.CAPTION="继续查询"
THISFORM.COMBO1.VALUE=""
THISFORM.COMBO2.VALUE=""
THISFORM.TEXT1.VALUE=0
THISFORM.TEXT2.VALUE=0
THISFORM.TEXT3.VALUE=0
THISFORM.TEXT4.VALUE=0
THISFORM.LIST1.ROWSOURCE=""
THISFORM.COMBO1.ENABLED=.T.
THISFORM.COMBO2.ENABLED=.T.
THISFORM.COMBO1.SETFOCUS
THISFORM.REFRESH
4.7、学生补考查询
1、界面设计:
2、相关代码:
(开始查询按钮)
IFEMPTY(THISFORM.COMBO1.VALUE)
=MESSAGEBOX("请输入班级编号!
",48+0+0,"信息窗口")
THISFORM.COMMAND2.CLICK
ELSE
IFEMPTY(THISFORM.COMBO2.VALUE)
=MESSAGEBOX("请输入学期!
",48+0+0,"信息窗口")
THISFORM.COMMAND2.CLICK
ELSE
SELE补考成绩
SETFILTTOALLT(LEFT(学号,2)+SUBS(学号,4,1))==ALLT(BJBH).AND.ALLT(学期)==ALLT(XQ)
GOTOP
IFEOF()
=MESSAGEBOX("没有参加补考的学生信息!
",48+0+0,"信息")
THISFORM.COMMAND2.CLICK
ELSE
THISFORM.GRID1.REFRESH
THISFORM.REFRESH
*IFEMPTY(THISFORM.GRID1.COLUMN4.TEXT1.VALU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍 管理 系统 设计 实现 论文