欢迎来到专业的宏发范文网平台! 心得体会 党建材料 工作总结 工作计划 思想汇报 事迹材料 发言讲话 述职报告
当前位置:首页 > 范文大全 > 公文范文 > 正文

基于web学生成绩管理系统-毕业论文

时间:2022-01-18 16:23:45 浏览量:

基于web的学生成绩管理系统-毕业论文

基于web的学生成绩管理系统-毕业论文

摘要

随着信息技术的普及和推广,计算机网络已经成为生活和工作必不可少的有力工具。对于学校而言,实现办公自动化将大大提高学校管理的工作效率。成绩管理系统对于学校实现办公自动化化将起到重要作用。

本文的基于Web的成绩管理系统,采用SSH(Struts+Spring+Hibernate)作为网络编程框架,选择MySQL设计数据库,并使用优秀的开发工具MyEclipse,能良好的支持数据库应用。本系统主要实现对学生成绩的管理,包括用户管理、学生成绩的录入、修改、删除、查询和统计等方面。系统开发主要包括建立和维护后台数据库以及前端应用程序两个方面。本文主要介绍成绩管理系统的可行性分析、需求分析、系统设计和系统实现等。

关键词:成绩管理,Web,数据库,SSH

Abstract

As Information technology have been used world widely,Computer Network is an powerful tool both for our life and work. For instance,office automation will maximum shool’s working efficiency. Score management system is of great importance to the achievement of office automation .

This text of the performance management system based on Web,applies SSH as its network progamming frame,select MySQL as its tool of designing database,MyEclipse as its development tool. This system is in charge of score management,including user management,score input,score inquiry,score adding and amending. System development falls into two aspects: 1. establish and maintain backend database.2. develop front end application programs. This dissertation mainly lays its emphasis on the feasibility analysis,demand analysis,system design and system realization of score management system.

Key words: score management,Web,database,SSH

目录

摘要............................................................. I ABSTRACT ......................................................... II 目录........................................................... III 第一章引言 (1)

1.1课程背景 (1)

1.2目的和意义 (1)

第二章开发工具简介 (3)

2.1MVC设计模式 (3)

2.2SSH架构 (3)

2.2.1 Struts2 (3)

2.2.2 Spring (4)

2.2.3 Hibernate3 (5)

2.3M Y SQL数据库 (6)

第三章系统分析 (8)

3.1可行性分析 (8)

3.1.1经济可行性 (8)

3.1.2技术可行性 (8)

3.1.3运行和操作可行性 (8)

3.1.4法律可行性 (9)

3.2需求分析 (9)

3.3E-R图 (10)

第四章系统设计 (11)

4.1总体设计 (11)

4.2功能模块设计 (11)

4.3数据库设计 (13)

第五章系统实现 (15)

5.1登录模块 (15)

5.1.1 登录界面 (15)

5.1.2 系统首页 (16)

5.2菜单模块 (16)

5.3用户信息模块 (18)

5.3.1 公共信息 (18)

5.3.2 课程信息 (18)

5.3.3 教师信息 (20)

5.3.4 学生信息 (20)

5.3.5 班级信息 (21)

5.4成绩管理模块 (22)

5.4.1 成绩录入 (22)

5.4.2 成绩查询 (22)

第六章总结 (27)

参考文献 (28)

致谢 (29)

1 概论

1.1课程背景

随着多媒体教学的推广,电脑和网络的普及,人民对于电脑的应用已经不再陌生。目前社会上信息管理系统发展飞快,在各级各类的学校中,学生成绩管理一直都是学校工作中的一项重要内容,因为学生工作的很多方面都需要它的支持,比如奖学金的评定、学生就业推荐书的书写、学生档案的建设等等。随着学校办学规模的扩大和招生人数的增加,学生成绩管理成为一项十分繁重的工作。为了解决这一问题,有必要开发一套功能强大,操作简单,具有人性化的成绩管理系统,使计算机在学生成绩处理的领域中发挥高效灵活的功能。因此为了充分利用计算机硬件资源,做好学生成绩管理工作,提高工作效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急。

