计算机科学与技术毕业论文毕业设计管理系统设计_第1页
计算机科学与技术毕业论文毕业设计管理系统设计_第2页
计算机科学与技术毕业论文毕业设计管理系统设计_第3页
计算机科学与技术毕业论文毕业设计管理系统设计_第4页
计算机科学与技术毕业论文毕业设计管理系统设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过 程,也是综合检验所学理论知识的一个重要环节。该课题从毕业设计的申报、审核、 学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个 流程的管理工作。 毕业设计管理系统的设计采用 B/S(浏览器/服务器)结构,应用了开发工具 Jbuilder2005、开发语言 JSP,后台数据库采用了 SQL Server 2000 及网页开发工具 Dreamweaver8 来实现,并且使用 Photoshop 美化系统。系统主要功能实现了学生自主 选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻 发布等,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设 计的全程控制有非常重要的现实意义。 该课题实现了毕业设计的自动化和网络化管理,是参加毕业设计的教师、学生通 过网络及时沟通的一个重要环节,大大提高了我院教学管理质量和水平。 关键词:出题;选题;评阅;答辩;JSP ABSTRACT Graduation Design is the last part of teaching for a graduate student in the college and an important process of deepening and improvement, also an important part of comprehensive testing theoretical knowledge. The design describes about the management of the declaration, the subject of audit, choosing title, adjust, guide, apprise, reply and so on. It is designed to achieve the management of the entire process. And, the system achieves on-line two-way selection of choosing title and choosing students independently, Meanwhile, the message boards, file uploads and downloads, press releases and other functions are increased. Therefore, the system can endure the information connection among the administrators, teachers and students during the graduation design. it has a very important practical significance to ensure the quality of graduates. With the popularity of network-based, network of national college increasingly improves, the realization of paperless office is to become the future trend, and with the teaching reform deepening of Tianjin Institute of Urban Construction, the system designed to provide interface for the teachers and students related to graduation design. Web site is designed by B/S (browser / server) structure, and develops with the development tool J builder 2 005, the development of language JSP, Background database uses SQL Server 2000 and website development tools Dreamweaver8. And it uses Photoshop to beautify system. keywords: set title; choose title; control course; JSP 目 录 第第 1 1 章章 引引 言言.1 1.1 选题背景 1 1.2 选题意义 1 第第 2 2 章章 系统需求分析系统需求分析.2 2.1 目标.2 2.2 性能及运行需求 2 2.3 功能需求 2 2.4 系统 E-R 图3 第第 3 3 章章 基础知识简介基础知识简介.4 3.1 设计中常用的 JSP 内建对象 4 3.2 JSP 是如何运行的4 3.3 JSDK、TOMCAT 配置5 3.4 JBUILDER 2005 简介5 第第 4 4 章章 系统设计系统设计.6 4.1 概要设计.6 4.1.1 系统数据流程设计6 4.1.2 数据字典7 4.1.3 系统结构设计10 4.1.4 表结构设计.10 4.2 详细设计 13 4.2.1 系统概述13 4.2.2 系统流程图17 第第 5 5 章章 系统实现系统实现.18 5.1 数据库连接 18 5.2 系统各模块功能及实现效果图.18 5.2.1 出题模块及效果图.18 5.2.2 审题模块及效果图.19 5.2.3 选题模块及效果图.19 5.2.4 进程控制模块及效果图.20 5.2.5 评阅模块及效果图.21 5.2.6 调剂模块及效果图.22 5.3 查询及分页显示功能 24 5.3.1 查询功能.24 5.3.2 分页显示功能.24 5.4 应用中出现的问题与解决方法.24 第第 6 6 章章 系统测试系统测试.26 6.1 测试方法的介绍.26 6.2 测试环境.26 6.3 测试对象.26 6.3.1 管理员模块.26 6.3.2 教师模块.26 6.3.3 学生模块.26 6.4 测试用例及结果.27 6.4.1 管理员模块.27 6.4.2 教师模块.27 6.4.3 学生模块.28 结结 论论.30 致致 谢谢.31 参参 考考 文文 献献.32 第 1 章 引言 1 第 1 章 引 言 1.1 选题背景 随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各 种工作的计算机网络化将逐步取代繁重的传统办公模式。毕业设计作为大学生四年学 习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担, 简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。 因此,设计一种毕业设计综合管理系统是我校教学管理发展的一项任务,也是各院校 教学发展的趋势。该系统为学生、教师、管理员提供一个交互的接口,大大方便了学 生、老师及管理员的管理人员。 1.2 选题意义 毕业设计是学生在校期间的最后一个教学环节,是学习深化和提高的一个重要过 程,也是综合检验所学理论知识的一个重要环节。本设计从课题的申报、课题的审核、 学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个 流程的管理工作。系统实现了学生自主选题和教师自主选择学生的网上双向选择,并 增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、 老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。随着网 络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且 随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教 师、学生提供接口。 第 2 章 系统需求分析 2 第 2 章 系统需求分析 2.1 系统目标 1.应具有方便、强大的资料管理和良好的人机界面,使用户易于操作,便于浏览。 2.系统的健壮性,扩展性良好。系统具有对数据备份和日志记录的功能。 3.系统的安全性好,通过密码和权限的管理是用户的数据不受到侵害。 4.系统的动态信息交互功能强,系统根据不同的用户的权限开放不同的处理权限; 不同的用户可以通过留言板进行信息的沟通。 5.系统尽量给用户提供一个良好的操作环境。 2.2 性能及运行需求 对于毕业设计综合管理系统要求运行的工作环境稳定,易于操作,系统方便应用、 安全可靠、便于维护以及实时性强,对于广大用户所要执行的操作简单易懂,访问速 度较快,界面友好美观,有基本的错误提醒功能,远程操作数据库正确,要求和用户 有很强的互动性。 运行环境:本系统开发的毕业设计综合管理系统,在 Windows XP 下运行,要求 使用的操作系统上安装有 SQL Server2000 数据库、JBuilder、Dreamweaver、Tomcat 服 务器(已安装的 JBuilder 里包含 Tomcat 服务器) 。主机要求赛扬 M 或相当性能以上配 置。 2.3 功能需求 根据功能分为教师、学生的前台操作和管理员的综合管理。 系统有三个主要的角色组成:学生、教师、管理人员。 1. 教师完成的操作: 个人信息的管理;课题的申报、修改、选择学生,设计期间与学生的交流与辅导、 实习/指导、评阅和答辩成绩的评定。 2. 学生完成的操作: 个人信息的管理,选择课题,设计期间利用留言板和教师进行交流,查询成绩。 3. 管理人员: 对教师、学生的信息查询,添加和删除;系统开放管理;选课期间调剂操作;分 配评阅老师和答辩老师;成绩录入;新闻发布。 第 2 章 系统需求分析 3 2.4 系统 E-R 图 图 2-1 系统 E-R 图 管理员 姓名 密码 教师 职称学历 密码 性别 教研室 姓名 电话 专业 监 督 监督 监督 学生 密码 班级 电话性别姓名 课题 专业 班级 评题人 出题人名称 管理员 学生 教师 课题 审 题 出题 选 题 1n 1 n 1 n n n 1 1 n 第 3 章 基础知识简介 4 第 3 章 基础知识简介 3.1 设计中常用的 JSP 内建对象 1、out 对象 out 是类 javax.servlet.jsp.JspWriter 的一个对象,能够把信息回送给客户端的浏览 器。out 对象主要用在不关闭脚本小程序而发送结果时。在 out 对象中常用的方法就是 print()和 println(),两者都可以实现把信息发送给客户端的浏览器,即在浏览器上显示 信息,两者的区别在于,print() 方法是输出信息后不换行,println()则是输出信息后自 动换行。 2、request 对象 request 是类 javax.servlet.HttpServletRequest 的一个对象,当客户端请求一个 JSP 页面时,JSP 容器会将客户端的请求信息封装在 request 对象中,请求信息的内容包 括请求的头信息(header) 、系统信息(如编码方式) 、请求的方式(如 get 或 post) 、 请求的参数名称和参数值等。通过 request 对象的方法可以得到请求的相关信息。 常用的方法:getParameter(String name), getParameterValues(String name), setAttribute(String name, java.lang.Object obj), getAttribute(String name), setCharacterEncoding( ) , getSession( )等。 3、response 对象 response 是类 javax.servlet.HttpServletResponse 的一个对象,它封装了 JSP 产生的 响应,即 JSP 会根据客户端的请求建立一个默认的 request 对象,然后发送信息到客 户端以响应客户端的请求。它与 request 对象一样,由 JSP 容器产生。并可以设置 Http 状态码和 request 头。 常用方法:sendRedirect(String location) 4、session 对象 session 是类 javax.servlet.HttpSession 的一个对象。session 指的是客户端与服务 器端的一次会话,会话从客户连接到服务器开始,直到与服务器断开连接为止,这之 间都可以访问 session 对象的属性和方法。 session 对象用来保存每个用户的信息,以便跟踪每个用户的操作状态,当用户 首次登录系统时,JSP 容器都会给此用户一个唯一的标识 sessionID,用于区分其他的 用户,当用户退出系统同时,session 就会自动消失。 3.2 JSP 是如何运行的 JSP 页面实际上是一个带有传统 HTML 和 Java 代码的 Web 页面。JSP 页面的文件 扩展名是.jsp 而并不是.html 或.htm,该扩展名告诉服务器该页面需要特殊的处理,该 特殊处理必须由服务器扩展或插件实现。当一个 JSP 页面被读取时,他首先被编译 (JSP 引擎来做这件事情)为一个 Servlet。 这时候这个 Servlet 就像其他 Servlet 一样被交 第 3 章 基础知识简介 5 给 Servlet 引擎来处理。然后 Servlet 引擎读取这个 Servlet 对应的类(用 ClassLoader)并 且执行它,产生一个动态 HTML 页面。这个 Servlet 创建一些必需的元件,然后将这些 元件作为一个字符串写入输出流(OutputStream),并显示在浏览器中。 3.3 JSDK、Tomcat 配置 1、下载网址: JSDK: /j2se/1.4.2/download.html Tomcat: 2、安装及配置 JSDK:按照安装向导安装 Tomcat:按照安装向导安装,在 Choose Components 界面中选择 full 类型, 在 Configuration 界面中填写一个没有被占用的端口 3、环境变量的配置: 安装路径:JSDK:c: JSDK1.4.2 Tomcat:c: Tomcat 6.0 单击“我的电脑属性高级环境变量系统变量新建” JAVA_HOME= c: JSDK1.4.2; CLASSPATH=.;%JAVA_HOME%libdt.jar; %JAVA_HOME%libtoos.jar; Path=% JAVA_HOME %bin; CATALINA_HOME= c: Tomcat 5.0; CATALINA_BASE= c: Tomcat 5.0; 3.4 JBuilder 2005 简介 Jbuilder2005 是功能强大的软件开发工具,通过它能很好的跟踪程序的运行情况, 捕捉和定位错误,调试方便,便于修改。 第第 4 章章 系统总体设计系统总体设计 4.1 概要设计 .1 系统数据流程设计系统数据流程设计 概要设计阶段的基本目标是用比较抽象的方式确定系统如何完成预定的任务,也 就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。 第 4 章 系统设计 6 从数据流图出发设想完成系统功能的若干种合理的物理方案,从中选择一个最佳方案。 然后进行软件结构设计,确定软件由哪些模块组成以及这些模块的动态调用关系。 本设计包括出题、选题、系统维护、评阅和答辩等模块的设计。 首先管理员登录系统,对系统进行初始化,并可设置系统的开放与关闭。系统初 始化后教师可以出题,教师出题完毕管理员审核课题,审核通过后学生才可进行选题, 学生选题完后教师可以选择符合题目要求的学生,形成双向选择。如果还有学生没选 上题目,管理员可以进行调剂,使每个学生都有题目。 当出题选题完毕,教师和学生建立了双向的关系后,进入到做题阶段。管理员和 教师通过文件上传与下载、留言板、新闻发布和邮箱联系等方式对学生完成毕设的情 况进行监督。 指导教师指导学生完成设计后,进入到评阅阶段。管理员分配评阅教师后,评阅 教师对所评阅课题进行评阅,给出相应成绩。 评阅教师指导学生完成设计后,进入到答辩阶段。管理员分配答辩教师后,答辩 教师对所答辩课题进行答辩,给出相应成绩。 答辩结束后,由管理员对学生的实习/指导成绩、评阅成绩和答辩成绩进行录入, 进行归档。 系统数据流图如下: 第 4 章 系统设计 7 图 4-1 系统数据流图 .2 数据字典数据字典 主要的数据字典: 1. 管理员信息数据字典 表 4-1 管理员信息数据字典 名字:管理员信息 别名:person 描述:管理员的相关信息 定义:管理员信息=管理员 id+管理员 name+管理员 password 位置:存于数据库,在维护系统时应用 2. 教师信息数据字典 第 4 章 系统设计 8 表 4-2 教师信息数据字典 名字:教师信息 别名:teacher 描述:教师的相关信息 定义:教师信息=教师 id+教师姓名+教师职称+教师学历+教师性别+教师教研室+教师系别+教师 电话+教师密码 位置:存于数据库,在出题和进程控制时应用 表 4-3 学生信息数据字典 名字:学生信息 别名:student 描述:学生的相关信息 定义:学生信息=学生 id+学生姓名+学生性别+学生系别+学生专业+学生年级+学生班级+学生成 绩+学生电话+学生密码 位置:存于数据库,在选题和进程控制时应用 表 4-4 课题信息数据字典 名字:课题信息 别名:title 描述:课题的相关信息 定义:课题信息=课题 id+课题名+出题教师+课题类别+所属专业+需求人数+课题要求+课题内容 位置:存于数据库,在出题、选题时应用 表 4-5 管理员调剂课题数据字典 名字:管理员调剂课题 别名:adjust 描述:管理员为没有选到题的学生调剂课题 定义:管理员调剂课题=学生 id+学生名字 位置:存于数据库,在选题时应用 表 4-6 管理员分配答辩老师数据字典 第 4 章 系统设计 9 名字:管理员分配答辩老师 别名:answer 描述:管理员为每一个课题分配 5 位答辩老师,其中一名为答辩组长。 定义:管理员分配答辩老师=答辩题目 id+答辩题目+答辩组长+答辩老师 1+答辩老师 2+答辩老师 3+ 答辩老师 4+答辩时间+答辩教室 位置:存于数据库,在答辩时应用 表 4-7 留言板信息数据字典 名字:留言板信息 别名:bbs 描述:留言板的相关信息 定义:留言板信息=主题 id+楼主+主题+回复+人气+发表时间+最后回复+内容 位置:存于数据库,在留言时应用 表 4-8 课题类别信息数据字典 名字:课题类别 别名:category 描述:课题类别的相关信息 定义:课题类别信息=课题类别 id+名称+专业+系别 位置:存于数据库,在出题时应用 表 4-9 学生成绩信息数据字典 名字:学生成绩信息 别名:score 描述:学生成绩的相关信息 定义:学生成绩信息=成绩 id+学生名字+实习成绩+指导成绩+评阅成绩+答辩成绩 位置:存于数据库,在归档时应用 表 4-10 上传文件信息数据字典 名字:上传文件信息 别名:uploadfile 描述:上传文件的相关信息 定义:上传文件信息=文件 id+名称+大小+路径+上传人 位置:存于数据库,在上传文件时应用 第 4 章 系统设计 10 表 4-11 系统状态信息数据字典 名字:系统状态信息 别名:system 描述:系统状态的相关信息 定义:系统状态信息=系统 id+名称+开关标志 位置:存于数据库,在维护系统时应用 .3 系统结构设计系统结构设计 图 4-2 系统结构图 .4 表结构设计表结构设计 设计的表为:管理员表(person),教师表(teacher),学生表(student),课题表(title),教 师布置任务表(task),学生提交任务表(task1),系统状态表(system)。 各个表的结构如下: 表 4-1 管理员调剂选题表(adjust) 第 4 章 系统设计 11 列名数据类型长度是否可为空说明 IdInt4N 学生 Id NameVarchar20N 学生名字 说明:该表存储管理员调剂相关的信息 表 4-2 答辩老师分配表(answer) 列名数据类型长度是否可为空说明 answer_idInt4N 答辩 Id(主键) answer_titleVarchar20Y 答辩题目 answer_zuzhangVarchar20Y 答辩组长 answer_t1Varchar20Y 答辩老师 1 answer_t2Varchar20Y 答辩老师 2 answer_t3Varchar20Y 答辩老师 3 answer_t4Varchar20Y 答辩老师 4 answer_timeVarchar20Y 答辩时间 answer_roomVarchar20Y 答辩教室 说明:该表存储答辩老师相关的信息 表 4-3 留言板信息表(bbs) 列名数据类型长度是否可为空说明 主题 id int4N 留言号 楼主 Varchar20N 楼主 主题 Varchar130N 主题 回复 Int4Y 回复 人气 Int4Y 人气 发表时间 Varchar50N 发表时间 最后回复 Varchar20Y 最后回复 内容 text20Y 内容 该表存储留言板相关的信息 表 4-4 课题类别信息表(category) 列名数据类型长度是否可为空说明 第 4 章 系统设计 12 category_idInt4N 留言号 category_nameVarchar50Y 楼主 category_professionalVarchar50Y 主题 category_departmentVarchar50Y 回复 该表存储课题相关的信息 表 4-5 新闻信息表(news) 列名数据类型长度是否可为空说明 news_idInt4N 新闻号 news_contentVarchar300Y 新闻内容 news_titleVarchar50Y 新闻题目 该表存储新闻相关的信息 表 4-6 管理员表(person) 列名数据类型长度是否可为空说明 idVarchar20N 管理员 id nameVarchar20N 管理员姓名 passwordVarchar20Y 管理员密码 该表存储管理员相关的信息 表 4-7 成绩显示表(score) 列名数据类型长度是否可为空说明 score_idInt4N 学生 id score_nameVarchar20Y 学生姓名 score_sxVarchar20Y 实习成绩 score_zdVarchar20Y 指导成绩 score_pyVarchar20Y 评阅成绩 score_dbVarchar20Y 答辩成绩 score_zVarchar20Y 答辩组长 score_a1Varchar20Y 平均成绩 1 score_db1Varchar20Y 答辩老师 1 score_db2Int4N 答辩老师 2 score_db3Varchar20Y 答辩老师 3 score_db4Varchar20Y 答辩老师 4 第 4 章 系统设计 13 score_a2Varchar20Y 平均成绩 2 表 4-8 教师表(teacher) 列名数据类型长度是否可为空说明 teacher_idInt4N 教师 Id teacher_nameVarchar50N 教师姓名 teacher_sexVarchar50Y 教师性别 teacher_recordVarchar50Y 教师学历 teacher_postVarchar50Y 教师职称 teacher_roomVarchar50Y 教研室 teacher_phoneVarchar50Y 教师电话 teacher_roleVarchar50Y 角色 teacher_departmentVarchar50Y 系别 teacher_emailVarchar50Y 邮箱号 teacher_passwordVarchar50Y 教师密码 teacher_powerInt4Y 教师权限 说明:该表存储教师相关的信息 表 4-9 学生表(student) 列名数据类型长度是否可为空说明 stu_idInt4N 学生 Id stu_nameVarchar50N 学生姓名 stu_sexVarchar50Y 学生性别 stu_departmentVarchar50Y 系别 stu_professionalVarchar50Y 专业 stu_gradeVarchar50Y 年级 stu_classVarchar50Y 班级 stu_phoneVarchar50Y 电话 stu_emailVarchar50Y 邮箱号 stu_qqVarchar20Y QQ 号 stu_passwordVarchar50N 学生密码 stu_titleInt50Y 所选课题 stu_scoreInt4Y 分数 stu_lockVarchar50Y 锁定标志 第 4 章 系统设计 14 说明:该表存储学生相关的信息 表 4-10 课题表(title) 列名数据类型长度是否可为空说明 title_idInt4N 课题 Id title_nameVarchar50N 课题名 title_teacherVarchar50Y 出题教师 title_categoryVarchar50Y 课题类别 title_professionalVarchar50Y 使用专业 title_numVarchar50Y 需求认识 title_requireVarchar80Y 课题要求 title_flagVarchar50Y 是否选中 title_contentVarchar50Y 课题内容 title_checkVarchar20Y 是否审核 title_xnumInt4Y 已选人数 title_appraiseVarchar50Y 评阅教师 说明:该表存储课题相关的信息 表 4-11 文件信息表(file) 列名数据类型长度是否可为空说明 file_idInt4Y 文件 id file_nameVarchar255N 文件名 file_sizeInt4Y 文件大小 file_routeVarchar50Y 文件路径 file_personVarchar50N 上传人 说明:该表存储上传文件相关的信息 表 4-12 系统状态表(system) 列名数据类型长度是否可为空说明 system_idint4N 系统 Id system_namevarchar50N 系统名 system_openbit1N 开启状态 说明:该表存储系统状态相关的信息 第 4 章 系统设计 15 4.2 详细设计 .1 系统概述系统概述 详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,也就是要 设计出程序的“蓝图” 。除了应该保证软件的可靠性之外,使将来编写出的程序可读性 好、容易理解、容易测试和维护,是详细设计阶段最重要的目标。 1.本人设计的模块有出题、选题子系统、系统维护子系统和评阅答辩管理等。最 初时管理员应对系统进行初始化,初始化完后,教师拥有权限进行出题操作,教师出 题完毕,管理员应对该课题进行审核,审核通过后学生这时拥有权限进行选课操作, 学生选课操作完毕,这时,教师可以从选择他所出课题的学生中选择适合该课题的学 生,达到一种双向的自主选择。操作完毕后,可能存在某些学生没有选上题目,这时 可以通过管理员的调剂操作来处理,把没选题的学生调剂到缺少人数的课题或者重新 出题来满足要求,是每个学生都有题可做。这时,指导教师应指导学生完成毕业设计, 完成后应由评阅教师进行评阅。 2. 出题阶段参与工作的有相关的教师,他们由教师表(表 4-8)确定,每一个教 师在登录的时候就可以进入自己的界面。教师根据要求填写自己的课题和相关要求, 可以通过多次登录就行修改、删除和提交来完成出题工作,所出课题存储于课题表 (表 4-10) ,也可以通过留言板与管理员交流。 图 4-3 出题流程图 3. 选题阶段首先由管理员确定发布内容。学生通过登录自己的界面,可以看到题 目的全部信息并且进行选择。在达到限定时间后,由管理员通过人工干预的方式确定 开始 是否登录成功? 出题 出题成功? 结束 Y Y N N 第 4 章 系统设计 16 最终的选题结果。在确定的时间内和学生完成选题后,由管理员根据题目和学生的具 体情况,通过人工干预的方式,对表 4-11 进行处理,确定每一个学生的题目,协调学 生和题目之间的关系。 图 4-4 选题流程图 4. 在评题阶段,首先由管理员通过对表 4-2 的输入,确定每一个评题阶段的评题 人;然后评题人通过登录自己的界面进行评题。 开始 是否登录成功? 选题 选题成功? 结束 Y Y N N 第 4 章 系统设计 17 图 4-6 评阅流程图 4. 在答辩阶段,首先由管理员通过对表 4-2 的输入,确定每一个题目的答辩组长 和其他四位答辩老师;然后答辩老师通过登录自己的界面进行答辩管理。 开始 是否登录成功? 评阅 评阅成功? 结束 Y Y N N 第 4 章 系统设计 18 .2 系统系统流程图流程图 图 4-7 系统流程图 查看课题信息审核课题提交课题 课题通过 确定课题 选择学生 N Y N Y 开始 登录成功? 结束 成功? Y N N Y 第 5 章 系统实现 19 第 5 章 系统实现 5.1 数据库连接 5.2 系统各模块功能及实现效果图 .1 出题模块及效果图出题模块及效果图 出题模块主要主要通过在页面设置表单,出题人点击提交按钮后把相应的表单信 息存入数据库 bishe 的表 title 中。 实现的主要代码: String sql= “insert into title (title_name,title_teacher,title_category,title_professional,title_num,title_require,title_flag,title _content) values (?,?,?,?,?,?,?,?)“; 效果图如下: 图 5-1 出题效果图 第 5 章 系统实现 20 .2 审题模块及效果图审题模块及效果图 审题模块主要通过从数据表 title 中查询出某教师的所有课题,从中选择未审核 的课题进行审核,同时更新数据表 title。审核成功且通过后,学生自主选题。 主要实现代码: String sql = “update title set title_name=?,title_teacher=?,title_category=?,title_professional=?,title_num=?,title_require=?,title_flag=?,t itle_content=?, title_check=? where title_id=?;“; 实现效果图: 图 5-2 审题 .3 选题模块及效果图选题模块及效果图 选题模块主要是先在学生主页中显示所有的已通过审核的课题,学生点击课题名 查看课题详细信息后,如果对课题有兴趣就点击选题按钮,把所选课题名存入数据表 student 中。 主要实现代码: String sql = “update title set title_xnum=title_xnum+1 where title_id=?;“; String sql1 = “update student set stu_title=? where stu_name=? and stu_lock=no“; String sql2 = “select stu_title from student where stu_name=?“; 实现效果图: 第 5 章 系统实现 21 图 5-3 选题效果图 .4 评阅模块及效果图评阅模块及效果图 评阅模块主要通过从数据表 teacher 中查询出所有教师,从中选择合适的教师为 评阅教师,同时更新数据表 title。成为评阅教师后,教师可以评阅相应课题并给出成 绩。 主要实现代码: String sql = “update title set title_appraise=? where title_name=“+title+“ ; String sql2 = “update teacher set teacher_power=“+2+“ where teacher_name=?“ ; 实现效果图: 图 .5 答辩模块及效果图答辩模块及效果图 答辩模块主要通过从数据表 teacher 中查询出所有教师,从中选择合适的教师为 第 5 章 系统实现 22 答辩教师,同时更新数据表 title。成为答辩教师后,教师可以答辩相应课题并给出成 绩。 主要实现代码: String sql = “update title set title_answer=? where title_name=“+title+“ ; String sql2 = “update teacher set teacher_power=“+2+“ where teacher_name=?“ ; 实现效果图: 图 5-7 选择评阅教师 .6 调剂模块及效果图调剂模块及效果图 调剂模块主要是管理员查找还未选题的学生,为其选择课题。实现时先选中某课 题,再查找未选题的学生,为课题选择合适的学生点击提交后存入数据表中。 主要实现代码: sortitems = 1; function move(fbox,tbox) for(var i=0; i no.value = fbox.optionsi.value; no.text = fbox.optionsi.text; tbox.optionstbox.options.length = no; fbox.optionsi.value = “; fbox.optionsi.text = “; 第 5 章 系统实现 23 BumpUp(fbox); if (sortitems) SortD(tbox); function BumpUp(box) for(var i=0; i if(box.optionsi.value = “) for(var j=i; j box.optionsj.value = box.optionsj+1.value; box.optionsj.text = box.optionsj+1.text; var ln = i;break; if(ln box.options.length -= 1; BumpUp(box); function SortD(box) var temp_opts = new Array(); var temp = new Object(); for(var i=0; i temp_optsi = box.optionsi; for(var x=0; x temp_optsy.text) temp = temp_optsx.text; temp_optsx.text = temp_optsy.text; temp_optsy.text = temp; temp = temp_optsx.value; temp_optsx.value = temp_optsy.value; temp_optsy.value = temp; for(var i=0; i box.optionsi.text = temp_optsi.text; 实现效果图: 第 5 章 系统实现 24 图 5-8 调剂 5.3 查询及分页显示功能 .1 查询功能查询功能 搜索字段: 题目 教师 搜索条件: String field=request.getParameter(“field“); String term=request.getParameter(“term“); term=new String(term.trim().getBytes(“ISO8859_1“),“GB2312“); String sql=“select * from title where “+field+“=“+term+“; .2 分页显示功能分页显示功能 /countpage 总页数,sqan 宽度,count 总纪录数,fpage 现在页,fcount 现纪录数 String strpages=(String)request.getParameter(“pages“); int pages=0; if(strpages=null)pages=0; elsepages=Integer.parseInt(strpages); rs.last(); int sqan=4,j=0,fcount=0; int count=rs.getRow(); int countpage=count/sqan; if(count%sqan0) countpage=countpage+1; if(pagescountpage-1) pages=countpage-1; fcount=pages*sqan+1; int fpage=(count-fcount)/sqan+1; rs.absolute(fcount); rs.previous(); 5.4 应用中出现的问题与解决方法 世界上的各地区都有本地的语言。地区差异直接导致了语言环境的差异。在开发 一个国际化程序的过程中,处理语言问题就显得很重要了。这其中汉字是双字节的, 所谓双字节是指一个双字要占用两个 BYTE 的位置(即 16 位) ,分别称为高位和低位。 中国规定的汉字编码为 GB2312,这是强制性的,目前几乎所有的能处理中文的应用程 序都支持 GB2312。 另外有一种编码,叫做 GBK,但这是一份规范,不是强制的。GBK 提供了 20902 个汉字,它兼容 GB2312,编码范围为 0x8140 到 0xfefe。GBK 中的所有字符都可以一 一映射到 Unicode 2.0。 当我们在处理数据库中的信息时,无论是把信息从数据库中取出来传到 web 页面 上,还是把 web 页面中的信息用 request 对象的 getParameter 方法取进来插入数据库中, 都会出现乱码问题。 其原因就是 Java 语言内部是用 Unicode 表示字符的,采用 unicode 编码。Java 程序无论是从/往文件系统以字符流读/写文件,还是往 URL 连接写 HTML 信息,或 从 URL 连接读取参数值,都会有字符编码的转换。所以两个方向转换都有可能得到 错误的结果。 针对这个问题,我把从 html 取进来的所有信息,都经过编码转化了一下,一般 我们最常用的编码方式就是 GB2312,GBK,UTF-8 和 ISO8859-1。 我用的是 ISO8859-1 编码方式,ISO8859-1 是我们平时使用比较多的一个 CodePage,它属于西欧语系。 1、用 JDBC 执行 SELECT 语句从服务器端读取数据(中文)后,但不能正确显 示在网页上,将数据按“ISO-8859-1” 编码方式转化为字节数组,再按系统缺省编码方 式 (Default Character Encoding) 转化为 STRING ,就可以了。 但是一般情况下,在转换字符串时不采用系统默认编码方式,而直接采用“ GBK” 或者 “GB2312”,所以从数据库取数据显示时是不会出现问题的。 2、当我们要向数据库中插入中文数据时,处理方式与“取中文”相逆,先将 SQL 语句按系统缺省编码方式转化为字节数组,再按“ISO-8859-1”编码方式转化为 STRING ,最后送去执行,则中文信息可正确写入数据库。 第 5 章 系统实现 26 第 6 章 系统测试 6.1 测试方法的介绍 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过 测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒 子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试, 它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收 输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 “黑盒“法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能 进行测试。“黑盒“法是穷举输入测试,只有把所有可能的输入都作为测试情况使用, 结论 27 才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测 试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 白盒测试按照程序内部的逻辑对程序进行测试,检查程序中的每条通路是否能按 预定要求正确工作。白盒测试又称为结构测试。 在这里主要采用的是黑盒测试,并以白盒测试为辅助测试。 6.2 测试环境 硬件:cup:Celeron M 1.5Ghz 内存:512M 硬盘:40G 软件:Microsoft windows XP JBuilder 2005 Sql Server 2000 数据库 6.3 测试对象 6.3.1 管理员模块 登录时,输入正确的和错误的用户名和密码,转向是否正确。登录成功后管理员 的各项功能是否能正确实现。 6.3.2 教师模块 登录时,输入正确的和错误的用户名和密码,转向

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论