学生成绩管理系统范例6篇

前言:中文期刊网精心挑选了学生成绩管理系统范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

学生成绩管理系统

学生成绩管理系统范文1

关键词:SQL Server;成绩管理系统;数据库设计

中图分类号:TP 文献标识码:A

原标题:学生成绩管理系统数据库的设计

收录日期:2013年4月9日

引入

因为各高校学生人数的增多以及学生成绩管理工作的复杂性,人工管理学生成绩信息的效率越来越低。这种情况下,学生成绩管理系统就出现了。

一、需求分析

需求分析是整个数据库设计中重要的一步,在这个阶段要充分地与用户沟通交流,了解与分析用户的需求。学生信息管理系统中涉及的主要人员有学生、教师、管理人员;主要的部门有教务处、系部。在需求分析时可以通过问卷调查、谈话等方式,了解用户的需求,最终绘制系统的数据流程图。

二、数据库表

关系数据库中所有的数据都存储在关系表中,通过需求分析,我们可以在学生成绩管理系统中创建以下数据表(此处只列举主要的数据表)。(表1、表2、表3、表4、表5)

三、索引

索引是提高查询的主要方法,在图书管理系统中,因为图书数量的庞大,所以建立索引是必不可少的。在为表中的主键建立索引以后,系统会自动地在主键上创建聚集索引。除此之外,我们还可以为一些经常查询的字段上,创建非聚集索引。

索引创建以后会提高查询效率,但也会引起一些问题,如降低数据更新的速度、索引建后需要维护。所以,在创建索引时,要综合考虑其优缺点。可以参考以下原则为表中的列创建查询:(1)经常用于查询的列;(2)经常用于分组和排序的列;(3)在连接中常用到的列。

按照以上原则,我们可以为以下列创建索引:Stu_Id、Stu_Name、Tea_Id、Tea_Name、speciality_Id、class_Id等。

四、存储过程

存储过程是T-SQL语句的集合,能够实现特定的功能。使用存储过程,可以大大减少网络传输流量,提高应用程序性能,而且由于它只在第一次执行时被优化、编译。因此使用存储过程不仅可以极大地降低应用程序的实现难度,而且还可以极大地提高系统的运行速度、效率。SQL Server 2005中存储过程分为:系统存储过程、用户自定义存储过程、扩展存储过程三种。例如:在该系统中,我们可以创建存储过程实现按照学生姓名查询成绩。实现代码如下:

CREATE PROCEDURE grade_by_name

@name char(10)

AS

BEGIN

SELECT*FROM grade

WHERE Stu_Id=(SELECT Stu_Id FROM STUDENT WHERE Stu_Name=@name)

END

五、触发器

触发器是在执行操作语句时自动执行的一种存储过程。触发器可以侦测到数据库内数据的操作,并自动地级联影响到整个数据库的操作,从而保证数据库数据的完整性和一致性。例如:在某一个学生退学删除学生基本信息以后,那么该学生相应的成绩信息也应该被删除。可以以下代码完成该功能:

CREATE TRIGGER STUDENT_DELETE

ON Student

FOR Delete

As

BEGIN

Delete from grade

Where stu_id=(Select stu_id from deleted)

END

主要参考文献:

学生成绩管理系统范文2

关键词:学生成绩管理;成绩查询;选修课程;开发技术

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2016)22-0072-02

1 背景

学生的成绩管理对于每个院校来说都是很重要的一部分,该系统的作用主要是用于教务处对学生的管理、对该校的课程和对本学校学生成绩进行更加有效更加合理地安排,以便让老师或者教务工作人员提高工作的办事效率,在尽量短的时间内核算出学生的成绩来。以此同时,老师或者其他的工作人员能够每时每刻对本学院的学生输入的基本信息、学生的平时或者期末成绩进行简单而快速查询,使得老师更加了解学生的现状,更改教学方式。

设计该系统的意义重大:1)本系统可针对某个高校进行处理某一些数据体现了适用性;2)对某一些数据进行数据的分类处理,有效地防止数据出错而带来的不便;3)能够根据不同的查询条件来查询用户需要的数据,或者进行多条件的或者模糊的查询来达到查询的结果;4)对查询的结果可以一目了然,方便而快速得到结果;5)操作简单,不需要太多的约束。

2 系统分析

2.1 需求分析

学生成绩的管理系统的设计主要围绕的是学生的成绩,所以重点是处理学生成绩这个模块,学生的成绩由老师上传的成绩来确定的,而老师上传成绩的时候要确定是哪个学生,就需要先查询学生是否是自己教授的专业,如果不是就不能录入成绩,而应该先查询对应的教授学生所属的课程的班级,再确定成绩。所以就要先有管理员添加学生所属的院系、课程、班级等信息。然后教师教授哪个班级。

学生成绩系统中院系的课程信息、学生的基本信息、学生成绩的管理、教师信息的管理,管理员管理其他的角色等,这些都是基本的管理模块。

系统角色分为学生、老师、系统管理员三种角色,角色的职责如表1的职责描述。

