教师信息管理系统设计与实现- 毕业论文

更新时间:2024-01-06 09:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕 业 设 计(论 文)

教师信息管理系统设计与实现

系 别: 机电信息学院 专学业生名姓称: 计算机科学与技术 名: Xxx 学 号: xxxxxxxx 指导教师姓名、职称: xxxxxxxx

完成日期 2013年 12 月 24 日

教师信息管理系统设计与实现

摘 要

教师管理系统设计与实现是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点。在学校,教师信息管理权限主要包括管理员权限和教师权限。显然如果以人工的方式对其管理将耗费大量的人力、物力,本系统以此作为开发的目标,用以减轻教师管理人员的负担。

本次毕业设计的内容是设计并且实现一个基于web技术的教师信息管理系统,故而系统主要以j2EE作为开发基础,用myeclipse作为开发工具,以MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界面美化工具,使用JAVA语言开发,页面采取JSP动态页面开发技术。

该系统共分为两大平台:教师操作平台和管理员操作平台。其功能主要有:实现对所有教师个人信息的管理的功能,提供基本的添加,删除,修改和查询等功能。可以对教师基本信息,教学工作量及教师科研信息等实现方便的管理和统计。该系统界面简单、操作方便,容易维护。

关键词:教师信息管理系统 ;JAVA ; JSP

Teachers' information management system design and implementation

ABSTRACT

Teachers' information management system design and implementation is a typical management information system, two aspects of its development mainly includes the backstage database the establishment and the maintenance as well as front end the application procedure development. Regarding the former request establishment data consistency and integrity, and data security database. For the latter request application procedure function is complete, easy to use and so on characteristics. In the school, the teacher information management including teacher information, obviously artificial manner if its management will spend a lot of manpower, material resources, the development of this system as a target, to reduce the burden of teachers management.

The contents of this graduation project is to design and implement a based on the teacher information management system based on Web, MyEclipse as a development tool, MYSQL as the database, using Macromedia's Dreamweaver as the interface landscaping tools, the use of JAVA language development, take the development technology of JSP dynamic web page.

The functions of the system are: the achievement of all teachers personal information management functions and the provision of basic insertion , deletion, modification and enquiry functions. It also facilitate the management and statistics of teachers’information, including basic information , workload,working information and so on.The system has a simple interface, easy operation, easy maintenance.

Keywords: Teacher information management system;JAVA ;JSP

目 录

摘 要 ....................................................... 错误!未定义书签。 ABSTRACT ..................................................... 错误!未定义书签。 1 绪 论 ...................................................................... 1 2 系统的开发环境 .............................................................. 2 2.1 JSP技术简介 .......................................................... 2 2.2 MyEclipse简介 ........................................................ 4 2.3 SQL Server 简介 ...................................................... 5 2.4 Tomcat简介 ........................................................... 5 3需求分析与可行性研究 ......................................................... 7

3.1 需求分析 .............................................................. 7 3.2 可行性研究 ............................................................ 7

3.2.1 技术可行性分析 ................................................... 7 3.2.2 经济可行性 ....................................................... 7 3.2.3 运行可行性 ....................................................... 8 4 系统总体设计 ................................................................ 9

4.1 总体功能模块 .......................................................... 9 4.2 系统管理员功能模块 .................................................... 9 4.3 教师用户的功能模块 ................................................... 10 4.4 系统业务描述 ......................................................... 11 4.5 程序流程图 ........................................................... 12 5系统详细设计与实现 .......................................................... 14

5.1 系统和数据库的配置 ................................................... 14 5.2 概念模型设计 ......................................................... 14 5.3 数据库逻辑模型 ....................................................... 16 5.4 数据库表结构 ......................................................... 17 5.5 系统功能实现的主要模块 ............................................... 19 5.5.1 登陆页面 ........................................................ 19 5.5.2 教师管理主页面 .................................................. 20 5.5.3 公告管理主页面 .................................................. 21 5.5.4奖惩信息管理主页面 ............................................... 22 5.5.5用户设置页面 ..................................................... 23 6系统测试 .................................................................... 25

6.1 软件测试概述 ......................................................... 25 6.2 软件测试的目标与方法 ................................................. 25

6.2.1 模块测试 ........................................................ 25 6.2.2 集成测试 ........................................................ 26 6.2.3 验收测试 ........................................................ 26 6.2.4 平行运行 ........................................................ 26 6.3 软件测试的任务和结果 ................................................. 27 7 总结与展望 ................................................................. 28

