您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页最新学生成绩查询系统设计

最新学生成绩查询系统设计

来源:意榕旅游网


学生成绩查询系统设

------------------------------------------作者xxxx ------------------------------------------日期xxxx

……………………………………………………………最新资料推荐…………………………………………………

摘 要

随着计算机技术的飞速发展和高等教育改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作.提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。

目前,学校工作繁杂、资料重多。而各类中、小学还缺乏一种便捷和规范化的学生成绩管理系统.因此,开发一套适和大众的、兼容性好的系统是很有必要的。

EXCEL以其功能强大、操作灵活得到了大量的应用,尤其是在各个中、小学校.基于Web与Excel数据源技术建立一个中、小学成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求.

关键词:成绩管理系统 Web EXCEL

i / 75

……………………………………………………………最新资料推荐…………………………………………………

ABSTRACT

With the rapid development of computer technology and higher education system reform of, traditional education management methods, means and working efficiency has not been able to adapt to the new development needs, does not provide complete teaching management work. Of the main route is to update the management of, enhancements to the scientific knowledge of the management activities。 This system pursuant to development requirements are mainly used in the education system, complete the education of students archives of digital management. Development of this system allows College faculty, staff, and ease, comparing systematically on educational, teaching on the various services and information management,

ii / 75

……………………………………………………………最新资料推荐…………………………………………………

at the same time, you can reduce labor, to speed up the query speed, the strengthening of management, as well as national departments regarding information-, make management more normalized.

At present, the school work is complicated, much information. While all types of primary and also the lack of a convenient and standardization of management systems。 Therefore, the development of a suitable and public, compatibility system is necessary.

Excel with its powerful, flexible operation has been a large number of applications, especially in all primary and secondary schools. Based on the Web and Excel data source create primary and grade management system for administrators, students, and teachers provides query, modify, add records, delete and other functions, complete feature comparison of the fall, basically able to meet the requirements of students and teachers.

iii / 75

……………………………………………………………最新资料推荐…………………………………………………

Keywords:Performance Management System Web Excel

iv / 75

……………………………………………………………最新资料推荐…………………………………………………

目 录

第一章 绪论 .................................. 错误!未定义书签。 1。1 学生成绩查询系统发展的背景ﻩ错误!未定义书签。 1。2 学生成绩查询系统开发的目标与意义ﻩ错误!未定义书签。 1。2。1 系统开发的目标ﻩ错误!未定义书签。

1。2。2 系统开发意义 ................. 错误!未定义书签。 1.3 论文内容安排ﻩ错误!未定义书签。

第二章 系统的需求分析 ....................... 错误!未定义书签。 2。1 教育系统学生管理现状分析 .............. 错误!未定义书签。 2.1.1 学校工作流程分析 ................. 错误!未定义书签。 2。1。2 系统设计思想ﻩ错误!未定义书签。 2。1.3 系统设计分析ﻩ错误!未定义书签。

2.1。4 系统功能分析 .................... 错误!未定义书签。 2.2 系统开发所需技术ﻩ错误!未定义书签。 2.2.1 B/S结构技术ﻩ错误!未定义书签。

2.2。2 JSP(Java Server Pages)ﻩ错误!未定义书签。

2.3 系统开发工具与运行环境 ................ 错误!未定义书签。 2.3。1 开发工具的选择 ................... 错误!未定义书签。 2.3.2 面向对象的开发过程ﻩ错误!未定义书签。

2。3.3 数据库的选择 .................... 错误!未定义书签。 2.3.4 系统开发方法选择 ................ 错误!未定义书签。 第三章 系统设计ﻩ错误!未定义书签。

i / 75

……………………………………………………………最新资料推荐…………………………………………………

3.1 技术总体目标ﻩ错误!未定义书签。

3.1.1 系统技术性能要求 ................. 错误!未定义书签。 3.1.2 精度 ............................. 错误!未定义书签。 3.1。3 数据管理能力要求ﻩ错误!未定义书签。 3。1。4 时间特性要求ﻩ错误!未定义书签。

3.1.5 故障处理要求 ...................... 错误!未定义书签。 3。1.6 UI要求设计要求ﻩ错误!未定义书签。 3.2 系统用户逻辑层设计ﻩ错误!未定义书签。 3。3 逻辑结构设计ﻩ错误!未定义书签。 3。4 系统模块设计ﻩ错误!未定义书签。

第四章 系统功能的实现 ...................... 错误!未定义书签。 4。1 系统模块实现程序ﻩ错误!未定义书签。 4.1。1 系统用户登录模块ﻩ错误!未定义书签。 4.1.2 系统用户管理模块ﻩ错误!未定义书签。

4。1。3 成绩信息管理模块 ............... 错误!未定义书签。 4。1。4 学生成绩查询模块ﻩ错误!未定义书签。 4。2 数据库的建立与连接ﻩ错误!未定义书签。

4.2.1 数据库的建立 ..................... 错误!未定义书签。 4.2.2 数据库的连接 .................... 错误!未定义书签。 第五章 系统运行与检测 ....................... 错误!未定义书签。 5。1 测试方法 ............................ 错误!未定义书签。 5。2 系统用户登录模块的运行与检测ﻩ错误!未定义书签。

ii / 75

……………………………………………………………最新资料推荐…………………………………………………

5.3 系统用户管理模块的运行与检测ﻩ错误!未定义书签。 5.4 成绩信息管理模块ﻩ错误!未定义书签。

5.5 学生信息查询模块 ..................... 错误!未定义书签。 第六章 总结 ................................. 错误!未定义书签。 致 谢ﻩ错误!未定义书签。

参考文献 ..................................... 错误!未定义书签。 附录Aﻩ错误!未定义书签。

附录B ....................................... 错误!未定义书签。

iii / 75

……………………………………………………………最新资料推荐…………………………………………………

第一章 绪论

1.1 学生成绩查询系统发展的背景 随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。

数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。

互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题。

在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经

1 / 75

……………………………………………………………最新资料推荐…………………………………………………

济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。

1。2 学生成绩查询系统开发的目标与意义 学生成绩管理工作是高校教育工作的一项重要内容.教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。学生成绩管路工作关系到高校教学秩序的稳定.

1.2.1 系统开发的目标

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:

1.系统应具有实用性、可靠性和适用性,同时注意到先进性。 2.对各个数据库进行动态管理,防止混乱。 3.能够对查询结果进行分类汇总,实现报表打印。

2 / 75

……………………………………………………………最新资料推荐…………………………………………………

4。方便用户的操作,尽量减少用户的操作

5. 实现对学生用户密码修改的功能。学生可以在网上修改自己的用户密码。

1.2.2 系统开发意义

随着高等教育改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合成绩管理信息系统,是深化教务改革的有利措施。

学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量.

运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部

3 / 75

……………………………………………………………最新资料推荐…………………………………………………

的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。

1。3 论文内容安排

在本文中,内容将按照如下结构进行安排:

第一章 绪论:将对课题的发展背景,课题目标及开发意义做概括论述 第二章 系统的需求分析:将对系统的应用对象,系统开发所需技术,