Internet和Web的迅猛发展使数据库技术也开始与Web产生了紧密的联系,一种新兴的技术—Web数据库技术出现了,并且开始在数据库的应用中发挥着越来越重要的作用。高校校园网的迅速普及,使成绩管理软件能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展。基于Web的成绩管理系统利用JSP技术与Web数据库想结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基础。

1.2目的和意义

本系统的研究意义主要是改变以往的成绩管理模式,改人工手动管理为计算机网络化管理。使学校在处理学生成绩的问题上,变得更加方便和快捷。同时可以降低了人工管理的错误率,提高了数据的安全性。随着教育的发展、高校规模的扩大、学生人数的增加,对学生各种信息的汇总、统计、分析等管理工作面临着很多困难。如果高校对学生各种信息的管理通过手工整理等方式来处理完成的,那么在这个工作过程中奖花费大量的人力和时间,而且查询各种信息也不方

便不准确,影响了各级领导和学生管理部门对学生信息的及时掌握和分析。运用学生成绩管理系统可以减轻学校教学人员的工作量,加快查询速度,加强管理,还有就是缩小开支,提高工作效率与准确率。学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高打下坚实的基础。

本系统利用网络这个平台,充分利用了网络的快捷性,提高教育的时效性,使学生随时随地查询自己的学习情况,达到促进学生自主管理的目的,提高教师对学生管理工作的效率,让老师及时掌握学生学习上的动态。而且通过本课题的研究,能够充分了解网络数据库的相关知识,培养网络软件开发的能力,提高实践操作和知识的综合运用能力。

2 开发工具简介

2.1 MVC设计模式

MVC[1]是Model-View-Controller的简称,即模型-视图-控制器。MVC是目前最流行的Web应用设计模式,它可以灵活、动态地设计开发系统,有利于修改和扩展简化程序,有利于代码重复使用。

模型:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型用来封装和显示数据对象。

视图:把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

控制器:是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。

使用MVC的优点:

(1)用户在视图界面上发出请求;

(2)可以很容易地用新的实现来替换原有层次的实现;

(3)可以降低层与层之间的依赖;

(4)有利于标准化;

(5)有利于各层逻辑的复用。

总的来说,MVC设计可以达到如下目的:分散关注、松散耦合、逻辑复用、标准定义。

2.2 SSH架构

2.2.1 Struts2

Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的Java架构一样,Struts[2]也是面向对象设计,将MVC模式“分离显示逻辑和业

务逻辑”的能力发挥得淋漓尽致。

Web应用都是请求-响应的程序结构。程序是由客户端client发出http 请求开始的,客户端请求被ActionServlet拦截。在ActionServlet处,通常有2种情况:要求逻辑控制器处理的请求以及单转发的请求。系统主要以第一种请求为主,即ActionServlet需要调用对应的Action。因此,ActionServlet将请求转发到Action,如果请求还配置了响应的FormBean,则ActionServlet 还负责用请求参数填充ActionForm。此时的Action无须从HTTP Request中获取请求参数,而是从ActionForm中或得请求参数。Action或得请求参数后,调用Model对象由JavaBean处理用户请求。Action处理完用户请求之后,将处理结果包装秤ActionForward,再回送给ActionServlet。

Struts2框架的大概处理流程如下:

(1)加载类(FilterDispatcher)

(2)读取配置(struts配置文件中的Action)

(3)派发请求(客户端发送请求)

(4)调用Action(FilterDispatcher)从struts配置文件中读取与之相对应的Action

(5)启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)

(6)处理业务(回调Action的execute()方法)

(7)返回响应(通过execute方法将信息返回到FilterDispatcher)

(8)查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCC E SS、ERROER,将跳转到哪个jsp页面)

(9)响应用户(jsp--->客户浏览器端显示)

2.2.2 Spring

Spring[3]是一个开源框架,由Rod Johnson创建。它视为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益.

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的

