⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 学籍管理系统00.txt

📁 学生学籍管理系统
💻 TXT
📖 第 1 页 / 共 3 页
字号:
                   目  录

前言 ………………………………………………………….(2)
第一章 市级学籍管理系统的实现背景………………….(3)
第二章 学籍管理系统实现的理论依据及分析………….(4)
  第一节 学籍管理系统的理论分析……………………..(4)
  第二节 开发工具的选用…………………………………(6)
第三章 学籍管理系统的概要设计…………………………(7)
  第一节 模块的划分及功能描述…………………………(7)
第二节 数据字典的描述………………………………….(9)
第三节 系统框图………………………………………….(15)
第四节  程序流程图……………………………………..(18)
第四章 学籍管理系统程序详细设计………………………(20)
第五章 程序源代码…………………………………………..(23)
第六章 参考文献……………………………………………..(43)

前  言

   人类已经跨入了新世纪,正在进入信息时代。我国国民经济和社会发展第十个五年计划将国民经济和社会信息化作为覆盖现代化建设全局的战略举措,要求加速发展信息产业,大力推进信息化。现在信息技术的应用越来越普及,不但促进了社会的高速发展,也改变着人们的工作、学习、生活和娱乐的方式以及思想观念。随着计算机的日益普及,计算机软件无处不在。软件在计算机的发展和应用中至关重要,在人类进入信息化社会时成为新兴信息产业的支柱。
应用软件是在特定领域内开发,为特定目的服务的一类软件,而在事务管理、办公自动化方面的软件在企事业机关迅速推广,带给了我们惊人的工作效率。为了加深对软件工程及数据库相关知识的了解,掌握相关的开发工具。本人选择了“市级学籍管理系统”作为此次毕业设计。该“市级学籍管理系统”采用了当今最热门的编程工具C++ Builder 5.0及数据库开发语言SQL 2000。整个系统具有界面简单大方,功能强大,易操作,易扩充,安全性高等特点。该系统适合各个中小学及教委用以学生的学籍管理及日常事务的处理。
在开发该系统的过程中,李朝纯老师对此提供了大量的宝贵意见,在此一并致谢!

第一章 市级学籍管理系统的实现背景

   信息作为信息科学中最基本、最重要的元素,指的是经过加工处理之后的一种数据形式,是一种有次序的符号排列,是系统传输和处理的对象,它能够提高人们对事物认识的深刻度,可以帮助人们制定工作计划,提高工作效率。信息具有可识别性、可变性、可存储性、可处理性、可再生性、有效性和无效性等一系列特性。现代社会信息无处不在,每时每刻都传递着大量的有用和无用的信息,为了能在竞争日益激烈的社会中求得生存、谋求更大的发展,除拥有独特的先决条件外,就是注重对信息价值的利用,管理信息系统也因此因运而生,它采用科学的、有效的手段,对信息加以分析,去其糟粕,取其精华,通过建立一个有效的新系统使企事业的各项活动能够达到提高工作效率,最终提高经济效益和社会效益的目的。鉴于管理信息系统的如此功能,使其一出现就受到社会各行各业的重视,与计算机、网络技术融为一体,成为知识经济中的热点,为大多数单位所选用。
   市级学籍管理系统是管理信息系统在学籍管理方面的一个分支和具体的应用,是为中小学学籍管理而设计的管理学籍成绩等日常事务的系统。学籍管理既是一个传统的工作又是一个繁琐的工作,它是随着社会的发展而发展的。从管理手段、硬件设施等方面随着科学的发展和技术的进步经历了一个从无到有的过程,以前、现在如此,将来更是如此。学籍管理开始以管理学生的基本信息及学习成绩为主。因计算机和网络技术还未出现,信息传输速度慢,各种数据和信息仅靠手工完成。如今学籍管理系统实现了学生从入学到毕业的全过程的监控,具有较广泛的横向和纵向联系。学籍管理是一个特殊的行业,它涉及的数据和信息巨大,信息传递速度快。在信息时代的今天,如对这些信息和数据不加以科学的管理,那么势必会降低教学干事的工作效率,使学校日常事务的管理得不到正常的运转。所以学校采用高科技来进行日常事务管理势在必行。
   综上所述,开发具有高效、合理、科学的学籍管理系统软件有着巨大的和潜在的市场需求,其前景也相当可观。因此,在此次毕业设计中,本人将“市级学籍管理系统”作为毕业设计题目。
   该学籍管理系统是以沙市区为实例进行分析开发的。利用本系统可以完成沙市区教委和区内中小学对学籍的日常管理,沙市区小、初中升学工作的控制,并能利用本系统达到学校和教委间的数据交流的目的。


      第二章 学籍管理系统实现的理论依据及分析