2.2 功能分析

在整个网站系统中,系统具备以下主要功能:

1)系统公告:任何打开该网站的用户都可以看到有关的选课信息,但是如果要选课就必须要登录。

2)学生要进入必须在管理员添加该生的信息:若新生想要看自己的信息,必须在管理员添加该生的信息后方能进入,否则提示“无此账号,请联系管理员!”。

3)教师要进入必须在管理员添加该生的信息:若教师想要看自己的信息,必须在管理员添加该教师的信息后方能进入,否则提示“无此账号,请联系管理员!”。

4)学生对个人信息的管理:修改用户密码、修改或者完善个人信息。

5)学生选修课程管理:学生可以查看选修的课程。

6)教师开设选修课,管理选修课程的学生的成绩。

7)管理员拥有管理院系课程,院系,管理教师授课信息,管理学生信息等。

3 总体设计

3.1 系统功能模块图

本系统功能模块按照系统的设计可以把系统划分为以下模块:管理员模块、教师登录模块、学生登录模块等模块,具体如下图1所示。

3.2 数据库总体设计

本系统的结构并不复杂,数据量也不是很大,所以采用MySQL作为数据库,经过分析,该系统包含的主要实体有教师、课程、学生、选修课程、管理员等,使用E-R关系图表示如下图2所示。

3.3 系统流程示意图

该系统经过分析,可用流程示意图如图3所示。

4 结束语

学生成绩管理系统基本实现了课题所要求的功能,主要包括管理员实现管理功能,教师登录管理,学生登录查询等功能。该系统基于JSP技术,使用MySQL作为数据库,结合Tomcat服务器,共同完成了项目的开发。

本系统在设计时主要考虑了用户使用习惯,设计的系统操作简单,方便灵活,界面友好,基本功能完善。本系统主要的工作和成果包括:1)完成了学生成绩管理的需求分析工作;2)对数据库的表进行了充分的分析;3)详细介绍了系统的设计与实现过程;4)对系统进行了一定的测试。

参考文献:

[1] 黄磊, 杨武军, 张鹏程, 等. 基于JSP和Android的歌手竞赛信息交互系统设计[J]. 计算机测量与控制, 2016, 24(2): 175-178.

[2] 王庆喜, 齐万华. 职业规划与就业交流系统分析与设计[J].电脑知识与技术, 2016, 12(8): 85-86.

学生成绩管理系统范文3

关键词:C语言;学生成绩管理系统;程序设计

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)04-0059-04

1 背景

如今各大高校均需要一个完整的系统来管理和保存学生的各门课成绩信息,以便后期使用,论文以河海大学文天学院的工科专业学生成绩为例,运用C语言程序设计和程序运行的环境,设计了一个简单的学生成绩管理系统,下面就来介绍该系统是如何构建的。

2 系统需求分析

2.1 系统功能划分

该系统主要功能如下:

1)学生基本信息和成绩的录入;

2)学生成绩的管理,如计算总分、排序、统计等功能。

2.2 系统功能结构设计

这个学生成绩管理系统中包含的学生信息有:学生的学号、姓名、性别、高数成绩、英语成绩、计算机成绩、三门功课总分,主要的功能模块如下:

1)输出学生基本信息并算出总分;

2)按照学号进行排序;

3)按照总分进行排序;

4)统计各门课程平均分;

5)统计男女学生人数;

6)按照姓名进行排序;

7)统计高数成绩优秀(大于等于80分)的人数,并输出符合条件的记录;

8)统计每门功课成绩都在80分以上,或总分在240分以上的人数,并输出符合条件的记录。

C语言中系统的每个功能由一个函数来实现,其系统功能模块层次结构图如下:

图1 学生成绩管理系统功能模块层次结构图

因为函数就是功能,所以对于图1的功能模块层次结构图,每个模块就对应C语言中的一个函数,该系统中所涉及的函导捌涔δ苋缦拢

1)int Menu();

主控菜单函数,有返回值,无参数。用菜单形式显示该系统能实现的所有功能,以供用户查看和使用。函数中的返回值为用户输入的序号code,为局部整型变量。

2)void Read(struct student stud[],int *n);

读入数据函数,无返回值,有参数。形式参数stud为结构体数组,由于调用此函数时实际参数为数组名,因此此处用数组接收;形式参数n为指针变量,由于实际参数为存放学生人数的整型变量的地址,因此n指向存放学生人数的整型变量,这样可以在读入学生信息的同时,还可以统计出学生的人数。

3)void Print(struct student *pstud,int n);

输出数据函数,无返回值,有参数。形式参数pstud为指针变量,指向存放学生信息的结构体数组,这样可以将相关变动信息返回给主调函数;形式参数n为整型变量,存放学生的人数。

4)void total_order(struct student *pstud,int n);

按总分排序函数,无返回值,有参数。形式参数同上。

5)void num_order(struct student *pstud,int n);

按学号排序函数,无返回值,有参数。形式参数同上。

6)void ave_count(struct student *pstud, int n);