容器框架。

轻量-从大小和开销两个方面而言Spring都是轻量的。Spring应用中的对象不依赖于Spring的特定类。

控制反转-Spring通过IoC技术促进了松耦合。当应用其的时候,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以理解成为IoC和JNDI相反。

面向切面-Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。应用对象只实现它们应该做的-完成业务逻辑-仅此而已。它们不负责其他的系统级关注点,例如日志或事务支持。

容器-Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。然而,Spring不应该被混同于传统的重量级EJB容器,它们经常是庞大与笨重的,难以使用。

框架-Spring可以将简单的组建配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件中。Spring也提供了很多基础功能(事务管理、持久化框架集成等),将应用逻辑的开发留给了你。

2.2.3 Hibernate3

Hibernate[4]是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate QL从数据库提取数据的代码的编写量,从而节约开发时间和开发成本Hibernate可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

Hibernate技术本质上是一个提供数据库服务的中间件。它的架构如图2.4所示:

基于web的学生成绩管理系统-毕业论文

图2-1Hibernate架构

图2-1显示了Hibernate的工作原理,它是利用数据库以及其他一些配置文件如Hibernate .properties ,XML Mapping等来为应用程序提供数据持久化服务的。

Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC 连接,并且自行管理事务,这种方式使用了Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。

2.3 MySQL数据库

MySQL[5]是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL

服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。

2.3.1MySQL是一个数据库管理系统

数据库是一个结构化的数据集合。如果要对存储在计算机数据库中的大量数据进行添加、访问等处理,你就需要一个像MySQL这样的数据库管理系统。数据库系统在计算机处理中和独立应用程序或其他部分应用程序一样扮演着重要的角色。

2.3.2MySQL是一个关系数据库管理系统

关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。SQL标准发展自1986年以来,已经存在多个版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前版本。

2.3.3MySQL是开源的

开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共许可),在hpt://http://www.wendangku.net/doc/64ffce5366ec102de2bd960590c69ec3d4bbdb5b.html/licenses中定义了你在不同的场合对软件可以或不可以做什么。如果你觉得GPL不爽或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQL AB购买一个商业许可版本。

3 系统分析

3.1可行性分析

3.1.1经济可行性

系统的经济可行性是指分析学校的经济状况和投资能力,估算系统建设、运行和维护的费用,估计系统建成后取得的效益。

目前,计算机价格已经十分低廉,计算机性能却有了质的飞跃。开发本系统为学校的工作效率带来了长足的进步,为此主要表现有以下几个方面:第一,运行本系统可以方便查询和管理学生信息;

第二,运行本系统可以节省人力和物力;

第三,运行本系统可以提高学校的工作效率;

第四,本系统可以减少信息管理的错误率。

所以,本系统的开发在经济上是可行的。

3.1.2技术可行性

本系统通过网络和网页实现,校园网的覆盖为实现学生成绩管理系统打下了基础。使用支持动态网页的JSP技术,利用支持多用户的MySQL作为本系统的数据库,它适用于大中规模的数据量需求。使用MyEclipse 7.5作为系统开发的开发环境,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。

3.1.3运行和操作可行性

本系统是小型的学生信息管理系统,所需要的资源比较小,学校电脑的硬件和网络都能够满足条件,因此,本系统在运行上是可行的。

本系统使用方便,界面简洁,直观易懂,无论是学生还是教师都可直接上手,管理员通过简单的培训操作本系统也没有问题。

3.1.4法律可行性

开发本系统不会侵犯他人利益,不存在侵权问题,不违反国家法律法规,因此具有法律可行性。

综上所述,从经济上、技术上、运行操作上都是可行的,所以该开发该系统是可行的。

3.2需求分析

在设计系统之前,首先必须确定用户究竟要求软件系统完成什么任务,所以分析阶段的基本任务是了解用户的需求,并将用户的需求用书面形式表达出来。这个阶段还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。在全面客观的系统分析的基础上,根据用户提出的系统功能进行相应的功能设计。

