课程设计Ⅲ课程设计学生信息管理系统.doc
课程设计III设计说明书学生信息管理系统学生姓名学号班级网络081成绩指导教师计算机科学与技术系2010年12月31日 课程设计 课程设计评阅书题目学生信息管理系统学生姓名学号指导教师评语及成绩指导教师签名: 年 月 日答辩评语及成绩答辩教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日课程设计任务书20102011学年第一学期专业: 计算机科学与技术 学号: 0818064034 姓名: 夏岳涛 课程设计名称: 课程设计III 设计题目: 学生成绩管理系统 完成期限:自 2010年 12 月 20 日至 2011 年 1 月 2 日共 2 周设计依据、要求及主要内容(可另加附页):指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘 要本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。关键词:成绩管理信息系统,数据库,SQL SERVER 目 录 一 课设背景及可行性分析7 1.1 系统的开发背景7 1.2 现有系统存在问题的分析8 1.3 系统开发的必要性8 1.4 系统开发目标与意义9 1.4.1 系统开发目标9 1.4.2 意义10 1.5可行性分析10 1.5.1 经济上可行性:10 1.5.2 技术上可行性:11 1.5.3 操作可行性:111.6 运行环境要求111.7系统设计原则12 二 需求分析132.1 数据流程图142.2 数据字典142.3系统结构模块图162.4 通用功能操作24三 数据库设计32 3.1 数据库概念结构设计33 3.2数据库逻辑结构设计35 3.3数据库物理结构设计35四 系统的具体实现434.1 数据库的连接434.2 系统的登录页面444.3 学生信息管理45五 系统测试和总结495.1 测试准备495.2 测试的目标505.3 测试方法505.4 功能测试505.5界面测试515.6测试技术515.7系统开发的总结52六 结束语53实现代码56参考文献69一、课设背景及可行性分析1.1 系统的开发背景当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。1.2 现有系统存在问题的分析在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极易出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快、准、精,才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。1.3 系统开发的必要性在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。1.4 系统开发目标本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。1.5可行性分析 可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。考虑到系统开发时间、资源等因素,在实际开发该计算机系统时,常常要为资源不足和交付日期难以完成而苦恼,因而需要慎重地尽可能早地估价研制课题的可行性。可行性研究包括:经济可行性、技术可行性、操作可行性、不同的方案等等。1.5.1 经济上可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。1.5.2 技术上可行性本系统的开发利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用eclipset作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。1.5.3 操作可行性本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充,因此,本系统在操作上是可行的。1.6 运行环境要求 为了保证成绩管理系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等服务器端:Windows 2003/Windows2000,Internet Information Server(IIS)6.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。数据库:采用SQL Server 2000,运行于服务器端。硬件环境:服务器端:处理器:Intel PentiumIII 以上 内存:推荐512或更高客户机:处理器:Intel PentiumIII 以上 内存:256M以上推荐5121.7系统设计原则 1. 实用性原则:确保系统具有良好的系统性能,友好的用户界面,较高的处理效率,便于使用和维护,并采用成熟的技术。2. 先进性原则:尽量采用先进而且成熟的技术,使系统具有较高的技术水和较长的生命周期3. 开放性、安全性、可靠性及可扩展性原则。4. 兼容性原则:对于所选硬件系统及平台,能很好地适应开发和使用的需要。5. 规范性原则:软件设计过程严格按照“软件工程”的规定,系统编码,文档,操作系统平台以及所采用的开发方法按照相应的国际标准和国家标准。第二章 需求分析2.1 数据流程图图2.1 系统流程图 图2.2系统操作流程图2.2数据字典数据结构名称:学生描述:用户的基本信息表定义:用户=学号+姓名+密码+性别+年龄+专业名+院系名+班级用户名=10英文字母、数字、特殊符号30姓名=10英文字母、数字、文字50名称:教师描述:学校教师注册基本信息表定义:教师表=教师号+姓名+密码教师号=5数字5姓名=2文字.4名称:专业描述:学生所学专业的基本信息表定义:专业表=专业号+专业名+系编号专业号=11 数字 11专业名=4 文字 10名称:课程描述:学生所学课程的基本信息表定义:课程=课程号+课程名+学时课程号=3数字3名称=4文字10名称:班级描述:学生所在班级的基本信息表定义:班级=班级编号+班级名+专业编号班级编号=4数字4名称=4文字、数字10名称:院系描述:学生所在的院系的基本信息定义:院系=院系编号+院系名院系编号=4数字4名称=4文字10系统数据字典学生信息管理系统数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚在我们定义的学生信息管理的数据字典中,主要对数据流程图中的数据流程图中的数据流、数据存储和处理过程进行说明。主要数据流的定义数据流名称:学生情况位置:学生P2定义:学生情况=学号+姓名+性别+密码+年龄+院系名+专业名+班级数据流量:平均流量为每年传输10000次,高峰期流量每天传输1000次。说明:根据学生情况建立学生记录数据流名称:管理员情况位置:管理员P1, P2,P3,P4,P5,P6定义:管理员=用户名+密码数据流量:平均每年传输100次,高峰流量每天传输10次。说明:通过管理员的用户名和密码鉴别用户身份。数据流名称:教师情况位置:教师P1.1,P1.2,P2.1,P2.2,P3.1,P3.2定义:教师情况=教师号+姓名+密码数据流量:平均流量为每天传输90次,高峰流天传输20次。说明:根据教师的情况建立教师的基本信息。数据流名称:班级情况位置:班级P4 定义:班级情况=班级编号+班级名+专业编号数据流量:平均流量为每天传输100次,高峰期为每天传输18次。说明:根据班级的情况建立班级的基本信息。数据流名称:专业情况位置:专业P5定义:专业情况=专业号+专业名+系编号数据流量:平均为每天传输250次,高峰期为每天传输25次。说明:根据专业的具体情况建立专业的基本信息。数据流名称:院系位置:院系P6定义:院系情况=院系号+院系名数据流量:平均为每天传输50次,高峰期为每天传输5次。说明:根据院系的具体情况建立院系的基本信息。数据流名称:班级情况位置:课程P1.1,P1.2定义:课程情况=课程号+课程名+学时数据流量:平均为每天传输10次,高峰期为每天传输6次。说明:根据班级的具体情况建立班级的基本信息。数据流名称:管理请求位置:教师P1.1,P1.2,P2.1,P2.2定义:管理请求=课程信息+学生信息数据流量:平均流量为每天传输500次,每天20次。说明:确认学生信息、课程信息。、数据流名称:查询请求位置:教师P3.1,P3.2定义:查询请求=修课信息+成绩信息数据流量:平均为每天传输1000次,高峰期为每天传输20次。说明:确认查询和修改课程的信息及成绩信息。数据流名称:课程信息位置:P1P1.2定义:学生信息=学号+课程号数据流量:平均为每天传输1000次,高峰期为每天传输20次。说明:修课时需要输入学号和课程号,以确定学生和课程。2.3 系统模块结构图图2.3 系统模块结构图图2-3系统登录业务流程图2.3 数据流分析本学生成绩管理系统的数据流程:首先管理员在开课之前,设定学校的各阶段学生要学习的课程(添加课程模块),输入正确后添加到"课程信息表"即后台数据库中的课程表表,同时添加在校教师员工的基本信息(教师信息添加模块),输入正确后添加到"教师信息表"即后台数据库中的教师表。开学注册后,管理员对新生的基本信息进行输入添加(学生信息添加模块),在输入正确后,数据即可添加到后台的"学生信息表"即数据库中的学生表中;同时安排教师授课和学生选课考试的工作,输入信息后添加(课程安排模块),判断是否已经存在选课考试和授课的记录,如果不存在,输入正确后添加到"成绩信息表"即数据库中的学生修课表,默认成绩信息表中字段名(分数)的值为空,表示该学生还没参加考试,各科教师在学生考完试后登录系统查看自己授课的科目并录入已完成考试的学生的科目成绩。学生登录系统后查看自己选修科目的成绩,如果科目分数为空,说明还没参加该科目的考试。2.4.通用功能操作(1)登录与注销 每个用户都可以用自己的账号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。(2)修改密码 每个用户第一次登录都用系统管理员设置的默认密码,登录后可以修改自己的密码。三、数据库设计数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有页面中通过JSP与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多,如Microsoft SQL Server 2000等。本系统中数据库采用Microsoft SQL Server 2000作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。3.1 数据库概念结构设计图3.1 系统总实体联系图图3。2管理员ER图图3。3教师ER图3.2数据库逻辑结构设计学生成绩管理系统关系模式:符合3NF的关系模式:院系(院系编号,院系名)专业(专业编号,专业名,院系编号)班级(班级编号,班级名,专业编号)学生(学号,密码,姓名,性别,年龄,班级编号)课程(课程号,课程名,学时) 教师(教师号,密码,姓名) 学生修课(学号,课程号,成绩) 管理员(账号,密码,姓名)3.3数据库物理结构设计本系统采用Microsoft公司的SQL Sever2000数据库管理系统。在统一的数据库学生成绩管理数据库下面建立数据表。首先下图描述的是整体数据库系统的基本逻辑构架 图3-3 数据库模式构架图系统数据库中包含以下8个表:院系,专业,班级,学生,教师,课程,学生修课,管理员等。(学生表):用于保存学生的学号,密码,姓名,性别,所在班级,等信息.(管理员表):用于保存系统管理员用户的用户名,密码备注等信息(学生修课表):用于保存学生成绩信息,包括学号,课程号,分数等字段.(教师信息表):用于保存教师的教师编号,姓名,性别,密码等信息.(课程信息表):用户保存课程信息,包括课程名,课程号,学分等信息.(院系表):用于保存院系信息,包括院系编号,院系名等信息.(专业表):用于保存专业信息,包括专业编号,专业名等信息.(班级表):用于保存班级信息,包括班级编号,班级名等信息.表3.1 院系表表3.2专业表表3.3 班级表表3.4 学生表表3.5 课程表表3.6 学生修课表表3.7 教师表表3.8 管理员表备注: 数据库和表的创建都采用T-sql语句,并在表中用T-sql分别录入一条记录了,其余记录用企业管理器录入,T-sql语句如下:CREATE DATABASE 学生信息管理系统 ON PRIMARY (NAME = 学生信息管理系统,FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQLData学生信息管理系统.MDF',SIZE = 4MB,MAXSIZE = 10MB,FILEGROWTH = 2MB)CREATE TABLE 院系(院系编号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,院系名 CHAR(10) NOT NULL)CREATE TABLE 专业(专业编号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,专业名 CHAR(10) NOT NULL,院系编号 CHAR(8)CREATE TABLE 班级(班级编号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,班级名 CHAR(10),专业编号 CHAR(8)CREATE TABLE 学生(学号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,密码 CHAR(16)DEFAULT '123456' NOT NULL,姓名 CHAR(8),性别 CHAR(2) DEFAULT '男' CHECK(性别 IN('男','女'),年龄 SMALLINT,班级编号 CHAR(8)CREATE TABLE 课程(课程号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,课程名 CHAR(10),学识 SMALLINT)CREATE TABLE 教师(教师号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,密码 CHAR(16)DEFAULT '123456',姓名 CHAR(8)CREATE TABLE 学生修课(学号 CHAR(8) NOT NULL,课程号 CHAR(8) NOT NULL,成绩 SMALLINT,CONSTRAINT C1 CHECK (成绩 BETWEEN 0 AND 100),CONSTRAINT C2 PRIMARY KEY(学号,课程号),CONSTRAINT C3 FOREIGN KEY(学号) REFERENCES 学生(学号),CONSTRAINT C4 FOREIGN KEY(课程号) REFERENCES 课程(课程号)CREATE TABLE 管理员(账号 CHAR(8) PRIMARY KEY CLUSTERED NOT NULL,密码 CHAR(16)DEFAULT '123456' NOT NULL,姓名 CHAR(8) NOT NULL)数据记录表表3.9 院系记录表表3.10 专业记录表表3.11 班级记录表表3.12 学生记录表表3.13 课程记录表表3.14 教师记录表表3.15 学生修课表3.16 管理员记录表四、 系统的具体实现4.1 数据库的连接在整个学生成绩管理系统中,数据库的打开在系统中是很重要的,使用java连接数据库,语句如下:public void conDB() try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) try con = DriverManager.getConnection("jdbc:odbc:StuSys","",""); st = con.createStatement(); catch(SQLException e) JOptionPane.showMessageDialog(null,"数据库连接失败"); 4.2 系统的登录页面用户输入用户名,输入密码登陆。当管理员登陆,而且在数据库中存在此用户,则在你成功登录到系统中后,可以实现对用户信息管理、学生信息管理、教师信息管理、成绩课程信息管理等操作,用户信息管理了包括添加其他用户,当你输入的新用户名在数据库中已经存在,则要求你重新输入新的用户名,同时,管理员本身还可以对自己的登录时的密码进行修改,在你修改成功后,系统会弹出修改成功,你要记住自己的新密码,在你下次登录时,则输入的密码就是你修改后的密码,否则,你就无法进入系统;当你选择了教师或学生类型用户,而且你输入的用户存在,且输入的密码正确,则当你进入到系统中就可以对各项基本信息进行查询,同时还可以对你自己的登录时的密码进行修改,此功能与管理员修改密码一样,在下次登录时输入的密码就是修改后的密码.图4.1 登陆页面4.3 学生信息管理查找模块代码:if(e.getSource()=subMenu20|e.getSource()=toolBarButton0) String idid = JOptionPane.showInputDialog("请输入要查找的学生学号"); if(idid.trim()!="") String strSQL = "select * from student where id ='" + idid + "'" try /rs = st.executeQuery("select * from student where id ='2004010123'"); rs = st.executeQuery(strSQL); int count = 0; while(rs.next() id = rs.getString("id"); name = rs.getString("name"); department = rs.getString("department"); sex = rs.getString("sex");/ birthday = rs.getString("birthday"); +count; 图4.3.1 查找功能的实现图4.3.2 查询结果添加模块的实现模块代码:String strSQL ="insert into student(id,name,sex,birthday,department) values('" + id + "','" + name + "','" + sex +" ','"/* + birthday +*/ + department + "')" try st.executeUpdate(strSQL); catch(Exception exx)JOptionPane.showMessageDialog(null,"数据库中已经存在您要添加的学生的学号!"); idT.setText(""); nameT.setText(""); sexT.setText(""); /birthdayT.setText(""); departmentT.setText(""); return; JOptionPane.showMessageDialog(null,"恭喜您,添加成功了!"); 图4.3.3 添加功能的实现图4.3.4 添加成功修改模块的实现修改模块部分代码:String strSQL ="update student set name='"+name+"',sex='"+sex+"',department='"+department+"'"+"where id='"+id+"'"/birthday='"+birthday+"' tryst.executeUpdate(strSQL); catch(Exception exx) JOptionPane.showMessageDialog(null,"数据库中已经存在您要修改的学生记录!"); idT.setText(""); nameT.setText(""); sexT.setText(""); /birthdayT.setText(""); departmentT.setText(""); return; JOptionPane.showMessageDialog(null,"恭喜您,修改成功了!");图4.3.7 信息修改的实现图4.3.8 信息修改成功第五章 系统测试与总结系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行5.1 测试准备1. 在测试前,将详细设计书和程序进行手工debug,尽早掌握测试的结果。2. 测试时,必须以"bug是一定存在的"心态进行。3. 编程阶段必须注意的,从编程一开始,"bug是不允许的"作为编程的信念尽量利用已有的程序或者是模块进行模块化编程。4. 对每一个测试情形,测试结果必须事先想象出来。(1) 编程时已经考虑的情形,不能有错误发生。(2) 编程时没有考虑的情形,要作相应的测试数据进行测试。5. 程序的bug的发生,通常是程序员或者用户认为不会发生的情况下发生的 6. 很多的bug往往发生在对测试结果没有进行仔细完全的检查的基础之上。7. bug的特性,发现bug越多的程序,潜在的bug也就越多。8. 如果存在一个bug,别的bug存在的可能性时很高的。(1) 不能只看到bug的表面现象,必须找到产生bug的原因。(2) bug修改时,产生新的bug的可能性时非常高的。(3) bug修改后,必须仔细检查和测试,保证新的代码时正确有效的。5.2 测试的目标1测试是一个为了发现错误而执行程序的过程。2一个好的测试用例是揭示了迄今尚未发现错误的测试。3一个成功的测试是揭示了迄今为止尚未发现的错误的测试。进行软件工程研究的先辈们已经帮我们统计出Praetor原则,那就是说测试发现的错误的80%往往由程序模块中的20%产生,所以我在测试时往往比较侧重出现错误比较多的模块。当然这并不是说其他模块的测试不重要,而是说这样做的效率会比较高而且比较有针对性。5.3. 测试方法1. 链接测试:测试所有链接是否按指示的那样确实链接到了应该链接的页面;测试所链接的页面是否存在;保证成绩管理系统没有孤立的页面。所谓孤立页面是指没有链接指向该页面,只有知道正确的URL 地址才能访问,链接测试可以手动进行,也可以自动进行。链接测试必须在集成测试阶段完成,也就是说,在整个成绩管理系统的所有页面开发完成之后进行链接测试。2. 表单测试:表单提交应当模拟用户提交,验证是否完成功能,如添加用户,要确保提交按钮能正常工作,当添加完成后应返回添加成功的消息。要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试 工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。3.数据校验:根据业务规则,需要对用户输入进行校验,则要保证这些校验功能正常工作。 例如:地址的字段可以用一个有效列表进行校验。需要验证列表完整性;程序是否正确调用了该列表;列表操作是否正确,如在列表中添加一个测试值。数据校验测试和表单测试可能会有一些重复。5.4 性能测试1压力测试:压力测试目的是要弄清楚被测试的系统是不是不仅能做我们认为它能做的事,而且在被施加了某些高强度压力的情况下仍然继续正常运行。(1)重复(Repetition):测试的重复就是一遍又一遍地执行某个操作或功能。比如重复调用系统功能模块中的某一个操作,确定操作能否正常执行,并且能否继续在每次执行时都正常。(2)并发(Concurrency):并发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个服务器上同时调用许多系统功能服务。(3)随机变化:任何压力系统都多多少少具有一些随机性。随机使用前面的压力原则中介绍的无数变化形式,就能够在每次测试运行时应用许多不同的代码路径。2负载测试:负载测试是为了测量系统在某一负载级别上的性能,以保证系统在需求范围内能正常工作。如系统最多能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?系统能否处理大量用户同时对同一个页面的请求?5.5 界面测试界面测试:是对整个成绩管理系统的页面结构设计的测试,是用户对系统的一个整体感受。页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)。当用户浏览系统时,应考虑是否感到舒适?是否凭直觉就知道要找的信息在什么地方?整个成绩管理系统的设计风格是否一致?5.6 测试技术1白盒测试技术(White Box Testing) 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。2黑盒测试技术(Black Box Testing)黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:正确性 (Correctness)、可用性 (Usability)、边界条件(Boundary Condition)、性能 (Performance) 5.7 系统开发的总结系统开发的难点1建立合理的表结构,避免数据冗余:各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。2建立相当的系统安全性:登录用户身份的验证机制的设计、操作页面的权限保护。3建立严密的数据表操作机制:同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。系统开发的不足本系统界面简单,方便实用,容易上手,具备管理学生成绩的基本功能。但系统还不太完善,功能不是很强大,有些如打印的功能还不能实现。另外界面也不是太美观,显得有点粗糙。总的说来,本系统还不成熟,在某些细节方面可能还没有考虑到。若以后去完善该软件的话,则应该尽量实现更多更好的功能,提高自动化水平改善系统的安全性问题、界面风格。第七章 结束语这次我们小组做的课题是学生信息管理系统,使用java+SQL Server 2000技术实现。因为在做设计之前我就学习过JAVA和SQL Server 2000相关知识,所以上手比较容