统计各门课平均分函数,无返回值,有参数。形式参数同上。

7)void nn_count(struct student *pstud,int n);

统计男女学生人数函数,无返回值,有参数。形式参数同上。

8)void name_order(struct student *pstud,int n);

按姓名排序函数,无返回值,有参数。形式参数同上。

9)void gxyx(struct student *pstud,int n);

统计高数成绩优秀人数函数,无返回值,有参数。形式参数同上。

10)void mm(struct student *pstud,int n);

统计每门课分数不小于80分或总分在240分以上人数函数 ,无返回值,有参数。形式参数同上。

3 C语言程序设计

一个C语言源程序由若干个函数构成,且有且仅有一个主函数,主函数的名字只能是main,其他函数名字由用户自己定义,只要满足标识符的四大规则即可。一个程序总是从主函数开始执行,无论主函数在前还是在后,该系统中除了主函数外,还有十个函数,下面针对其中几个重要的函数进行程序设计。

3.1 主函数程序设计

为了方便读者更好地读懂该程序,部分地方加了注释,以上程序中/* */为注释,计算机并不执行。其中第四行的N为符号常量,表示该系统记录了10个学生信息,每个学生信息用结构体类型的数组来保存,该结构体类型包含4个子成员,每个成员又是另一种类型的数据,其中学号、姓名、性别均由字符数组存储,成绩由整型数组存储,这样就构成了struct student结构体类型,主函数中的第一条语句就是用这种类型定义了结构体数组stud,用来存放十个学生信息。接下来就在主函数中调用各个函数,实现相对应的功能。

3.2 用户自定义函数程序设计

3.2.1 主控菜单函数的设计

在屏幕中显示主控菜单,scanf为输入函数,需要输入一个整数,通过输入相对应的数字序号,可以实现相应的功能,例如输入1,即显示学生全部信息。

3.2.2 读入数据函数的设计

该系统是从文件中读取数据,10名学生的信息存储在文本文件studfile.txt中,如果想修改学生信息,直接在文件中修改即可,不用修改程序,这样既方便又快速,大大节省了时间。

3.2.3 按姓名排序函数的设计

以上程序使用冒泡的排序方法按姓名从小到大排序,系统直接将排序的结果输出到屏幕中,以供用户查看和使用。

4 系统界面

将以上程序输入到计算机C语言开发环境Microsoft Visual C++6.0中,经过编辑、编译、连接以后就可以运行了,运行界面如下:

1)系统菜单界面

当按下回车键,系统进入菜单模式,按照序号选择需要显示的信息。

2)@示学生信息界面

当按下序号1,系统进入显示全体学生信息界面,显示的同时计算出了3门课总分。

3)按学号排序界面

按下回车键继续进入菜单进行选择,当按下序号3,系统进入按学号从小到大排序的界面。

4)统计高数优秀的学生人数和记录

按下回车键继续进入菜单进行选择,当按下序号7,系统进入统计高数不低于80分的人数和记录。

5 结束语

论文主要介绍了学生成绩管理系统的设计与实现过程,分别从系统需求分析、系统程序设计和系统界面设计三个方面展示了系统的设计与实现,其中系统需求分析包括大体功能划分和具体功能结构设计,并设计了功能结构图,描述了各项功能,系统程序设计包括主函数和其他自定义函数的设计。该系统总共实现了八项功能,学生信息来源于文本文件,这样大大方便了学生信息的增删改查等功能。系统中所有功能使用到的方法,还可以实现更多的功能,拓展性能良好,便于各高校各专业使用。

参考文献:

[1] 胡枫. 《C语言程序设计》的案例式教学的设计[J]. 青海师范大学学报, 2010(4).

[2] 谭浩强. C程序设计[M]. 4版.北京: 清华大学出版社, 2010.

[3] 宫业芹. C语言程序设计网上教学系统的设计与实现[D]. 济南: 山东大学, 2012.

学生成绩管理系统范文4

互联网时代,信息技术给人们的工作和生活带来了极大的便利。一个功能完整的管理信息系统通常由两部分组成,即前台应用程序和后台数据库。前台应用程序通过互联网与后台数据库进行数据交互,包括数据的增加、删除、修改、查询,这就是数据库的4个基本操作,简称CRUD操作。在数据库的4个基本操作中,查询是使用频率最高的操作,因此查询效率的高低直接关系到应用程序性能的好坏。大数据时代数据量增长很快,如果不注重数据查询效率的优化,随着数据量的逐渐增加,数据查询效率将逐渐降低,最终将严重影响管理信息系统的用户体验。因此,必须将数据查询优化作为管理信息系统开发与维护的重要内容,贯穿系统生命周期始终。 

1研究对象与方法 

学生成绩管理系统是一个典型的基于数据库的管理信息系统,在教育管理中应用非常广泛。根据数据库设计原则,按照第三范式的要求设计数据表结构。学生成绩管理系统数据库的表结构由成绩表、学生表和课程表组成。成绩表中包含学期、学号、课程号、成绩等字段,学生表中包含学号、姓名、学籍表等字段,课程表中包含课程号、课程名称、学时、学分等字段。 