在互联网飞速发展的今天,对于21世纪的教学而言,应该与网路息息相关。许多人还停留在以前的手工操作,这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便,作为高校教务管理工作的一部分,既方便了学生查看成绩、老师的教学管理、更加方便了学校的教务管理。

经过调研与可行性分析,出于对教师和学生需求的考虑,设计了这套系统,成绩管理系统主要包括:

(1)用户信息模块:①管理员可以对课程信息、教师信息、学生信息进行录入和修改;②在用户登录方面,对用户身份进行验证,防止非法用户登录,管理员对用户分配初始密码;③在个人管理方面,对用户个人信息进行维护,如修改密码、联系方式。

(2)成绩录入:任课教师对本课程成绩进行录入和校验。

(3)成绩查询:学生只能对自己的学期各科成绩进行查询;教师能对自己所任课程进行查询;班主任能对本班级各科成绩以及本班中的学生进行全科成绩进行查询;管理员可以对所有学生成绩进行查询。

(4)成绩管理:管理员可以对各科成绩包括补考成绩进行添加、修改、删

除操作。

3.3 E-R图

根据学生成绩管理系统的分析得到系统的E-R图,如图3-1所示。

基于web的学生成绩管理系统-毕业论文

图3-1 成绩管理系统E-R图

成绩管理系统中各实体之间的关系如下:

(1)学生信息与成绩信息:1∶M;

(2)班级信息与学生信息:1∶M;

(3)学生信息与课程信息:N∶M;

(4)教师信息与班级信息:N∶M;

(5)角色信息与学生信息:1∶M;

(6)角色信息与教师信息:1∶M;

(7)班级信息与班级课程信息:N∶M;

(8)课程信息与班级课程信息:N∶M。

4 系统设计

4.1总体设计

根据前面的需求分析,我们将系统划分为如下的三大功能模块。

●管理员管理模块重点是学生管理、教师管理、课程管理、班级管理。对

学生、教师、课程、班级的管理包括添加、修改、查看。

●教师模块包括对学生成绩的录入和查询,以及对自己联系信息的修改。

●学生模块主要是学生对自己成绩进行查询,以及对自己的信息进行修改。

整个系统的主要结构如图4-1所示。

基于web的学生成绩管理系统-毕业论文

图4-1系统模块结构图

4.2 功能模块设计

学生和教师是本系统的中心对象。根据模块划分和需求分析可知,该系统的流程主要描述的是当教师对自己所教课程的学生打分以后学生可以登录查询到自己该科目的成绩。该系统包括三个基本流程,适用于管理员、教师、学生。

图4-2描述的是管理员的操作流程:首先管理员要进行学生、教师、班级、和课程数据的初始化,这样学生和教师就可以登录使用该系统了。在系统使用过程中,管理员再进行管理工作。

基于web的学生成绩管理系统-毕业论文

图4-2管理员的操作流程

图4-3描述的是教师的操作流程:教师根据管理员提供的初始密码和教师号登录系统。教师登陆系统后可修改密码、个人信息、公布和查询成绩。

基于web的学生成绩管理系统-毕业论文

图4-3教师的操作流程

图4-4描述的是学生操作流程:学生根据学号和初始密码登录系统。学生登录后,可以查询成绩和修改个人信息。

基于web的学生成绩管理系统-毕业论文

图4-4学生的操作流程

4.3数据库设计

数据库设计是对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效地存取数据,满足用户的信息要求和处理要求。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现难度。在数据库系统开始设计开发的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。

在这个数据库管理系统中要建立7张数据表:

●教师信息表:用于存放所有上课教师的基本信息,其中包括班主任和管

理员,如表4-1。

表4-1 教师信息表

列名列标识数据类型长度空值主键

教师号Id int 11 no Y

名字Name varchar 45 yes N

性别Sex varchar 20 yes N

专业project varchar 45 yes N

电话phone varchar 45 yes N

学院college varchar 45 yes N

角色代码Roleid int 11 yes N