学籍管理系统的理论分析
学籍管理涉及的学生人数较多,数据输入量大而且频繁。学籍关系到学生的学业、更关系到学生的将来,对于学生学籍的数据,一定要保证它的安全性。学籍管理的所有事务都是围绕数据库来进行的,包括学籍信息的插入、修改、异动情况的处理、学生成绩的输入、修改、查询以及学生、班级、学校基本信息的查询,还包括从文件中导入数据进数据库、从数据库中导出数据至文件等。采用数据库管理系统可以解决数据的并发行性、减少冗余的数据,满足教委和中小学对数据的不同要求及不同的修改查询权限。根据沙市区教委要求,本系统包含学校版和教委版两个版本,系统可通过数码摄像系统完成照相功能,并能至少用软盘实现教委和学校间的交流。
系统结构:
该系统分为学校版和教委版,学校版和教委版对信息的处理方式有些不一样,但是它们大同小异。学校版是教委版的一个子集,所以所要做的仅仅是一个系统,所不同的是两个版本的权限不同而已。数据库的设计应考虑到它的规范性、完整性、安全性及正确性。学校和教委之间现在是用软盘传送数据,但以后有可能是在网上传输,所以必须将网络传送的功能留有接口,以备以后扩展。
系统结构总框图:
(见下一页)

系统的主要功能:
实现开学时班级名称的修改,新生基本信息及家庭信息的输入和修改,以及对已毕业学生的处理。
对学生转校、转班、休学、复学等其它各种异动情况的处理。
对中小学生在校期间所进行的重要考试(小学升初中、中考、高考、会考、期末考试)各科成绩的输入、查询、统计及分析。
对在校及已毕业学生学籍的查询、学生成绩及学校信息的查询。
完成毕业生的志愿填写、分配及信息清理等功能。
学校和教委之间互相导入导出各种信息,达到数据的一致性。
具有对学校基本信息、区内信息、系统安全及网络和其它信息的设置功能。

开发工具的选用
  为了加速开发进程,缩短开发周期,根据上述系统的特点,我们认为C++语言是较为低级的语言,它对于文件和网络通讯的处理能力比其它的高级语言强,而且Borland C++ Builder 5.0 是当今较为流行的快速开发工具,在这一点上Microsoft Visual C++6.0则没有它的特点。C++ Builder是Boland 公司为编写C++应用程序而开发的新的快速应用开发产品。利用C++ Builder可以写出空前快捷的C++ Builder程序,也可以创建控制台应用程序或图形用户界面程序。当使用C++ Builder创建应用程序时,就拥有了在RAD环境下C++的全部功能。可以用下拉技术真实快速地为应用开发创建用户界面程序。而且C++ Builder不需要牺牲程序执行速度。
   在各种数据库软件中,Oracle、Sybase是巨型的数据库,价格非常昂贵,对于学籍管理系统而言,它们发挥不了它们最大的用处。而FoxPro、Access是桌面数据库,存储的信息不宜过多,而且它们不支持数据库编程。Microsoft SQL Server是最适合的数据库软件,它可以存储大量的信息、支持数据库编程、价格适中。
   因此,选用Borland C++ Builder5.0作为编程工具,选用Microsoft SQL Server2000作为数据库开发工具是可行的、合适的。


         第三章 学籍管理系统的概要设计
   第一节 模块的划分及功能描述