将学生成绩管理系统数据库部署在Windows Server 2008操作系统和 SQL Server 2008数据库管理系统上。数据查询一般通过SQL查询语句来实现各种查询逻辑。在外部环境保持稳定的状态下,数据查询效率越高,SQL语句的执行时间越短。因此,可以通过计算SQL语句的执行时间来进行数据查询效率比较分析。 

2数据查询效率影响因素 

由于数据查询是一个前台应用程序与后台数据库的交互过程,涉及很多环节,因此影响数据查询效率的因素有很多。归纳起来,影响数据查询效率的因素主要来自物理层、数据库层、应用层[1] 3个层面。 

在物理层,影响数据查询效率的主要因素包括服务器CPU性能、内存、硬盘、网络、操作系统等。在数据库层,影响数据查询效率的主要因素包括索引、视图、数据存储、数据冗余等。在应用层,影响数据查询效率的主要因素是SQL语句的写法和应用程序设计。 

3数据查询优化方法 

3.1物理层优化方法 

数据库部署在服务器上,服务器性能的好坏直接影响查询效率。针对物理层影响数据查询效率的主要因素,可以采取以下优化方法: 

(1)提高CPU性能。CPU是计算机负责执行指令和处理数据的核心部件。服务器性能的高低很大程度上由CPU的性能决定。数据库的查询操作特别依赖CPU的并行处理能力。因此,应该为数据库服务器配置高性能的CPU。 

(2)增加内存。数据查询分为物理读和逻辑读,物理读是从硬盘读取数据到内存缓冲区,逻辑读是直接从内存缓冲区中读取数据。内存的读写效率远远高于磁盘的读写效率,而且物理读还会增加磁盘I/O操作。因此,为了保证数据查询操作都能够在内存中完成,应该尽量为数据库服务器配置足够多的物理内存,同时要配置相应的虚拟内存。 

(3)配置多块硬盘。数据查询操作需要大量的I/O操作,将I/O操作尽可能平均分配在多块硬盘上才能有效提升硬盘的并行读写性能。因此,应该为数据库服务器配置多块硬盘,避免使用单块超大容量硬盘。 

(4)提高网络带宽和网络稳定性。应用程序与数据库之间通过互联网进行数据交互,因此应该提高数据库服务器的网络带宽和网络稳定性。 

(5)提高操作系统性能。数据库管理系统安装在操作系统上,应该加强操作系统的管理与维护,提高操作系统性能。 

3.2数据库层优化方法 

数据库管理系统负责SQL查询指令的执行,因此数据库层的优化是数据查询优化的核心,其对数据查询效率影响最为显著,可以采取以下优化方法: 

(1)索引优化。索引是对数据库表中一个或多个列的值预先进行结构排序。索引可以避免全表扫描,因而可显著加快数据库的查询速度[2]。索引分为聚集索引和非聚集索引。与非聚集索引相比,聚集索引通常能够提供更快的数据访问速度。一般应考虑将频繁查询、连接、排序或分组的列设为索引列,其中最频繁操作的列设为聚集索引列,避免在数据量较小的表上建立索引,同时避免在频繁进行插入、删除和修改操作的列上建立索引[3]。如成绩表一般按学号查询,因此将学号列设置为聚集索引列。同时根据需要将学期、课程号、成绩等列设置为非聚集索引列。 

(2)视图优化。视图是由一个或者多个表组成的虚拟表。通过连接查询(JOIN)和联合查询(UNION)建立视图,可以实现数据库中数据的合并与分割,极大方便了数据查询。如成绩管理系统中成绩表分别与学生表和课程表进行连接查询,建立一个视图,将学号、姓名、课程号、课程名称、学时、学分、成绩等信息放入一张虚拟表中,应用程序查询时只需要查询该视图即可获得所需数据。视图查询同时涉及多个物理表操作,当数据量较大时,容易产生查询效率低下的问题。为了提高查询效率,视图的定义深度一般不应超过三层。若三层视图不够用,则应在视图上定义临时表,在临时表上再定义视图。这样反复交迭定义,视图的深度就可以不受限制。既保留了视图的便利性,又兼顾了查询效率问题。

     (3)数据存储优化。数据库通常包括数据文件和日志文件。数据文件和日志文件默认存储在相同的位置。由于数据文件和日志文件的操作会产生大量的I/O,因此应将日志文件与数据文件分别存储在不同的硬盘上以分散I/O。通常情况下,数据库默认只有一个主数据文件,不生成次数据文件。为了提高查询效率,必要时可以通过定义文件组把数据库中的一些表分开存储在不同的数据文件里,即增加次数据文件,同时把不同的数据文件分散存储在不同的硬盘上[4]。此外,数据文件长期自动增长可能产生碎片,导致物理空间与数据的逻辑空间不再连续。因此,有必要定期整理数据库碎片,以提高数据库查询效率。 