●角色信息表:用于存放所有觉得信息,如表4-2。

表4-2角色信息表

列名列标识数据类型长度空值主键

角色代码Id int 11 no Y

角色名称roleName varchar 45 yes N

●学生信息表:用于存放所有学生的基本信息,如表4-3。

表4-3 学生信息表

列名列标识数据类型长度空值主键

学号Id int 11 no Y

班级代码classNo int 11 yes N

姓名Name varchar 45 yes N

性别Sex varchar 45 yes N

专业project varchar 45 yes N

电话phone varchar 45 yes N

学院college varchar 45 yes N

角色代码Roleid int 11 yes N

●课程信息表:用于存放所有开课课程的基本信息,如表4-4。

表4-4课程信息表

列名列标识数据类型长度空值主键课程号Id int 11 no Y

课程名Name varchar 45 yes N

学时period varchar 30 yes N

学分credits varchar 30 yes N

教师号teacherid int 11 yes N

●班级信息表:用于存放所有与班级相关的信息,如表4-5。

表4-5班级信息表

列名列标识数据类型长度空值主键班级号Id int 11 no Y

班级名classname varchar 45 yes N

班主任teacherid int 11 yes N

●成绩信息表:用于存放所有学生成绩的信息,如表4-6。

表4-6成绩信息表

列名列标识数据类型长度空值主键成绩号Id int 11 no Y

学生学号stuNo int 11 yes N

课程号courseId int 11 yes N

成绩Score varchar 45 yes N

分类Type tinyint 1 yes N

学期Term varchar 45 yes N

●班级课程表:用于存放与班级相对应的所有课程信息,如表4-7。表4-7班级课程表

列名列标识数据类型长度空值主键班级课程号Id int 11 no Y

班级号classId int 11 yes N

5.1 登录模块

5.1.1 登录界面

用户通过用户名和密码登录系统,如果数据库中不存在用户名和密码则不能登录。图5-1为登录界面。

基于web的学生成绩管理系统-毕业论文

图5-1登录界面图

登录采用的是目前最流行的JS[6]框架jequery[7]的Ajax验证,实现了页面的局部刷新。具体JS代码如下:

$.post(

"login!checkLogin",{username:$("#name").val(),

password:$("#pwd").val(),userType:typeValue},function(data){

if (data == "true"){

document.logfrom.submit();

} else {

alert("用户名或者密码错误");

}

},"html"

);

如果登录成功则进入系统,此时不同角色的用户进入不同的界面。以管理员为例,登录成功之后可以看到如图5-2所示。

基于web的学生成绩管理系统-毕业论文

图5-2管理员系统首页图

5.2 菜单模块

本系统菜单采用的是JS加载方式实现。实现了由JS控制的三级菜单。如图5-3所示:

基于web的学生成绩管理系统-毕业论文

图5-3管理员管理界面图

最上一层是第一级菜单(基本设置,用户管理,成绩管理,报表管理)。通过第一级菜单可以通过点击事件触发第二级菜单的生成。如图左边所示(课程信

息,教师信息,学生信息,班级信息)。通过第二级菜单可以触发第三级菜单。如图5-3左侧增加课程,查看课程等等。具体JS代码如下:

var test = document.getElementById("role").value;

var outlookbar=new outlook();

var t;

t=outlookbar.addtitle("个人信息","基本设置",1);

outlookbar.additem("查看个人资料",t,"login!personalMessage"); outlookbar.additem("修改个人资料",t,"login!changeUserMsg"); outlookbar.additem("更改登录密码",t,"login!passwordPage");

if (test == "管理员") {

t=outlookbar.addtitle("课程信息","用户管理",1);

outlookbar.additem("增加课程",t,"course!addCourse");

outlookbar.additem("查看课程",t,"course!listCourse");

t=outlookbar.addtitle("教师信息","用户管理",1);

outlookbar.additem("增加教师",t,"teacher!addTeacher");

outlookbar.additem("查看教师",t,"listTeacher");

t=outlookbar.addtitle("学生信息","用户管理",1);

outlookbar.additem("增加学生",t,"student!addStudent");

outlookbar.additem("查看学生",t,"listStudent");

t=outlookbar.addtitle("班级信息","用户管理",1);

outlookbar.additem("增加班级",t,"classmessage!addClass");

outlookbar.additem("查看班级",t,"listClass");

}

