基于jsp学生信息管理系统开发与测试含源文件.docx
- 文档编号:26752216
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:20
- 大小:1.03MB
基于jsp学生信息管理系统开发与测试含源文件.docx
《基于jsp学生信息管理系统开发与测试含源文件.docx》由会员分享,可在线阅读,更多相关《基于jsp学生信息管理系统开发与测试含源文件.docx(20页珍藏版)》请在冰豆网上搜索。
基于jsp学生信息管理系统开发与测试含源文件
武汉理工大学华夏学院
课程设计报告书
课程名称:
软件测试综合设计
题目:
基于jsp的学生信息管理系统的开发与测试
系名:
信息工程系
专业班级:
软件工程1121
姓名:
学号:
指导教师:
钱小红
2015年9月9日
课程设计任务书
学生姓名:
王定宏专业班级:
软件1121
指导教师:
钱小红工作单位:
信息工程系
设计题目:
基于jsp的学生信息管理系统的开发与测试
初始条件:
要求有编程基础、数据库基础、界面设计基础、软件测试理论基础
要求完成的主要任务
主要任务:
选用一种自己熟悉的语言开发一个小型管理系统,要求系统必须实现用户登录模块、主要功能的增、删、改、查。
实现后给出测试计划、至少给出两个主要模块的测试用例设计说明书,要求按照设计的测试用例进行测试,并给出测试总结报告。
提示:
各类文档的格式要按照IEEE标准测试文档模板来写。
IEEE标准测试文档模板可以参阅人民邮电出版社佟伟光主编的教材《软件测试》
设计报告撰写格式要求:
1设计题目与要求
2设计思想
3系统结构
4数据结构的说明和模块的算法流程图
5使用说明书(即用户手册)、运行结果、关键界面截图
6测试计划说明书、测试用例规格说明、测试总结报告
7自我评价与总结
8附录:
程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释;
课程设计的步骤及时间进度、场地安排
本课程设计将安排在第一、二周,教育技术中心211。
时间进度具体安排如下:
11月9日:
下发任务、找资料;
11月10日:
完成系统的分析和设计工作;
11月11日~11月18日:
完成系统开发及测试工作;
11月19日~11月20日:
报告的写作及答辩验收,并将以上工作整理成为课程设计报告,于11月20日下午前提交课程设计报告。
时间、场地具体安排见下面表格:
9号上午
9号下午
10号上午
10号下午
11号上午
11号下午
12号上午
12号下午
13号上午
13号下午
16号上午
16号下午
17号上午
17号下午
18号上午
18号下午
19号上午
20号上午
现教
自习
现教
自习
自习
现教
现教
自习
现教
自习
现教
自习
现教
自习
现教
自习
现教
现教
设计报告撰写格式要求
要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。
设计报告正文字数不少于0.2万字(不包括附录)。
第1级(章)题序和题名用黑体三号字;第2级(目)题序和题名用黑体小四号字;第3级(条)题序和题名用黑体小四号字;正文内容用宋体五号字(英文用新罗马体),多倍行距1.25。
报告内容一律使用A4打印纸计算机打印,页码在页下居中标明。
必须使用国家公布的规范字。
页面设置:
上空2.5cm,下空2.0cm,左空2.5cm,右空2.0cm(左装订)。
插图图面要整齐、美观,插图应与正文呼应,不能脱节。
每幅插图应有图序与图题,图序编号要连续,图序与图题间空一格且要放在插图下方居中处。
课程设计考核及评分标准
课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。
总分按五级记分法记载最后成绩:
优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分)
指导教师签字:
钱小红2015年9月11日
系主任签字:
邱珊2015年9月11日
1设计目的
本系统是针对学生信息管理进行设计的。
主要采用的开发工具是Myeclipse10和oracle数据库。
在开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。
本系统所要完成以下几个主要功能,其中有学生基本信息管理,实现对学生基本信息进行录入、修改、删除等操作。
2开发环境和开发技术
2.1开发环境:
Myeclipse10、oracle11g、tomcat
2.2开发技术:
本系统采用的是Myeclipse作为前台开发工具,oracle作为后台数据库。
学生信息管理系统以java、html的语言作为前台的开发环境,服务器选用tomcat,后台数据库选用oracle数据库,实现了注册,登录,学生管理等。
采用了jsp的相关知识,例如:
动态网页基础知识、JSP基础、JSP指令和脚本元素、JDBC、JSP处理客户端请求、会话和访问控制等。
3需求分析
运用JavaWebMVC多层架构技术(JSP+Servlet+JavaBean)和JDBC数据访问技术设计和开发一个学生信息管理系统,实现注册、登录以及学生信息的浏览、查询、添加、更新、删除等基本功能。
具体要求如下:
(1)界面简单实用,美观大方。
要求使用CSS+DIV进行页面布局和样式控制。
具体要求如下:
a.系统首先进入欢迎页面。
在欢迎页面中,要有系统名称,学生姓名,学号和班级。
从欢迎页面点击链接进行登陆界面。
b.进入登陆界面后的流程自行设计。
(2)所采用的数据库管理系统课自行决定。
(3)系统必须实现注册、登录和信息的查询、添加、修改和删除等基本功能。
(4)信息查询必须实现分页功能。
4总体设计
4.1系统功能
本系统主要完成对学信息的管理:
添加、修改、删除、查询等方面,系统可以完成对信息的浏览、查询、添加、删除、修改等功能。
根据需求分析的结果,将学生信息管理系统分为:
注册信息、登录信息、增删信息等几个模块,在此基础上建立各自所需要的数据表,构成整个系统的基本框架。
该数据库具有数据维护、查询、输出等功能。
具体如下:
(1)学生查询功能:
将所有信息输出并按学号排列。
(2)添加功能:
添加学生信息并录入数据库中。
(3)修改功能:
可以对数据库中的信息进行修改。
(4)删除功能:
可以对数据库中信息进行删除操作。
4.2系统体系结构设计
4.3数据库分析设计
得出数据表的各个关系模式后,需要给出是各数据表结构。
考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。
同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。
4.3.1实体属性定义
用户信息(姓名,密码,性别,邮箱,基本信息)
user_namenvarchar2(15),
user_passwordnvarchar2(15),
user_sexchar
(2),
user_emailvarchar2(50),
user_basicinfovarchar2(50)
4.3.2数据库逻辑结构设计
用户信息表
createtableUser_Table(
user_namenvarchar2(15)primarykey,
user_passwordnvarchar2(15),
user_sexchar
(2),
user_emailvarchar2(50),
user_basicinfovarchar2(50)
);
学生信息表
createtableStudent_Table(
student_idnumber(6)primarykey,
student_namevarchar2(18),
student_sexchar
(2),
student_birthdayvarchar2(10),
student_deptvarchar2(18),
student_majorvarchar2(18),
student_classidvarchar2(10)
);
记录修改内容表
createtablerecord(
contentvaechar2(50),
rtimetimestamp
);
触发器设计(记录修改数据修改之前的内容)
createtriggerupdate_Student_Table_trigger
afterupdate
onStudent_Table
foreachrow
begin
insertintorecordvalues
('执行了update操作。
执行该操作前的数据为:
student_id='||:
OLD.student_id||',student_name='||:
OLD.student_name||',student_sex='||:
OLD.student_sex
||',student_birthday='||:
OLD.student_birthday||',student_dept='||:
OLD.student_dept||',student_major='||:
OLD.student_major||',student_classid='||:
OLD.student_classid,
sysdate
);
endupdate_Student_Table_trigger;
/
通过学号查询姓名(函数)
createfunctionget_sname(sidnumber)
returnvarchar2as
snameStudent_Table.student_name%type;
begin
selectstudent_nameintosnamefromStudent_Tablewherestudent_id=sid;
returnsname;
endget_sname;
/
4.4系统结构E-R图
5详细设计与实现
5.1数据库的建立和连接
conn/assysdba
//创建表空间(表名:
studentinfo):
createtablespacestudentinfo
datafile'f:
\studentinfo'size100m
autoextendonnext5mmaxsizeunlimited;
//创建用户(用户名:
zhangsan;密码:
123456):
createuserzhangsanidentifiedby123456
defaulttablespacestudentinfo
temporarytablespacetemp
quota20monstudentinfo;
//为用户授予DBA权限
grantDBAtouser3;
//让用户连接数据库
connzhangsan/123456;
5.2页面的设计
5.2.1欢迎界面
用户进入首先看到的界面,点击跳转到登陆界面。
5.2.2登陆界面
用户输入用户名和密码进行登陆的界面,通过zhangsan/123456连接oracle数据库并判断用户名密码是否在数据库内。
部分代码如下:
Connectioncon=null;
finalStringdriverClass="oracle.jdbc.OracleDriver";
finalStringconnStr="jdbc:
oracle:
thin:
@//localhost:
1521/orcl";
try{
Class.forName(driverClass);
System.out.println("数据库驱动程序加载成功!
");
con=DriverManager.getConnection(connStr,"zhangsan","123456");
System.out.println("数据库连接成功!
");
5.2.3新用户注册界面
注册新用户的界面,注册时要判断用户名密码是否符合要求以及其他信息是否符合设定的格式。
邮箱验证代码如下:
functioncheckEmail(){
varemail=document.register.userEmail.value;
varreg2=/\w+([-+.']\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*/;
if(reg2.test(email)){
flag4=true;
document.getElementById("errEmail").style.display="none";
}
else{
flag4=false;
document.getElementById("errEmail").style.display="block";
}
}
5.2.4主页面
显示学生信息的界面。
要求有更新删除信息功能和添加信息功能。
更新代码如下:
StringstudentID=request.getParameter("studentID");
StringstudentName=request.getParameter("studentName");
StringstudentSex=request.getParameter("studentSex");
StringstudentBirthday=request.getParameter("studentBirthday");
StringstudentDept=request.getParameter("studentDept");
StringstudentMajor=request.getParameter("studentMajor");
StringstudentClassID=request.getParameter("studentClassID");
StudentDTOstudent=newStudentDTO();
student.setStudent_id(studentID);
student.setStudent_name(studentName);
student.setStudent_sex(studentSex);
student.setStudent_birthday(studentBirthday);
student.setStudent_dept(studentDept);
student.setStudent_major(studentMajor);
student.setStudent_classid(studentClassID);
//定义转发页面
Stringforward=null;
//创建模型对象
UserDAOudao=newUserDAO();
//调用模型对象的业务方法来判断登录的用户是否有效
booleanb=udao.updateStudent(student);
HttpSessions=request.getSession();
if(b){
s.setAttribute("info","更新成功");
forward="information";
}
else{
s.setAttribute("info","更新失败");
forward="main.jsp";
}
5.2.5更新页面
对学生信息进行更新的页面
6系统功能测试
6.1白盒测试
用基本路径测试法测试注册账户信息时判断两次密码是否一致的功能。
//判断密码是否一致
functioncheckPwd1()
1){
//判断密码是否一致,首先要获取到密码的值
2)varp=document.register.userPwd.value;
3)varp1=document.register.userPwd1.value;
4)if(p==p1)
5){
6)alert("密码一致");
flag3=true;
7)}
8)else{
9)alert("两次密码不一致");
flag3=false;
10)}
11)}
6.1.1程序流程图
6.1.2控制流程图
6.1.3程序环路复杂性
其环路复杂性为2。
6.1.4独立路径集合
根据上面的计算方法,可得出2个独立的路径。
V(G)值正好等于该程序的独立路径的条数。
1)路径1:
1-2-3-4-5-6-7-11
2)路径2:
1-2-3-4-8-9-10-11
6.1.5测试用例
序号
路径
输入密码
输入确认密码
预期结果
实际结果
1
路径1
123456
123456
密码一致
密码一致
2
路径2
123456
123
两次密码不一致
两次密码不一致
6.2黑盒测试
用等价类划分法测试用户名的注册。
本系统注册时对用户名长度的要求为2到6位。
其有效等价类和无效等价类如图所示。
26
无效等价类有效等价类无效等价类
用户名长度<22=<用户名长度=<66<用户名长度
等价表
输入条件
有效等价类
无效等价类
用户名
2<=用户名长度<=6
用户名长度<2或长度>6
测试用例
测试值
预期结果
实际结果
1
无效用户名
无效用户名
123
有效用户名
有效用户名
7总结
这次课程的主要内容是设计一个简单的信息系统。
在开发过程中,我认识到:
要制作一个独具一格的网站一定方法与技巧是必要的;以前老是觉得自己什么东西都会,什么东西都懂,一到实践应用中,什么技巧也没用上,常因为一点小错误而前功尽弃,这才发现,原来是自己眼高手低了。
虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。
这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助。
我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。
通过本次系统设计与开发,让我学到了很多,不仅加
深了我在大学四年所学的理论知识的理解和对语言开发的各项技术的应用,更让我学到了很多深层次的软件开发技术,事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。
学校安排了实训,我利用机会给自己巩固知识、加深开发经验,使理论与实践相结合。
另外,这次课设也让我明白了学习是一个长时间慢慢积累的过程,我想在以后的工作、生活中都应该不断的学习,努力提高自己的知识与综合素质。
设计过程中现场提问(或答辩)记载:
1.插入一条记录的命令是什么?
答:
insertinto表名values(‘值1’,’值2’,…….);
2.触发器的作用,什么时候用触发器?
答:
触发器是可以由事件来启动运行的,存在于数据库服务器中的一个过程。
它的作用:
可以实现一般的约束无法完成的复杂约束,从而实现更为复杂的完整性要求。
3.白盒测试中基本路径测试法共有几步?
答:
1)画出程序控制流图2)计算程序环路复杂性
3)确定独立路径集合4)准备测试用例
指导教师评语:
成绩评定:
指导教师(签名):
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jsp 学生 信息管理 系统 开发 测试 源文件