(4)适当增加数据冗余。按照数据库的设计原则,数据表应该避免数据冗余。但是,为了提高数据的查询效率,有时需要降低范式标准,适当增加数据冗余,达到以空间换时间的目的。数据冗余包括字段冗余和表冗余。字段冗余是通过增加冗余字段,减少数据计算和连接查询。如学生表中的性别和出生日期,虽然可以从身份证号中获取,但是为了提高查询效率,应增加性别和出生日期字段。表冗余是通过增加冗余表提高查询效率。以成绩表为例,运行多年的成绩管理系统中保存了历届学生的成绩信息,包括已经毕业的学生成绩信息,多年累积下来,数据量不断增加,导致查询效率降低。此时,可以考虑建立一个数据冗余表,其表结构与成绩表的视图一致,但是只保存在校学生的成绩信息,数据量会大大减少。对在校生的成绩查询只需要查询冗余表,查询效率大大提升。成绩数据冗余表要能自动更新,以便与成绩表数据保持同步和一致。可利用SQL Server 2008的服务功能,建立一个每天凌晨定时自动执行的作业,作业分为两步: 

step1:清空老数据,相关SQL语句为: 

Truncate table cj_query 

step2:插入新数据,更新冗余表,相关SQL语句为: 

INSERT INTO cj_query (xq,xh,xm,kch,kcmc,xs,xf,cj) 

SELECT xq,xh,xm,kch,kcmc,xs,xf,cj 

FROM cj_v /* cj_v为成绩表、学生表、课程表作连接查询建立的视图*/ 

WHERE xjm = '01' /*在校学生的学籍码为01*/ 

3.3应用层优化方法 

应用层涉及SQL语句的编写和应用程序的设计,其是否合理很大程度上会对数据查询效率产生影响。针对应用层影响数据查询效率的主要因素,可以采取以下优化方法: 

(1)SQL语句写法优化。SQL语句优化要注意的地方很多,总的原则是限制返回结果集,尽量避免全表扫描。返回结果集越大,逻辑读数就越大,而且如果超出内存缓冲区的容量,还需要增加物理读数,从而增加磁盘I/O操作。因此应该限制返回结果集的大小,包括行数和字段列数。全表扫描是指搜索表中的每一条记录,直到所有符合给定条件的记录返回为止,效率非常低下,因此应该尽量避免全表扫描。根据优化总原则, SQL语句优化方法总结如下:①避免使用 select * from table,应该用具体的字段代替“*”,不要返回任何用不到的字段;②尽量避免在where子句中使用!=、<>、not、in、or等运算符,因为这些操作可能会引起全表扫描;③尽量避免在 where 子句中对字段进行函数运算和表达式运算,这将导致数据库放弃使用索引而进行全表扫描;④尽量避免使用子查询,如不能避免时,应尽量减少子查询的嵌套层次,并在子查询中过滤掉尽可能多的行;⑤尽量避免使用外连接,因为外连接必须对左表或右表查询所有行,应尽量使用内连接;⑥合理使用临时表和表变量,当需要重复使用数据量较大的表中某个数据集时,应当考虑使用临时表或表变量,这样可以大大提高查询效率[5]。表变量存储在内存中,临时表存储在系统数据库tempdb中。对于较小的数据集考虑使用表变量,对于大数据集,由于内存无法容纳,使用表变量效率反而不高,应该使用临时表。同时,应避免频繁创建和删除临时表,以减少系统表资源的消耗。 

(2)应用程序设计优化。应用程序设计有时也会影响数据查询效率。在可能的情况下,应用程序应尽量采用分页设计,这样可以分批多次获取数据集,提高单次查询响应速度。同时,应用程序设计时还需考虑并发性,防止出现数据库锁死和查询阻塞现象。此外,对于Web应用程序,还应考虑使用数据缓存和局部刷新技术,减少数据查询次数和查询数据量。 

4结语 

大数据时代,数据库中的数据量持续增加。为了保证信息管理系统始终具有快速的响应速度和良好的用户体验,必须深入研究数据查询优化技术。本文以学生成绩管理系统为例,从物理层、数据库层和应用层3个方面分析了影响数据查询效率的主要因素,给出了相应的数据查询优化方法。实际应用中,应从多个方面综合采取合适的优化策略,才能有效提高数据查询效率。 

参考文献参考文献: 

[1]刘辉兰, 陈卫东.数据查询优化技术的研究和探讨[J].中国数字医学, 2015 (7):7274. 

[2]林勤花.关系数据库查询优化技术研究[J].电脑编程技巧与维护, 2014, 10(9):3031. 

[3]樊新华.关系数据库的查询优化技术[J].计算机与数字工程, 2009, 37(12):188192. 

[4]冯卫兵.关系数据库的查询优化[J].现代计算机, 2010 (1):3033. 

学生成绩管理系统范文5

论文关键词:成绩管理系统教务管理,ASP,课程报考,成绩查询

 

为了减少教务管理人员工作量、使学生成绩管理工作更加精确、使学生成绩检索更加方便及时,我们开发了此系统。系统主要适用于中职学校、高等职业学校或普通高等学校阶段学生成绩管理。