t=outlookbar.addtitle("成绩信息","成绩管理",1);

outlookbar.additem("成绩查询",t,"listScore");

if (test != "学生") {

outlookbar.additem("成绩录入",t,"score!addScore");

}

if (test == "管理员") {

t=outlookbar.addtitle("报表信息","报表管理",1);

outlookbar.additem("班级信息",t,"manframe.jsp");

outlookbar.additem("课程成绩信息",t,"manframe.jsp");

outlookbar.additem("补考信息",t,"manframe.jsp");

}

t=outlookbar.addtitle("退出系统","基本设置",1);

outlookbar.additem("点击退出登录",t,"login!logout");

这种菜单的实现风格是采用js对象实例化的形式,加载页面的时候,把js 菜单动态加载到页面。

5.3 用户信息模块

5.3.1 公共信息

这部分为各个角色的公共信息,主要由个人信息和退出系统两个大功能,个人信息包括修改个人信息,查看个人信息,修改密码和联系方式。退出系统直接退出系统,清空登录缓存,以免非法登录。如图5-4所示。

基于web的学生成绩管理系统-毕业论文

图5-4个人信息图

其中退出系统时是需要清空session中的对象值的,以免用户非法登录,具体代码如下所示:

public String logout() throws Exception{

HttpServletRequest request = ServletActionContext.getRequest();

HttpSession session1 = request.getSession();

session1.invalidate();

return"logout";

}

5.3.2 课程信息

只有管理员用户才可以拥有此功能的操作权限,可以添加,查看并修改课程

信息。如图5-5所示。

基于web的学生成绩管理系统-毕业论文

图5-5管理课程图

从图5-5中可以看出,查看课程页面做了分页处理,这样是整个页面更加清晰。具体分页代码如下所示:

test="%{#request.page.totalRecord != 0}">

#request.page.totalPage}">

尾页

| 每页显示:${page.maxPerPage}条

5.3.3 教师信息

只有管理员用户才可以拥有此功能的操作权限,可以添加,查看并修改教师信息。如图5-6所示。

基于web的学生成绩管理系统-毕业论文

图5-6管理教师图

上图5-6为添加教师页面,管理员可以添加教师信息,同时为用户赋角色,可以是教师,班主任,或者管理员,查看页面同样做了分页,通过查看教师可以看到所有教师信息。

5.3.4 学生信息

只有管理员用户才可以拥有此功能的操作权限,可以添加,查看并修改学生信息。添加学生页面如图5-7所示。

基于web的学生成绩管理系统-毕业论文

图5-7学生管理图

管理员同样可以增加新的学生信息,通过选择不同班级,为学生分配班级。

5.3.5 班级信息

只有管理员用户才可以拥有此功能的操作权限,可以添加,查看并修改班级信息。添加班级页面如图5-8所示。

基于web的学生成绩管理系统-毕业论文

图5-8班级管理图

每个班级都要指定一个任课教师,可以通过下拉列表动态选择。

5.4 成绩管理模块

5.4.1 成绩录入

此模板为整个项目的核心,主要由任课老师操作,任课老师可以录入自己所任课程学生成绩,管理员虽然拥有成绩录入的权限,但是从效率方面考虑管理员不使用此功能。如果角色为任课老师,则如图5-9所示。

基于web的学生成绩管理系统-毕业论文

图5-9成绩录入图

首先用户选择课程,选择课程之后会动态加载学生,此次用到了struts2框架的doubleselect[8]标签——二级下拉列表联动,具体二级下拉列表联动代码如下:

list="studentList"

listKey="id"listValue="name"doubleList="types[top.id]"

