1、1目录1 绪论 21.1 项目开发背景 21.2 项目开发的目标 21.3 项目提出的意义 21.4 系统开发所用的技术准备 31.4.1 数据库技术的现状与发展 .31.4.2 JAVA 语言的概述 41.4.3 编码 .42 系统需求分析 62.1 系统调查 .62.2 系统构架 .62.3 用户需求 62.3.1 学生的需求 .62.3.2 老师的需求 .72.3.3 管理员的需求 .72.4 系统方框图 72.5 系统设计思想 .82.6 系统设计分析 .83 数据库设计 93.1 数据库表的设计 93.2 数据库所使用的技术 .104 功能介绍 .124.1 学生功能 134.2 教
2、师功能 144.3 教务管理员功能 165 系统测试 .185.1 测试目的 .185.2 测试环境的搭建 .185.3 测试方法 .205.4 测试项目 .205.5 测试结果 .20参考文献 .2221 绪论 1.1 项目开发背景 一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计
3、的课题。本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。希望能为老师和学校的工作带来便利。1.2 项目开发的目标 建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化
4、、规范化和自动化。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:(1)系统应具有实用性、可靠性和适用性,同时注意到先进性。(2)对各个数据库进行动态管理,防止混乱。(3)不同用户有不同的查询和修改权限,防止非法查询,非法修改。(4)能够对查询结果进行分类汇总,实现报表打印和下载。(5)方便用户的操作,尽量减少用户的操作。1.3 项目提出的意义 随着高校办学规模的扩大和招生人数的增加,学生成绩管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要
5、性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,3提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,管理好学生的成绩,是非常重要的。因此开发出一套学生成绩管理
6、系统是非常必要的。1.4 系统开发所用的技术准备 1.4.1 数据库技术的现状与发展 数据库是 60 年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。MySQL 作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,MySQL 虽然是免费的,但同 Oracle, Sybase, Informix, Db2 等商业数据库一样,具有数据库系统的通用性:(1)数
7、据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(DBMS) ,MySQL 完全具有这方面的功能。(2)关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(RDBMS)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,MySQL 也是关系型的数据库系统,支持标准的结构化查询语言(Structured Query Language) 。(3)开放源码数据库。同商业性的数据库相比,这是 MySQL 最
8、大的特点。MySQL 的源码是公开的,这就意味着任何人,只要遵守 GPL 的规则都可以对MySQL 的源码使用、修改以符合自己特殊的需求。(4)技术特点。MySQL 服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如 C、C+、Java、Perl、PHP、Tcl 等,也提供了简单的管理工具,如 mysqladmin,mysql 等。4正因为 MySQL 的源码是公开的,使得我们有机会从源码级,更深入的了解MySQL。从这一层面上可以探求、了解 MySQL 数据库的特性:良好的内存管理机制,尤其是内存泄漏的管理,通过了 Purify 的严格测试;支持多种平台; 提供多种形式的 API,
9、为我们开发工具的选择提供了便利; 使用多线程的技术,可充分发挥系统的特点,避免在 SMP 系统中出现仅使用单 CPU 的现象;对磁盘表的管理采用 B 树加密及索引的技术,为我们快速访问数据提供了可能; 高性能的内存申请技术;临时表采用在内存中以哈希表实现;提供多种数据类型;支持定长的和变长的纪录;所有的列都有缺省值,为我们的某些“粗心”提供了方便;灵活、安全的权限和密码系统,密码在传输中加密传送,允许主机端验证密码;13)客户端可以通过 TCP/IP、Unix 套接字、命名管道(NT)连接到MySQL 数据库服务器;对多种字符集的完全支持等等许多优点。MySQL 有如此多的特点,又由于其免费的
10、特点,这就给许多的中小应用提供了不错的选择。尤其是对一些中小企业,无论是从降低成本,还是从性能方面,采用 MySQL 作为其数据支撑系统,都是一种可行的方案。但也应当注意,采用 MySQL 作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。1.4.2 JAVA 语言的概述Java 是一种简单的,面象对象的,分布式的,解释的,键壮的,安全的,结构的,中立的,可移植的,性能很优异的多线程的,动态的语言。当 1995年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸引。Java 语言其实最早诞生于 1991 年,起初被称为 OAK 语言,是 SUN 公司为一些
11、消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK 可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了 OAK 的命运。在 Java 出现以前。Internet上的信息内容都是一些乏味死板的 HTML 文档。这对于那些迷恋于 WEB 浏览的人们来说简直不可容忍。他们迫切希望能在 WEN 中看到一些交互式的内容,开发人员也极希望能够在 WEB 上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,而 SUN 的工程师敏锐地察觉到了这一点,从 1994
12、年起,他们开始将 OAK 技术应用于 WEB 上,并且开发出了 HotJava 的第一个版本。当SUN 公司 1995 年正式以 Java 这个名字推出的时候,几乎所有的 WEB 开发人员都想到:噢,这正是我想要的。于是 Java 成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。1.4.3 编码5程序设计语言是人和计算机通信的最基本的工具,它的特点必然会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响其他人阅读和理解程序的难易程度。因此在编码时所选择的编码语言是很重要的。本系统主要使用了基于 JAVA 语言的 JSP 技术 Servlet 技术,Hibernate 开源框
13、架技术,Struts 开源框架技术,以及 HTML、CSS、XML 等等语言和技术。因此该系统据有 JAVA 的所有优点,移植性能比较好,数据库移植也比较容易。本系统使用了许多的框架技术扩展也比较容易。在编码实现过程中,使用了基本的控制结构,每行只写一行代码,在必要的地方加了许多的注释,结构清晰,代码容易阅读。对所有的输入数据都进行了检验,并且对组合输入也进行了级联验证,输入的格式也比较简单。对于验证出错的,给出详细的错误信息,使用户可以很清楚的知道自己在哪里出错了,方便用户的使用。62 系统需求分析 2.1 系统调查 21 世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的
14、应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,我对河南科技学院新科学院的原有的学生成绩管理系统进行了调查研究,并对一些教师和学生进行了调查,听取他们对学生成绩管理的一些建议和要求以及他们对这方面的一些需求,根据我所具有的知识,决定开发的这个系统采用当前较为流行的编程软件 Java 作为实现语言,以数据库 MySql 作为系统的后台操作.2.2系统构架系统采用的是 B/S 结构,即浏览器和服务器架构,示意图如图 2-1 所示。浏览器端提供用户操作界面,接受用
15、户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。用户浏览器 Web 服务器 数据库服务器Tomcat操作请求返回查询结果使用 Hibernate 操作数据库返回操作结果图 2-1 系统架构示意图2.3 用户需求 2.3.1 学生的需求(1) 在第一时间查询自己所有的成绩(自己的平均成绩,总成绩)(2) 查询某一科成绩,该科平均成绩,所在名次,最高
16、成绩,最低成绩(3) 打印和下载自己的成绩 IE 等浏览器72.3.2 老师的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改更新成绩(自己所教授的那一科成绩)(6) 打印和下载所查询或统计出的结果2.3.3 管理员的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,
17、该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改成绩(6) 打印和下载所查询或统计出的结果(7) 用户管理(8) 数据库管理2.4 系统方框图系统层次方框图如图 2-2 所示: 8图 2-2 系统层次方框图2.5 系统设计思想(1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。 (2)系统就满足学校的需求,例如
18、学生成绩的录入、查询、更新,学生成绩录入与排名等等。 (3)系统具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。2.6 系统设计分析本系统使用 Struts 开源框架实现 MVC 三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。 该系统适用于各个学校,其功能主要为: 成绩管理:用于对成绩的录入、修改、汇总、排名以及查询等操作。 统计学生成绩查询学生成绩录入学生成绩修改登录密码打印查询结果下载查询结果登录学生成绩维护系统教师登录 教务管理员登录学生登录查询自己成绩打印查询结果下载查询结果修改登录密码统计学生成绩查询学生成绩录入学
19、生成绩修改登录密码打印查询结果下载查询结果用户人员管理添加/删除学生添加/删除老师添加/删除班级创建新的/删除管理员添加/删除老师所担任的科目93 数据库设计 3.1 数据库表的设计本系统将数据存储在六个表中,这六个表分别是:学生表(见 表 3-1):保存学生的基本信息,包括学生的姓名,登录系统时的密码,学生的学号,所在的班级以及一些备注信息。表 3-1 学生表字 段 名 称 中文解释 保 存 类 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是name 姓名 varchar 无 24 不能 否password 登录时密码 varchar 无 24 不能 否
20、student_id 学号 varchar 无 20 不能 否classes 班级 varchar 无 24 不能 否remark 备注 varchar 无 56 可以 否教师表(见 表 3-2):保存教师的基本信息,包括教师的姓名,登录系统时的密码,教师号,备注,其中备注默认为“0” ,当为“1”的时候教师可以录入和修改学生的成绩,为空或者是其他值的时候,录入功能将被锁定。表 3-2 教师表字 段 名 称 中文解释 保 存 类 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是name 姓名 varchar 无 24 不能 否password 登录时密码 v
21、archar 无 24 不能 否student_id 教师号 varchar 无 20 不能 否remark 备注 varchar “0” 56 可以 否班级表(见表 3-3):保存班机的基本信息,包括班级名称和备注。表 3-3 班级表字 段 名 称 中文解释 保 存 类 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是classes 班级名称 varchar 无 24 不能 否remark 备注 varchar 无 56 可以 否教师所担任课程的表(见 表 3-4):保存教师所教的课程信息。表 3-4 教师所担任课程的表字 段 名 称 中文解释 保 存 类
22、 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是subject 所教授的科目 varchar 无 24 不能 否classes 班级 varchar 无 24 不能 否student_id 教师号 varchar 无 20 不能 否remark 备注 varchar 无 56 可以 否10教务管理员表(见 表 3-5):保存管理员的基本信息。表 3-5 教务管理员表字 段 名 称 中文解释 保 存 类 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是name 登录名 varchar 无 24 不能 否password 登
23、录时密码 varchar 无 24 不能 否remark 备注 varchar 无 56 可以 否成绩表(见 表 3-6):主要保存关于学生成绩的一些信息,本系统主要是对该表的操作。表 3-6 成绩表字 段 名 称 中文解释 保 存 类 型 默 认 值 长度 可 否 为 空 主键id 主键自增 int 无 16 不能 是name 姓名 varchar 无 24 不能 否subject 科目 varchar 无 24 不能 否student_id 学号 varchar 无 20 不能 否classes 班级 varchar 无 24 不能 否property 考试性质 varchar 无 24
24、不能 否term 学期 varchar 无 24 不能 否teacher 该科目的教师 varchar 无 24 不能 否result 成绩 int 无 16 可以 否remark 备注 varchar 无 56 可以 否3.2 数据库所使用的技术本系统所使用的数据库是 MySQL 数据库,使用 Hibernate 开源框架对数据库进行操作。 Hibernate 对 JDBC 进行轻量级的封装,他给我们提供了许多对数据的操作方法,方便我们的编程,提高开发效率。Hibernate 使用的是 HQL查询语言,里面封装了许多数据库方言,根据 Hibernate 的配置文件来转换为相应数据库的 SQL
25、 语句。可以很方便的实现对数据库的移植,不需要修改代码,或只是需要修改少量代码就可以了。Hibernate 配置文件:hibernate.cfg.xml 内容如下:root11jdbc:mysql:/localhost:3306/ssmangeorg.hibernate.dialect.MySQLDialectmysqlDriver841118org.gjt.mm.mysql.Driver124 功能介绍启动服务器,在浏览器里输入相应的地址( 在本机上输入:http:/127.0.0.1:8080/StudentScoreManage/),进入系统主界面,也就是登录界面,如图 4-1 所示:图
26、 4-1 登录界面此界面使用了表格进行排版,使用了一组单选按钮来区分不同的角色,部分代码如下:角色:学生教师管理员用户名:密码: 登录重置13该登录模块,使用到了Struts+Hibernate技术,使用Struts的Actionform进行判断,看输入的各项是否为空,是否符合要求。Action进行登录验证处理,验证成功则跳转到相应的登录成功界面,否则给出相应的错误信息。4.1 学生功能在登录页面,选择学生角色,输入用户名也就是学号,输入登录密码,然后进入学生登录成功界面如图 4-2 所示(登录名 2004011110(吕先令同学) ):图 4-2 学生登录成功页面此界面上可以进行修改密码,查
27、询自己的某一科成绩,以及该科成绩的平均成绩,自己所在名次,最高成绩,最低成绩等,还可以按学期查询所选学期的所有成绩以及该学期的总成绩,平均成绩,修改自己的登录密码或是注销本次登录,退出该系统。实现查询功能的核心代码如下所示:/得到学生成绩信息list=os.getStudentSubject(student_id, Factory.codeToString(ssForm.getTerm2(),Factory.codeToString(ssForm.getSubject();/得到该学生在该科目中的名次Integer index=os.getIndex(student_id, 14Factory
28、.codeToString(ssForm.getSubject(),Factory.codeToString(ssForm.getTerm2();/该科目的平均成绩Double average=os.getAverage(Factory.codeToString(ssForm.getSubject(),Factory.codeToString(ssForm.getTerm2(),classes);/该科目的最高成绩Integer max=os.getSubjectMax(Factory.codeToString(ssForm.getSubject(),Factory.codeToString(
29、ssForm.getTerm2(),classes);/该科目的最低成绩Integer min=os.getSubjectMin(Factory.codeToString(ssForm.getSubject(),Factory.codeToString(ssForm.getTerm2(),classes);/查询某一学期的所有成绩list=os.findByIdTerm(student_id,Factory.codeToString(ssForm.getTerm1();4.2 教师功能在登录页面,选择教师角色,输入用户名也就是教师号,输入登录密码,然后登录。登录成功后将跳转到教师功能选择页面,
30、如图 4-5 所示(登录名:0001(李莉老师)):图 4-3 教师登录成功页面15教师有六种功能可选择分别是:查询学生的成绩,录入学生的成绩,修改更新成绩,统计成绩,修改密码和注销。在此界面上,使用了六个超链接,分别链接到不同的功能页面。(1) 查询学生成绩的功能,在该功能页面上教师可以查询以班级为单位的学生成绩,还可以查询出所有学生的成绩,也可以查询学生个人的成绩。并可以打印或是下载所查询到的成绩,例如查询所有学生的成绩,显示结果如图4-4 所示:图 4-4 查询所有成绩结果显示(2) 录入学生的成绩的功能,此功能受教务管理员的控制,一般只有在考试或补考之后,教务管理员才会把该权限赋予给教
31、师,在通常情况下该功能是被锁定的。考试过后教师不用在把成绩写在纸上报送教务处,只需要在有上网的条件下,直接就可以把成绩写到数据库中,学生可以在第一时间内查询到自己的成绩。这样教师不用在向教务处跑了,教务管理员也不用老是呆在办公室。(3)修改更新成绩的功能,该功能和成绩的录入一样也是受教务管理员控制。教师没有删除成绩的功能,当成绩输入后,若出现错误,只能通过修改更新成绩的功能来修改,此功能也是非常有用的。因为教师不能通过重复录入覆盖已经存在的错误成绩,也不能删除已经存在的错误成绩,若想修改错误的成绩,只能通过该功能来完成。(4)统计成绩的功能,此功能对老师非常实用,因为在考试过后,教师需要统计许
32、多的信息,若只靠手工来统计,不但速度较慢,而且还麻烦,并且还16容易出错。本系统就带有统计功能,教师可以统计自己所教授科目的平均成绩,不及格人数,及格人数,不及格率,及格率,优秀人数,优秀率,还可以统计某一分数段的人数,并且操作简单,只需要勾选您需要统计的项目即可。(5)修改密码功能和注销功能比较简单,这里就不在述说了。4.3 教务管理员功能在登录页面,选择管理员角色,输入用户名,输入登录密码,然后,点击登录按钮进行登录,登录成功后将跳转到教务管理员功能选择页面如图 4-5 所示(用户名:admin):图 4-5 教务管理员登录成功页面教务管理员有以下九种功能可选择:(1)查询学生成绩的功能
33、此功能同教师的功能一样,这里不再赘述。(2)录入学生成绩的功能 此功能同教师的基本一样,只是管理员的此功能没有被限制,其他都和教师的该功能一样,这里不再赘述。(3)修改更新成绩的功能 此功能同教师的基本一样,只是管理员的此功能没有被限制,其他都和教师的该功能一样,这里不再赘述。(4)添加/删除人员的功能,此功能对教务管理员来说非常重要,在该功能页面上,教务管理员可以添加或者是删除一个学生,添加或是删除一个教师,添加或是删除一个教师所教的科目,添加或是删除一个班级,添加或是删除一个管理员。注意:删除或是添加一个管理员的功能,只能是 admin 管理员有此功能,其余管理员则没有此功能。当进行破坏性
34、的删除操作时,系统会有相应17的提示,以免出现误操作。该功能的具体界面如图 4-6 所示:图 4-6 添加/删除人员页面(5)修改更新人员的功能 您若想修改更新已经存在的人员,此功能将非常有用,并且操作也比较简单。(6) 统计成绩 此功能和教师的该功能完全一样,这里不再赘述。(7)解除/锁定教师录入成绩权限的功能 为了保证数据的安全和一致,对不同的用户给予不同的权限是很好的办法。考试过后,管理员可以把录入成绩的功能赋予给教师,当成绩录入结束后,管理员应立即把该功能给琐定,可以一次解除或是锁定一个教师的权限,也可以一次解除或是锁定所有教师录入成绩的权限,选择相应的单选按钮即可。(8)修改密码和注
35、销功能比较简单,这里就不再述说了。185 系统测试5.1 测试目的测试是为了发现程序中的错误而执行程序的过程,测试的目的就是在软件投入生产运行之前,尽可能的发现软件中的错误。成功的测试是发现了至今为止尚未发现的错误的测试。5.2 测试环境的搭建(1) 系统要求数据库使用MySQL5.0版本。数据库编码要求要支持中文,推荐使用gb2312编码。数据库安装好后,建立一个名为ssmange的数据库,创建脚本为:create database ssmange;然后依次创建学生表,教师表,班级表,教师所担任课程的表,管理员表,成绩表。创建的脚本依次为:create table student(id in
36、t primary key not null auto_increment,name varchar(24) not null,password varchar(24) not null,student_id varchar(12) unique not null,classes varchar(24) not null,remark varchar(56);create table teacher(id int not null primary key auto_increment,name varchar(24) not null,password varchar(24) not null
37、,teacher_id varchar(12) unique not null,remark varchar(56);create table classess(id int not null primary key auto_increment,classes varchar(24) unique not null,remark varchar(56);19create table teacher_subject(id int not null primary key auto_increment,teacher_id varchar(12)not null,subject varchar(
38、24) not null,classes varchar(24) not null,remark varchar(56);create table manage(id int not null primary key auto_increment,name varchar(24) unique not null,password varchar(24) not null,remark varchar(56);create table score(id int not null primary key auto_increment,name varchar(24) not null,classe
39、s varchar(24) not null,sutdent_id varchar(12) not null,subject varchar(24) not null,property varchar(24) not null,term varchar(24) not null,teacher varchar(24) not null,result int,remark varchar(56);(2) 运行环境jdk 5.0 及以上的版本,并设置好相应的环境变量。(3) JDK的安装成功与否可采用以下方法测试在cmd下输入:java -version 看输出情况,在我的电脑上输出如图4-1:图
40、4-1 测试JDK20如果出现与图4-1相似的界面,就说明JDK安装成功并配置好了环境变量。(4)服务器的安装,本系统使用的服务器是 Apache 的 Tomcat,版本是5.5,按提示安装好后,设定其 TOMCAT_HOME 的路径。一切准备好之后,启动服务器,在浏览器地址栏里面输入:http:/localhost:8080/ 。若出现如图 4-2所示界面就说明服务器安装成功。图 4-2 Tomcat 控制台界面注意:tomcat5.5 版本要求 JDK 的版本一定要在 1.5 以上 ,否则将会出现错误。5.3 测试方法为了提高测试效率,降低测试成本,本测试方案采用黑盒法设计基本的测试方案,
41、再用白盒法补充一些方案。在黑盒法测试方案中,采用等价划分技术,把所有可能的数据划分成几个等价类。5.4 测试项目(1)登录测试(2)数据输入和输出测试(3)权限测试(4)学生功能测试(5)教师功能测试(6)教务管理员的功能测试5.5 测试结果21各模块的测试结果如下:(1) 登录测试中,没有发现什么错误。(2) 输入和输出测试中,对所有相同的输入都可以得出相同的输出。(3) 权限测试过程中,发现教师录入成绩权限存在问题。(4) 学生功能测试中,发现下载成绩存在问题。(5) 教师功能测试中,所有功能都正常。(6) 教务管理员测试中,发现在级联下拉列表不能正常显示,异步访问服务器可能存在问题。22
42、参考文献1 陈天河等.Struts,Hibernate,Spring 集成开发宝典M.北京:电子工业出版社,20072 李君芳,赵艳杰.电脑知识与技术J,2007(9)3 马朝晖等.Java 教程.(第 4 版)M.北京:人民邮电出版社.20064 岳阳,王杰,孙红梅.MySQL5 管理员标准指南及语言参考(第二版)M.北京:电子工业出版社,20055 吴明晖,吴超.Struts+Hibernate 开发 Web 应用从基础到实践M.北京:人民邮电出版社,20076 付京周.精通 Hibernate3.0Java 数据库持久层开发实践M.北京:人民邮电出版,20077 王珊,萨师煊.数据库系统
43、概论(第四版)M.北京:高等教育出版社,20068 张白一,崔尚森.面向对象程序设计JavaM.西安:电子科技大学出版社,20049 叶齐炼,申华. 学校教务工作实用手册M. 北京:开明出版社,200210 袁世鹰.微机教务管理系统的设计与实现P.北京:开明出版社,200111 高宇翔.java 电子杂志第二期J.J2SE 5.0 专题之语言特性,200512 王毅. Internet 与 JavaJ. 电子与电脑,1997(3)13 张光业. Java 与 JavascriptJ. 微电脑世界,1996(5)14 Keys Botzum,Albert Wong.IBM 开发人员技术期刊第三期
44、J,200715 谷庆华等.基于 java 语言实现数据库访问J.计算机技术与发展,2008全文总结经过将近一个多月的努力,这套学生信息管理系统的构思、设计、上机运行调试已圆满结束。在此期间,我查阅了许多资料,也得到了老师、同学的大力支持与帮助,我诚心的感谢他们!刚开始设计这套系统时遇到了好多难题。最主要的是不知从何入手,在指导老师的帮助下我对设计有了一个大概的了解。可是在具体编程时又遇到了不2少的难题,有时一个很简单的内容不知为何就是不能运行,如果它得不到解决,后面的工作也无法进行。有时一天才解决一个小问题,效率很慢,真的有些想放弃了。可是经过老师、同学的帮助及自己的努力,在问题解决时,那种
45、胜利的喜悦又是无法用言语来形容的。也就是在这种不断出现问题的灰心和不断解决问题的喜悦中,这套学生信息管理系统终于问世了。通过这个系统的制作,我体会到了 ASP 的优点,学以致用,是学习的目的,也是学习的最好方法。它使我对面向用户有了更新的认识,使我懂得得了只有越为用户着想,才会越受欢迎。也告诉我以后做事一定要系统化、结构化、思维一定要严密。因为任何计划,只有严密的思考加上反复的推敲才会更完善。在本次系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间比较仓促。因此,该系统必然存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时
46、未能做到完全满足用户的需要。在学生信息资料的全面性问题上可能也存在着一定的不足,不过一步一步了解下去,是可以做到越来越完善的。最后,我再次感谢帮助过我的人,尤其是我的老师,是他使我走入了 ASP的大门。这次设计只是一个开始,今后的路还有很长,我会加倍努力,争取设计出更多、更好、更实用的软件为大家提供服务。希望这套学生信息管理系统能真正发挥它的作用,为用户带来方便!3参考文献1 R. J. T. Morris,B. J. Truskowski. The evolution of storage systems. IBM Systems Journal, 2003, 42(2): 2052172
47、P. Yianilos and S. Sobti. The evolving field of distributed storage. IEEE Internet Computing, 2001, 5(5): 35393 J. Gray and P. Shenoy. Rules of thumb in data engineering. In Proceedings of the IEEE International Conference on Data Engineering, San Diego, CA, 2000, 3124 D. A. Patterson, G. A. Gibson,
48、 R. H. Katz. A case for redundant arrays of inexpensive disks (RAID). In Proceedings of the International Conference on Management of Data (SIGMOD), 1988. 1091165 A. Azagury, V. Dreizin, M. Factor, E. Henis, D. Naor, N. Rinetzky, O. Rodeh, J. Satran, A. Tavory, and L. Yerushalmi. Towards an Object S
49、tore. In the 20th IEEE Symposium on Mass Storage Systems, 2003. 1651756 G. A. Gibson, D. F. Nagle, K. Amiri, et al. File server scaling with network-attached secure disks. In Proceedings of the 1997 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. New York: ACM Press, 1997. 2722847 Garth A. Gibson, David F. Nagle, et al. A Cost-Effective, High-Bandwidth Storage Architecture. In Proceedings of the 8th Conference on Architectural Support for