本文介绍的实验成绩系统,是利用ASP和ADO技术开发的。目前,采用微软件公司的ASP(ActiveServer pages)和ADO技术组合开发检索和查询分布式数据库的信息是因特网上的数据库应用主流。

1、开发技术的选择

ASP是Active Server Pages的缩写。能够将代码直接嵌入HTML,通过内置的组件实现强大功能。

ASP包含内置对象,最常用的是五大对象、一个集合和一个文件,即:Request、Response、Server、Session及Object-Context对象;一个是Cookies集合;一个Global.asa文件。ASP可以使用两种脚本语言:VBScript和Jscript。本系统是基于VBScript语言。

2、学生成绩管理系统设计

2.1系统内容规划

我们对学生成绩进行管理的做法是:首先向系统录入原始的学生信息、教师信息、教学计划所有课程信息,每学期考试前由教务人员或各班班主任对本班本学期考核课程进行报考。考试完毕后,教师根据学生平时表现录入学生平时成绩、教务管理人员根据学生试卷得分录入每个学生相应课程的期末成绩、各班班主任依据学生平时考勤情况录入学生考勤成绩(学生成绩组成方法为:期末成绩×60% + 平时成绩×30% + 考勤×10%)。最后,各教师或教务人员可进入检索频道对学生成绩按班级、按课程、按学生进行检索,学生也可以进入查分入口对自己各科成绩进行查询。

系统主要分为系统初始化、成绩管理、教务信箱、帐号管理四个模块。

系统初始化中实现以下功能:学生信息录入、查询、维护;班级信息录入、维护;教师信息录入、查询、维护;课程信息(教学计划)录入、查询、维护;本学期考试课程报考。

成绩管理中实现班主任录入考勤成绩、教师登入平时成绩、教务人员录入卷面考试成绩、考试成绩检索等四种功能。

职教信箱设计教务公告、站内信息、讨论区讨论等三个功能。

帐号管理功能为班主任、任课教师分别管理各自用户密码,教务人员可管理所有教师及班主任用户密码和超级管理帐号密码,并增加或删除用户。在此模块下,用户也可查看本系统帮助信息。

本系统的功能设计如图1。

图1

2.2数据库设计

用户登录系统时需经过系统验证用户名密码,用户名和密码资料存储于数据库表login中如表1所示;初始化系统时,学生信息储存在表student中,如表2所示;班级信息表classs如表3所示。各项数据均通过数据库中表储存起来,其中学生成绩储存在成绩表fen中,录入或查询学生成绩即是操作该表中的数据。值得注意的是,在本系统中,表之间依赖学生编号、课程编号、教师编号等主键建立关联。

3、学生成绩管理系统的实现

学生成绩管理系统的目的是实现成绩管理的自动化成绩查询,主要实现的是成绩录入、查询功能,教务信箱功能为扩展功能。

3.1学生管理模块

学生信息是原始数据,在为每个学生建立成绩档案之前,必须首先建立学生信息档案。同时,为了方便班主任查询、修改、添加学生信息,本模块集成了比较完善的学生信息管理功能,包含:1)按班级、班主任、学生状态、性别、走读或住读、姓名、学号、身份证号等条件查询检索学生信息,检索条件之间可以进行组合。2)以列表形式现实查询结果,列表中间隔的行之间以不同底色以突出显示,鼠标指向的行以高亮度背景显示。每页显示记录数可手动选择每页30条、50条或100条记录。3)新学生入学,班主任需在系统中添加新学生信息模块录入学生详细初始信息论文范文。

系统界面见下图2

图2

3.2课程报考模块

课程报考是登分前的必要步骤,因为教学计划中课程数量庞大,为了保证系统速度就不能每次遍历教学计划中的课程。每学期考试工作前,由教务管理人员将本学期的考试课程逐一报考,报考课程从教学计划中提取,首先选择专业或班级教学计划下的课程名,然后从教师数据库中提取责任教师ID,填写报考人数和安排考试时间及考试形式(考试形式分为笔试、机试、随堂考试三种类型)。报考完成后,可以以班级、任课教师、考试形式、课程编号、开课学期等为检索条件对本学期考试课程进行检索。

界面见下图3

图3

3.3成绩录入模块

成绩录入是整个系统中比较关键的环节,由于考试课程编号与学生学号是多对多的关系(同一门课程有多个学生报考,同一个学生要报考多门课程),在加上系统设计的成绩组成部分为:期末成绩×60% + 平时成绩×30% + 考勤×10%,使得成绩录入及汇总计算过程实现难度更大。在本系统,我们设计了如表7所示的成绩数据库,将平时成绩、考勤成绩、期末成绩分别建立字段,并在录入的同时由系统按照比例生成总成绩写入数据库。

3.4成绩检索模块