doubleName="score.course.id"

doubleListKey="id"doubleListValue="name"theme="simple"/> 成绩可以分为期末成绩和补考成绩,根据类型录入不同的成绩。如果角色为管理员,则可以录入所有课程的信息,页面与上图类似。

5.4.2 成绩查询

此模板也是整个项目的核心,可以由学生,任课老师,班主任和管理员操作。学生可以查看自己所学课程的所有考试成绩,任课老师可以查询自己所任课程学生成绩,管理员可以查看所有课程的学生成绩,班主任可以查看自己所任课程信息,同时也可以查看自己所带班级的学生课程信息以及针对某一门课程的信息。

如果角色为任课老师,则如图5-10所示。

基于web的学生成绩管理系统-毕业论文

图5-10任课老师成绩查询图

任课老师可以选择自己所任的所有课程,并查看各课程的学生成绩情况。选择课程后如图5-11所示。

基于web的学生成绩管理系统-毕业论文

图5-11任课老师成绩界面图

同时,此处用到了Jquery局部刷新,选择课程后,页面不是整体刷新,而只是下拉框以上部分动态刷新。具体局部刷新代码如下:

function changeCourse(){

$.ajax({

type: "POST",

url: "score!scoreByCourse",

//contentType:

"application/x-www-form-urlencoded;charset=utf-8",

data: "courseId="+$("#course").val(),

success: function(data){

$("#courseScore").empty();

$("#courseScore").html(data);

}

});

}

这里也是用的ajax技术实现的。用户可以编辑或者删除成绩。管理员页面

与上图类型,只是管理员可以查看的课程比任课老师多,他可以查看到所有课程的学生成绩情况。如果角色是班主任,可以看到如图5-12所示。

基于web的学生成绩管理系统-毕业论文

图5-12班主任成绩查询图

如图5-13,班主任可以是任课教师,所有他可以查看自己所任课程信息,同时作为班主任,他可以查看班级成绩情况,可以按班级来查看,也可以按学生来查看。如果按班级查看,点击选择班级,则可以看到如图5-13所示。

基于web的学生成绩管理系统-毕业论文

图5-13班主任查询自己班学生成绩图

如图5-13,选择班级之后,可以查看班主任所带某个班级的所有学生的成绩。同样也是ajax局部刷新实现,其后台代码如下所示:

HttpServletResponse response = ServletActionContext.getResponse();

response.setHeader("Cache-Control","no-cache");

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

Student se = new Student();

se.setId(Integer.parseInt(courseId));

List allScore = scoreService.getStudentScore(se);

String result = "

align=\"center\" cellpadding=\"3\" cellspacing=\"1\"

class=\"table_style\">"+

"

"+

"

"+

"

"+

"

"+

"

"+

"

"+

"

"+

"

"+

"

"+

"

";

for (int i = 0; i < allScore.size(); i++) {

Score s = allScore.get(i);

result = result +"

align=\"center\">"+

"

"+

"

align=\"center\">"+s.getStudent().getName()+""+

"

align=\"center\">"+s.getCourse().getName()+""+

"

align=\"center\">"+s.getCourse().getCredits()+""+

"

align=\"center\">"+s.getCourse().getPeriod()+""+

"

";

if (s.getType().toString().equals("1")){

result = result +"

";

} else {

result = result +"

";

}

result = result + "

align=\"center\">"+s.getTerm()+"

";

}

result = result +"

编号姓名课程学分学时成绩类型学期
"+(i+1)+""+s.getScore()+""+"期末成绩"+""+"补考成绩"+"
";

System.out.println(result);

out.print(result);

如果选择学生,则可以看到班主任所带班级某个学生的所有个人成绩。如图5-14所示。

基于web的学生成绩管理系统-毕业论文

图5-14班主任查询某个学生成绩图

如图5-15,可以查看到某学生的所有成绩。如果角色为学生,则可以查看到自己所有课程的成绩,如图所示。

基于web的学生成绩管理系统-毕业论文

图5-15学生成绩查询图