7.1 总结学习感受 ......................................................... 28 7.2 解决的问题及存在的不足 ............................................... 28 致 谢 ....................................................................... 29 参考文献 ..................................................................... 29

1 绪 论

随着办学规模的扩大和招教人数的增加,建立一个高效的教师信息管理系统是非常必要的,我国的大中专院校的教师信息管理的自动化和效率不高,并且随着学校规模的扩大与政府人才流动机制的变化,学校教师的人数逐渐增加,而其流动率也在逐年增加,以往的手工管理教师信息的方式变得力不从心,已经不能满足学校对教师信息管理的要求。一直以来教师的信息管理是学校工作中的一项重要内容,普通的信息管理系统已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高教师信息管理的效率,我选择了教师信息管理系统作为毕业设计的课题。

目前大多数教研信息管理工作很大程度上还要依赖人工来进行,即通过Excel、Word等办公软件或者简单的数据库采集系统(如FoxPro等)来处理大量的数据,这种方式不仅给教研信息管理人员带来了繁重的工作量,并且造成教研信息管理人员和科研工作人员之间缺少必要和及时的沟通,难以反映该校的科研现状,造成信息传递流转失真且速度慢。

本系统在大多数信息管理系统的基础上,基于JSP开发如何高效安全开发本系统也是我们研究重点,主要增加了教师对个人信息的操作,教师不用再往学院的教务处办公室报送个人档案,可以直接的把个人信息上传到网络上,也可以方便快速的查询到自己的信息,教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关信息的录入,更新,管理,查询和删除。将会改变以前靠手工管理教师信息的状况,迅速提高工作效率。希望能为教务管理人员和学校的工作带来便利。 “教师信息管理系统的设计与实现”是在这种需求下产生的。此外,该系统是按照大学的定量方法和科研部门的要求设计的。因此,建立一套完善的教学信息管理业务系统是十分必要的。该系统为我校教学信息管理人员和教学工作者服务,既能实现对科研信息的科学有效管理,又能提高我校教学人员的工作积极性,数据透明,为学校对教学人员的评价提供依据,还能够为教学人员提供必要的信息与服务。从而为教学信息管理人员开展工作提供极大的便利。

1

2 系统的开发环境

2.1 JSP技术简介

2.1.1 JSP技术背景及概要

随着Web技术的发展和电子商务时代的到来,人们不仅仅建立各种静态地发布信息的网站,而且更多的时候需要能与用户进行交互,并能提供后台数据库的管理和控制等服务的动态网站。由此动态网站开发技术应运而生。

早期的动态网站开发技术使用的是CGI-BIN接口。开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者。这种开发技术存在着严重的扩展性问题——每一个新的CGI程序要求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃。为克服这一弊端,微软公司提出了Active Server Pages(ASP)技术,该技术利用“插件”和API简化了Web应用程序的开发。ASP与CGI相比,其优点是可以包含HTML标签,可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上更富有灵活性。但该技术基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序结构,所以ASP技术不能很容易地实现跨平台的Web服务器程序开发。

Hypertext Preprocessor(超文本预处理器),即PHP动态网站开发技术与ASP相似,也是一种嵌入HTML文档的服务器端脚本语言。其语法大部分与C、Java、Perl等语言相似,并形成了自己的独有风格,利用该语言Web程序员可以快速地开发出动态网页。PHP在大多数Unix平台、GUN/Linux和微软Windows平台上均可以运行。PHP的优点主要有:安装方便,学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程等。但PHP也存在一些弱点,主要是PHP是一种解释型语言,不支持多线程结构,支持平台和连接的数据库都有限,特别是在支持的标准方面存在先天不足,对于某些电子商务应用来说,PHP是不适合的。

还有一些技术,如Java Servlets技术,利用该技术可以很容易地用Java语言编写交互式的服务器端代码。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员编写这样的Java Servlets,以接收来自Web浏览器的HTTP请求,动态地生成响应,然后发送包含HTML或XML文档的响应到浏览器。这种技术对于普通的页面设计者来说要轻易地掌握是很困难的。采用这种方法,整个网页必须都在Java Servlets中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlets[1]。

太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java

2

Servlets和JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法——Java Server Pages技术(JSP)。这种动态网站开发技术主要有以下一些特点: (1)能够在任何Web或应用程序服务器上运行; (2)分离了应用程序的逻辑和页面显示; (3)能够进行快速的开发和测试;

(4)简化了开发基于Web的交互式应用程序的过程。

2.1.2 JSP技术方法的优越性

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案[2]。 (1)将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

(2)可重用组件

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

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 (4)适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

3

(5)数据库连接

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

2.1.3 JSP技术的应用模型

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。

JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行[4]。

2.2 MyEclipse简介

在开发本平台中所用到的开发工具就是是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库和J2EE的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

在结构上,MyEclipse的特征可以被分为7类: J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插

4

件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

2.3 SQL Server 简介

2.3.1 SQL Server 概要

数据库技术产生于20世纪60年代末,他作为数据管理最有效的手段,在各行各业中得到越来越广泛的应用。SQL Server是一种关系型数据库(relational database),它除了支持传统数据库组件,(如数据库、表)和特性(如表的join)外,另外也支持当今关系数据库的常用组件,如存储过程(stored procedure) 、视图等。另外SQL Server 另外一项重要的特点是它支持数据库复制(replication)功能,也就是当你在一个数据库上执行操作时,可以将其操作结果传至远程SQL Server相同的数据库上,让两边数据库的数据保持同步。

2.3.2 SQL Server 的优点

SQL Server和其他RDBMS一样,都是用于建立数据库引擎。同时,SQL Server 是一个最为服务运行的Windows应用程序。这就是说,它要运行在Windows环境下,并且启动后需要极少的用户交互。这就决定了SQL Server具有下列优点:

(1)SQL Server 作为Windows NT的自然扩展,与这个操作系统紧密结合。这样,用户不必学习另一个用户界面来使用这个数据库系统。

(2)SQL Server 具有Windows NT同样容易的安装和维护功能。例如,这个组合通过系统的简易安装来实现。避免出现与数据库管理有关的许多复杂任务,并为每个系统管理任务使用图形计算环境。

(3)SQL Server 使用Windows NT服务,可以提供新的或扩展的数据库功能[6]。

2.4 Tomcat简介

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache

5

服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

6

3需求分析与可行性研究

3.1 需求分析

教师管理系统是针对教师日常工作安排来设计开发的典型的信息管理系统。 (1)可以存储教师档案,管理更为安全、高效; (2)只需一名信息管理员即可操作系统,节省大量人力; (3)可以迅速查询及修改所需信息;

(4)友好的界面操作,能保证系统的易用性和方便性; (5)对系统的安全性管理,包括用户的添加以及密码的修改。

3.2 可行性研究

一般来说,应从技术可行性、经济可行性、运行可行性等方面研究可行性。可行性研究

需要的时间长短取决于工程的规模,一般来说,可行性研究的成本只占预期的工程中成本的5-10%。

3.2.1 技术可行性分析

技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。此

外,还要考虑开发人员的水平,作为计算机专业的学生,数据库设计方面对我们应该还是过得去,在学校里生活了4年,对这个管理模式应该比较熟悉。我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,从一定程度上具备了开发一个小型系统的能力。

3.2.2 经济可行性

主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费,管理和

维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力、财力与物力来讲是非常之小的,只要一台电脑,一个打印机,这个系统就可以搞起来,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。

7

3.2.3 运行可行性

Internet正在迅猛发展,学院从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联结到互联网,并且学院领导对这方面比较重视,在教务上配置了一定数目的能够训练操作计算机的干事,可以快速、方便、高效地使用计算机进行日常工作。让学生以实践的方式对系统进行维护,使此系统在实践上具备了可行性。由此可知,开发教师信息管理系统在学校中具有可行性。

8

4系统总体设计

4.1 总体功能模块

本系统分系统管理员和教师用户2个用户权限。总功能图如图4-1所示。

教师信息管理系统

图4-1系统功能模块图

4.2 系统管理员功能模块

教师管理:包括选择、教师姓名、密码、教师编号、性别、出生年月、民族、政治面貌、职称、就职单位、操作(修改)。可以进行增删改查。

公告管理:包括选择、公告标题、添加时间、操作(查看公告内容和修改)。 奖惩信息管理:包括选择、奖惩名称、奖惩等级、奖惩类型、奖惩人、时间、操作(修改)。

课程信息管理:包括选择、课程名称、上课老师、上课地点、上课时间、星期、操作(修改)。

科研项目管理:包括选择、项目名称、。项目编号、项目类别、项目负责人、项目参与者、科研成果、操作(修改)。

留言信息管理:包括选择、留言教师、留言内容、留言时间。

用户信息管理:用户名(固定)、原密码、新密码、确认新密码、操作(修改和返回)。 系统管理员功能图4-2如下所示:

9

图4-2系统管理员功能图

4.3 教师用户的功能模块

公告查看:包括选择、公告标题、添加时间、操作(查看公告内容)。无修改操作权限。 奖惩信息查看:包括选择、奖惩名称、奖惩等级、奖惩类型、奖惩人、时间、无修改操作权限。

课程信息查看:生成课程表。无修改操作权限。

科研项目查看:包括选择、项目名称、项目编号、项目类别、项目负责人、项目参与者、科研成果。无修改操作权限。

发表留言:包括选择、留言教师、留言内容、留言时间。无修改操作权限。

教师查看:包括选择、教师姓名、密码、教师编号、性别、出生年月、民族、政治面貌、职称、就职单位。可以查询,但无修改操作权限。

用户信息管理:用户名(固定)、原密码、新密码、确认新密码、操作(修改和返回)。无修改操作权限。

教师用户的功能图如图4-3所示

10

图4-3教师用户的功能图

4.4 系统业务描述

本系统分系统管理员和教师用户2个用户权限。系统管理员的主要功能有教师管理、

公告管理、奖惩信息管理、课程信息管理、科研项目管理、留言信息管理、用户信息管理。教师用户主要功能有教师查看、公告查看、奖惩信息查看、课程信息查看、科研项目查看、提交留言、用户信息管理。

用例图如下:

图4-4 系统业务功能图

11

4.5 程序流程图

奖惩信息流程图

课程信息流程图

图4-5 奖惩信息流程图图4-6 课程信息流程图12

用户登录流程图

图4-7 用户登录流程图

13

5系统详细设计与实现

5.1 系统和数据库的配置

系统按通用的B/S(浏览器、服务器)模式进行设计(如图5-1)

图5-1 B/S结构

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

5.2 概念模型设计

概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。

本系统E-R图如下:

14

图5-2 系统管理员E-R图

图5-3 教师用户E-R图

15

本系统关系图如下:

图5-4 系统关系图

5.3 数据库逻辑模型

公告表(公告内容、添加时间、公告标题)

奖惩信息表(添加时间、等级、名称、类型、关联的用户ID)

科研项目表(参与人员、科研成果、科研类别、项目编号、项目名、关联的教师) 课程信息表(地点、课程名、时间、星期、关联的教师ID) 留言表(留言内容、添加时间、关联的教师ID)

用户表(出生年月、添加时间、教师编号、就职单位、名族、密码、用户角色、性别、用户名、姓名、政治面貌、职称)

16

5.4 数据库表结构

表5-1 公告表

名称 id content createtime title 类型 bigint(20) text datetime varchar(255)

空 no yes yes yes 标题 主键 公告内容 添加时间 公告标题 表5-2 奖惩信息表

名称 id createtime dengji mingchen type userid 类型 bigint(20) datetime varchar(255) varchar(255) int(11) bigint(20)

空 no yes yes yes no yes 标题 主键 添加时间 等级 名称 类型 关联的用户ID 表5-3 科研项目表

名称 id canyurenyuan keyanchengguo keyanleibie xiangmuid xiangmuming userid 类型 bigint(20) varchar(255) varchar(255) varchar(255) varchar(255) varchar(255) bigint(20)

空 no yes yes yes yes yes yes 标题 主键 参与人员 科研成果 科研类别 项目编号 项目名 关联的教师 17

表5-4 课程信息表

名称 id didian kechengming shijian xingqi userid 类型 bigint(20) varchar(255) varchar(255) varchar(255) varchar(255) bigint(20)

表5-5 留言表

空 no yes yes yes yes yes 标题 主键 地点 课程名 时间 星期 关联的教师ID 名称 id content createtime userid 类型 bigint(20) text datetime bigint(20)

表5-6 用户表

空 no yes yes yes 标题 主键 公告内容 添加时间 关联的教师ID 名称 id chushengnianyuan createtime jiaoshibianhao jiuzhidanwei mingzu password role sex username xingming zhenzhimianmao zhichen 类型 bigint(20) varchar(255) datetime varchar(255) varchar(255) varchar(255) varchar(255) int(11) varchar(255) varchar(255) varchar(255) varchar(255) varchar(255) 空 no yes yes yes yes yes yes no yes yes yes yes yes 标题 主键 出生年月 添加时间 教师编号 就职单位 名族 密码 用户角色 性别 用户名 姓名 政治面貌 职称 18

5.5 系统功能实现的主要模块 5.5.1 登陆页面

图5-5 登录页面

登陆代码: //用户登录操作

public String login() throws IOException{

HttpServletRequest request = ServletActionContext.getRequest(); String adminId = request.getParameter(\String passWord = request.getParameter(\User u = new User(); u.setUsername(adminId); u.setPassword(passWord);

User user = userDao.selectbean(adminId, passWord); if (user!=null) {

HttpSession session = request.getSession(); session.setAttribute(\

session.setAttribute(\if(user.getRole()==1){ }

return \return \

else{

}

19

} }

HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding(\response.getWriter()

.print(\用户名或者账号错误return null;

else {

');window.location.href='login.jsp';\

}

本段代码是程序的登陆代码,首先从获取从页面输入的用户名和密码,然后调用ser user = userDao.selectbean(adminId, passWord);方法,从数据库里取出该条记录进行判断,如果该条记录存在,则说明用户登陆成功,同时把用户信息存在session里面方便调用,如果记录为空,则跳转到登陆页面,同时提醒用户错误信息。

5.5.2 教师管理主页面

图5-6 教师管理主页面

代码如下: //用户列表

public String userlist(){

HttpServletRequest request = ServletActionContext.getRequest(); int currentpage = 1; int pagesize = 10;

if (request.getParameter(\ }

20

currentpage = Integer.parseInt(request.getParameter(\

}

int total = userDao.selectBeanCount();

request.setAttribute(\

(currentpage - 1) * pagesize, 10));

currentpage, \共有\条记录\

request.setAttribute(\getPagerNormal(total, pagesize, return \

通过userDao.selectBeanList方法来调用数据库的查询方法来查到符合条件的记录,在通过request.setAttribute方法把查询到的记录传到显示的页面。同时通过return \方法指定传回到具体指定的是哪个JSP页面。通过这样实现对数据查询功能的实现,同时在该教师信息列表页面定义了对教师信息信息的增加,修改,删除等操作。

5.5.3 公告管理主页面

图5-7 公告管理主页面

代码: //公告列表

public String gonggaolist(){

HttpServletRequest request = ServletActionContext.getRequest(); int currentpage = 1; int pagesize = 10;

if (request.getParameter(\ }

int total = gonggaoDao.selectBeanCount();

request.setAttribute(\

(currentpage - 1) * pagesize, pagesize));

21

currentpage = Integer.parseInt(request.getParameter(\

}

request.setAttribute(\getPagerNormal(total, pagesize,

currentpage, \共有\条记录\

return \

通过gonggaoDao.selectBeanList方法来调用数据库的查询方法来查到符合条件的记录,在通过request.setAttribute方法把查询到的记录传到显示的页面。同时通过return \方法指定传回到具体指定的是哪个JSP页面。通过这样实现对数据查询功能的实现,同时在该公告信息列表页面定义了对公告信息的增加,修改,删除等操作。

5.5.4 奖惩信息管理主页面

图5-8奖惩信息管理主页面

代码:

//奖惩信息列表

public String jiangchenginfolist(){

HttpServletRequest request = ServletActionContext.getRequest(); int currentpage = 1; int pagesize = 10;

if (request.getParameter(\ }

int total = jiangchenginfoDao.selectBeanCount();

request.setAttribute(\

(currentpage - 1) * pagesize, pagesize));

currentpage, \共有\条记录\

22

currentpage = Integer.parseInt(request.getParameter(\

request.setAttribute(\getPagerNormal(total, pagesize,

}

return \

通过jiangchenginfoDao.selectBeanList方法来调用数据库的查询方法来查到符合条件的记录,在通过request.setAttribute方法把查询到的记录传到显示的页面。同时通过return \

方法指定传回到具体指定的是哪个JSP页面。通过这样实现对数据查询功能的实现,同时在该奖惩信息列表页面定义了对奖惩信息的增加,修改,删除等操作。

5.5.5 用户设置页面

图5-9用户设置页面

代码:

//修改密码操作

public void passwordupdate() throws IOException{

HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); String password1 = request.getParameter(\String password2 = request.getParameter(\HttpSession session = request.getSession(); User user = (User)session.getAttribute(\

User u = userDao.selectbean(user.getUsername(), password1); if(u==null){

response.setCharacterEncoding(\

response.getWriter()

23

charset=gbk\

}

.print(\language=javascript>alert('原密码错误,修改失败

');window.location.href='user.jsp';\ else{

u.setPassword(password2); userDao.updateBean(u);

response.setCharacterEncoding(\ }

}

response.getWriter() .print(\

language=javascript>alert('

charset=gbk\

');window.location.href='user.jsp';\

通过passwordupdate方法来修改数据库的教师用户和管理员权限的密码,所有数据库里面的用户通过response.setCharacterEncoding方法把原密码修改成新密码。

24

6系统测试

6.1 软件测试概述

软件测试是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终的复审,是软件质量保证的关键步骤。确切的说,软件测试就是为了发现错误而执行的过程。一般分为两个阶段:

1.单元测试:在编完一模块后进行测试; 2.综合测试:在开发完软件后进行综合测试。

6.2 软件测试的目标与方法

测试的目标:

1.测试是为了发现程序中的错误而执行程序的过程;

2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试; 3.成功的测试是发现了至今为止尚未发现的错误的测试。 测试任何软件都有两种方法:黑盒测试和白盒测试法。

黑盒测试法(又称功能测试法)是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用。

白盒测试法(又称结构测试法)是把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。

通过测试并不能证明程序就是完全正确的,但我们的目的就是要通过测试保证软件的可靠性,因此,必须仔细设计测试方案,力争用最少的测试发现尽可能多的错误。

6.2.1 模块测试

也叫单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现的往往是编码和详细设计的错误,主要评价模块的下述五个特点:

1.模块接口; 2.局部数据结构;

3.重要的执行路径; 4.出错处理通路;

5.影响上述各方面特性的边界条件。

25

6.2.2 集成测试

包括系统测试和子系统测试。集成测试是组装软件的系统技术,主要目标是发现与接口有关的问题。集成测试有两种方法:非渐增式和渐增式,但比较而言,渐增式方法比较好,因为:

(1)编写的测试软件较少,开销较小。 (2)较早地发现模块间的接口错误。 (3)错误位置容易判断。 (4)测试更彻底。

因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。

6.2.3 验收测试

这一步是验证软件的有效性。目的是向未来的用户表明系统能够象预定的那样工作,验收测试一般使用黑盒测试法,验收测试有两种可能的结果。 (1)功能和特性与用户的要求有差距。

(2)功能和性能与用户要求一致,软件是可以接受的。

这个阶段发现的问题往往和需求分析阶段的差距有关。

6.2.4 平行运行

所谓平行运行就是同时运行。新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。目的有:

a)可以在准生产环境中运行新系统而有不冒风险; b)用户能有一段熟悉新系统的时间; c)可以验证用户指南和使用手册之类的文档;

d)能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。

26

6.3 软件测试的任务和结果

1、寻找Bug;

2、避免软件开发过程中的缺陷; 3、衡量软件的品质; 4、关注用户的需求。 总的目标是:确保软件的质量。 结果:测试结果与预期的结果相符。

27

7总结与展望

7.1 总结学习感受

毕业设计的目的在于培养我们的动手能力,综合能力和解决实际问题的能力,例如我在准备毕业设计资料的过程中,同时也培养了查阅资料的能力。通过这个学期毕业设计的锻炼,使我学到了不少的知识,也为以后的工作和学习积累下了以下的宝贵经验:

1、重视需求分析:在做毕业设计之前,要根据用户的需求,结合编程语言本身的特点,制定一个详细的需求分析报告,绘制详细的功能模块流程图,和所需要的数据库结果表。完成这些工作之后,在做整个管理系统的过程中,各项工作才会有条不紊的开展。

2、编写代码养成良好的习惯:在整个系统设计和开发制作的过程中,主题是编码,和界面制作,在编写程序时,适时添加注释,这样能极大的提高编程效率,不用再花很大的精力回头看之前所写的程序,所以适当的在编写的程序后添加一些清楚地标准化注释是十分必要的。

3、遇到问题要及时请教:当被一些问题干扰甚至无从下手时,可以自己先潜心考虑,翻阅相关书籍,参考一下别人的代码等非常有效的方法。但自己解决不了时就应该及时的向导师或者能力强的同学寻求帮助,征求指导性的意见,这样可以让我们在更短时间内的得到最快的进步。

4、动手实践出真知:毕业设计是一个制作开发的过程,更是一个学习的过程,除了是对以前所学知识的综合外,更重要的是它给了我们一种不同的处理问题的方法。刚开始接触课题由于对它不熟悉缺乏实践,这让我感到很陌生,有点无从下手,通过不断地查阅资料,自己摸索,向别人请教,加强自己对知识理论的实践,使得我对开发工程有了直观的了解,提高了个人的动手能力和独立思考的能力,获得了宝贵的经验。

7.2 解决的问题及存在的不足

1、编程能力有待提高:由于缺乏实践经验,因此在工作开始时我花了较长的时间来熟悉开发工具,系统优化做的不是很好!

2、功能实现方面:系统的主要功能模块基本实现,完成了任务要求,但由于个人能力和时间的限制,有一些功能还不够完善,需要进一步的修改,还有些功能在需求分析时能够想到,但在工程开发的时候未能实现。

3、最后系统没有充分利用学院其他系统的数据,如学院课题申报系统的科研成果信息等。

28

参考文献

[1] 冯燕奎, 赵德奎. JSP实用案例教程[M] 清华大学出版社, 2004, 5: 70-100 [2] 王家华 软件工程[M] 东北大学出版社2001年3月303页 [3] 王宜贵 软件工程[M] 北京:机械工业出版社,2002:20-79 [4] 孙卫琴 精通struts[M]电子工业出版社 2004年8月 50-70 [5] 孙卫琴 精通hibernate[M]电子工业出版社 2005年4月 100-120 [6] 张洪斌 java2高级程序设计[M]中科多媒体出版社 2001年11月 85-90

[7] Jim Arlow UML2.0 and the Unified Process[M]机械工业出版社 2006年6月 30-40 [8] 林信良 spring2.0技术手册[M]电子工业出版社 2006年6月 50-100

[9] 熊节、林仪明、张凯峰、陈玉泉等主编[《CSDN社区电子杂志——Java杂志》创刊号] [10]《程序员》杂志 2007 年第4期

[11] 耿祥义编著.JSP基础编程[M].清华大学出版社,2004.55-162

[12]徐建波,周新莲.Web设计原理于编程技术[M].中南大学出版社,2005.185-193 [13] 孙鑫编著.Java Web开发详解[M].电子工业出版社,2006.189-274 [14] 林上杰,林康司编著.JSP2.0技术手册[M].电子工业出版社,2004.3-6 [15] 萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,1998. [16] 蔡剑,景楠.Java Web应用开发:J2EE和Tomcat[M].北京:清华大学出版社,2004.

29

致 谢

光阴荏苒,本科生的学习即将结束,在大学四年学习期间,我不仅仅学到了很多理论知识,更重要的是在学习中不断地培养了我的自学能力、独立思考能力以及动手能力。经历大半年时间的磨砺,本科生毕业论文终于完稿,回首大半年来收集、整理、思索、停滞、修改直至最终完成的过程,我得到了许多的关怀和帮助,现在要向他们表达我最诚挚的谢意。

首先,我要深深感谢我的导师李振富教授。他为人谦和,平易近人。在论文的选题、搜集资料和写作阶段,导师都倾注了极大的关怀和鼓励。在论文的写作过程中,每当我有所疑问,他总会放下繁忙的工作,不厌其烦地指点我;特别地是他非常繁忙的情况下,还抽出宝贵的时间与我讨论,耐心地给我辅导,同时给我提出了很多的宝贵意见和建议,使我在设计进展方面有了很大的提高,为我能够顺利完成任务打下了坚实的基础。他严谨的治学之风和对事业的孜孜追求将影响和激励我的一生,他对我的关心和教诲我更将永远铭记。借此机会,我谨向李振富导师致以深深地谢意。

最后也衷心的感谢在百忙之中评阅论文和参加答辩的各位老师和教授,他们给了我一个审视几年来学习成果的机会,让我能够明确今后的发展方向,他们对我的帮助是一笔无价的财富。我将在今后的工作、学习中加倍努力,以期能够取得更多成果回报他们、回报社会。

30

本文来源:https://www.bwwdw.com/article/szgx.html

Top