由用户要求和业务流程分析,将学籍管理系统划分为系统维护配置模块、学生学籍管理模块、学生成绩管理模块、查询统计模块、毕业管理模块、导入导出模块六大功能子模块。
(一)系统维护配置子模块
 因为本系统的目标是一个其它地区可通用的系统,所以对于系统信息,它应可以由系统管理员设定。当系统安装成功后,系统允许系统管理员更改其中的配置以达到优化系统的目的、实现系统的某些功能和管理系统的安全。主要功能有:
1.基本信息设置模块
设置教委版的所在区的基本信息和学校版的学校的基本信息。其中教委版的基本信息包括本区所在省、市、区的名称,教委版的基本信息包括学校代码、学校名称、学校所在省、市、区的名称。
2.区内学校、班级信息模块
设置教委所管辖的学校的各种信息,包括学校代码、学校名称、学校地址、学校层次、学校地址、邮政编码、联系电话、负责人姓名、负责人职务和学校简介等。同时还要设置各个学校内的班级信息。
3.系统安全管理模块
设置系统管理员的名称、密码以及本系统登录时操作员的名称、密码。
4.网络设置模块
设置系统网络开关是否打开,服务器地址,服务器端接口等。
(二)学生学籍管理子模块
学生学籍管理子模块是本系统的中心模块,它包括学生学籍信息的输入、修改以及异动情况的处理等。主要功能有:
1.开学处理模块
每学年开学时要对学校内各班级名称进行修改。如将一(1)班改为二(1)班。
2.学生基本信息输入修改模块
其中学生基本信息输入子模块包括学生学籍信息以及学生家庭信息两部分。完成对学生各项详细的情况的输入,包括学校、班级、学籍号、入学时间、姓名、性别、出生日期、民族、政治面貌、籍贯、户口所在地、户口类型、家庭住址、邮政编码、联系电话、照片、备注、毕业前学籍号等。同时还要输入家长姓名、与本人关系、年龄、单位、职务、政治面貌、电话、电子邮件等。学生基本信息修改子模块是通过学籍号查询学生,修改其信息。
3.学生异动情况处理模块
学生的异动情况包括学生的留、跳级,休学,复学,转校以及其它异动情况。如果异动情况发生学生的当前状态标志将由正常改为其它状态。
(三)重要成绩管理子模块
本模块完成存储学生成绩、学生成绩的日常管理。当一次学生考试结束后,其成绩需要输入数据库,而且难免有成绩的修改。输入成绩的信息包括学校、班级、考试类型、学期、科目等。
(四)查询统计子模块
该模块主要完成查询学校信息、查询学生学籍信息、查询学生成绩信息、查询已毕业学生信息等。主要功能有:
1.查询学校信息模块
可以按照学校代码或者学校名称两种查询方式查询目标学校的相关信息,其中相关信息包括学校代码、学校名称、学校地址、学校层次、学校地址、邮政编码、联系电话、负责人姓名、负责人职务和学校简介等。
2.查询学生信息模块
       可以根据班级、学籍号、姓名三种查询方式查询某个学生的各种详细信息。
3.查询学生成绩模块
       选定学校、班级、学期、科目以后可以查询一个班级所有学生的某个 单科成绩。
4.查询已毕业学生模块
        根据已毕业学生姓名可以查询到该学生毕业前学籍号、性别、所属学校、入学时间、出生年月、联系电话等。 
       (五)毕业管理子模块
        本模块是管理毕业生学籍的,它将学校已毕业的学生的学籍删除,教委将毕业生学籍存储至学生学籍存档表中等。主要功能有:
1.毕业生志愿填写模块
该模块是毕业生毕业时必须填写的志愿表,是毕业生毕业分配的理论依据。可以根据实际需要填写第一、第二、第三志愿等。
2.毕业生信息管理模块
选择学校名称以后,转移该校所有毕业生的信息至学生学籍存档表中。
(六)导入导出子模块
该模块是为了是本系统两个版本之间的数据到达统一。当学校版中的数据有了改动(插入、异动、修改),学校版的数据库中就有标志改动信息的记录,教委版中的相应数据也应该改动。利用导入文件将要修改的数据库中的相关数据从学校版中导入至教委版中,由导入程序提醒教委学籍管理人员确认,经确认后,导入程序就将两个版本中的数据统一。当教委版中的数据改动时利用导出文件送至学校,学校版管理系统将数据库中的相关数据更正即完成数据统一过程,教委版的数据改动不需要得到返回文件来确认。

        第二节 数据字典的描述