检索成绩的过程,就是系统数据输出的过程。预计检索成绩的主体可能有班主任、教务管理人员、任课教师、学生等。由于学生不能登入此系统,我们设计学生检索入口在系统外部即学校主页上的检索链接,学生由学生检索入口进入,输入个人班级、姓名,可以检索到单个学生本学期考试课程的所有成绩。其他检索主体均可以登入此系统,于是系统分别设计了按班级查询成绩总表、查询每个班级的所有考勤成绩、查询每个班级中每个课程的单项成绩及汇总成绩。

界面见下图4

图4

3.5站内信件模块

站内信件是系统扩展功能,主要实现教务公告的、站内信件交流、站内话题讨论等扩展功能。

3.6用户管理模块

教师、教务人员、班主任等身份进入系统的验证,密码管理、管理权限区分、新的管理用户添加等功能在此模块实现。

4、成绩管理系统几个关键技术实现

4.1班主任平时成绩、教师考勤成绩、期末考试成绩录入先后关系的处理

成绩表(表7)中,平时成绩由任课教师录入、考勤成绩由班主任录入、期末成绩由教务管理人员依据期末考试卷面成绩录入。登分主体不同和录入时间的差异决定了不可能在同一时间生成一条成绩记录。成绩表不设主键,很可能会造成登入平时成绩、考勤成绩、期末成绩三种成绩后在数据表末尾追加三条分别存储这三种成绩的记录,最后无法汇总出总成绩,自然也无法查询学生真实的课程成绩。这里需要解决录入时间不一致的问题,将录入平时成绩用A表示、录入考勤成绩用B表示、录入期末成绩用C表示,可能出现的先后次序有:ABC,ACB,BCA.CBA,CAB,BAC,六种情况均需要考虑到。进而做到数据处理的一致性。

4.2检索中班级成绩总表二维关系表的动态生成

班级成绩总表是一个二维表格,横向显示课程名成绩查询,纵向显示学生学号和姓名、课程成绩。检索结果从成绩表(表7)、学生信息表(表2)、班级信息表(表3)中得到。检索过程是,依照检索班级号从班级信息表中提取班级名称、从学生信息表中循环显示班级所有学生ID、在学生ID的每一条循环中用该行学生ID到成绩表中检索该学生所有课程的成绩并对应显示该成绩。

在此涉及到一个考试科目横向显示和科目成绩的对应问题,横向显示哪些科目是依据课程报考中的数据生成的,条件语句是where语句下的班级号等于请求的班级号。而科目成绩与学生编号的对应又依据成绩表(表7)中的对应学生号和科目编号下的成绩值。当该门课程未报考时,成绩表中无此课程列。当该门课程报考后未登分时,该门课程下的成绩值显示为0。

4.3班主任、教务管理人员、普通教师权限的区分

权限区分的功能对于保护特定用户的权限是十分必要的,帐号类型分为教务管理人员、任课教师、班主任、超级管理员等四种,四种管理身份可以兼任。每种管理身份所能进行的操作各不一样,比如各班班主任和教务人员可以为本班考试进行报考,而普通教师无法操作此功能。除教务人员外任何人均不能操作教学计划,无超级权限的用户不得录入新课程、新教师、新帐号等。

权限区分的实现是在系统用户表(表1)中用户TYPE字段的值不同(超级管理员此值为3,教务管理人员为2,班主任为1,默认值和普通教师为0),在用户甄别err.asp页面写入判断语句,并将TYPE字段的值赋给session(“type”),利用include语句将err.asp引用到每个功能页面,并在相应页面对session(“type”)进行判断,如课程报考功能中,若session(“type”)<>2and session(“type”)<>3 则弹出“您没有权限操作”的对话框,并跳转到主界面。

5、结束语

随着WEB技术的前进,随着学校教务管理对效率的不断追求,成绩管理系统乃至教务办公系统有着广泛的需求。利用ASP与access或ASP与SQL Server开发学校成绩管理系统是许多中职学校或高等职业学校不错的选择。

参考文献

[1]基于ASP技术的江西派送网的开发 《电脑学习》2009,(3) 胡欢, 洪小平

[2]基于ASP开发B/S模式的Web作业提交与批改系统 《电脑知识与技术》2009,5(3) 韦灵丽

[3]基于ASP模式的汽车产业供应商关系管理平台《重庆大学学报(自然科学版)》 2007,30(6) 林涛, 易树平,杨沅钊,陈兴文

学生成绩管理系统范文6

关键词 VBA EXCEL 学生成绩

中图分类号:TP311.52 文献标识码:A

1 VBA简介

VBA是Visual Basic For Application的简称, VB的子集,是Office应用程序内嵌的一种开发工具,使用VBA编程可以有效地自定义和扩展Excel等office应用程序的功能。

2 系统的设计思想

学生成绩管理,是一项繁琐且耗时的工作,大多数成绩管理员统计成绩时都是利用Excel公式进行重复地操作,工作效率不高。本系统主要是想通过VBA编程对Excel2007进行二次开发,采用VBA按钮控件创建一个学生成绩管理系统,以便成绩管理员更有效地管理成绩。

3 系统的分析与设计

3.1 系统分析