具体显示代码如下:

${1+s.index}

value="%{#http://www.wendangku.net/doc/64ffce5366ec102de2bd960590c69ec3d4bbdb5b.html}"/>

value="%{#score.course.credits}"/>

value="%{#score.course.period}"/>

期末成绩

补考成绩

以上代码通过struts2的iterator标签可以遍历出所有成绩信息。

总结

本文从成绩管理系统设计、功能目标设计和具体页面的确定及数据库的设计等几个方面探讨了成绩管理系统的技术与实现,最终采用MyEclipse编制成绩管理系统。采用易移植的数据库MySQL作为数据的存储工具,但同时它也失去了大型数据库的优点,如事务处理,存储容量大等。

本系统界面友好、操作方便、效率高、易于日后程序更新、数据库管理容易,相信本成绩管理系统是一套学校在日常管理中必不可少的管理软件。在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。

作为一个毕业设计,我感觉到所要做的不仅仅是代码的实现,更要求你对软件工程的整个思想要有个总体的了解,首先要学会分析项目,分析好了才能做出一个完整的项目。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。通过这个系统的开发让我学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。

参考文献

[1]毕建信.基于MVC设计模式的Web应用研究与实现[D].武汉:武汉理工大学,2006.

[2]李刚.Struts2.1权威指南[M].北京:电子工业出版社,2009:184-228.

[3](美) SpringSource公司,(荷) Bram Smeets,(美) Seth Ladd.Spring2企业应用开

发[M] .北京:人民邮电出版社,2008:10-367.

[4]贺松平.基于MVC模式的B/S架构的研究及应用[D].武汉:华中科技大学.

[5]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2008,5-12.

[6]Steven L.Ha l ter JavaScript程序设计[M].北京:机械工业出版社,2009.

[7]单东林,张晓菲,魏然.锋利的jQuery[M].北京:人民邮电出版社,2009,100-200.

[8]李刚.轻量级EE企业应用实战[M].北京:电子工业出版社,2009,265-388.

[9]孙卫琴,李洪成.Tomcat与JSP Web开发技术详解[M].电子工业出版社,2003:1-205.

[10]Dino Esposito.ASP数据库访问高级编程[M].北京:清华大学出版社,2003.

[11]萨师煊,王珊.数据库系统概论[M].高等教育出版社,2002:3-460.

[12]郭真.王国辉.JSP程序设计教程[M],人民邮电出版社,2008:5.

[13]史斌星,史佳.java基础及应用教程[M].北京:清华大学出版社,2007:1-23.

[14]陈志泊.数据库原理及应用教程[M].北京:人民邮电出版社,2002.

[15]徐宝文.周毓明.卢红敏.UML与软件建模[M],清华大学出版社,2006.

[16]张德迪.关于对MVC架构应用的探讨[J].科技信息(学术研究),2007,1(28):34-100.

[17]Richard Anderson. ASP3高级编程[M].北京:机械工业出版社,2010.

[18](美) Ross Harmes,(美) Dustin Diaz.JavaScript设计模式[M].北京:人民邮电出版

社,2009:110-200.

致谢

在老师的精心指导下,我完成了本次毕业设计。在此我要感谢我的导师,他严谨细致,一丝不苟的作风是我学习的榜样。在本次设计中我遇到了很多问题,樊康新导师都能认真的解答我的问题,对我循循善诱的教导,才使我能解决一个又一个难题。不管是在理论上还是在实践上,樊康新导师都给了我很大的帮助。感谢学院领导,经常开会纠正我们的心态,指导我们。还要感谢我的同学,在这几个月中一直激励和鼓励我。

毕业设计结束了,在这几个月中我获得了很大的收获。感谢的话总也写不完,因此我把那些永远也写不完的话留在心中,并在未来的岁月中用一点一滴的成绩来回报那些我要感谢以及对我有无限期盼的人!

推荐访问:山东理工大学论文管理系统 毕业论文 成绩管理系统 学生

猜你喜欢