1.参数表:Parameter

 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
Name	Varchar(20)	否	无	系统参数名称	   
Value	Varchar(50)	是	无	系统参数值	 
其中Name为参数名称,Value为参数值。Name为主键。

2.操作员表:Operator

 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
Name	Varchar(20)	否	无	使用用户名称	   
PW	Varchar(20)	否	无	使用用户密码	   
Purview	Int(4)	否	无	用户的操作权限	 
其中Name为操作员名称,PW该为操作员的密码,Purview为操作员的操作权限。Name为主键。

3.学校情况表:School
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
SchCode	Varchar(10)	否	无	学校代码	   
SchName	Varchar(50)	否	无	学校名称	   
SchType	Int	否	无	学校类型	   
SchAddress	Varchar(100)	否	无	学校地址	   
SchPCode	Char(6)	否	无	学校邮编	   
SchPhone	Varchar(12)	是	无	学校电话	   
SchLeader	Varchar(10)	否	无	学校领导	   
SchLdBusiness	Varchar(20)	是	无	学校领导职务	   
SchIntro	Varchar(2048)	是	无	学校简介	 
其中SchCode为学校代码,SchName为学校名称,SchType为学校类型包括小学、初中、高中,SchAddress为学校地址,SchPCode为学校邮政编码,SchPhone为学校电话,SchLeader为学校负责人名称,SchLdBusiness为学校负责人职务,SchIntro为学校信息简介。SchCode为主键。

4.班级表:Class
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
SchCode	Varchar(10)	否	无	学校代码	   
ClassCode	Varchar(10)	否	无	班级代码	   
ClassName	Varchar(20)	否	无	班级名称	   
CurStatus	Int(4)	否	无	本记录状态	 
其中SchCode为学校代码,ClassCode为班级代码,ClassName为班级名称,CurStatus为该班级当前状态。ClassCode为主键。

5.班级课程表:ClassCourse
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
SchCode	Varchar(10)	否	无	学校代码	   
ClassCode	Varchar(10)	否	无	班级代码	   
CourseCode	Varchar(10)	否	无	课程代码	   
CourseName	Varchar(50)	否	无	课程名称	   
CurStatus	Int(4)	否	无	本记录状态	 
其中SchCode为学校代码,ClassCode为班级代码,CourseCode为课程代码,CourseName为课程名称,CurStatus为本记录状态。

6.学生情况表:StuStatus
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
StuNo	Varchar(10)	否	无	学生学籍号	   
StuName	Varchar(10)	否	无	学生姓名	   
SchCode	Varchar(10)	否	无	学校代码	   
ClassCode	Varchar(10)	否	无	班级代码	   
Gender	Int	否	无	学生性别	   
InSchDate	Char(14)	否	无	学生进校日期	   
Born	Char(14)	否	无	学生出生日期	   
Nation	Varchar(20)	否	无	民族	   
Political	Char(8)	是	无	政治面貌	   
NatPla	Varchar(40)	是	无	籍贯	   
ResPla	Varchar(100)	是	无	户口所在地	   
ResType	Int	是	无	户口类型	   
Address	Varchar(100)	是	无	家庭住址	   
Phone	Char(13)	是	无	联系电话	   
PCode	Char(6)	是	无	邮政编码	   
Photo	Varchar(50)	是	无	相片文件名称	   
GraNo	Varchar(10)	是	无	毕业前学籍号	   
CurStatus	Int	否	0	当前记录状态	 
其中StuNo为学籍号,StuName为学生姓名,SchCode为学生所在学校代码,ClassCode为学生所在班级代码,Gender为学生性别,InSchDate为学生入学时间,Born为学生出生日期,Nation为民族, Political为学生政治面貌包括少先队员、团员、党员等,NatPla为学生籍贯,ResPla为学生户口所在地, ResType为学生户口类型包括农业和非农业,Address为学生家庭住址,Phone为学生的联系电话,Pcode为学生联系的邮政编码,Photo为学生的照片,GraNo为学生毕业前的学籍号,CurStatus表示学生的当前状态:0-正常,1-新生,2-休学,3-辍学,4-转校,5-其他。StuNo为主键。

