1、学生学籍管理子系统1题目名称: 学生学籍管理子系统 学生姓名: 余四辈,严文元学号 0070122、075 系 部: 计算机与信息科学学院 专业年级:07级(2)班指导教师: 段红英 200年0月0日摘要学生学籍管理系统是典型的管理信息系统(S),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据1致性和完整性强、数据安全性好的库而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学籍的管理,包括添加、修改、删除,查询,打印信息以用户管理等6个方面.系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统的核心是添加、修改和删除3者之
2、间的联系,每1个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学籍的修改.查询功能也是系统的核心之1,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能. 系统采用Mcosot的SQL 00来设计数据库,并使用当前优秀的开发工具: crooft Vi Basic 。,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案.关键词:学生;学籍;管理信息系统;crosoft isa
3、asic 6。0第一章绪论。前言学生学籍管理是学校管理的重要组成部分,对于学校和政府教育单位来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。传统的人工方式管理方式效率低、保密性差,不利于查找、更新和维护。使用计算机对学生信息进行管理,能够极大地提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。作为计算机应用的1部分,使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨
4、的重要条件.因此,开发这样的管理软件成为很有必要的事情。学生学籍信息管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据库致性和完整性、安全性好的数据库.而对于后者则要求应用程序功能完备,易使用的特点.经过分析,我们使用易于与数据库连接的McrftVsual asic 。0开发工具,利用其提供的各种面向对象的开发工具,尤其是数据库窗口这1功能强大而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原形,然后对初始原型系统进行需求分析,不断修正和改进,直到形成用户满意的可行系统。学生学籍管理系统要实现的目标是为学校提供学生管理解决方案。具体目标如
5、下:l提高学生信息管理效率,节约管理成本,增强学生管理的安全性。l满足学校学生管理的人员、老师和学生的不同层次和不同方面的需要。l为学校将来的信息化建设提供必要的支持.总之,通过该系统的建设来提高学校的学生信息管理效率,使得学校的发展能够适应社会发展的脚步。1。2开发环境本学生学籍管理系统(数据库系统)的开发与运行环境如下:开发环境:Wndws XP辅助工具:PoerDesner Trial 1数据库管理系统:SQL Server00运行环境:ndow 20/X20031。3内容和要求1。3.1系统目标设计 使得学生的学籍管理工作更加清晰、条理化、自动化。 很容易地完成新生信息的输入、老生信息
6、的备份、毕业学生的信息可以很容易地保存。 当学生需要查询成绩时,可以很简单地将其需要的信息从数据库中查找出来并可以打印查询结果 随着当今网络技术的发展,提供网络在线查询功能,可以为毕业生提供更多的就业机会。1。3。2系统功能要求(1)学生基本信息系统 能够完成新、老生信息的输人、修改、插人、删除等工作。 可以按照特定的信息进行查找,并按照特定的要求进行排序. 可以对老生的信息进行备份,以便日后查询。 可以对学生的信息进行打印输出。 提供详细的帮助文件和系统维护功能。()学生成绩管理系统 此部分的功能如下: 学生成绩的输入、修改、删除等基本操作。 成绩的综合统计功能,包括学生成绩按照不同条件进行
7、排名。管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。 计算各班的总分和平均分,并按照平均分将各班成绩进行排序。 统计不及格考生的信息,根据条件确定是重修还是补考。 学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。 本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生的信息(此功能选做人提供给学生进行查询的系统和提供给教务处使用的系统,在不同用户使用时,应该会有不同的使用权限。 提供详细的帮助文件。由于数据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用时间较短。按照数据库系统开发步
8、骤进行数据库概念结构设计、逻辑结构设计、物理结构设计系统的功能模块设计图如图所示。 图1 系统功能模块设计图2需求分析第二章 用户及数据字典.1用户需求本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。实现的具体功能如下:l 基本信息管理系统管理员负责对各种基本信息的录入、修改、删除等操作。l 学生成绩管理-系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩.l 信息查询统计学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系
9、统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。l 毕业生信息管理系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。l 系统用户管理-系统管理员负责用不同的权限来限制不同用户对系统的使用。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。22划分功能模块根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图所示的系统功能模块结构图。学籍管理系统基本信息管理毕业生信息管理学生成绩管理系统用
10、户管理信息查询统计基本信息删除基本信息修改基本信息录入学生成绩删除学生成绩修改学生成绩录入修改密码输出相关信息统计学生成绩计算学生成绩学生成绩查询基本信息查询输出名册审核资格计算学分帮助信息图 21系统功能模块图2. 数据字典。1 数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。表 2。 老师基本信息表序号字段别名数据类型数据长度码学号cr10Y2tname姓名vca10N3ex性别Car2N4proess职称rchrN5name所属院系arha8N6t电话in表 。 学生基本信息表序
11、号字段别名数据类型数据长度码1sn学号vacar10name姓名arar0N3sse性别Ca2N4rthd出生日期imstamp205sml政治面貌vchard身份证号achar27ni入学时间varhar20Nbirthla籍贯vchar109homeadd家庭住址varcha0N10pcde邮政编码int表2。 专业信息表序号字段别名数据类型数据长度码1mno专业号cha102n学号vrca03mnam专业名car0N4ntie入学时间dteimN表 。 毕业信息表序号字段别名数据类型数据长度码毕业证编号ch12sn学号rcar10Nsme姓名ara10N4ssx性别ca2N5ame所属院
12、系vrcar10N6itime入学时间dttmNycredit已修学分oatN8xce需修学分foat表 .5 院系信息表序号字段别名数据类型数据长度码mp院系号vrcarY2a院系名称vrchaN3mhead院长名varcharN表.课程信息表序号字段别名数据类型数据长度码1cno课程号arcr5Y2cname课程名varcr5Ncedt学分allt表2。学生选课信息表序号字段别名数据类型数据长度码1so学号vrchar0cno课程号rcYrde成绩floatN表2。8 老师授课信息表序号字段别名数据类型数据长度码cn课程号vachar5Y2教工号103ctime课时mallintN2。数据
13、结构数据结构反映了数据之间的组合关系.一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,我对本系统一共分了个组,具体如下表所示:表 2.9数据结构表数据结构名含义说明组成部分学生基本信息管理描述学生基本信息学号+姓名+性别出生日期身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族老师基本信息管理描述老师基本信息教工号+姓名+性别职称所属院系电话学生、老师相关信息管理描述学生选课信息,毕业信息,专业、院系信息,老师授课信息,院系信息学号+课程号+成绩课程号+教工号毕业证编号+学号+姓名+性别+身份证号+所属院系
14、+入学时间已修学分+需修学分学生成绩管理描述学生平均成绩、总成绩的计算,统计相关信息学号课程号成绩系统管理描述用户修改密码,帮助信息2.4.3数据流数据流是数据结构在系统内传输的路径。通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:1、数据流定义表表 2.10 数据流定义表编号数据流名组成流量备注01学生信息学号姓名性别+出生日期身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码民族大学生基本信息02教师信息教工号+姓名+性别+职称所属院系+电话一般教师基本信息学生成绩学号+姓名性别+学号+课程号+成绩大学生详细信息0科目成绩学号+课程号+成绩大学生考试成
15、绩05各门成绩学号课程号+成绩课程号+课程名+学分大同上查询结果科目成绩+各门成绩大各种信息0统计分析科目成绩+各门成绩大学生奖励、外部项定义表表11 外部项定义表编号名称输入数据流输出数据流备注1学生处01主要用于录入学生信息学生0主要用语学生查询信息和成绩老师0主要用于老师提交成绩4教务员06/0主要用于输出查询和统计信息的结果。5。数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:表 2.12 数据存储表编号数据存储名输入数据流输出数据流数据量存取方式A1学生相关信
16、息0大批处理、顺序检索A2教师相关信息一般批处理、顺序检索A3学生成绩单06,07大批处理、更新、顺序检索2。4.5处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。对于本系统用于学生学籍管理一共设计了四种处理方法,具体处理方式如下表所示:表 213数据处理过程表编号名称输入数据流输出数据流备注B1插入修改1,2,031,2,0插入学生信息和老师信息B2更新修改0,02,030,0,3更新学生信息和老师信息B3删除修改01,02,030,0,0删除学生信息和老师信息B统计分析,0605,6统计学生信息和成绩第三章概念及结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合
17、、归纳与抽象,形成独立于具体DM的概念模型。.数据流图数据流图表达了数据和处理的关系,根据用户的需求分析和高校学籍管理系统的需求,得出如下图1所示的学籍管理数据流图。学生教师管理员学生记录成绩毕业送进信息录入查询计算统计更新录入新生?学生信息批准?成绩单批准?核对信息学生名单提交申请审核信息合格图1学籍管理系统数据流图3. 系统E-R图1.对于学生信息管理,我们可以将学生实体抽象出来,学生属于学院可以将学院作为一个实体,学生所属专业和毕业信息都将可以作为一个实体。图 32 学生实体ER图图 3 院系实体ER图图 专业实体E-R图图 3毕业实体E-图在学生信息管理中存在这样的关系:选择(一个学生
18、只能选择一个专业,而一个专业可以供多个学生选择,故是多对一的关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一的关系)。图 学生关系E-图2. 对于老师信息管理,我们可以将老师实体抽象出来,老师属于学院可以将学院作为一个实体。图3 老师实体R图在老师信息管理中存在这样的关系:拥有(一个老师只能在一个院系工作,而一个院系可以供多个多个老师工作,故是多对一的关系)。图 38 老师关系E-R图3.对于教务信息管理,我们可以将课程实体抽象出来。图 39课程实体ER图在教务信息管理中存在这样的关系:毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一的
19、关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多的关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多的关系)、授课(一门课程可以被多个老师讲授,而一个老师可以讲授多门课程,故是多对多的关系).第四章 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本ER图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构一般分为步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DB支持下的数据模型转换;()对数据模型进行优化41 关系模型将ER图转换为关系模型实际上就是要
20、奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码.对于实体型间的联系则有以下不同的情况:(1)一个1:联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个
21、独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。()一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。将概念结构设计阶段设计好的基本E-图转换为关系模型,如下所示:n 学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家
22、庭住址,籍贯,邮政编码,民族),此为学生实体对应的关系模式n 教师(教工号,姓名,性别,职称,所属院系,电话),此为老师实体对应的关系模式。n 毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入学时间,已修学分,需修学分),此为毕业实体对应的关系模式。n 课程(课程号,课程名,学分),此为课程实体对应的关系模式。n 院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。n 选修(学号,课程号,成绩),此为选修关系对应的关系模式。n 授课(课程号,教工号,课时),此为老师授课关系对应的关系模式。n 开设(专业号,课程号),此为专业开设课程关系对应的关系模式。第五章 物理结构设计与
23、功能实现5。1物理结构设计数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数数据库的物理设计通常分为两步:()确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。51。 确定数据库的存储结构由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。51。 存取方法和优化方法存取方法是快速存取数据库中
24、数据的技术.数据库管理系统一般都是提供多种存取方法。常用的存取方法有三类。第一类是索引方法,目前主要是B树索引方法;第二类是聚簇方法;第三类是AH方法。数据库的索引类似书的目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的清单。在数据库中,索引就是表中数据和相应存储位置的列表。使用索引可以大大减少数据的查询时间。但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法这是因为增加索引也有其不利的一面:首先,每个索引都将占用一定的存储空
25、间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。5。2 功能实现完成数据库的物理设计之后,设计人员就要用RBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库,最后就在此基础上编写各个表相关的触发器和存储过程5.2 触发器触发器是用户定义在关系表上的一类由事件驱动的特殊过程一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBM核心层进行集
26、中的完整性控制。由于本系统的触发器比较多,在这里我只写出了其中的一部分触发器,具体如下所示.(1)数据更新-CREEIERscuate N do.suden /建立学生信息表更新触发器FR PTEASDT C /更新学生选课表S SN (SLCTSNOFR NSTD) /将SC表中的学号改成学生表改后的 S= (SELET SO FROM DELTED); /更改对应的学生学号-RATETRIGGR gradatedte ON。tudent /建立学生信息表更新触发器OR UPDE ASDE UTE/更新学生毕业信息表GAEST =(SECSNO FOM NSERTED) /将DUATE表中的
27、学号改成学生表修改后的WHEREO = (ECT NOFROMELETED); /更改对应的学生学号-CEATETIGERmjorupdate Ndb.tudn /建立学生信息表更新触发器FO UDATE ASPDATE AJOR /更新专业信息表MJOSE SN =(LCTSNO FRM NSETED)/将MAOR表中的学号改成学生表修改后的WHERE = (LT SN FRM DELETED); /更改对应的学生学号-CREAE TRGER tdent1 ON bo。major /建立专业信息表更新触发器RUPDT ASUDAT TUDENT /更新学生信息信息表STUDNTSTMNO =
28、(SEET MO FROM NRED) /将SUET表中的专业号改成专业表修改后的WHEREM (SLECT MNO R LETE); 更改对应的专业号-REATE TIGR sudent2updateONdo。dparent /建立院系信息表更新触发器O UPDTE AP STUDT/更新学生信息信息表STUENSETDMPNO = (SLECT DPN ROMISRTED) /将SDEN表中的院系号改成专业表修改后的WHEREMP= (ELCT DMOOELEED); 更改对应的院系号-(2)数据删除-CEATE TRIGGR eachudat ON dbo.teache /建立教师信息表
29、删除触发器FR LEASUPDAT CH /删除授课信息表EACT TNO =NULL /删除ECH表中的教工号删除HEREN (SEEC NFROMDLET)/找到对应的教工号-CREAT TRIGG pdate ONo。cor /建立课程信息表删除触发器FORELETESPA/删除选课信息表SCSO NU 删除SC表中的课程号删除WHERCO =(ELEC CNFOM DLEE) /找到对应的课程号-CAE RGGERstu_majorate dom /建立专业信息表删除触发器FORDETEASUDATE SUDENT /删除学生信息表UDETSE MNO=UL /删除STUDN表中的专业
30、号删除HER MNO = (CT MNO RMDTED) 找到对应的专业号-CREATE TRIGER eacherupd ON d.eatmen /建立院系信息表删除触发器FODELT ASUPDAT TEAER /删除教师信息表TECR SET PNO NULL /删除TACHER表中的院系号删除WERE DPO = (SELECDPNO RODELE) /找到对应的院系号-52存储过程存储过程是L/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。(1)数据查询-存储过程名:教师信息查询入口参数:t varhar(0)/输入教师的教工号出口参数:tno
31、 cr(1), tname vr(10), fesarcr(1), dnme vcar(), te t, tse cha(2),定义存放输出教师信息的变量CEATE POEDURE selectache /建立查询教师信息存储过程nASSLEC tnotoFOM INSRED选择与输入教工号相等的所有记录SELECT /选出符合条件的教师所有信息 ROMecherGO-存储过程名:院系信息查询入口参数:dpn/输入院系的院系号出口参数:dm, dpame,hed, /定义存放输出院系信息的变量REA PRCEDUEslecteprtet/建立查询院系信息存储过程mnoSSEL mpo dmn
32、FROMINSRED/选择与输入院系号相等的所有记录SLCT */选出符合条件的院系所有信息 FRM dertnt GO-(2)数据插入-存储过程名:学生信息插入入口参数:n arca(10),i vrr(2), inim rchar(),irthplacearhar(0), sname vrc(1),ssex chr(2), brthdayvarar(2),sybolarhar(), homadr archr(), postcode i,输入需要插入的学生所有信息 出口参数: 无CTE CEDRE nsrtsuent/建立插入学生信息的存储过程 snvarchar(), idarcar(2)
33、,tievarcr(20),bithplac vrca(0), e vrchar(10),sexch(2), rhd ac(0),syo var(8),hmaddvara(0), pstode nt,/定义存放插入学生信息的变量AERT NT stuent(n,sname,ssex,thday,bol,id,itime,irtpae,heddr,postcode)/插入学生表对应的列名VALUES (sno vha(10), nae varchar(0), sexhar(2),irtday varchar(20),ymblvrcha(), d vachar(20),intie vrcha(2), biplcearcha(1),madrarcar(20), postc n)插入学生表对应列名值GO-存储过程名:教师信息插入入口参数:tnchr(), tne vaha(10),pes acar(10), dname varcha(1),