基于web的学生课程以及成绩管理系统_第1页
基于web的学生课程以及成绩管理系统_第2页
基于web的学生课程以及成绩管理系统_第3页
基于web的学生课程以及成绩管理系统_第4页
基于web的学生课程以及成绩管理系统_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕业设计(论文)题目:基于web的学生课程以及成绩管理系统 2014 年 11 月 20 日大学毕业设计(论文)任务书学院(直属系):华科学院计算机科学与技术系 时间:2013年10月1日学 生 姓 名指 导 教 师设计(论文)题目基于web的学生课程以及成绩管理系统主要研究内容使成绩管理软件能充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展。基于Web的成绩管理系统利用JSP技术与Web数据库想结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率,并为进一步完善计算机教务管理系统和全校信息系统打下良好的基

2、础。研究方法1、查询相关资料,了解本系统的研究意义。查找相关资料。2、通过查询资料了解该系统要如何做,及要做哪些东西。3、设计出大体上的功能模块,画出模块图。4、通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。5、对设计好的程序进行调试,通过调试发现存在的问题并解决。6、最后,整理各阶段的设计记录文档,写成论文稿。主要技术指标(或研究目标)1、系统应具有实用性、可靠性和适用性,同时注意到先进性。2、对各个数据库进行动态管理,防止混乱。3、不同用户有不同的查询和修改权限,防止非法查询,非法修改。4、能够对查询结果进行分类汇总,实现报表打印和下载。5、方便用户的操作,尽量减少用户的操作

3、。主要参考文献1、周佩德. 数据库原理及应用M. 北京: 电子工业出版社, 2010.4678.2、李光明. JSP编程实例大制作D. 北京: 清华大学, 2010.3、刘炳文. 精通JSP入门与提高M. 北京: 人民邮电出版社,1999.46278.4、黄淼云. JSP办公自动化编程M. 哈尔滨: 国防工业出版社, 2009.5678.5、高永强. Java编程艺术M. 北京: 清华大学出版社, 2009.515.6、沈林兴,张淑平.程序员教程M. 北京: 清华大学出版社,2006.265307.基于Web的学生课程以及成绩管理系统摘要进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计

4、算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。本毕业设计所描述的学生成绩管理系统是采用ASP.NET作为网络编程框架,SQL Server 2005作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。

5、关键词:成绩管理,成绩录入,成绩查询,B/SSTUDENTSPERFORMANNCE MANAGEMENT SYSTEMAbstractAfter entering the 21st century, science and technology advance by leaps and bounds, the advent of the information age is not only make the computer is widely used in science and technology, more make the computer in life has been m

6、ore widely, for now, the school of electronic information office is an inevitable trend, the school of information are mainly embodied in the management of students grades above, education management system is a indispensable part of the unit.The graduation design of student achievement management s

7、ystem is described using is a network programming framework, SQL Server 2005 as a database of writing a B/s-based mode of the system. System is mainly realized: user management, scores query, performance management and management of subject etc. Function. This paper introduces the student performanc

8、e management system requirements analysis, functional design and system design, system design in database design and the overall design scheme of the system, in the system are introduced in details of each function can realize the situation and the main operation interface with code.Key Words: Grade

9、 Management,Achievements recorded scores query,B/S目 录中文摘要I关键词I英文摘要II关键词II第一章 引 言11.1 课程背景11.2 目的和意义1第二章 可行性研究22.1 可行性分析2 2.1.1经济可行性2 2.1.2技术可行性2 2.1.3运行和操作可行性2 2.1.4法律可行性2第三章 开发工具简介33.1 MySQL数据库3 3.1.1 MySQL是一个数据库管理系统3 3.1.2 MySQL是一个关系数据库管理系统3 3.1.3 MySQL是开源的33.2 MVC设计模式33.3 SSH架构4 3.3.1 Struts24 3.

10、3.2 Spring5 3.3.3 Hibernate363.4 JSP介绍73.5 JavaScript83.6 MyEclipse8第四章 系统实现94.1 总体设计94.2 流程设计94.3 实体联系图114.4 数据库设计124.5 系统模块设计13 4.5.1系统登录界面13 4.5.2管理员登录模块14 4.5.3修改个人密码15 4.5.4班级管理15 4.5.5教师管理15 4.5.6学生管理16 4.5.7课程管理16 4.5.8成绩管理17 4.5.9用户管理17第五章 系统调试与测试185.1 程序调试185.2 程序的测试18 5.2.1测试的重要性及目的19 5.2.