7.家庭情况表:Home
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
StuNo	Varchar(10)	否	无	学生学籍号	   
PName	Varchar(10)	是	无	学生家长姓名	   
Relation	Varchar(6)	是	无	学生和家长关系	   
BornDate	Varchar(14)	是	无	学生家长出生日期	   
Job	Varchar(80)	是	无	学生家长工作	   
Business	Varchar(40)	是	无	学生家长职务	   
Political	Char(8)	是	无	学生家长政治面貌	   
Phone	Varchar(13)	是	无	学生家长联系电话	   
Email	Varchar(20)	是	无	学生家长电子邮件	 
StuNo为学籍号,PName为学生家长姓名,Relation为学生和家长的关系,BornDate为家长的出生日期,Job为学生家长的工作,Business为学生家长的职务,Political为家长的政治面貌,Phone为家长的联系电话,Email为家长的电子信箱。

8.毕业生情况表:GStuStatus
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
StuNo	Varchar(10)	否	无	毕业生学籍号	   
StuName	Varchar(10)	否	无	姓名	   
SchCode	Varchar(10)	否	无	学校代码	   
Gender	Int	否	无	性别	   
InSchDate	Char(14)	否	无	进校日期	   
Born	Char(14)	否	无	出生日期	   
Phone	Char(13)	是	无	电话	   
GraNo	Varchar(10)	是	无	毕业前学籍号	 
StuNo为毕业生学籍号,StuName为毕业生姓名,SchCode为毕业学校代码,Gender为毕业生性别,InSchDate为毕业生进校时间,Born为毕业生出生日期,Phone为毕业生联系电话,GraNo为毕业生毕业前学籍号。StuNo为主键。

9.异动情况表:StuChange
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
DoFlag	Int	否	0	异动处理标记	   
StuNo	Varchar(10)	否	无	异动学生学籍号	   
MoveType	Int	否	无	异动类型	   
MoveTime	Varchar(14)	是	无	异动时间	   
ChangeField	Varchar(20)	是	无	异动对学生基本学籍表修改的属性	   
PreValue	Varchar(100)	是	无	修改属性的原值	   
ChangeValue	Varchar(100)	是	无	修改属性的新值	   
Remark	Varchar(400)	是	无	备注	 
DoFlag为异动处理标志:0-未处理、1-已导出但未返回,2-处理成功,StuNo异动学生学籍号,MoveType异动类型包括留跳级、转校、休学、复学、其他,MoveTime为异动时间,ChangeField为异动对学生基本学籍表修改的属性,PreValue为修改属性的原值,ChangeValue为修改属性的新值,Remark为备注。

10.重要成绩表:PriScore
 
字段名称	字段类型/长度	是否允许空	缺省值	说明	   
SchCode	Varchar(10)	否	无 	学校代码	   
StuNo	Varchar(10)	否	无	学生学籍号	   
Term	Int	是	无	学期	   
GradeType	Int	否	无	成绩类型	   
CourseCode	Varchar(10)	是	无	课程代码	   
Grade	Int	否	0	成绩	   
Remark	Varchar(200)	是	无	备注	   
CurStatus	Int	否	0	当前记录状态	 
SchCode为学校代码,StuNo为学生学籍号,Term为学期,GradeType为成绩类型,CourseCode为课程代码,Grade为成绩,Remark为备注,CurStatus为当前记录状态。
         
系统框图 
一.系统总框图

二. 系统维护/配置子系统框图

三. 学籍管理子系统框图

四. 成绩管理子系统框图

五. 查询统计子系统框图

六. 毕业管理子系统框图

七. 导入导出子系统框图

                     第四节  程序流程图
一.统维护配置子系统流程图

二.成绩管理子系统流程图