系统开发平台、数据库及开发方法进行简介

第三章 系统设计:将对系统的功能及模块设计做详细介绍

第四章 系统功能的实现:将对实现第三章所设计的功能的程序进行介

绍,并对数据库的建立与连接做详细的介绍

第五章 系统运行与检测:将对完成的系统进行运行和测试 第六章 总结:将对在研究课题的过程和结果做总结性的发言

4 / 75

……………………………………………………………最新资料推荐…………………………………………………

5 / 75

……………………………………………………………最新资料推荐…………………………………………………

第二章 系统的需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域.使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展.为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。

2.1 教育系统学生管理现状分析 2.1。1 学校工作流程分析

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护.

在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。

5 / 75

……………………………………………………………最新资料推荐…………………………………………………

每举行一次考试后由任课老师对成绩进行录入.班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。

教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。

2。1.2 系统设计思想

1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果.

2.系统就满足学校的需求,例如学生成绩的录入、查询、更新等。

3.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。 2.1.3 系统设计分析

本系统适用于中小学校,其功能主要分为三大类:

1.用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。

2.学生成绩管理:用于对成绩的输入、修改、汇总. 3.学生信息查询: 对学生成绩等信息的查询。

6 / 75

……………………………………………………………最新资料推荐…………………………………………………

2.1。4 系统功能分析

1.权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组.可分为普通用户,一般用户,超级用户.普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息.

2.录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。

查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。

3.维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。

4.退出功能:结束并关闭系统。

2。2 系统开发所需技术 系统在开发中将主要涉及到两种技术: B/S结构技术,JSP技术。下面将对这两种技术做一个简单介绍。 2.2.1 B/S结构技术

随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上

7 / 75

……………………………………………………………最新资料推荐…………………………………………………

的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网.而各个企业可以在此结构的基础上建立自己的Internet。

图2.2 B/S结构

B/S结构是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3—tier结构.这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下

8 / 75

……………………………………………………………最新资料推荐…………………………………………………

数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。B/S结构有以下几个优点:

1.良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。

2.可共享性.单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;

3.较好的安全性.在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。

4.增强了企业对象的重复可用性.“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。

5.三层模式成为真正意义上的“瘦客户端\",从而具备了很高的稳定性、延展性和执行校率。

6.三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。

9 / 75

……………………………………………………………最新资料推荐…………………………………………………

2。2.2 JSP(Java Server Pages)

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1。0规范的最后版本是1999年9月推出的,12月又推出了1。1规范。目前较新的是JSP1。2规范,JSP2.0规范的征求意见稿也已出台.

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java Servlet代码进行处理,然后将生成的HTML页面返回给客户端的浏览器.Java 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,

10 / 75

……………………………………………………………最新资料推荐…………………………………………………

完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点.

现在,在互联网中流行着多种动态网页实现技术,例如ASP、JSP、CGI、PHP等.对应于这些动态网页技术,也存在有多种多样的Web服务器系统,例如Microsoft IIS、Apache、Cold Fusion等.

目前国内ASP与PHP应用最为广泛,尤其是ASP.而JSP则在国外非常流行,国外电子商务类的网站许多都采用JSP。JSP的优势如下所述:

1.将内容的生成和显示进行分离

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格).生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发

11 / 75

……………………………………………………………最新资料推荐…………………………………………………

送回浏览器.这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性. 2.生成可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3.采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

4.将内容的生成和显示进行分离

12 / 75

……………………………………………………………最新资料推荐…………………………………………………

与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTML更方便。此外,你可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地方让SERVLETS程序员插入动态部分即可。

5.由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性.

6.作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行"的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。

2.3 系统开发工具与运行环境 2.3.1 开发工具的选择

在开发工具上,我选择地是Eclipse和Tomcat,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个

13 / 75

……………………………………………………………最新资料推荐…………………………………………………

初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 的进程单独运行的。

2.3。2 面向对象的开发过程

1.Java在虚拟机上运行

Java源代码并不是被编译成为普通的机器代码.而是被翻译成为虚拟机可以执行的代码。一个Java解释器最终执行这些代码。这其中没有连接的过程;解释在需要的时候动态的加载一些类;

2.Java是完全面向对象的

Java是一种完全面向对象的语言.这意味着你对任何一个Java对象所做的动作都是通过一个方法实现的。第一点就是,再也没有没有主函数这样的孤立的东西了。取而代之的是,你必须开始用一个对象的看法看待一个程序,一个类的对象。但是这个对象又什么对象呢?大多数Java程序只是简单的通过继承Java基础类Object来实现所需要的东西,但是你可以通过创建程序基础类用于多个特性相似的应用程序来节省时间.

严格的面向对象的规定意味着理用原有的C/C++代码不可以直接不加改动的使用;系统调用也是这样的。C++中,你可以通过在C++

14 / 75

……………………………………………………………最新资料推荐…………………………………………………

正常的命名空间外声明extern\"C"来使用原有的C的过程调用,包括系统调用。

在Java中,只有一个类似的安全回溯的方法,但是并不是十分简单的方法.你必须定义一个本地方法,其目的是为C语言提供接口,然后提供连接的介质。Java环境提供了完成这种任务的工具,但是整个过程和C++中提供的extern比微不足道,完成使用C++类的过程则更加复杂,因为这样会引入对C的借口和C函数和C++成员函数的问题.

幸运的是,许多常用的系统实用工具函数已经在系统类中的方法中提供出来,但是这些明显没有包含经过许多年来你所创建的那些类和过程。所以,在你需要的时候你应该去钻研一下。

3.Java中没有的头文件

在Java中,关于类的一切东西都被放到一个单独的文件中。方法的位置只可能在一个地方出现,一个方法的实现必须在它的定义过程中同时进行。这样做得优点是在实现程序的时候不容易因为文件的非同步错误而失败,或者获取到一个没有实现的声明。类的声明可以被Java解释器利用甚至是从一个编译过的单元中获取,所以不再需要有头文件,只要有编译过的文件。

这样做的缺点与我们编程的过程有关.许多C++程序员喜欢用头文件来代替文档.要看一个成员函数的接口参数,只需要看头文件中的声明即可.你可以经常的看头文件即可了解怎样去使用这个类。在

15 / 75

……………………………………………………………最新资料推荐…………………………………………………

Java中,没有这样的总结。因为实现类方法的代码必须在方法定义的时候出现,而且,对于一个单独的函数的代码来说就经常占据了一整页乃至更多。这样,很难通过看Java的代码就初步了解类是怎样使用的。你必须为你需要的类准备足够多的文档.不言而喻,再处理非商业类库的时候文档是极度缺乏的。

在当先的Java环境中提供了两个工具来补偿这些,javap来打印类标识,javadoc为嵌入式程序提供HTML文档。

4.用Package来分解Java命名空间

在大的C++工程中经常遇到的一个问题是命名空间-—怎样保证工程的一些程序员不会创建和另一些程序员一样名字的类?更糟糕的是,供应商可能会提供一个包含和你的类一样名字的类的库.有许多方法可以解决这一问题,但是很可能在问题发现之前工程已经启动,改正错误是需要付出许多痛苦的.

Java通过”Package”这个概念解决了这个问题,Package有效地通过通过集合类划分了命名空间。在不同包内的两个同名的类仍然是不同的。关键问题就变成了类是否放置到相应的包中.

记住,Java并没有解决命名冲突的问题。扩展一个基类而引起了派生类的冲突。比如说,如果你最喜欢的供应商提供了一些类,然后你把它们用做基类并且派生有一个foo方法的类,当供应商提供一个新版本的类的时候就可能出现,如果供应商业也在新类中提供了一个foo的方法.

16 / 75

……………………………………………………………最新资料推荐…………………………………………………

5.异常是Java的重要特性

在C++中,异常和异常处理是十分深奥的事情;许多C++程序员从没有处理过它们甚至不知道它们是何物。异常是在正常的过程中出现的未预料的错误,因此,它们不会从方法中返回,或者作为参数传入;但是,它们不能被忽略!这里的一个例子是计算一个书的方根的方法。正常的接口形式是将一个正数作为参数传入方法,然后方法会返回一个正实数作为结果,方法可以检验这些并且在异常产生的时候抛出异常。在大多数系统中,程序员并不是必须这样做,这样,一个没有考虑到的异常可以使程序不正常的退出。

在Java中,异常已经成为语言中非常成熟的部分。方法的说明中就包含了异常的信息,程序处理器也强制检验如果你使用了一个能够产生异常的方法,你就必须检查异常是否发生。几乎所有的Java程序员都会遇到异常的情况,因为许多非常有用的库中的类都会抛出异常。处理异常并不难,但是在一些时候是需要注意的。一个方法的文档会指明方法抛出的异常的类型。如果你忘了,不要紧,编译器会提醒你的。

6.字符串不再是字符数组

Java中包括了一个字符串的对象,并且是个常量。字符串不像字符数组一样,虽然可以简单的从一个字符数组构造一个字符串。你应该尽可能的用字符串代替字符数组,因为他们不会因为误操作而被覆盖。

17 / 75

……………………………………………………………最新资料推荐…………………………………………………

7.Java了常量对象和方法

在C++中,你可以正式的声明一个函数参数或者函数返回值为const类型,这样可以有效的防止对参数或者返回值的不正当修改。另外,你可以声明一个成员函数为const,表明它不可以修改任何他操作的对象。

Java支持常量操作符,只读变量,这些通过final关键字实现.但是Java没有支持强制的使一个可写变量在函数传递、返回的过程中变为只读.或者定义一个不操作修改对象的常量方法.

在Java中,这个省略带来的影响和在C++中相比就非常小了,这很大程度上因为字符串变量和字符数组的不同,但是这也带来一个引起错误的隐患。特别地,没有办法检验一个方法是否可以改动对象。

8.Java没有指针

理解指针的概念是一个C或C++程序员最难应付的问题。指针也是错误产生的一大根源。Java中没有指针,对象的句柄直接作为参数传递,而不是传递指针.另外,你必须通过索引使用数组。这些都不是什么大问题。然而,没有指针是在写含有函数指针或者成员函数指针的系统的时候引起很大麻烦。这个问题在处理回调函数的时候更加显著。

9.Java没有参数化类型

18 / 75

……………………………………………………………最新资料推荐…………………………………………………

参数化类型提供了用一段程序处理许多相似程序的方法。一个例子就是开平方根的方法,它可以对int或者float操作。在C++中,这一特性是由模板提供的.

Java中不包含C++中的模板的等价物。如果你经常使用模板来简化程序,比如说构造许多使用相似参数类型的函数,这简直就是灾难。这意味着更多使用复制、粘贴的过程来手动的完成。然而,如果你使用模板来生成类的话,没有简单的方法。

10.Java使用垃圾回收

在垃圾回收的语言中,运行时环境一直监测哪些内存不被使用。当一块内存不用的时候,系统自动的回收内存。比如说,一个对象在一个方法中生成,但是没有被调用着返回或者没有储存为全局变量,不能在方法外部使用。系统自己会知道哪些变量是你用不到的,哪些是可以用到的。因此,你不必再为破坏对象回收内存而担心。在C++中,很多的调试时间都被使用到检查内存漏洞中。Java的这种方法很大程度上降低了这种错误的可能.但是他依然不能处理逻辑混乱的程序,他们不能够被回收.许多C++的类中的析构函数是用来释放对象引用的内存的.Java使垃圾回收的事实说明在Java中不是必需写析构函数了。但是并不意味着你可以忘记为你的类写析构函数.比如,一个对象打开了网络连接就必须被恰当的清理来关闭这个连接。在Java中,析构函数被称作”finalization”方法。

11.Java不支持多重继承

19 / 75

……………………………………………………………最新资料推荐…………………………………………………

在任何一个复杂的面向对象的系统中,实现一个有更多方法的新类是十分经常遇到的事情。比如说,一个Manager类,需要被作为一个连表的表头,但是一个Manager又必须是一个Employee。有许多方法来处理这样的问题。一个方法是允许从多个类继承。在这个例子中,Manager需要从Linked List和Employee继承。

Java没有多重继承。但是你可以声明接口——来描述实现一些功能的编程接口。一个类可以由多个接口实现,包括他唯一的功能.不同的类可以由同样的接口实现。方法的参数既可以声明为类,也可以声明为接口.如果是接口的话,实现接口的类就可以作为参数传入方法。

接口的概念要比多继承容易理解一些,但是他有一定的局限性。特别地,你必须在类中实现接口的时候编码去重新实现类的功能。

12.Java支持多线程

多线程可以使你写出在同一时刻完成多种任务的程序。比如说,你可以在完成读取一个大文件之间允许用户对已经读取的部分进行编辑。你需要把程序分为多线程来执行.为安全起见。你的程序要被精心的设计,因为可能不止一个线程需要对数据进行访问、修改。

Java开始就支持多线程.类和接口用来分解一个程序成为不同的线程。语言简单的对重要的数据作同步或者锁定处理.

20 / 75

……………………………………………………………最新资料推荐…………………………………………………

2.3。3 数据库的选择

这里将采用Oracle数据库作为系统的DBMS支撑.Oracle数据库包括Oracle数据库服务器和客户端。Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的和集成的信息管理方法。每个Server由一个Oracle DB和一个Oracle Sever实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,包括启动和关闭数据库;Sys,它是一个 DBA用户名,具有最大的数据库操作权限;System,它也是一个 DBA用户名,权限仅次于 Sys用户.

为数据库用户操作端,由应用、工具、SQL* NET组成,用户操作数据库时,必须连接到一服务器,该数据库称为本地数据库(Local DB)。在网络环境下其它服务器上的 DB称为远程数据库(Remote DB)。用户要存取远程 DB上的数据时,必须建立数据库链。

Oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存储结构的存取。Oracle数据库优点有:

21 / 75

……………………………………………………………最新资料推荐…………………………………………………

1.可用性强 2.可扩展性强 3.数据安全性强 4.稳定性强

2.3。4 系统开发方法选择

在开发方法的选择上,选择了演绎式原型法与生命周期法相结合的方法。具体来说,就是在系统开发之前对系统有一个总体框架设想,各功能单元的结构和功能也比较清楚,但是还没有具体实现.系统完成什么功能,分成哪几个部分,各个部分又有哪几个模块,都已理解掌握,且以后不需要做更大的变动,只是具体到每个模块,还没有全部实现。具体地设计可能是完全实现一个模块,也可能是用一个效率高地模块代替一个旧模块。信息系统的开发是一项比较复杂的工作,我们必须选用科学的有效的开发方法。近年来,国内外已逐步总结出一些开发信息系统的方法和技术,但是,从目前的情况来看,系统的开发技术仍是一个比较薄弱的环节。那么根据本系统开发的要求,本系统选择了生命周期法和原型法相结合的方法

22 / 75

……………………………………………………………最新资料推荐…………………………………………………

第三章 系统设计 3.1 技术总体目标 3。1.1 系统技术性能要求

学生成绩管理信息系统的技术总体目标是应用先进的计算机网络与数据技术为教学工作中的成绩管理提供稳定、安全、可靠信息化服务,具体技术上将达到如下要求: .先进性

采用先进、成熟的计算机软硬件技术,保障系统能够最大限度的适应今后技术和业务发展的需要。软件结构应实现层次化、模块化、平台化,统一规范,同时采用先进的现代管理技术,以保证系统的科学性.

2.开放性

系统将采用具备优良性价比的开放式软硬件平台;网络体系结构支持多种通讯协议、数据库;采用C#等通用开发语言工具;对用户操作平台采用主流的B/S结构。 3.可靠性

可靠性包括系统的稳定性和数据的可靠性。

系统的稳定性需求包括:满足7*24小时的运行需要,发生局部硬件、网络和软件故障时有相应的旁路技术和容错技术,任意单点故障都不影响整个系统的运行。

23 / 75

……………………………………………………………最新资料推荐…………………………………………………

数据可靠性需求包括:保证本地备份数据和实时交易数据的一致性,发生局部故障时,数据不损失,发生重大事故时,备份数据可以在规定的时限内恢复. 4.高效性

系统的设计要具有大规模的业务并发处理能力,数据的处理和传送也可采用批量处理的形式。即使在日终数据备份和批量处理的时候也可以照常办理业务。 5.可用性

可用性包括系统正常情况下的可用性和系统发生改变时的可用性. 正常情况下应用软件应安装简单、易于操作、界面友好,数据处理工作简单、方便、快捷.业务流程清晰,符合习惯,系统维护方便,备份及数据恢复快捷简单.同时要在对硬件、软件及应用进行调整时不影响原有业务的实现. 6.可扩展性

高可扩展性指两方面:一方面通过扩充主机、CPU、磁盘、内存等硬件可以提高性能指标,通过扩充网络可以排除阻塞、拥挤和超时;另一方面通过系统开放式体系架构、模块化、参数化以及组件技术,对业务量、业务种类的扩展、与其他机构连接的扩展、系统功能扩展等都能提供足够的支持,缩短系统实施周期。 7.可管理性

24 / 75

……………………………………………………………最新资料推荐…………………………………………………

高可管理性包括正常情况下的可管理性和系统发生改变时的可管理性。可管理性指系统应具备对主机、网络、数据库、应用等情况进行监控、管理和调度;对系统自身所有的和流经系统的信息、参数、文件进行统一的管理和控制。 8.安全性

安全性指系统具有数据传输的加密/解密、用户身份认证、权限确认、日志记录等安全控制功能。具体包括:数据保密性、传输安全性、访问安全性、安全审计、网络安全和系统安全等.系统安全性要求包括基于用户的系统操作权限控制、某些数据的加密保护、身份鉴别。其安全性能:

a. 访问者用户验证方式采用基于MD5加密的用户Form验证 b. 定期备份数据库以预防系统故障时及时恢复

c. 系统硬件与网络结构应满足web应用程序安全稳定地运行的需求.

以达到信息的及时准确处理,数据安全等。可考虑运用硬件防火墙及支撑软件来预防来自网络的攻击,并采用备份服务器来备份重要数据及程序,以便出现故障时能及时恢复系统。 3。1。2 精度

系统精度主要包括两个方面: 系统信息流转的正确性 系统信息流转的完整性

25 / 75

……………………………………………………………最新资料推荐…………………………………………………

3.1。3 数据管理能力要求

系统内数据保存具有持久不丢失性,数据的安全保证要能防止病毒和网络上非法用户如黑客的获取.这些可以通过对Web服务器的维护管理和各种杀毒与网络安全系统来提供保证,不属于本系统数据安全性要求范围内。 3。1.4 时间特性要求

系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。对某些检索和其它涉及复杂计算的操作系统响应也应保持在3-5倍用户视觉延迟时间范围内。

连接性能:为保证系统可能存在的大量的并发连接数,因此需要保证用户在其网络正常情况下可访问站点数据。

数据库检索性能:由于系统需要检索大量用户数据,因此在数据库检索性能上需要采取一定的优化措施以提高检索性能,降低数据库及网络传输消耗.

3.1。5 故障处理要求

本系统在按运行环境所要求的系统平台(包括操作系统、数据库系统和网络环境)正常情况下不会发生严重的系统故障如系统崩溃等。对除此之外的系统故障应是在简单的配置和调整后及时恢复。

26 / 75

……………………………………………………………最新资料推荐…………………………………………………

3。1。6 UI要求设计要求

UI设计是系统具有良好的易用性的一个重要因素,基于本系统的特殊应用范围考虑,本系统的UI设计主要从两个方面去考虑:一是功能,二是风格。

针对页面功能上的要求是:应具有可方便检索,浏览站内信息,具备良好的导航性;

针对页面风格上的要求是:体现美观、简约、现代、友好易用等设计元素。

因此,本系统UI设计应该遵循以下几个原则: 浏览界面友好,美观,大方

栏目内风格统一,让访问者能快速熟悉网站的设计结构,信息显示一目了然

风格简约,突出功能与重点

易用性强,便于操作与查找相关内容

良好的伸缩性,易于在将来的运营过程中增减模块或内容 站点结构清晰科学,便于管理维护

3。2 系统用户逻辑层设计 为达到成绩管理信息系统的业务总体目标一个先进、高效、安全、可行的成绩管理信息系统的业务总体目标,用户的权限分配是必要的步骤。

27 / 75

……………………………………………………………最新资料推荐…………………………………………………

本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师用户。

系统管理员:可进行用户管理,组权限分配,信息查询等工作。 教师:课程信息管理,成绩管理,成绩信息查询,成绩列表下载等工作.

学生:可进行成绩查询等操作。

系统管理员 功能管理模块 记录添加、删除、修组权限管理 图3。1-1 管理功能结构图

教师 学生成绩管理 学生成绩查询 学生成绩列表下载 记录添加、修改、删除 图3。1—2 教师功能结构图

学生 成绩查询

28 / 75

……………………………………………………………最新资料推荐…………………………………………………

图3。1—3 学生功能结构图

3。3 逻辑结构设计 在教务系统中功能模块主要牵涉到的信息包括:学生信息(base info)、班级信息(class info)、成绩表(results list)、登录表(login form)。

1.学生信息:包含姓名(name)、班级(class)

2.成绩表:包含姓名(name)、班级(class)、课程(course)、成绩(result)

3.登录表:包含用户名(ID)、密码(password)、权限(competence)

登陆信息 寻找信息

数据库 用户 登陆 用户登陆 操作 操作

数据库

错误信息

返回信息

图3。3 数据流图

对图3。3及的数据流描述如下

1. 数据流名:口令号

29 / 75

……………………………………………………………最新资料推荐…………………………………………………

说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。

数据流来源:登陆界面输入的口令号和密码。

数据流去向:用户口令信息将存在于整个操作过程中,防止非法登陆。

数据流组成:口令号(文本);密码(文本) 2. 数据流名:寻找信息

说明:根据用户在学生信息维护的时候所填写的信息。 数据流来源:学生信息维护界面学生输入包含学号、班级编号、名称等.

数据流去向:学号将存在整个操作,其它的存入数据库. 数据流组成:学号(文本);姓名(文本)等 3. 数据流名:寻找信息

说明:根据用户在成绩管理的时候所填写的信息。

数据流来源:成绩输入、修改、添加等界面用户输入包含课程名称、成绩.

数据流去向:学号、班级编号、课程编号将存在整个操作,其它的存入数据库。

数据流组成:课程名称(文本)、教师(文本)等。 4. 数据流名:返回信息

30 / 75

……………………………………………………………最新资料推荐…………………………………………………

说明:根据用户在学生信息维护时所填写的信息存入了数据库之后。

数据流来源:由学生信息维护界面学生输入的包含学号、姓名存入数据库的。

数据流去向:学生信息维护界面。

数据流组成:学号(文本)、姓名(文本)、班级名称(文本)

等.

5. 数据流名:返回信息

说明:根据用户在成绩管理的时候所填写的信息存入数据库后。

数据流来源:由成绩管理输入的包含班级名称、课程名、成绩存入数据库的。

数据流去向:成绩管理的各子界面。

数据流组成:班级编号(文本);班级名称(文本);教师(文本)

3。4 系统模块设计 本系统从功能上划分可分为以下几大模块:系统账户登录模块,系统账户管理模块,成绩信息管理模块,学生信息查询。以下将对各子模块进行说明:

系统用户登录模块:实现不同权限的账户的登录

系统用户管理模块:可增添新账户,分配权限,并对已有账户进

31 / 75

……………………………………………………………最新资料推荐…………………………………………………

行修改密码、删除等功能

成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。输出查询的学生成绩信息。

学生成绩查询模块:本模块是可对学生成绩进行查询

管理员 添权删 加限除 用分用 户 配 户

学生成绩查询系统 用户登录 教师用户 学生用户 修改密码 成绩添加 成绩修改 成绩删除 成绩查询 列表下载 成绩查询 图4.4 系统模块图ﻬ

32 / 75

……………………………………………………………最新资料推荐…………………………………………………

第四章 系统功能的实现 4。1 系统模块实现程序 4。1.1 系统用户登录模块

程序名:login.jsp

程序功能:核对系统登录界面中输入的用户名、密码及用户类型与数据库中的相对数据。完成系统的登录操作

程序名:index.jsp

程序功能:将已登录用户根据权限分配到不同模块 4.1.2 系统用户管理模块

程序名:ManagerIndex。jsp 程序功能: 实现管理员用户的登入 程序名:addUser。jsp 程序功能:添加系统用户

程序名:deleteUser。jsp 程序功能:删除系统用户 程序名:editPass.jsp 程序功能:修改已有用户密码

33 / 75

……………………………………………………………最新资料推荐…………………………………………………

4。1.3 成绩信息管理模块

程序名:TeacherIndex.jsp 程序功能:实现教师用户的登入 程序名:editScore。jsp

程序功能:实现教师用户对数据库中成绩的修改

程序名:teacherQueryScore。jsp 程序功能:实现教师用户对成绩的查询 程序名:jftable.jsp

程序功能:实现教师用户对班级成绩列表的下载 4.1。4 学生成绩查询模块

程序名:StudentIndex。jsp 程序功能:实现学生用户的登入 程序名:queryScore。jsp

程序功能:实现学生用户对自己成绩的查询

34 / 75

……………………………………………………………最新资料推荐…………………………………………………

4。2 数据库的建立与连接 4.2.1 数据库的建立

第一步:打开“管理工具”中“ODBC数据源管理器”中的“系统DSN”,添加一个“Driver do Microsoft Excel(*。xls)\",点击“完成" .

图4。2-1 建立ODBC连接

35 / 75

……………………………………………………………最新资料推荐…………………………………………………

图4.2。1—2 数据源创建

第二步:这里将数据源命名为“DBSystem”。点击选择工作薄来创建一个EXCEL表单,在表单输入“数据(N)”,注意在此输入的名称将来用于反问JDBC的名称,本为该DSN选择工作薄。生成的表单即为EXCEL数据源。 4。2.2 数据库的连接

在JDK的环境变量设置好的情况下,将已编辑好的JDBC。ODBC桥连接代码的TXT文档在CMD。EXE下生成.Class文件。

代码如下:

private static String driverName = ”sun.jdbc.odbc。JdbcOdbcDriver\";

private static String dbURL = \"jdbc:odbc:driver={Microsoft Excel Driver (*。xls)};DBQ=D:

36 / 75

……………………………………………………………最新资料推荐…………………………………………………

static { try {

Class.forName(driverName);

dbConn = DriverManager.getConnection(dbURL, \"\", \"”);

主要语句解释:

Class。forName(driverName)语句中的driverName是指定用什么驱动包,也就是采用什么样的连接方式。

dbConn = DriverManager.getConnection(d

bURL, "", ””)语句中的dbURL是指定连接地址.”", \"\"分别是指用户名和密码。

"jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};这是指定驱动。

37 / 75

……………………………………………………………最新资料推荐…………………………………………………

第五章 系统运行与检测

5。1 测试方法 很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。

方法上可以根据设计文档,然后根据这个可以页面人员可以生成静态的HTML,CSS等甚至生成几套不用的方案来进行.

主要包括以下几个方面的内容:

站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,是否正确背景/色调是否正确、美观,是否符合用户需求;

页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等。

web测试的主要页面元素

页面元素的容错性列表、页面元素清单、页面元素的容错性是否存在、页面元素的容错性是否正确、页面元素基本功能是否实现、页面元素的外形、页面元素是否显示正确。注:页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)

测试技术

结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素:

38 / 75

……………………………………………………………最新资料推荐…………………………………………………

符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性

5。2 系统用户登录模块的运行与检测 在账户登录界面设置不同账户的登录。系统运行截图如下:

图5.2-1 系统登录界面

本系统在账户登录时将有三种不同权限的登录:管理员、教师、学生。

系统登录的第一步是选择与自己相符的种类用户,即上图中的学生/教师/管理员。在选择结束后再输入账户名和密码,系统将自动比对数据库中已存在的学生/教师/管理员ID和密码.如果用户名和密码不匹配或者相应账户种类选择错误,则出现如下提示:

39 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5.2—2 系统登录错误提示

图5。2-3 管理员用户成功登录

5.3 系统用户管理模块的运行与检测 系统账户管理模块是为实现对系统的账户进行管理的功能,包括系统账户的添加/删除以及密码修改和权限分配等功能,为系统的管理员账户所设计。在管理员账户登录成功后,将出现如下界面,使管理员账户能够方便、快捷的管理系统账户:

40 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5。3—1 管理员添加用户

在添加新账户过程中,系统将自动比对新账户ID是否与已有账户ID重合,以避免账户管理混乱、账户数据错误等问题。

下图为系统添加新账户成功:

图5.3-2 成功添加新用户

41 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5.3—3 注册ID重名时注册失败

5。4 成绩信息管理模块 成绩信息管理模块是为教师账户设计,将实现成绩的修改、查询,成绩列表的下载等功能。在教师用户登录成功后将出现如下操作界面:

42 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5。4—1 教师操作界面(全班成绩查询)

图5。4—2 修改学生成绩成功

43 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5。4—3 成绩列表的下载

5。5 学生信息查询模块 学生信息查询模块主要为学生账户设计,此模块只能实现学生对个人成绩的查询,它体现了学校对个人隐私的重视。下图为学生成绩查询界面:

44 / 75

……………………………………………………………最新资料推荐…………………………………………………

图5。5—1 学生成绩查询

图5.5—2 学生密码修改成功ﻬ

45 / 75

……………………………………………………………最新资料推荐…………………………………………………

第六章 总结

本系统开发的技术难点主要有两个方面:一是否业务逻辑的理解;二是数据库逻辑结构的设计。业务逻辑是依据空警管理系统的行业特点及其特殊的应用领域需要来进行设计的。只有在准确不理解一个系统的业务逻辑之后才可能开发出适应其应用的应用系统来,并且在系统之间模块的科学划分与结构组织都是在正确不理解实际应用的业务逻辑需求的前提下完成的。

数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性,可扩展性.数据库设计是直接影响系统运行情况及程序设计的一个重要因素.因此,在开发相关数据库方面的管理系统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等相关问题。

本系统自完成时即投入到系统测试中,如系统中的各个漏洞以及即时弥补。首先本系统在目前的调试中,基本达到了当初的设计要求,设计上基本合理,功能基本完善,能够做到各项的查询,删除,添加,修改等基本功能.代码的主要轮廓应该比较清晰.

通过对网络编程的学习,以及应用工具对jsp的学习,我们初步掌握了通过编程实现学生信息管理系统的主要核心,实现了一个简单的学生信息管理系统。

在这个学生管理系统的页面设计中,也有许多的不足,页面设计很简单,但不够精致,这些都需要去完善的,同时还应该再增加些通告栏,让学生及教师及时的知道最新的信息。对于这个系统的种种不足

46 / 75

……………………………………………………………最新资料推荐…………………………………………………

之处需要我们更进一步的去完善.其中的不足有待更进一步的弥补,这些都需要在使用发现与修改。ﻬ

47 / 75

……………………………………………………………最新资料推荐…………………………………………………

致 谢

随着本次毕业论文的定稿,四年的大学本科生活也即将画上句号.回首四年前,初入求是园之情景仍历历在目,到如今只恍如隔日,不免感慨光阴易逝、韶华难追。然而这四年带给我的美好记忆以及在四年里给予我无数帮助和关怀的师长和同学是我永远不会遗忘的.在此,我向你们致以最为真挚的谢意!

这次课程设计能够顺利的完成,要感谢老师的教导和同学的无私的帮助。首先是李向宁老师,为我的设计改进提供了很多宝贵的意见,为我们的课程设计起了促进作用。其次要感谢我的室友们,在与他们的讨论中,我获得了许多启示和方法。在此对老师和给予我帮助的同学表示最诚挚的感谢。ﻬ

48 / 75

……………………………………………………………最新资料推荐…………………………………………………

参考文献

[1] 袁绍兴.Java 面向对象程序设计.清华大学出版社.2007年

[2] 蔡翠平等.Java程序设计[M].清华大学出版社.2002年10月

[3] 侯晓强,徐春荣,勾海波.Java服务器编程实例[M].中国青年出版社.2004年

[4] 庄幸隆.Java程序设计-—EJB、XML与数据库.清华大学出版社.2005年1月

[5] 肖刚.Java Web 服务器应用程序设计[M].电子工业出版社.2001年6月

[6] 孙卫琴,洪成.Tomcat与Java Web开发技术详解.电子工业出版社.2004年

[7] 耿祥义,张跃平.JSP实用教程.清华大学出版社.2003年5月

[8] 姜晓铭,陈武.JSP程序设计与实例分析教程.清华大学出版社.2001年6月

[9] 黄理,曹林,张勇.JSP深入编程.北京希望出版社.2001年10月

[10] 刘晓华,周慧贞.JSP应用开发详解.电子工业出版社.2007年

49 / 75

……………………………………………………………最新资料推荐…………………………………………………

[11] 邓子云,张赐.JSP网络编程.电子工业出版社.2005年

[12] 林邦杰.JSP交互网站实务经典.中国青年出版社.2001年3月

[13] [美]Karl、Danny、Timothy.JSP编程指南.电子工业出版社.2004年8月

[14] http://edu.codepub。com/2009/0702/7820.phpﻬ

50 / 75

……………………………………………………………最新资料推荐…………………………………………………

附录A

login。jsp:

<%@ page language=”java" import=\"java.util。*" pageEncoding=\"utf—8"%〉 〈%

ﻩString path = request。getContextPath(); ﻩString basePath = request。getScheme() + \"://"

+ request。getServerName() + ”:” + re

quest.getServerPort() ﻩ %>

ﻩ+ path + "/\";

<!DOCTYPE HTML PUBLIC "—//W3C//DTD HTML 4.01 Transitional//EN\"〉 <html〉

<head〉

ﻩ 〈link href=”css/login。css” rel=”stylesh

eet\" type=”text/css\" /〉

"〉

51 / 75

……………………………………………………………最新资料推荐…………………………………………………

〈/head〉 〈body〉

<form id=”form1\" name=”form1” method=\"

post” action=”./login”> ﻩﻩ

〈br> ﻩ

〈table width=\"600\" height=\"350" align

=”center” border=”0\" ﻩﻩﻩ ﻩ ﻩﻩﻩ

background=\"images/login。JPG”〉 ﻩﻩﻩﻩ〈td height=\"120”>

ﻩ〈/tr>

〈tr〉 ﻩ

ﻩ〈td width=\"250\" height=”20\" alig

n="right\" class=”text”> ﻩﻩ

ﻩ ﻩﻩ

工作号 : 〈td width=”300” align=\"left”>

ﻩﻩﻩﻩﻩusername\" size=\"20”

ﻩﻩ

class=\"Ipt\" onFocus=\"this。clas

sName='IptIn’”

52 / 75

……………………………………………………………最新资料推荐…………………………………………………

ﻩ ﻩ ﻩﻩﻩ

ﻩ ﻩﻩ

ﻩﻩﻩﻩonBlur=\"this.className='Ipt'” /〉 </td〉 ﻩﻩ〈/tr〉

ﻩﻩ〈tr>

<td width=”250\" height=”20" al

ign=\"right\" class=”text”〉 ﻩ ﻩ ﻩ

ﻩ ﻩ ﻩ

密&nbsp;&nbsp;&nbsp;&nbsp;码 : </td〉

ﻩﻩﻩ<td width=\"300\" align=\"left\"〉

<input type=\"password" onkeyup

=”cd();\" name=”password\" size=\"20” ﻩﻩﻩﻩﻩ ptIn’\" ﻩ /〉 ﻩ ﻩﻩﻩ ﻩ ﻩ

〈/td〉

ﻩﻩﻩonBlur=\"this。className=’Ipt’” class="Ipt” onFocus=\"this。className='I

</tr> ﻩ

ﻩ〈tr height=\"20\"〉

ﻩ〈td width="250” class=”text”>

ﻩﻩ〈td width=”300\" class="text” alig

n=”left”>

53 / 75

……………………………………………………………最新资料推荐…………………………………………………

ﻩ ﻩﻩﻩﻩname="R1"> ﻩﻩﻩ

ﻩﻩﻩ

学生

ﻩ〈input type=”radio” name=”R1\"

value=”T\"〉 ﻩ

ﻩ ﻩ

教师 ﻩ

<input type=”radio” na

me=”R1\" value=”G\"〉 ﻩﻩﻩﻩ ﻩ ﻩ

ﻩ管理员 ﻩ

ﻩ〈/td> ﻩﻩﻩ〈td width=\"250” class=\"text\"〉</td>

ﻩﻩgn=\"left”〉

<input type=\"submit\" value=

\"登 录\" class=”btnLogin”

ﻩﻩﻩﻩﻩ onMouseOver=\"this。className='btnLogin

2’\" ﻩ

ﻩﻩ

onMouseOut=”this.className=’b

tnLogin’\" /〉 ﻩ

ﻩ&nbsp;&nbsp; &nbsp; &nbsp;

/ 75

……………………………………………………………最新资料推荐…………………………………………………

〈input type=”reset\"

value="重 填\" class=”btnLogin” ﻩﻩ

onMouseOver=\"this。className

=’btnLogin2’\"

ﻩﻩﻩﻩﻩonMouseOut=\"this.className='btnLogin'” /〉ﻩ ﻩﻩﻩ〈/td> ﻩﻩ

〈/tr>

ﻩﻩ ﻩﻩ<td height=\"80\">〈/td〉

ﻩﻩ〈/tr〉

ﻩ〈/table〉

ﻩﻩ〈/form>

</body>

〈/html〉

55 / 75

……………………………………………………………最新资料推荐…………………………………………………

附录B

index.jsp:

〈%@ page language=\"java\" import=”java。util。*” pageEncoding="utf-8”%> <%

String path = request.getContextPath();

String basePath = request。getScheme()+”://\"+request.getServerName()+\":”+request。getServerPort()+path+”/”; %>

〈html xmlns=\"http://www。w3.org/1999/xhtml”> 〈head〉

<meta http—equiv=\"Content—Type” content=\"text/html; charset=gb2312" /〉 无标题文档〈/title〉 <script><p>//全部打印到excel表<p>function AutomateExcelall()<p>56 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>{<p>var i,j;<p>// Start Excel and get Application object。<p>var oXL = new ActiveXObject(”Excel.Application\");<p>oXL.Visible = true;<p>// Get a new workbook.<p>var oWB = oXL.Workbooks。Add();<p>var oSheet = oWB.ActiveSheet;<p>// Add table headers going cell by cell.<p>oSheet。Cells(1, 1).Value = ”编号\"; oSheet.Cells(1, 2)。Value = \"姓名”;<p>oSheet.Cells(1, 3).Value = ”地址\";<p>for(i=1;i<tblout.rows.length;i++)<p>57 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>{<p>for(j=1;j〈tblout。rows(i).cells。length;j++) {<p>oSheet。Cells(i+1, j)。Value = tblout.rows(i)。cells(j).innerText } }<p>oXL。Visible = true; oXL.UserControl = true; }<p>//选种打印到excel表<p>function AutomateExcel() {<p>var i=0;<p>// var j=0; //i是行,j是列 var oXL = new ActiveXObject(\"Excel。Application\"); oXL.Visible = true;<p>var oWB = oXL。Workbooks.Add(); var oSheet = oWB。ActiveSheet;<p>58 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>oSheet。Cells(1, 2).Value = \"编号”; oSheet。Cells(1, 3).Value = ”姓名";<p>oSheet。Cells(1, 4).Value = ”地址”; var s=0;<p>for(i=1;i<tblout。rows.length+1;i++) {<p>if(document。myform。mybox[i].checked==true) {<p>s=s+1;<p>for(j=0;j〈tblout.rows(i).cells.length;j++) {<p>oSheet.Cells(s+1, j+1)。Value = tblout.rows(i)。cells(j)。innerText } } }<p>oXL。Visible = true;<p>oXL。UserControl = true; }<p>//得到选种的复选框<p>59 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>function check() {<p>var checkboxvalue=0;<p>for(var i=0;i〈document。myform。mybox.length;i++) {<p>if(document.myform。mybox[i]。checked==true) {<p>checkboxvalue=checkboxvalue+1; } }<p>document。myform。dayin。value=checkboxvalue; }<p>〈/script〉 </head><p><body〉<p><form action=”” method=\"post\" name=\"myform”> <table width=”577\" border=”1” id=”tblout\"> 〈tr〉<p><td width=”49” align=”center”〉选项〈/td〉<p>60 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>〈td width=\"100” align=”center”>编号</td〉<p><td width=”100” align=”center”〉姓名</td〉 〈td width=\"101\" align=\"center”>地址</td> <td colspan=”3” align=”center\"〉操作</td> 〈/tr> 〈tr><p>〈td align=”left”><input type=”checkbox\" value=”1” name=\"mybox\" onclick="check()"/〉〈/td><p>〈td align=”center”〉aa〈/td〉 〈td align=”center”〉bb</td> <td align=\"center\"〉cc〈/td〉<p>〈td width=”61” align=”center\">删除</td> <td width=\"60\" align=”center"〉a</td〉 <td width=”60” align=\"center\"〉修改</td〉 〈/tr〉 〈tr〉<p>〈td align=”left\"〉〈input type=\"checkbox\" value=\"2\" id=”mybox” onclick=”check()” />〈/td〉 〈td align=”center">ee〈/td〉 <td align=”center”>ff〈/td><p>61 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p>〈td align=\"center\">gg〈/td〉 〈td align=”center”〉删除〈/td> <td align=\"center"〉a</td〉 <td align=\"center">修改</td> </tr〉 〈tr〉<p><td〉〈input type=\"checkbox" value=”2\" id=\"mybox” onclick=\"check()” /〉〈/td> 〈td align=\"center”>asdas〈/td> <td align=\"center\"〉fdsfsd〈/td><p><td align=\"center"〉sdfsdfsd〈/td〉 <td align=”center\"〉删除</td〉 <td align="center”>a</td〉 〈td align=\"center”〉修改</td> 〈/tr〉 <tr〉<p>〈td〉<input type="checkbox” value=\"2" id="mybox\" onclick=”check()” /〉〈/td〉 〈td align=”center\">fsdfs〈/td〉 〈td align=”center\">sdf/</td><p>〈td align=”center\">gsdfsdfg</td〉 <td align=”center"〉删除〈/td><p>62 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p><td align=”center\"〉a〈/td> <td align="center\"〉修改〈/td> 〈/tr> 〈tr><p><td〉<input type=”checkbox” value=”2” id=\"mybox” onclick=”check()” /></td〉 〈td align=\"center"〉edsdse〈/td> 〈td align=”center”>fsdasdaf</td> <td align=”center”〉gdasdag〈/td> <td align=”center”〉删除</td> 〈td align=\"center\"〉a</td> <td align=\"center">修改</td〉 </tr〉 <tr〉<p>〈td〉〈input type=\"checkbox” value=”2\" id="mybox" onclick=”check()” /〉〈/td> <td align=”center\"〉edsdse</td> <td align=”center\">fsdasdaf〈/td〉 〈td align=”center”>gdasdag</td><p>63 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p><td align=”center">删除</td> <td align=”center”〉a〈/td> 〈td align=”center”〉修改〈/td> 〈/tr〉 <tr><p>〈td>〈input type=”checkbox\" value=”2” id=”mybox\" onclick=\"check()” />〈/td〉 <td align=”center\">edsdse〈/td> <td align=\"center">fsdasdaf</td〉 <td align=\"center\"〉gdasdag〈/td> <td align=”center”>删除</td〉 〈td align=\"center"〉a〈/td> <td align=\"center”>修改</td> </tr〉 〈tr><p>〈td〉〈input type=\"checkbox” value=”2" id=”mybox” onclick=\"check()\" /></td> <td align=\"center”>edsdse〈/td〉<p>〈td align=\"center”〉fsdasdaf〈/td> 〈td align=\"center”〉gdasdag〈/td> 〈td align=”center”〉删除〈/td> <td align=\"center”>a</td〉<p> / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p><td align=”center\"〉修改〈/td〉 〈/tr> 〈tr〉<p><td〉〈input type="checkbox\" value=”2\" id=\"mybox" onclick=”check()" /〉</td> 〈td align=”center"〉edsdse〈/td> 〈td align=”center"〉fsdasdaf</td〉 〈td align=”center”>gdasdag</td> <td align=\"center"〉删除〈/td〉 〈td align=\"center\"〉a〈/td> <td align=”center”>修改〈/td〉 </tr〉 〈tr〉<p><td><input type=”checkbox\" value=”2” id=”mybox” onclick=”check()” /〉〈/td〉 〈td align=\"center”>edsdse〈/td> 〈td align=\"center”>fsdasdaf〈/td> <td align=\"center”〉gdasdag〈/td〉 〈td align=”center”>删除〈/td> 〈td align=”center”〉a</td><p>〈td align=\"center”〉修改〈/td> </tr><p>65 / 75<p>……………………………………………………………最新资料推荐…………………………………………………<p><tr〉<p>〈td〉<input type=”checkbox” value=”2\" id=”mybox\" onclick=”check()\" />〈/td><p>〈td align=\"center”>edsdse</td〉 <td align=”center\"〉fsdasdaf〈/td> 〈td align=”center”〉gdasdag〈/td〉 〈td align=”center”>删除〈/td〉 〈td align=\"center”〉a</td> 〈td align=\"center”>修改</td〉 〈/tr〉 </table><p>〈input type=\"text\" name=”dayin\" /〉<p>〈input type=\"button” onclick=\"AutomateExcelall()\" value=\"打印全部”/〉<p>〈input type="button” onclick=”AutomateExcel()” value=”选中全部”/〉 〈/form> 〈/body〉 </html〉<p>66 / 75<p> <div class="preview-ft"> <div class="preview-title"> <p style="color: red;"><strong>因篇幅问题不能全部显示,请点此查看更多更全内容</strong></p> <div class="model-fold-cover-bd"><a href="https://www.tang5.com/mluaxg/nreiiaaaiae/" target="_blank"><span>查看全文</span><i class="iconfont icon-chakangengduo"></i></a></div> </div> </div> <script type="text/javascript" src="https://jss.yrrf.cn/pc/wenzhang/detail_left.js"></script> </div> <div class="glfra_f"> </div> </div> <script type="text/javascript" src="https://jss.yrrf.cn/pc/wenzhang/wenzhang/detail_foot.js"></script> <script type="text/javascript" src="https://jss.yrrf.cn/pc/share_right_gg1.js"></script> <script type="text/javascript" src="https://jss.huatuo6.com/pc/share_right_xgzx.js"></script> <script type="text/javascript" src="https://jss.yrrf.cn/pc/share_right_gg2.js"></script> <script type="text/javascript" src="https://jss.huatuo6.com/pc/share_right_rmyd.js"></script> </div> <div class="n_right"> <script type="text/javascript" src="https://jss.yrrf.cn/pc/share_cebian_gg1.js"></script> <script type="text/javascript" src="https://jss.huatuo6.com/pc/share_cebian_rmht.js"></script> <script type="text/javascript" src="https://jss.yrrf.cn/pc/share_cebian_gg2.js"></script> <script type="text/javascript" src="https://jss.huatuo6.com/pc/share_cebian_rmtw.js"></script> <script type="text/javascript" src="https://jss.yrrf.cn/pc/share_cebian_gg3.js"></script> <script type="text/javascript" src="https://jss.huatuo6.com/pc/share_cebian_wntj.js"></script> </div> </div> <script type="text/javascript" src="https://jss.huatuo6.com/pc/tj_foot1.js"></script><div class="foot"> <div class="smain"> <div class="foot_ano clearfix"> <!-- <div class="foot_logo"> <img src="images/logo_w.png" alt="AI游中国" /> </div> --> <div class="foot_mesg"> <p> Copyright © 2019-<span class="currentYear"></span> yrrf.cn 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" style="color:#fff">赣ICP备2024042794号-2</a> </p> <p> 违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com </p> <p> 本站由北京市万商天勤律师事务所王兴未律师提供法律服务 </p> </div> </div> </div> </div> <script type="text/javascript"> const currentYear = new Date().getFullYear(); $('.currentYear').html(currentYear) </script>