该系统的使用者是教务成绩管理员,要求系统方便实用,能简化某些重复的操作,对系统功能分析需求如下:

(1)能完成各班学生基本信息的录入、删除及修改,完成各科成绩的登记;

(2)能方便有效地查询成绩;

(3)能自动进行成绩的分析和统计;

(4)能生成各班级成绩汇总表。

3.2 模块设计

根据系统分析需求,设置“学生信息管理”、“学生成绩登记”、“学生成绩查询”、“成绩统计分析”、“打印成绩单”和“退出系统”6个模块。下面简单介绍一下这6个模块各自的功能设计:

(1)学生信息管理:运行系统进入主界面,单击该模块按钮则激活一个“学生信息管理”的窗体,再通过“学生信息管理”窗体选择相应班级及信息后,激活各个班级工作表。

(2)学生成绩登记:完成学生各学科成绩的登记、修改等功能。单击该模块按钮时激活一个“学生成绩登记”工作表,工作表中显示有各班级按钮,单击相应按钮便可在相应的班级成绩信息表中直接录入成绩。(成绩信息表显示有“学生班级”、“学号”、“姓名”、“性别”和各学科名称等)。

(3)学生成绩查询:根据设定的条件进行查询,可以按班级名称或学生姓名学号查询个人成绩,也可以按学期进行查询各班级所有学生成绩汇总等等。单击该模块时激活 “学生成绩查询”工作表,单击工作表中不同的查询条件按钮则会弹出相应的查询选择窗体,根据窗体提示选择好后,相关成绩信息便能直接显示在“学生成绩查询”工作表中。

(4)成绩统计分析:根据录入的成绩,统计出各科目的平均分、及格率、最高分数、最低分数和各分数段的分布情况。

(5)打印成绩单:生成班级成绩单报表,并打印出来。

(6)退出系统:学生成绩都保存在本系统工作簿的相关工作表中,当对学生成绩进行了录入、删除和修改等操作时必须保存。因此,该模块的功能则是单击按钮时,系统会先对工作簿进行保存,然后再退出系统。

表格是Excel的基础,要完成各模块的编辑与实施,需使用Excel2007创建相关工作表并将可共享使用的信息先录入及编辑,将表格框架搭建好,再使用内嵌的VBA编辑宏,对表格进行处理。

3.3 主界面的设计

创建一个名为“学生成绩管理系统”的工作簿,将第一个工作表设置为主界面,重命名为“封面”,利用插入艺术字和自选图形等功能添加美化主界面的背景及按钮模块,再分别为各模块按钮指定相应的VBA宏代码。主界面效果图如下图1:

封面是对整个系统的控制,在打开系统工作簿时,会自动激活“封面”工作表。所以必须将该工作表进行保护,同时将工作簿中除“封面”工作表外的所有工作表隐藏起来,以保护其中的数据。因此,需要为工作簿对象设置Open事件。

4 VBA程序编写

由于代码量较多,本文只对部分代码进行摘录。

4.1为工作簿对象设置Open事件的代码

Private Sub Workbook_Open()

Dim i As Integer

Worksheets("封面").Activate,激活工作表"封面"

Worksheets("封面").Protect,保护工作表"封面"

For i = 1 To Worksheets.Count

If Worksheets(i).Name "封面" Then Worksheets(i).Visible = False '保护除工作表"封面"外的所有工作表

End If

Next i

End Sub

4.2为模块按钮指定宏的代码

Sub 学生信息管理() '"学生信息管理"按钮

学生管理窗口.Show

End Sub

Sub登记学生成绩 ()'"学生成绩登记"按钮

学生成绩登记工作表.Show

End Sub

Sub 查询学生成绩()'"学生成绩查询"按钮

学生成绩查询工作表.Show

End Sub

Sub 成绩统计分析() '"成绩统计分析"按钮

成绩统计分析窗口.Show

End Sub

Sub 打印成绩单()'"打印成绩单"按钮

打印成绩单窗口.Show

End Sub

4.3成绩统计分析模块按钮代码

Sub LIK3()'成绩统计分析按键,

On Error Resume Next

Sheets("成绩统计分析").Visible = True

Sheets("成绩统计分析").Select

'Sheets("成绩统计分析").Cells.Clear

Sheets("成绩统计分析").Cells(1, 1).Select

Kmpj_Form.Show

End Sub

4.4退出系统代码

Sub File_Close() '退出系统'

Application.ScreenUpdating = True

ActiveWorkbook.Save

Application.Quit

End Sub

5 结语

本文分别从系统功能模块的设计、主界面的设计和Excel VBA编程几方面进行阐述,采用Excel2007+VBA编程开发一个学生成绩管理系统的设计与实现。该系统用户界面友好,实用性强,实现了教务部门的实际需求,简化了成绩管理员大部分重复的操作工作,使成绩管理员既可根据平时使用Excel的习惯和方式操作,并充分发挥Excel的VBA编程功能,又能大大提高了工作效率。

参考文献

[1] ExcelHome.Excel 2007 VBA实战技巧精粹[M].人民邮电出版社,2013(12).