11、2测试的步骤19 5.2.3测试的主要内容20第六章 总结21参考文献22致 谢23附录24附录24附录34第一章 引言1.1课程背景随着多媒体教学的推广,电脑和网络的普及,人民对于电脑的应用已经不再陌生。目前社会上信息管理系统发展飞快,在各级各类的学校中,学生成绩管理一直都是学校工作中的一项重要内容,因为学生工作的很多方面都需要它的支持,比如学生就业推荐书的书写、学生档案的建设等等。随着学校办学规模的扩大和招生人数的增加,学生成绩管理成为一项十分繁重的工作。为了解决这一问题,有必要开发一套功能强大,操作简单,具有人性化的成绩管理系统,使计算机在学生成绩处理的领域中发挥高效灵活的功能。因此为了

12、充分利用计算机硬件资源,做好学生成绩管理工作,提高工作效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急。Internet和Web的迅猛发展使数据库技术也开始与Web产生了紧密的联系,一种新兴的技术Web数据库技术出现了,并且开始在数据库的应用中发挥着越来越重要的作用。基于Web的成绩管理系统利用JSP技术与Web数据库想结合实现,具有数据输入、查询修改等功能,应用该系统可大大提高工作效率。1.2目的和意义本系统的研究意义主要是改变以往的成绩管理模式,改人工手动管理为计算机网络化管理。使学校在处理学生成绩的问题上,变得更加方便和快捷。同时可以降低了人工管理的错误率,提高了数据的安

13、全性。随着教育的发展、高校规模的扩大、学生人数的增加,对学生各种信息的汇总、统计、分析等管理工作面临着很多困难。如果高校对学生各种信息的管理通过手工整理等方式来处理完成的,那么在这个工作过程中奖花费大量的人力和时间,而且查询各种信息也不方便不准确,影响了各级领导和学生管理部门对学生信息的及时掌握和分析。运用学生成绩管理系统可以减轻学校教学人员的工作量,加快查询速度,加强管理,还有就是缩小开支,提高工作效率与准确率。学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高打下坚实的基础。本系统利用网络这个平台,充分利用了网络的快捷性,提高教育的时效性,使学生随时随地查询自己的学习情况,达

14、到促进学生自主管理的目的,提高教师对学生管理工作的效率,让老师及时掌握学生学习上的动态。而且通过本课题的研究,能够充分了解网络数据库的相关知识,培养网络软件开发的能力,提高实践操作和知识综合运用能力。第二章 可行性研究2.1可行性分析2.1.1经济可行性系统的经济可行性是指分析学校的经济状况和投资能力,估算系统建设、运行和维护的费用,估计系统建成后取得的效益。目前,计算机价格已经十分低廉,计算机性能却有了质的飞跃。开发本系统为学校的工作效率带来了长足的进步,为此主要表现有以下几个方面:第一,运行本系统可以方便查询和管理学生信息;第二, 运行本系统可以节省人力和物力;第三, 运行本系统可以提高学

15、校的工作效率;第四,本系统可以减少信息管理的错误率。所以,本系统的开发在经济上是可行的。2.1.2技术可行性本系统通过网络和网页实现,校园网的覆盖为实现学生成绩管理系统打下了基础。使用支持动态网页的JSP技术,利用支持多用户的MySQL作为本系统的数据库,它适用于大中规模的数据量需求。使用MyEclipse 7.5作为系统开发的开发环境,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。2.1.3运行和操作可行性本系统是小型的学生信息

16、管理系统,所需要的资源比较小,学校电脑的硬件和网络都能够满足条件,因此,本系统在运行上是可行的。本系统使用方便,界面简洁,直观易懂,无论是学生还是教师都可直接上手,管理员通过简单的培训操作本系统也没有问题。2.1.4法律可行性开发本系统不会侵犯他人利益,不存在侵权问题,不违反国家法律法规,因此具有法律可行性。第三章 开发工具简介3.1 MySQL数据库MySQL5是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。

17、MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库1。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。3.1.1 MySQL是一个数据库管理系统数据库14是一个结构化的数据集合。如果要对存储在计算机数据库中的大量数据进行添加、访问等处理,你就需要一

18、个像MySQL这样的数据库管理系统。数据库系统在计算机处理中和独立应用程序或其他部分应用程序一样扮演着重要的角色。3.1.2 MySQL是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。SQL标准发展自1986年以来,已经存在多个版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前

19、版本。3.1.3 MySQL是开源的开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。3.2 MVC设计模式MVC1是Model-View-Controller的简称,即模型-视图-控制器。MVC是目前最流行的Web应用设计模式,它可以灵活、动态地设计开发系统,有利于修改和扩展简化程序,有利于代码重复使用。模型:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型用来封装和显示数据对象。视图:把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示

20、信息,对于相同的信息可以有多个不同的显示形式或视图。控制器:是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。使用MVC的优点:(1)用户在视图界面上发出请求;(2)可以很容易地用新的实现来替换原有层次的实现;(3)可以降低层与层之间的依赖;(4)有利于标准化;(5)有利于各层逻辑的复用。总的来说,MVC设计可以达到如下目的:分散关注、松散耦合、逻辑复用、标准定义。3.3 SSH架构3.3.1 Struts2Apache St

21、ruts210是一个优雅的,可扩展的JAVA EE web框架。它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的Java架构一样,Struts2也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。 Web应用都是请求-响应的程序结构。程序是由客户端client发出http请求开始的,客户端请求被ActionServlet拦截。在ActionServlet处,通常有2种情况:要求逻辑控制器处理的请求以及单转发的请求。系统主要以第一种请求为主,即ActionServlet需要调用对应的Action。因此,ActionServlet将请求

22、转发到Action,如果请求还配置了响应的FormBean,则ActionServlet还负责用请求参数填充ActionForm。此时的Action无须从HTTP Request中获取请求参数,而是从ActionForm中或得请求参数。Action或得请求参数后,调用Model对象由JavaBean处理用户请求。Action处理完用户请求之后,将处理结果包装秤ActionForward,再回送给ActionServlet。Struts2框架的大概处理流程如下: (1)加载类(FilterDispatcher) (2)读取配置(struts配置文件中的Action) (3)派发请求(客户端发送请

23、求) (4)调用Action(FilterDispatcher)从struts配置文件中读取与之相对应的Action(5)启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证) (6)处理业务(回调Action的execute()方法) (7)返回响应(通过execute方法将信息返回到FilterDispatcher) (8)查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个jsp页面) (9)响应用户(jsp-客户浏览器端显示)3.3.2 SpringSpring3是一个开源框架,由Rod Johnson创建。它

24、视为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益.简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小和开销两个方面而言Spring都是轻量的。Spring应用中的对象不依赖于Spring的特定类。控制反转Spring通过IoC技术促进了松耦合。当应用其的时候,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以理解成为I

25、oC和JNDI相反。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们不负责其他的系统级关注点,例如日志或事务支持。容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。然而,Spring不应该被混同于传统的重量级EJB容器,它们经常是庞大与笨重的,难以使用。框架Spring可以将简单的组建配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件中。Spring也提供了很多基础功能(事务管理、持久化框架集成等),将应用逻辑的开发

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

27、所有的流行的数据库服务器。Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图2.4所示: 图3.1 Hibernate架构图3.1显示了 Hibernate 的工作原理,它是利用数据库以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC

28、/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。3.4 JSP介绍JSP2(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理

29、逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开

30、发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JS

31、P配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大

32、的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;o

33、ut 用来传送响应的输出流; config代码片段配置对象;pageJSP网页本身; exception针对错误网页,未捕捉的例外。3.5 JavaScriptJavaScript8是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实

34、时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。3.6 MyEclipseMyEclipse6,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程

35、序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。第四章 系统设计4.1总体设计根据前面的需求分析,我们将系统划分为如下的三大功能模块。管理员管理模块重点是学生管理、教师管理、课程管理、班级管理。对学生、教师、课程、班级的管理包括添加、修改、查看。教师模块包括对学生成绩的录入和查询,以及对自己联系信息的修改。学生模块主要是学生对自己成绩进行查询,以及对自己的信息进行修改。整个系统的主要结构如图4.1所示。图4.1系统模

36、块结构图4.2流程设计 学生和教师是本系统的中心对象。根据模块划分和需求分析可知,该系统的流程主要描述的是当教师对自己所教课程的学生打分以后学生可以登录查询到自己该科目的成绩。该系统包括三个基本流程,适用于管理员、教师、学生。图4.2描述的是管理员的操作流程:首先管理员要进行学生、教师、班级、和课程数据的初始化,这样学生和教师就可以登录使用该系统了。在系统使用过程中,管理员再进行管理工作。图4.2管理员的操作流程图4.3描述的是教师的操作流程:教师根据管理员提供的初始密码和教师号登录系统。教师登陆系统后可修改密码、个人信息、公布和查询成绩。图4.3教师的操作流程图4.4描述的是学生操作流程:学

37、生根据学号和初始密码登录系统。学生登录后,可以查询成绩和修改个人信息。图4.4学生的操作流程4.3实体联系图实体联系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。各实体之间的E-R图:性别姓名籍贯学号密码学生属于专业名称人数班主任班级 图4.5学生和班级属性E-R图专业性别职称姓名密码课程名课程号说明教师课程教授 N图4.6教师与课程关系E-R图性别学号籍贯姓名密码课程名课程号说明学生课程学习 图4.7学生与课程关系E-R图4.4数据库设计数据库设计是对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效地存取数

38、据,满足用户的信息要求和处理要求。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现难度。在数据库系统开始设计开发的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。角色信息表:主要由ID,用户名,密码,权限,添加时间等组成,用于存放所有角色信息,如表4.1。表4.1 Allusers表列名数据类型长度允许空IDint4UsernameVarchar50pwdVarchar50CxVarchar50addtimeDatetime8教师信息表:主要由ID,用户名,密码,姓名,任教科目,电话,

39、备注,添加时间等组成,用于存放所有上课教师的基本信息,如表4.2。表4.2 Jiaoshi表列名数据类型长度允许空IDint4Gonghaovarchar50Xingmingvarchar50Dianhuavarchar50Renjiaokemuvarchar50Chushengnianyuevarchar50beizhuvarchar50学生信息表:主要由ID,学号,密码,姓名,班级,教师,性别籍贯,电话,备注,添加时间等组成,用于存放所有学生的基本信息,如表4.3。表4.3 Xuesheng表列名数据类型长度允许空IDint4 Mingchengvarchar50Yuanxivarchar

40、50Banzhuanrevarchar50addtimedatetime8课程信息表:主要由ID,编号,名称,添加时间,用于存放所有开课课程的基本信息,如表4.4。表4.4 kecheng表列名数据类型长度允许空IDint4bianhaovarchar50mingchengvarchar50addtimedatetime8成绩信息表:主要由ID,学号,姓名,班级,教师,课程,成绩,添加时间,用于存放所有学生成绩的信息,如表4.5。表4.5 Xueshengchengji表列名数据类型长度允许空IDint4xuehaovarchar50xingmingvarchar50Banjivarchar5

41、0chushengnianyuevarchar50Jiguanvarchar50dianhuavarchar504.5系统模块设计4.5.1系统登录界面启动Tomcat服务器,在浏览器里输入相应的地址,进入系统主界面,如图4.8所示:图4.8系统登陆界面4.5.2管理员登陆模块在进入系统主界面时,我们会看见用户,密码和角色三个登录框,只需在用户上输入admin,密码输入:admin,角色输入:管理员。点击登录就可以进入系统了。界面上集成了所有功能,有5个功能模块,实现了系统从用户管理、班级管理、教师管理、学生管理、课程管理等系统的具体功能,同时,各主模块下又包含具体的各项管理。 图4.9系统主

42、界面4.5.3修改个人密码本模块是本系统的安全性设置模块,它包含两个子模块分别是:系统管理员模块和修改个人秘密模块。根据学校不同部门以及不同使用人员对本系统的要求和需要,可以实现添加用户、修改密码等功能。图4.10学生管理模块4.5.4班级管理本模块主要是实现班级的管理,它又分成两个子模块分别是:班级添加和班级管理。它们分别实现了对班级的添加和管理的功能和修改删除等操作,如图4.11所示。图4.11班级管理模块4.5.5教师管理本模块为教师管理模块.它又包含了两个子模块分别是教师添加模块和教师管理模块。在教师添加模块中分别有工号、密码、姓名、性别、电话、任教科目、出生年月和备注等。以此实现对教

43、师添加的功能。在教师管理模块中可以对已有的教师进行信息的修改与删除等操作。如图4.12所示。图4.12添加教师界面4.5.6学生管理本模块为学生管理模块。它又包含了两个子模块分别是添加学生模块和管理学生模块。在添加学生模块中分别有学号、密码、姓名、班级、性别、出生年月、籍贯、电话和备注等。以此实现对学生添加的功能。在学生管理模块中可以对已有的学生进行信息的修改与删除等操作。如图4.13所示。图4.13管理学生界面4.5.7课程管理本模块为课程管理模块。它又包含了两个子模块分别是添加课程模块和管理课程模块来实现对课程的管理功能。如图4.14所示。图4.14管理课程模块4.5.8成绩管理本模块是教

44、师登录下的成绩管理模块,它包含两个子模块分别是:添加成绩模块和管理成绩模块,每个模块分别实现各自的功能。其主要实现的功能是对学生成绩的添加和学生成绩的管理进行管理的功能。如图4.15所示图4.15管理成绩界面4.5.9用户管理本模块是学生登录下的成绩管理模块,其主要实现的功能是学生对自己信息和密码的修改已经成绩的查询。如图4.16所示图4.16查询成绩窗口第五章 系统调试与测试5.1 程序调试在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑

45、错误导致的错误结果。5.2 程序的测试5.2.1 测试的重要性及目的(1)测试的重要性软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能

46、完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。 在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括: 认为测试

47、工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定; 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作; 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。 (2)测试的目的 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无

48、错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2 测

49、试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。5.2.3 测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 (1)单元测试 单元测试集中在检查软件设计的最

50、小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2)集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 (3)确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即

51、软件的功能和性能如同用户所合理期待的那样。 (4)系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 单独对系统的测试主要从以下几方面入手: 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据

52、、和非法数据干扰的能力的测试。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。 第六章 总结本文从成绩管理系统设计、功能目标设计和具体页面的确定及数据库的设计等几个方面探讨了成绩管理系统的技术与实现,最终采用MyEclipse编制成绩管理系统。采用易移植的数据库MySQL作为数据的存储工具,但同时它也失去了大型数据库的优点,如事务处理,存储容量大等。本系统界面友好、操作方便、效率高、易于日后程序更新、数据库管理容易,相信本成绩管理系统是一套学校在日常管理中必不可少的管理软件。在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的

53、过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。通过对学生成绩在线管理与查询系统的设计开发研究,我把所学的知识综合运用到开发过程中,使我获得了许多在课本中学不到的知识。当然,在开发中也遇到了许多的困难,在老师的帮助和我多方查找资料,基本把一些大的问题给逐个解决了。由于我的水平有限和没有项目经验,在数据库表的设计和学生功能上面存在许多的问题,直到我快完成毕业设计的时候,才发现数据库表设计的许多不足和学生功能不完善等问题,因为时间不允许和能力有限,所以也没有再重新设计数据库,再继续编写代码。以后我会通过不断的学习,积累更多的经验把存在问题的部分给慢慢完善。在开发中,我注意到了代码的复

54、用,把功能相同的写成一个独立的方法,供多个地方使用。本系统方便学生查询自己的本学期的总成绩,以及各种信息;方便管理员对学生成绩信息的管理、录入、修改、查询、删除、统计等操作。界面美观简洁,操作简单。通过这段期间的实践,也使我深刻的了解到理论联系实际的重要性和必要性。只有在实践中不断的进行学习才能真正的提高自己的技能水平,我也会在今后的工作中继续努力。参考文献1 周佩德. 数据库原理及应用M. 北京: 电子工业出版社,2010.4678.2 李光明. JSP编程实例大制作D. 北京: 清华大学,2010.3 刘炳文. JSP程序设计论文集: 数据库集C. 北京: 北京航空学院出版,1999.246378.4 刘炳文. 精通JSP入门与提高M. 北京: 人民邮电出版社,1999.46278.5 黄淼云. JSP办公自动化编程M. 哈尔滨: 国防工业出版社,2009.5678.6 高永强. Java编程艺术M. 北京: 清华大学出版社,2009.515.7 李钟尉, 陈丹丹. Java程序设计标准教程M. 北京: 人民邮电出版社,2009.3406.8 魏雪萍. 新手学制作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论