资源描述
XX现代职业技术学院毕业设计(论文)题目:学生成绩管理系统姓 名 学 院 信息工程学院 专 业 软件技术 班 级 09软件(2)班 指导 老师 提交 时间 2011年 10月13日 学生成绩管理系统管理员模块设计与实现摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍了在Myeclipse8.5环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学生成绩管理方面的不足,创建了一套行之有效的计算机管理学生成绩的方案。首先概要性地介绍了本系统开发的目的、系统开发的背景等;其次对该系统设进行需求分析和设计分析,对系统功能分析以及模块划分定义;接着进行系统数据库的设计;最后根据第二部分对系统功能分析以及功能模块的划分,对各功能模块进行分析实现。使系统达到功能完善,界面友好,操作简单,比较实用的效果。关键词:管理信息;学生成绩;JspStudent performance management systemdesign and implementation of administrator moduleAbstract: As information technology more and more depth in the management of a wide range of applications, management information systems implementation, technology has gradually matured. Management information system is an evolving new discipline, any unit to survive and develop, to high efficiency of the internal activities of organic and organized, it must establish its own characteristics compatible with management information systems. This article describes the environment in Myeclipse6.0 a top-down master plan, application development from the bottom up strategy to develop a management information system process. Management through the analysis of a shortage of schools to create a set of effective management of student computer programs. This paper introduces the student management information system of parts, including feasibility analysis, business process analysis; system design section introduces the functional design and database design and code design. Make the system eventually reach perfect function, friendly interface, the operation is simple, more practical effect.Keywords: MIS; student management; Jsp application.目录第一章 概述11.1 信息化管理现状11.2 课题来源及意义11.3 课题的需求现状11.4 系统概述11.5 本人在项目中负责的工作1第二章 技术简介22.1 JSP技术简介22.2 Javascript技术22.3 数据库技术3第三章 系统分析43.1 可行性分析43.2 需求分析53.2.1 管理员界面的系统功能模块图53.2.2 学生成绩管理系统的子模块分析63.3 使用到的技术6第四章 系统概要设计74.1 系统方案确定74.2 E-R图74.3 数据库设计8第五章 系统详细设计125.1 程序流程图125.2 管理员功能设计125.2.1 用户管理125.2.2 班级管理135.2.3 教师管理135.2.4 学生管理135.2.5 课程管理135.2.5 院系管理135.3 管理员界面145.3.1 管理员模块主界面145.3.2 用户管理模块145.3.4 教师管理模块165.3.5 学生管理模块175.3.6管理课程模块175.4 数据库连接代码19第六章 软件测试216.1 软件测试的目的和原则216.2 测试方法216.3 测试计划226.4 测试项目236.5 测试用例246.5.1 用户管理模块用例246.5.2 班级管理模块用例256.5.3 教师管理模块用例266.5.4 学生管理模块用例266.5.5 课程管理模块用例27第七章 总结28第八章 谢辞29参考文献30第一章 概述1.1 信息化管理现状在21世纪的信息化时代,要适应这个社会,人们必须要了解信息化。关于信息化的表述有的认为,信息化就是计算机、通信和网络技术的现代化;有的认为,信息化就是从物质生产占主导地位的社会向信息产业占主导地位社会转变的发展过程。诸如此类的说法还有很多,但对于信息的采集和管理则称为当代信息技术发展的前沿科学。1.2 课题来源及意义随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。同时随着IT技术的发展和以Internet技术为基础的电子商务技术以及计算机技术在我国的日渐成熟和计算机应用的日趋普及,然而我国大部分学校的学生成绩信息管理系统,依然仅靠人工进行管理和操作,这对于查找、更新和维护文件等管理工作带来了不少的困难。同时也跟不上信息时代高速、快捷的要求,面对庞大的学生信息量,如何利用现代信息技术使其拥有快速、高效的适应力已成为当务之急。1.3 课题的需求现状通过调查,要求系统需要有以下功能:(1)由于操作人员的计算机知识一般,要求有良好的人机界面;(2)由于该系统的使用对象多,要求有较好的权限管理;(3)原始数据修改简单方便,支持条件修改;(4)方便的数据查询,支持条件查询;(5)在相应的权限下,删除数据方便简单,数据稳定性好。1.4 系统概述根据当前大多数学校的成绩信息管理的需求现状,我们研究开发了学生成绩管理系统,本系统采用B/S模式进行开发,本系统的用户权限有三种:学生、教师和管理员,不同权限用户登入到不同的操作界面。本系统主要由学生管理、教师管理、课程管理、班级管理、成绩管理、系统管理等功能模块组成。本文具体介绍了管理员角色模块的功能。1.5 本人在项目中负责的工作本人在项目中主要负责管理员模块的设计与实现、以及参与数据库和界面的设计与实现。第二章 技术简介2.1 JSP技术简介JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP的优点有:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。2.2 Javas cript技术JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点: (1) 它是一种脚本编写语言。(2) 基于对象的语言。(3) 简单性。(4) 安全性。(5) 动态性。(6) 跨平台性。2.3 数据库技术SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。SQL Server 具有以下特点:(1)真正的客户机/服务器体系结构。 (2)图形化用户界面,使系统管理和数据库管理更加直观、简单。 (3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 (4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 (5)具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 (6)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 (7)SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 第三章 系统分析3.1 可行性分析可行性研究也称为可行性分析(Feasibility Analysis),是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容:(1)经济可行性:主要是对项目的经济效益进行评价,本系统的开发不需要额外的硬件设备,并且本系统实施后可以显著提高工作效率,有助于学校完全实现信息化管理。所以本系统开发在经济上是可行的。(2)技术可行性:本系统主要使用JSP语言开发系统,JSP语言具有简单易学的特性,把设计人员从繁琐复杂的界面设计中解脱出来。强大的多媒体功能可以轻而易举地开发出集声音、动画、和图像于一体的多媒体应用程序。数据库服务器选用SQL Server 2005数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。而且Javascript语言与SQL Server 2005对系统的软硬件环境要求并不高。因此,系统的软件开发平台已成熟可行。(3)方案可行性:目前,随着学校的规模不断扩大,学生数量急剧增加,有关学生的成绩信息也成倍增长。面对庞大的信息量,需要有学生成绩管理系统来提高管理学生个人成绩工作。为了满足校内各学院,各职能部门,以及各位同学对个人成绩管理的需求,学生成绩管理系统越来越被广泛的需要。学校良好的设施为学校开发数字化校园提供了坚实的基础。(4)目的可行性:管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。(5)管理可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。规章制度和管理方法为系统的建设提供了制度保障。综上所述,此系统开发目的已明确,在技术和经济等五方面都可行,并且投入少、见效快。因此本系统的开发是完全可行的。3.2 需求分析3.2.1 管理员界面的系统功能模块图管理员模块管理员登录学生管理教师管理课程管理班级管理教师信息添加教师信息管理学生信息管理学生信息添加班级信息管理班级信息添加课程信息管理课程信息添加用户信息管理修改密码学生信息查询学生信息修改学生信息删除课程信息查询课程信息修改课程信息删除教师信息查询教师信息修改教师信息删除班级信息查询班级信息修改班级信息删除添加用户删除用户院系管理添加院系图3.1管理员界面的系统功能模块图3.2.2 学生成绩管理系统的子模块(管理员模块)分析根据学生成绩管理系统的业务分析,管理员模块应具有以下功能:(1)系统管理:主要任务是维护系统的正常运行和安全性设置,包括添加管理员用户、修改密码、退出登录等等。(2)教师管理:实现对全校班级的管理工作,包括:班级浏览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。(3)学生管理:实现对学生的个人信息的管理工作,包括学生信息添加、学生信息浏览、学生信息修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。(4)成绩管理:实现成绩添加、成绩修改、成绩查询、成绩的删除等工作。(5)班级管理:实现班级信息添加、删除、修改等工作。(6)院系管理:实现院系的添加、删除工作。3.3 使用到的技术(1)界面JSP技术:动态页面的展现。HTML及CSS技术:页面的布局以及页面整体效果的美观。Javascript技术:对浏览器用户操作进行响应和简单的逻辑判断。(2)数据库操作JavaBean技术:将数据库连接用java代码创造对象进行打包,用以通过JSP页面来使用。(3)SQL语言主要用于对数据库里的数据进行添加、查询、修改、删除操作,数据库采用Sql Server 2005。第四章 系统概要设计4.1 系统方案确定通过对系统的调研与分析,系统该模块主要应完成的功能有:教师管理、学生管理、班级管理、课程管理、系统管理功能。学生管理系统管理员用户管理班级管理教师管理课程管理院系管理学生观看图4.1 系统层次结构图4.2 E-R图熟据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。根据三个实体之间的联系可以得到如下E-R图: nm学生学号姓名性别电话籍贯密码备注班级课程编号名称添加时间学习生日图4.2 学生与课程的E-R图m电话生日1添加时间任教科目教学课程编号名称添加时间图4.3 教师与课程的E-R图姓名工号教师性别密码4.3 数据库设计本系统中数据库采用了Microsoft推出的SQL SERVER 2005数据库。由于SQL具有显著的简易性和有效性,大量的桌面数据库系统都采用SQL作为后台数据库。使用SQL的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。本系统的数据库表(管理员模块)如下:(1)管理员表(allusers),如表4-1。表4-1 管理员表(allusers)表名allusers主键字段ID中文表名(功能描述)管理员表字段字段名称字段类型长度主外键关联允许空备注ID序号Int主键否username用户名Varchar20否pwd密码Varchar15否cx权限Varchar5否addtime添加时间datetime(2)教师表(jiaoshi),如表4-2。表4-2 教师信息表表名Jiaoshi主键字段gonghao中文表名(功能描述)教师信息表字段字段名称字段类型长度主外键关联允许空备注id序号Int否gonghao工号Varchar20主键否xingbie性别Varchar 4否xingming姓名Varchar20否dianhua电话Varchar 15chushengnianyue出生年月Datatime否beizhu备注Varchar500addtime添加时间Datatimemima密码varchar15否(3)课程表(kecheng),如表4-3。表4-3 课程表表名Kecheng主键字段bianhao中文表名(功能描述)课程表字段字段名称字段类型长度主外键关联允许空备注ID序号Int否bianhao编号varchar20否yuanxi院系Varchar18否mingcheng名称Varchar18否addtime添加时间Datatime(4)学生表(xuesheng),如表4-4。表4-4 学生信息表表名xuesheng主键字段Xuehao中文表名(功能描述)学生信息表字段字段名称字段类型长度主外键关联允许空备注id序号Int否xuehao学号Varchar20主键否xingming姓名Varchar20否banji班级Varchar10否xingbie性别Varchar 4否chushengnianyue出生年月Datatimejiguan籍贯Varchar18否dianhua电话Varchar15yuanxi院系Varchar18否beizhu备注Varchar500(5)班级表(banji),如表4-5。表4-5 班级表表名banji主键字段ID中文表名(功能描述)班级表字段字段名称字段类型长度主外键关联允许空备注ID序号Int主键否mingcheng名称Varchar20否yaunxi院系Varchar18否banzhuren班主任Varchar20否addtime添加时间Datetime否(6)选课表(xuanke),如表4-6。表4-6 选课表表名xuanke主键字段xuehao;bianhao中文表名(功能描述)成绩表字段字段名称字段类型长度主外键关联允许空备注bianhao编号Varchar18主键否xuehao学号Varchar20主键否chengji成绩Floataddtime添加时间Datetime(7)院系表(yuanxi),如表4-7。表4-7 院系表表名yuanxi主键字段ID中文表名(功能描述)成绩表字段字段名称字段类型长度主外键关联允许空备注ID编号Int主键否mingcheng名称Varchar40否addtime添加时间Datetime第五章 系统详细设计(管理员模块)本部分主要内容为本系统管理员模块的运行界面以及管理员模块界面的重要源代码。5.1 程序流程图本模块是本系统的应用界面,在本界面上集成了本系统的大量功能,共有5个功能菜单,从而实现了本系统从学生管理、教师管理、班级管理、课程管理、等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。失败开始登录验证成功选择退出教师管理学生管理用户管理班级管理课程管理课程管理图5.1 管理员模块程序流程图5.2 管理员功能设计以下所有功能均为管理员成功登录后的功能设计。5.2.1 用户管理(1)系统管理员管理:admin管理员登陆后,可以添加其他管理员(此类管理员不能添加新的管理员、删除其他管理员,同时具备除了“系统管理员管理”此模块的其他模块的所有管理权限,后文出现管理员均指所有管理员)。(2)修改个人密码:所有管理员登陆后都可以通过旧密码来修改新密码。5.2.2 班级管理(1)班级添加:管理员可以通过此功能添加新班级信息(班级、院校、班主任)。(2)班级管理:管理员可以通过此功能对班级信息进行管理,如查询班级信息、修改班级的基本信息、删除某个班级。5.2.3 教师管理(1)教师添加:管理员可以通过此功能添加新的教师信息(工号、姓名、密码、性别、电话、任教科目、出生日期、备注)。(2)教师管理:管理员可以通过此功能对教师信息进行管理,如查询教师信息、修改教师的基本信息、删除某位教师。5.2.4 学生管理(1) 学生添加:管理员可以通过此功能添加新的学生信息(学号、姓名、密码、性别、电话、班级、籍贯、出生日期、备注)。(2)学生管理:管理员可以通过此功能对学生信息进行管理,如查询学生信息、修改学生的基本信息、删除某位学生的信息。5.2.5 课程管理(1)课程添加:管理员可以通过此功能添加新的课程信息(课程编号、课程名称)。(2)课程管理:管理员可以通过此功能对课程信息进行查询、修改、删除操作。5.2.5 院系管理(2)院系管理:管理员可以通过此功能对院系信息进行增加、查询、删除操作操作。5.3 管理员界面5.3.1 管理员模块主界面图5.3 管理员模块主界面该界面是个框架组成,包括上,中,下三个部份,上部分主要放置了系统名称,当前系统时间,登录的管理员名字以及其权限,安全退出按钮(退出到登录界面);中间又包括左右两部份,左边部分放置了各个功能的按钮,右边为相关功能的详细操作信息,为一个iframe框架,各个功能的操作页面都可以在此框架内显示、操作,可以大大提高用户的工作效率。本页面主要使用Table表格进行布局,CSS进行各种字体、连接的修饰。5.3.2 用户管理模块本模块是本系统的安全性设置模块,根据学校不同部门以及不同使用人员对本系统的要求和需要,从而实行了分级管理,对用户的权限和类别进行了分类管理。图5.3 用户添加界面该界面是添加用户的模块,此页面对输入的用户名和密码是是否为空进行判断,并对两次输入的密码是否一致进行判断,判断所有输入无误时将数据提交给下一个页面(yhzhgl_post.jsp)进行处理,首先根据从表单传过来的用户名在数据库中查找,如果找到有就会提示用户:该用户名已经存在,请换其他用户名,并且不插入新数据;否则插入新数据并提示“添加成功”,然后关闭结果集资源,并跳转到添加用户页面,并在下方显示刚添加的用户信息。其具体代码如下(由于其他功能模块的添加代码与此大同小异,后文就不再累述):% String username=request.getParameter(username); String pwd=request.getParameter(pwd1); ResultSet RS_result=connDbBean.executeQuery(select * from allusers where username=+username+); if(RS_result.next()out.print(alert(该用户名已经存在,请换其他用户名!);window.history.go(-1););else String sql=insert into allusers(username,pwd) values(+username+,+pwd+); connDbBean.executeUpdate(sql); out.print(alert(添加成功!);location.href=yhzhgl.jsp;); RS_result.close(); % 5.3.3 班级管理模块本模块可以添加新的班级信息,其中班级名称,所属院系需要手动输入,班主任可以直接从数据库中的教师表中读取教师名称用于选择,方便了用户的同时提高了信息的准确性。图5.4 班级添加界面5.3.4 教师管理模块图5.5 教师添加界面其中出生年月调用系统日历,只需鼠标点击选择即可,无需手动输入。5.3.5 学生管理模块图5.6 学生添加界面此模块中班级信息直接从数据库的班级表中读取数据并显示到页面上以供选择,用户无需手动输入班级信息,直接在下拉框中选取相应的班级即可,方便用户的同时也规范了班级的命名。其中出生年月调用系统日历,只需鼠标点击选择即可,无需手动输入。5.3.6管理课程模块图5.7 课程管理界面本模块可以通过编号快速定位搜索出所需要的信息,在操作栏里面可以对相应的数据进行修改和删除操作。通过javascript代码可以实现对本页的信息进行打印输出。实现本模块的主要代码如下所示: 已有课程列表: 搜索:编号: 序号 编号名称 添加时间 操作 a href=kecheng_updt.jsp?id=修改 a href=del.jsp?id=&tablename=kecheng onClick=return confirm(真的要删除?)删除 以上数据共条,打印本页5.4 数据库连接代码通过Java代码使用sqljdbc驱动连接数据库,其代码如下:package db;import java.sql.*;public class db private String dbDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver; private String sConnStr = jdbc:sqlserver:/localhost:1433;databasename=jspxscj; public Connection connect = null; public ResultSet rs=null; public db() try Class.forName(dbDriver).newInstance(); connect = DriverManager.getConnection(sConnStr,sa,123); catch (Exception ex) ex.printStackTrace(); public ResultSet executeQuery(String sql) tryconnect=DriverManager.getConnection(sConnStr,sa,123);Statement stmt=connect.createStatement();rs=stmt.executeQuery(sql);catch(SQLException ex)System.err.println(ex.getMessage();return rs; public void executeUpdate(String sql) Statement stmt=null; rs=null; try connect=DriverManager.getConnection(sConnStr,sa,123); stmt=connect.createStatement(); stmt.executeUpdate(sql); stmt.close(); connect.close(); catch(SQLException ex) System.err.println(ex.getMessage(); 第六章 软件测试6.1 软件测试的目的和原则系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。系统测试的任务是近可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统做得怎样?。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。6.2 测试方法系统测试通常分为两中方法:黑盒测试和白盒测试。在下面会对这两种方法进行简单介绍。对于软件测试而言,黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。 六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。 白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。6.3 测试计划(1)项目测试方法:黑盒测试(2)测试用例选择原则: 所设计出的测试用例能够减少为达到合理测试所需要设计的附加测试用例数目。 所设计出的测试用例能够告诉我们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在。 正确的划分等价类,已根据等价类设计测试方案,以满足所有的测试都能追溯到用户需求。 尽量避免含糊的测试用例。 尽量将具有相类似功能的测试用例抽象并归类。 尽量避免冗长和复杂的测试用例。6.4 测试项目(1)用户管理模块功能测试测试内容:系统管理员管理模块(admin登录) 系统管理员管理模块(非admin账号登录) 修改个人密码模块目的:检验用admin账号登录时是否可以执行系统管理员的添加、删除,检验非admin账号登录时是否可以进行系统管理员的添加、删除,尽可能多的找出系统运行中会出现的错误,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。(2)班级管理模块测试测试内容:班级添加功能 班级查询功能 班级信息修改、删除功能目的:尽可能多的找出系统运行中会出现的错误,站在管理员的立场,考虑管理员在实际执行过程中,进行班级信息添加、修改、查询、删除时可能出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。(3)教师管理模块测试测试内容:教师信息添加功能 教师信息查询功能 教师信息修改、删除功能目的:尽可能多的找出系统运行中会出现的错误,站在管理员的立场,考虑管理员在实际执行过程中,进行教师信息添加、修改、查询、删除时可能出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。(4)学生管理模块测试测试内容:学生添加功能 学生信息查询功能 学生信息修改、删除功能目的:尽可能多的找出系统运行中会出现的错误,站在管理员的立场,考虑管理员在实际执行过程中,进行学生信息添加、修改、查询、删除时可能出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。(5)课程管理模块测试测试内容:课程添加功能 课程信息查询功能 课程信息修改、删除功能目的:尽可能多的找出系统运行中会出现的错误,站在管理员的立场,考虑管理员在实际执行过程中,进行课程信息添加、修改、查询、删除时可能出现的错误、异常,从而对此系统进行完善和改正,保证用户在使用中真正满足他们的需求,达到用户想要的功能。6.5 测试用例6.5.1 用户管理模块用例6.5.1.1 用户管理模块(admin账号登录)表6-1用户管理模块测试用例输入操作及步骤输出成功登录后点击系统管理员管理成功进入不输入用户名点击提交用户名不能为空输入注册过的用户名此用户已存在输入未注册过的用户名及空密码请输入密码输入未注册过的用户名及两次不一致的密码输入的密码不一致,请检查重新输入输入未注册过的用户名及两次一致的密码添加成功成功登录后点击修改个人密码成功进入输入错误的原密码及两次一致的新密码点击确定原密码不正确输入正确的原密码及空的新密码点击确定请输入新密码输入正确的原密码及两次一致的新密码点击确定修改成功6.5.1.2 用户管理模块(非admin的管理员账号登录)表6-2用户管理模块测试用例输入操作及步骤输出成功登录后点击系统管理员管理对不起,你没有这个权限!成功登录后点击修改个人密码成功进入输入错误的原密码及两次一致的新密码点击确定原密码不正确输入正确的原密码及空的新密码请输入新密码输入正确的原密码及两次一致的新密码修改成功6.5.2 班级管理模块用例表6-3 班级管理模块测试用例输入操作及步骤输出没有输入班级名称修改、添加班级名称不能为空!没有输入院系名称院系名称不能为空!没有选择班主任请选择该班的班主任输入正确的班级名称、院系名称、选择班主任添加成功!修改成功!输入不存在的班级名称查询空输入存在的班级名称查询对应的班级信息选择想要删除的班级删除真的要删除?选择是时删除该班级选择否时删除不该班级6.5.3 教师管理模块用例表6-4 教师管理模块测试用例输入操作及步骤输出没有输入教师工号修改、添加工号称不能为空!没有输入教师名称教师名称不能为空!没有输入密码密码不能为空!没有输入任教科目任教科目不能为空!输入正确的教师工号、姓名、密码、电话、任教科目、生日添加成功!或者修改成功!输入不存在的教师工号查询空输入存在的教师工号查询对应的教师信息选择想要删除的教师删除真的要删除?选择是时删除该教师选择否时删除不该教师6.5.4 学生管理模块用例表6-5 学生管理模块测试用例输入操作及步骤输出没有输入学号修改、添加学号称不能为空!没有输入学生名称学生名称不能为空!没有输入密码密码不能为空!没有输入班级请选择该学生的班级!没有输入籍贯籍贯不能为空!输入正确的学号、姓名、密码、电话、班级、籍贯、生日添加成功!或者修改成功!输入不存在的学号查询空输入存在的学号查询对应的学生信息选择想要删除的学生删除真的要删除?选择是时删除该学生选择否时删除不该学生6.5.5 课程管理模块用例表6-6 课程管理模块测试用例输入操作及步骤输出没有输入编号修改、添加编号称不能为空!没有输入名称名称不能为空!输入正确的编号、名称添加成功!或者修改成功!输入不存在的编号查询空输入存在的编号查询对应的课程信息选择想要删除的课程删除真的要删除?选择是时删除该课程选择否时删除不该课程第七章 总结从本系统开始设计到现在,共一个多月的时间。到目前为止基本功能已经实现。学生成绩管理系统是在对相关人员进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计、程序设计等,是一个具有实际应用意义的典型管理系统。本系统有以下特点:(1)采用B/S体系结构,使系统具有很好的可维护性和重用性。(2)在本系统的开发过程中采用的是jsp技术,它们使代码容易管理,适合于中小型项目的开发。(3)后台数据库采用的SQL Server 2005,它功能比较强大,可以处理包含在各种平台上运行的数据库管理系统内核。在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另
展开阅读全文