三.学籍管理子系统流程图

四.查询统计子系统流程图

第四章 学籍管理系统程序详细设计
一、开学处理子模块
开学处理子模块是在新的学年开学时对学校所有班级名称进行修改处理的子模块。每一个班级在这个市级学籍管理系统中唯一标志它的是该班级的班级代码,每个班级代码一共有十位,其中该班级代码中的第三、四两位是标志该班级的入学年份的。所以在赋予某个班级的新名称时,我们可以给它提供一个默认值。例如班级名称为一(1)班的班级在开学处理时我们可以给它提供默认值二(1)班,而二(1)班则是比它入学早一年在同年级编号为1的班级。而二(1)班和一(1)班在班级代码上的差别在于二(1)班班级代码中的第三、四两位所组成的值比一(1)班班级代码中的第三、四两位所组成的值小1。这样我们可以先取该班级代码中的三、四两位,将它从字符型转换成整型,然后对得到的整型数实行减1操作得到另一个整型数,再将该数转换回字符型,接着将原班级代码中的前两位和后六位与得到的转换后的字符型数连接得到另一个班级代码,最后通过读班级信息函数输入班级代码,返回班级名称,得到新的班级名称。如果返回值为空,则提供的新的班级名称也为空。
该开学处理子模块的友好界面如下:
    

如果该版本是教委版,那么当该界面弹出时,学校名称下拉框中将显示该区所有学校名称,而如果该版本是学校版学校名称就是该校的名称,并且它的ReadOnly属性为true。当某个学校名称选定或者给定后,该学校的所有班级的班级代码、班级名称就会按顺序罗列在班级代码、班级名称、班级新名称的列表中,而班级新名称的暂时缺省值为空。并且班级名称修改框中也会自动的显示列表中第一个班级的班级代码、班级名称和班级新名称。如果所给定的班级新名称就是所希望得到的更改后的班级新名称,就按保存键,如果不是,就先填写班级新名称,再按保存键。这时班级代码、班级名称、班级新名称的列表中的班级新名称列中就会显示所确认的班级新名称。按下一个键或者上一个键可以按照一样的道理对其它班级名称进行修改。如果该班级是已经毕业的班级那么就不对该班级进行班级名称的修改,班级名称修改框中就会自动的提醒你该班级已毕业。当所有的班级名称修改完毕以后,按确定键,通过接口程序就会修改数据库中的班级信息表。
这样就完成了一学年开学时对所有班级名称修改的工作。


二.重要成绩输入与管理子模块
   重要成绩输入与管理子模块是在进行了各种类型的重要考试包括小升初、中考、会考、高考以及期末考试后对学生考试成绩进行输入与管理的子模块。它是学校版与教委版通用的子模块。并且是按学校、班级、考试类型、科目、学期一次对一个班级所有学生进行成绩输入的子模块。
该重要成绩输入与管理子模块的友好界面如下:


当该界面弹出时,如果该版本是教委版,学校名称下拉框中将显示该区所有学校名称,而如果该版本是学校版学校名称就是该校的名称,并且它的ReadOnly属性为true。当某个学校名称选定或者给定后,通过读学校信息函数,班级名称下拉框中就会显示该学校所有班级的名称,然后通过读班级课程信息函数,科目下拉框中就会显示该班级所有课程科目,同时还需要将成绩类型、学期这样的信息填写完整。否则在进行成绩输入时,系统会自动弹出对话框提醒你。当所有必要信息填写完后,成绩列表中就会自动的显示该班级所有学生的学籍号、姓名、性别而成绩和备注栏中的自动缺省值为空。当进行成绩输入时,成绩输入框中会自动显示该班级中的第一个学生的学籍号、姓名、性别。这时就可以输入成绩了,输完成绩、填完备注后。按保存键,成绩列表中的成绩和备注栏就会更新为所输入的信息,同时数据库中的相关信息也将保存。按上一个或者下一个键可以对其它学生进行成绩输入。当所有学生的成绩录入工作完成后可以分别完成打印、统计和导出工作。
这样就完成了重要成绩的输入与管理工作。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -