摘 要
课题目标是设计并实现一个B/S体系结构的教务信息管理系统。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉系统设计的过程,熟练掌握网络数据库编程方法。
本系统用JSP技术来编写本系统,数据库用Mysql来连接系统。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
关键词:教务信息管理系统;数据库;JSP
Abstract
The topic goal is designs and realizes a B/S architecture educational administration information management system. The union practice, understood that the homepage development technology and the database elementary knowledge, the study related development kit and the application software, the familiar system design's process, masters the network database programming method skilled.
This system arranges the comp book system with the JSP technology, the database uses the Mysql connected systems. The present paper mainly involves the software, the database and the networking and so on. The covering aspect of knowledge is broad, but enhances the student to synthesize the utilization effectively to study the knowledge analysis to solve the question ability, strengthens the student the understanding with to grasp ability to the thing, trains the student to grasp the science the research technique, the correct design concept, the independent thinking, dares enterprising, the exploration innovation, will further study and the work for the present has laid the good foundation.
Key words: Educational administration information management system; Database; JSP Man management system; Database; JSP
目 录
1 引言
2 系统分析
2.1 功能需求分析
2.2 本系统采用的关键技术
2.2.1 JSP技术
2.2.2 JavaBean技术
2.2.3 JDBC技术
2.3 可行性分析
2.4 系统运行环境
3 系统总体设计
3.1 总体功能
3.2 处理流程设计
3.2.1 系统操作流程
3.2.2 数据增加流程
3.2.3 数据修改流程
3.3.4 数据删除流程
4 系统详细设计
4.1 后台数据库设计
4.1.1 mysql 介绍
4.1.2 数据库表结构
4.2 系统模块设计
4.2.1 用户登陆
4.2.2 学生信息管理
4.2.2 教师信息管理
4.2.3 课程信息管理
4.2.4 班级信息管理
5 系统调试与测试
5.1 程序调试
5.2 程序的测试
5.2.1 测试的重要性及目的
5.2.2 测试的步骤
5.2.3 测试的主要内容
6 结论
6.1 系统评价
6.2 安全性问题
致谢
参考文献
1 引言
在学校里,学校教务资料繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于学生成绩的统计和核实等往往采用算盘,计算器等工具进行,对学生考试资料,以及成绩管理多用手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对教务档案进行管理,由于信息比较多,教务信息的管理工作混乱而又复杂;平时档案资料放在档案柜里,教师和教务处的管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的成绩进行更改就更产困难了。
基于这此问题,我认为有必要建立一个教务管理系统,使教务管理工作规范化,系统化,程序化,避免教务管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改教务档案。
教务信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统主要完成对教务信息的管理,包括添加、修改、删除、打印信息以用户管理等方面。系统可以完成对各类信息的浏览、添加、删除、修改等功能。系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成教务信息的修改。此外,系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。本论文包括需求分析、系统功能、系统设计、程序设计、系统测试及存在问题等方面,较为系统地介绍了“教务信息管理信息系统”课题开发的整个过程。
2 系统分析
2.1 功能需求分析
经过调研,基于B/S的教务信息管理系统的要求描述如下:
针对基于B/S的教务信息管理系统用户群情况,我们决定将本系统分为三个部分:学生用户部分,教师用户部分和超级管理员用户部分。考虑到数据信息的隐私性问题,我们也对各个用户的功能设置做了调整。例如成绩属于个人隐私,学生用户只允许查看自己的成绩,无权查看其他用户的成绩等。总体来说,学生用户只具有查看权限,而教师用户具有比学生用户高的管理权限,但只局限于成绩部分。超级管理员用户具有最高权限,可以修改查看学生用户教师用户乃至超级管理员用户的全部信息。
用户进入登陆页面会通过登陆框中用户所输入的信息判断用户是学生用户,教师用户,超级管理员用户或者非法用户。并通过判断进入相对应的页面。
在学生用户界面中,用户只拥有最基本的查看权限,不具备任何的修改权限。用户可以查看学生的基本信息,自己的各种课程信息,显示自己各门功课的成绩。
在教师用户界面中,教师对部分信息具有修改权限。例如录入学生成绩。
在超级管理员用户界面中,用户拥有最高权限。可以添加修改包括学生,教师和管理员在内的任何信息。更新数据的过程中,所有的数据都尽最大可能的作到数据的级联。在添加学生基本信息的同时做到对相关信息的级联添加。所有的添加操作之前都要确定数据库中是否存在相同的记录,以确保数据的唯一性,把数据库被破坏的可能性降到最低。所有的添加功能都在添加的同时把数据更新到数据库,并马上在界面上显示出结果以能够让用户及时的知道更新的内容。超级管理员对所有的数据都具有添加,删除,修改,查看等基本功能。在所有的删除操作之前,系统都级联的删除其他表中的相关信息。
系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。
图3-1 系统模式图
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP技术作为表现手段,服务器采用Tomcat 5.0.3作为JSP引擎,系统业务逻辑由JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用MYSQL5.0数据库作为数据库服务器。
2.2 本系统采用的关键技术
2.2.1 JSP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。
与微软公司的ASP技术相比,JSP具有如下优点:
(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。
(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。
2.2.2 JavaBean技术
JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP + JavaBean的组合成为了一种事实上最常见的JSP程序的标准. JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。
一个JavaBean有三个部分组成:
1) 属性(Property)
Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。
2) 方法(Method)
由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。这样,方法调用的是接触Bean的唯一途径。
3) 事件(Event)
Bean与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消息通信类似。
JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。
2.2.3 JDBC技术
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事:
(1)同一个数据库建立连接;
(2)向数据库发送SQL语句;
(3)处理数据库返回的结果。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
2.3 可行性分析
首先,技术可行性:
系统采用MYSQL5.0作为开发数据库。MYSQL5.0是一种客户机/服务器结构的关系数据库管理系统。MYSQL5.0提供了许多易于使用的图形化工具和向导,其中最常用的是服务管理器、企业管理器和查询分析器。它们为创建和管理数据库带来了很大的方便。
在技术难度方面,有指导老师的指导、周围同学的热心帮助,加上对很多相关文献的参考,能够解决开发过程中所遇到的困难。
其次,经济可行性:
如今,随着计算机的大量普及,各种软件的开发成本越来越低,价格也越来越底。本系统也是这样,开发成本较低,只是需要一台配置一般的计算机,该系统运行时占计算机的资源也不多,但并不会因为开发成本低而造成系统功能性能的下降。相反,随着计算机技术的发展,各种实用软件的性能日渐提高。任务管理系统廉价的开发成本,却能够为用户带来相当大的实惠和方便。主要表现在:
(1)本系统可以说是一个拥有多种实用功能的系统,它集成了多种功能,具有较强的实用性和方便性。
(2)本系统的运行可以大大提高收藏信息的效率,减少不必要的人力和物力。
(3)本系统还具有打印报表功能。
由此,可以得出,本系统在经济上是绝对具有可行性。
第三,操作上的可行性:
由于本系统管理的对象比较明确主要就是对数据库的操作,且每个数据库内容具有较强的关联性,设计的过程也不复杂。因此,整个软件的使用非常简便。任何一个普通的计算机用户都能很快的熟悉整个软件的使用。并且本系统所耗费的资源非常小,任何用户只需要在一般的电脑上面,就能够使用这个软件,简单、方便、快捷的实现对信息进行管理。
2.4 系统运行环境
服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。
本机器的配置如下:
处理器:Inter Pentium 41.6Hz或更高。
内存:512MB
硬件空间:160GB
题目主要采用的技术
数据库:MYSQL5.0。
编程语言 JSP
服务器:Tomcat5.5,jdk1.6
开发环境:WindowsXP
3 系统总体设计
3.1 总体功能
系统总体上分为三个部分:学生用户模块,教师用户模块和超级管理员用户模块。
3.2 处理流程设计
3.2.1 系统操作流程
3.2.2 数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:
图3.2 数据增加流程图
3.2.3 数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。
图3.3 数据修改流程图
3.3.4 数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。
图3.4 数据删除流程图
4 系统详细设计
4.1 后台数据库设计
数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
数据库设计的主要任务是针对一个给定的应用环境,在给定的硬件环境、操作系统、以及数据库管理信息系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户地各类需求。数据库设计通常是在一个通用的DBMS支持下,即利用现成的DBMS作为开发的基础。
4.1.1 mysql 介绍
Mysql是一个基于关系型数据库模型建立的数据库管理系统软件(DBMS)。它帮助用户方使地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便于根据数据库信息作出有效的决策。另外,仅有这样—个数据库管理系统软件(DBMS),则只能进行一些信息系统所需要的简单数据处理,且对操作者有较高的操作技能要求。因此,信息系统的开发者都是在某种数据库管理系统软件〔DBMS〕环境下编写相应的应川程序,以形成一个能够满足应用需求且操作尽可能简单的应用型信息系统,这被称之为二次开发。
Mysql 还具有以下特点:
1.使信息更易于查找和使用
Mysql继续为简便地查找信息提供易于使用的工具。
2.支持 Web 功能的信息共享
Mysql 可以通过企业内部网络Internet 很简便地实现信息共享,而且它可以很容易地将数据库定位到浏览器中,它将桌面数据库的功能和网站的功能结合在一起。
3.用于信息管理的强大解决方案
高级用户和开发人员可以创建那些将Mysql界面(客户端)的易用性和SQL服务器的可扩展性和可靠性结合在一起的解决方案。
4.改变了数据库窗口
可在Mysql容纳并显示新的对象,增强了Mysql 数据库的易用性。
5.提供名称自动更正功能
自动解决当用户重新命名数据库对象时出现的常见负面效应。例如,当用户重命名表中的字段时,将自动在诸如查询的相关对象中进行相应的更改。
6.具有子数据表功能
子数据表在同一窗口中,提供了嵌套式的视图,这样就可以在同一窗口中专注于相关的数据并对其进行编辑。
7. 用户只需简单地将Mysql对象(表、查询等)从数据库放到ODBC数据源中,即可从 Mysql中将数据导出到其他数据库中。
8.数据访问页功能
该功能可使用户快捷方便地创建数掂 HTML页,并通过数据 HTML页,将数据库应用扩展到企业内部网络 Internet上。这将帮助用户比以往更快捷、高效的方式共享信息。
9.共享组件的集成
Mysql利用新的 Web组件和位于浏览器中的 COM 控件,为用户提供了多种查看和分析数据的方式。
10.交互性
Mysql支持OLE DB,使用户可以将Mysql 界面的易用性与诸如SQL Server2000的后端企业数据库的可升级性相结合。
4.1.2 数据库表结构
为了满足系统存储数据需要,方便进行插入,更新,统计分析等操作,数据一共设计为两个部分,第一部分为满足插入,更新,删除较多的数据存储。第二部分为满足查询和统计分析。为了方便进行数据库之间的迁移,数据库中不建议采用存储过程,触发器等数据库特征明显的代码,所有表建立,操作SQL均采用标准语句。
4.2 系统模块设计
4.2.1 用户登陆
在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示。
输入:用户名和密码。
处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。
输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。
4.2.2 学生信息管理
管理员进入系统后可以对学生信息进行管理,包括对学生信息的添加、修改、删除的功能。
a) 添加学生的信息操作:
l 点击添加学生信息按钮。并输入所需添加学生的内容,内容包括学生编号,姓名,性别,出生日期,联系地址,邮箱等检验用户输入是否符合用户数据库表中字段定义。若不符合则提示输入有误。
l 提示信息添加成功。
l 更新学生数据库表的信息。
b) 删除学生信息
l 点击删除按钮来删除学生的相关信息。
l 根据学生的表中的关键字学生编号删除表中的一切以学生编号为主键的其他字段。执行sql语句delete并且删除相关属性。
l 更新数据库表的信息。
c) 修改学生
l 点击修改学生按钮。并输入需要修改的内容,内容包括学生编号,姓名,性别,出生日期,联系地址,邮箱等。
l 检验用户输入的学生编号,姓名,性别,出生日期,联系地址,邮箱等是否符合数据库表中字段定义。若不符合则提示输入有误。
l 如果用记录存在,进行修改操作,输入新的字段,并根据数据库表中对应字段的定义检查输入是否合法,如果输入有错误则进行提示。
l 如果输入正确,执行(UPDATE)SQL语句,更新数据库表中该项目所对应的记录。
l 提示信息修改成功。
l 更新数据库表的信息。
界面如下图所示:
4.2.3 教师信息管理
管理员进入系统后可以对教师信息进行管理,包括对教师信息的添加、修改、删除的功能。
a) 添加教师的信息操作:
l 点击添加教师信息按钮。并输入所需添加教师的内容,内容包括教师编号,姓名,性别,出生日期,联系地址,邮箱等检验用户输入是否符合用户数据库表中字段定义。若不符合则提示输入有误。
l 提示信息添加成功。
l 更新教师数据库表的信息。
b) 删除教师信息
l 点击删除按钮来删除教师的相关信息。
l 根据教师的表中的关键字教师编号删除表中的一切以教师编号为主键的其他字段。执行sql语句delete并且删除相关属性。
l 更新数据库表的信息。
c) 修改教师
l 点击修改教师按钮。并输入需要修改的内容,内容包括教师编号,姓名,性别,出生日期,联系地址,邮箱等。
l 检验用户输入的教师编号,姓名,性别,出生日期,联系地址,邮箱等是否符合数据库表中字段定义。若不符合则提示输入有误。
l 如果用记录存在,进行修改操作,输入新的字段,并根据数据库表中对应字段的定义检查输入是否合法,如果输入有错误则进行提示。
l 如果输入正确,执行(UPDATE)SQL语句,更新数据库表中该项目所对应的记录。
l 提示信息修改成功。
l 更新数据库表的信息。
界面如下图所示:
4.2.4 课程信息管理
主要实现课程信息的增加删除修改功能
4.2.5 班级信息管理
实现班级信息的增加、删除、修改功能。
5 系统调试与测试
5.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
5.2 程序的测试
5.2.1 测试的重要性及目的
(1)测试的重要性
软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:
① 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;
② 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;
③ 测试工作枯燥无味,不能引起人们的兴趣;
④ 测试工作是艰苦而细致的工作;
⑤ 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。
这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。
(2)测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。
① 软件测试是为了发现错误而执行程序的过程;
② 测试是为了证明程序有错,而不是证明程序无错误;
③ 一个好的测试用例是在于它能发现至今未发现的错误;
④ 一个成功的测试是发现了至今未发现的错误的测试。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
5.2.2 测试的步骤
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:
(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。
(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。
5.2.3 测试的主要内容
为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。
(1)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(2)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
(4)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。
单独对系统的测试主要从以下几方面入手:
① 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
② 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
③ 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。
6 结论
6.1 系统评价
本文通过本系统设计与开发,从而得出下列结论:
(1)学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。
(2)一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。
(3)要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。不过由于经验不足,我设计的图形界面比较简单。只是对基本功能进行了开发。
(4)本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习。
实践证明,本系统有着很好的发展前景,经测试运行。本文所制作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论。
由于时间仓促,本次设计由我完成本系统的制作,对我这样一个JSP新手而言所制作的模块还有不完善的地方。数据库的设计也比较简单。还有很多毕业设计中用到JSP语言的知识也不够全面,还有很多地方不能够作到完全的理解和掌握。通过这次毕业论文的设计制作使本人受益匪浅。首先,由于毕业设计所用的JSP技术和其中用到JSP语言的其他部分是在课堂上没有接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大大提高了我的自学能力而且让我对JSP的学习有了进一步的认识 。由于是独立完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。
6.2 安全性问题
Web开发中安全性是必须考虑的一个很重要的方面,特别是在诸如个信息等敏感数据的模块中更是关键,所以这也是后期开发需要引起重视的。下面就这方面的技术和解决方案加以讨论。
(1) 安装防火墙:安装防火墙并且屏蔽数据库端口能有效地阻止了来自Internet 上对数据的攻击。
(2) 输入检查和输出过滤:用户在请求中嵌入恶意HTML标记来进行攻击破坏,防止出现这种问题要靠输入检查和输出过滤,而这类检查必须在服务器端进行,一旦校验代码发现有可疑的请求信息,就将这些可疑代码替换并将其过滤掉。
致谢
在本次毕业论文过程中,得到了指导老师的指导与支持。在此特别感谢指导老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业论文起到了关键性的作用。
我还要感谢我的母校,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业论文我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
参考文献
[1] BruceEckel.《JAVA编程思想》. 机械工业出版社,2003年10月:1-378
[2]赛奎春.《JAVA工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294
[3]FLANAGAN.《JAVA技术手册》. 中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]LEE ANNE PHILLIPS.《巧学活用 JSP》.电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP编程指南》..电子工业出版
标签:毕设,JAVA,数据库,系统,用户,信息,源码,JSP,测试 From: https://blog.51cto.com/u_12508287/12058174