计算机软件毕业论文

更新时间:2024-04-04 10:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

大学毕业设计报告

题目: 网上教材信息管理系统

所在学院: 信息工程学院 班 级: 计科1002 学 号: 101304209 姓 名: 刘秋平

指导教师: 葛桂萍

2014年5月23日

目 录

1、引 言......................................................................................................................................... 2

1.1 教材管理系统的意义 ........................................................................................................ 2

1.1.1 开发背景 ............................................................................................................... 2 1.1.2 最终用户群体 ....................................................................................................... 3 1.1.3 课题研究意义 ....................................................................................................... 3 1.2 工具及环境选择 ................................................................................................................ 3 2、需求分析及设计目标 ................................................................................................................. 4

2.1 用户需求分析 .................................................................................................................... 4 2.2 本课题要达到的设计目标 ................................................................................................ 4 3、系统设计 ..................................................................................................................................... 5

3.1 系统构建思想 .................................................................................................................... 5 3.2 系统的体系结构 ................................................................................................................ 5

3.2.1 系统的功能模块图 ............................................................................................... 5 3.2.2 系统流程图 ........................................................................................................... 7 3.2.3 实体关系图(E-R图) ................................................................................... 8 3.3 数据库设计 ........................................................................................................................ 8 3.4 系统界面及代码设计 ...................................................................................................... 12

3.4.1 登陆 ..................................................................................................................... 12 3.4.2 教材管理 ............................................................................................................. 13 3.4.3 年级管理 ............................................................................................................. 15

3.4.4 教材入库 ..........................................................................................................17 3.4.5 添加教材信息 ..................................................................................................19 3.4.6 教材选定 ..........................................................................................................22 3.4.7 教材订购 ..........................................................................................................24 3.4.8 领取、查询 ..................................................................................................26 3.4.9 用户管理 ..........................................................................................................28 4、系统调试与测试 ....................................................................................................................... 30

4.1 程序调试 .......................................................................................................................... 30 4.2 程序的测试 ...................................................................................................................... 31

4.2.1 测试的重要性及目的 ......................................................................................... 31 4.2.2 测试的步骤 ......................................................................................................... 32 4.2.3 测试的主要内容 ................................................................................................. 32

5、结论........................................................................................................................................... 33

5.1 系统评价 ......................................................................................................................... 34 5.2 安全性问题 ..................................................................................................................... 34 致谢 ................................................................................................................................................ 36 配置及使用说明..............................................................................................................................37 参考文献......................................................................................................................................... 38

第 1 页

1、引 言

随着计算机技术的快速发展和教学管理业务的日益复杂,越来越多的教学部门开始将教材管理系统应用到日常管理中,以提高工作效率和管理质量。教材管理是教学的重要环节,如果开发一个教材管理系统,将会对教材的管理起到很大的辅助作用。

1.1 教材管理系统的意义

1.1.1 开发背景

一所综合性高校,涉及的专业课程很多,教材用书种类多,数量大,传统的管理方法效率会低一点,容易出错等诸多弊端,一些学生、教师对教材使用情况了解相对较少,信息的透明度比较低,与当前高校管理中倡导的“以人为本”的管理思想存在着很大的差距。再说近年来,随着扬州大学信息工程学院信息化改革的深入和持续多年的扩招,扬大的大学生和研究生数量迅速增加,因而对传统教材的需求量和使用也相应地大幅度增加,同时,由于在各大高校,为适应人才市场的需要,也在不断地进行着专业的调整和更新,课程改革也在逐步推进,从而使得学校里所使用的教材种类越来越多,手工或效率较低的软件对于教材管理而言,使得工作人员和管理部门的劳动强度越来越大,为获取有效的信息所花费的时间也越来越长。

现代科学技术和人文管理等知识更新很快,相应的是大学的教材也应该随之快速更新,但在使用传统的方法进行教材管理时,在教材选用计划的制定、教材入库、教材发放、结算、统计、信息收集和反馈等一系列的管理过程中,其周期过长,使得教材的选用和淘汰等明显地滞后于知识、技术的发展和教材本身版本的更新,而很多的用人单位在聘用大学毕业生时,却要求他们具有较新、甚至是最新的知识结构. 基于这些原因必须开发一项基于web的扬大教材管理系统来解决现有的问题。

第 2 页

1.1.2 最终用户群体

本系统主要完成了一个教材管理系统,其主要实现学生、教师、教材科的订书,学生、教师的领书功能,对订书的情况做统计,为师生提供各种条件的教材信息查询等功能。 1.1.3 课题研究意义

每个新学年开始教材的预订、分发以及教材的财务管理等工作量比较大,很主要的因素就是教材管理的方法和手段的落后. 显然这与院校当前教学改革的步调不一致,更难以满足以后更多学生所需教材的管理. 为了将管理人员从繁琐的工作中解脱出来, 让教师领书让导员发书更方便快捷,让学生能够准确及时的得到所学教材,从根本意义上真正地实现办公自动化,并充分发挥计算机管理的作用,研制和开发教材管理系统具有十分重要的现实意义。

1.2 工具及环境选择

开发环境:

WEB服务器:Window2000 Server、Tomcat、JDK; DB服务器:SQL SERVER2000;

客户端:Windows2000/Xp、IE4‘.0以上; 开发语言:Jsp\\Java。 开发工具

Eclipse、Dreamweaver MX 2004等Web开发工具

第 3 页

2、需求分析及设计目标

2.1 用户需求分析

教材管理的主要工作是基本信息管理、教材选定、教材预定、教材入库、教材发放、教材日常查询等, 良好地完成这些工作需要教务员定期的对库存教材进行查询和统计分析, 并及时与各年级和导员取得联系,征求各方面的建议及要求, 工作性质十分重要, 工作量极大。

(1) 基本信息的管理。在做教材管理系统之前必须了解各种价值的信息并对其加以管理,这里主要用到的是教材的基本信息管理、教师基本信息的管理、课程基本信息的管理、学生基本信息的管理,分别对他们做增删改查的操作。 (2) 教材定购。教材的预订工作基本上是根据课程和年级来完成。教材科将教材征订通知下发到教务员,各年级从中选订所开课程的教材,填写预订单,经系、部汇总报教材科。教材科汇总报教务处审批后,编制填写正式订单寄发到各出版社。

(3) 教材入库业务。出版社到书后教务员统计出已到和未到教材。把各类教材进行入库分类。

(4) 教材发放。教务员能常按年级专业预定的人数发放给年级导员。再由导员发放给学生使用。

(5) 查询。查询主要分基本信息的查询和教材入库出库后的查询,教材出入库的查询统计出具体各类教材的到货和库存剩余的查询。

2.2 本课题要达到的设计目标

1、基本信息管理:教材基本信息管理、教师基本信息管理、学生基本信息

管理、科目基本信息,对这些信息进行增删改查功能。 2、教材选定:对各年级各专业定购各类教材的选定。

3、教材预定:教材计划信息表、库存现有查询,根据教材信息表来制定购

书定单,再根据库存现有教材进行教材订购。

4、教材入库功能:对入库的教材进行登记、查询生成新的入库表单。

第 4 页

5、教材发放功能:对已交费的学生进行教材的发放做登记和汇总生成新的

出库表单。

3、系统设计

本系统是一个面向扬大教材管理人员、教师和学生,为其提供服务的教材管理系统。教务人员通过本系统完成所有的日常教材管理工作。从学生入学开始到毕业离校,其在学校内的所有和教材相关的数据都通过教材系统进行管理。

3.1 系统构建思想

随着现代电子通信信息技术的发展,教材管理系统已经成为目前高校必不可少的管理系统,不但要脱离仅仅依赖用户手工的管理,而且也要向网络方向发展。特别是在当前计算机信息技术高速发展的时代,人们开始充分利用现有的资源,来进行学校教务的管理,开始逐渐脱离原先教务系统使用C/S结构的地域的局限性,使用B/S开发模式的优势,使得系统应用范围更广。在多地域、任意时间段以不同身份来访问教材系统中的数据,大大加强了系统数据共享的能力。

本系统采用SQL Server作为后台的数据库,采用标准MVC三层架构(JSP-JavaBean-Servlet三层结构)开发模式,其中Servlet担当主要逻辑控制,通过接受JSP传来的用户请求,调用以及初始化JavaBean,再通过JSP传到客户端,本系统中SqlBean担当主要的与数据库的连接和通信,JavaBean在本系统中主要担当配合JSP以及Servlet来完成用户的请求,而JSP主要担当接受与响应客户端。通过这种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组件可以进行交互和重用,提高了开发效率,是目前比较流行的方式。

3.2 系统的体系结构

3.2.1 系统的功能模块图

系统主要分为以下几个功能分别是基本信息管理功能、教材日常管理功能、

第 5 页

教材各类查询功能以下几个模块,基本信息管理功能里分为对教材基本信息的管理、教师基本信息的管理、学生基本信息的管理、课程基本信息的管理,教材日常管理功能分为教材的选定、预定、入库登记和出库登记的管理,教材的查询是对入库出库购买教材的各类查询统计,具体功能模块如图3-1所示

教材管理系统 基本信息管理年级基本信息管理教材基本信息管理教师基本信息管理课程基本信息管理学生基本信息管理教材选定计划管理教材日常管理 教材查询教材出库登记管理教材定购信息查询教材入库信息查询教材出库信息查询教 材定 购 计划 管 理 教材入库登记管理图3.1 系统功能模块图

本系统只有教务员一个人使用,所以不用考虑权限的问题。教务员直接输入用户名和密码即可进入本系统。

基本于web的教材管理系统可划分为三大功能模块: 1. 基本信息管理功能模块:

该模块主要分为教材信息管理、教师信息管理、课程信息管理、学生信息管理几部分,主要是通过录入各类基本信息后对这几个表进行查、删、改操作为以后的各类统计打下基础。 2. 教材日常管理功能模块:

教材日常管理功能包括教材选定、教材定购、教材入库登记和出库登记四个部分,教材选定是根据年级和所学课程选定所用的教材,教材定购是通过选定的教材和库存现有教材和教师领取的教材数来下订单,教材入库登记是对已到教材数的统计,比如到货时间数量等。教材出库登记是对学生和教师发放和领取的登记,学生的发放又分为统一发放和单个领取二类发放。 3 . 教材查询功能模块:

第 6 页

教材查询功能主要分为教材订购信息的查询、教材入库信息的查询、教材出库信息的查询。教材订购信息的查询主要是对教材订购数量和到货时间一类的查询统计,教材入库信息查询是对教材入库的价格和数量的统计,教材出库数量的查询主要分为对学生教材出库的查询和教师教材出库的查询,学生教材的出库又分为统一发放教材的出库和单个领取的出库。 3.2.2 系统流程图

系统主界面 错误信息 系统登录界面 系统管理 输入操作员及密码 数据库 检查 密码错误 密码正确 功能界面 功能处理 第 7 页

3.2.3 实体关系图(E-R图)

根据模块功能图的分析定下了五个实体分别是课程、教师、学生、教材、年级这五个实体,根据所学的课程和各年级来选定教材再通过库存和教师领取的人数来确定最终要买的教材,为其下最终的订单。教师可以领取材,学生可以购买教材。具体ER图如3-2所示。

课程名课号课程专业学期教师号教师名教师m联系方式mp年级专业号导员姓名年级1包括选定领用n数量领取时间n教材数量n学生学号年级专业m购买时间n教材代码库存数量 图3-2 系统E-R图

3.3 数据库设计

1 .名称:教材选定信息表(jcxd) 字段含义 课程号 字段名称 xd_kch 类型及宽主键 度 int(20) int(20) int(20) varchar(2Y N N N 非空 Y Y Y Y 说明 年级专业xd_njzyh 号 教材代码 学期

xd_jcdm xd_xq 第 8 页

0) 备注 xd_bz Varchar(20) N Y 2 .名称:教材基本信息表(jcxx) 字段含义 教材代码 教材名称 类别 单价 出版社 作者 库存数量 备注 字段名称 Jc_jcdm Jc_jcmc Jc_lb jc_dj Jc_cbs Jc_zz Jc_kcsl Jc_bz 类型及宽主键 度 Int(20) Varchar(20) Varchar(20) Int(20) Varchar(30) Varchar(20) int(20) Varchar(20) Y N N N N N N N 非空 Y Y Y Y Y Y Y N 说明 3 . 名称: 教材订购信息表(jcdg) 字段含义 字段名称 类型及宽度 主键 教材代码 订购数量 已到教材 未到教材 备注 dg_jcdm dg_dgsl Dg_ydjc Dg_wdjc Dg_bz int(20) Int(20) Int(20) Int(20) Y N N N 非空 Y Y Y Y N 说明 Varchar(20) N 4 . 名称:年级信息表(njxx) 字段含义 字段名称 类型及宽度 主键 年级专业nj_njzyh 号

非空 Y 说明 int(20) Y 第 9 页

年级专业nj_njzym 名 导员名 nj_dym 年级人数 备注 Nj_rs Nj_bz Varchar(20) N Varchar(20) N Int(20) N Y Y Y N varchar(20) N 5 . 名称:学生信息表(xsxx) 字段含义 学号 字段名称 Xs_xh 类型及宽主键 度 int(20) int(20) Varchar(20) Varchar(1) Varchar(20) Y N(外键) N N N 非空 Y Y Y Y Y 说明 未交费的画* 年级专业Xs_njzyh 号 姓名 性别 交费情况 Xs_xm Xs_xb Xs_jfqk 6 . 名称: 教师基本信息表(jsxx) 字段含义 字段名称 类型及宽度 主键 教师号 教师名 学历 电话 Js_jsh Js_jsm J s_xl Js_dh int(20) Y 非空 Y Y Y Y 非空 Y Y Y Y 说明 说明 考试、考查 Varchar(20) N Varchar(10) N int(10) N 7 . 名称: 课程基本信息表(kcxx) 字段含义 字段名称 类型及宽度 主键 课程号 课程名 学时 类型 Kc_kch Kc_kcm Kc_xs Kc_lx int(20) Y Varchar(20) N Varchar(20) N Varchar(20) N 8 . 名称:教师领取教材信息表(jslq)

第 10 页

字段含义 教师号 教材代码 领取本数 领取时间 备注 字段名称 jlq_jsh jlq_jcdm jlq_lqbs jLq_lqsj Jlq_bz 类型及宽度 int(20) int(20) int(20) 主键 Y N N 非空 Y Y Y Y Y 说明 varchar(20) N Varchar(20) N 9 . 名称:学生购买教材信息表(xsgm) 字段含义 字段名称 类型及宽度 主键 自动编号 学号 教材代码 购买本数 购买时间 类型 领取人 Gm_id Gm_xh Gm_jcdm Gm_gmbs Gm_gmsj Gm_lx Gm_lqr Int(20) int(20) int(20) Int(20) Y N N N 非空 Y Y Y Y Y Y Y Y 说明 统一、单个 Varchar(20) N varchar(20) N varchar(20) N 备注 Gm_bz Varchar(20) N 10 . 名称: 教材入库表(jcrk) 字段含义 字段名称 类型及宽度 主键 教材代码 数量 入库价格 教材来源 入库时间 备注 Rk_jcdm Rk_sl Rk_rkjg Rk_jcly Rk_rksj Rk_bz int(20) Int(20) Int(20) Y N N 非空 Y Y Y N Y Y 说明 书的经手人 Varchar(20) N Varchar(20) N Varchar(20) N

第 11 页

3.4 系统界面及代码设计

3.4.1 登陆

当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对相应的窗口进行操作。如下图所示:

主要代码如下: package util; import java.sql.*;

public class DBConn { static{ try{ Class.forName(\// Class.forName(\

// Class.forName(\ }catch(Exception ex){ ex.printStackTrace(); } }

public static Connection getConn(){ try{ Connection

第 12 页

conn=DriverManager.getConnection(\hygl\// conn = DriverManager.getConnection(\// Connection conn=DriverManager.getConnection(\ return conn;

}catch(Exception ex){ ex.printStackTrace(); return null; } }

public static void close(Connection conn,Statement st,ResultSet rs){ if(rs!=null){ try{

rs.close();

}catch(SQLException ex){ } }

if(st!=null){ try {

st.close();

}catch(Exception ex){ } }

if(conn!=null){ try{

conn.close(); }catch(Exception ex){ }

3.4.2 教材管理

管理员可以对教材信息进行管理,包括添加、删除、修改等操作。界面如下图所示:

第 13 页

主要代码如下: package util; import java.sql.*;

public class DBConn { static{ try{ Class.forName(\// Class.forName(\

// Class.forName(\ }catch(Exception ex){ ex.printStackTrace(); } }

public static Connection getConn(){ try{ Connection

conn=DriverManager.getConnection(\hygl\// conn = DriverManager.getConnection(\// Connection conn=DriverManager.getConnection(\ return conn;

}catch(Exception ex){ ex.printStackTrace(); return null; }

第 14 页

}

public static void close(Connection conn,Statement st,ResultSet rs){ if(rs!=null){ try{

rs.close();

}catch(SQLException ex){ } }

if(st!=null){ try {

st.close();

}catch(Exception ex){ } }

if(conn!=null){ try{

conn.close(); }catch(Exception ex){ }

3.4.3 年级管理

管理员可以对年级信息进行管理,包括添加、删除、修改等操作。界面如下图所示:

主要代码如下:

第 15 页

package util;

import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; public class Validate { /** * 是否为数字和英文验证 * */ public int getIntAndChar(String str){ char c; int i; for (i = 0; i='0' && c<='9') || (c>='a' && c<='z') || (c>='A' && c<='Z'))){ break; } }//判断字符是否在某个区间 if(i < str.length()){ return -1; }else{ return 0; } } /** * 是否为整数验证 * */ public int getInt(String str){ char c; int i; for (i = 0; i='0' && c<='9')){ break; } }//判断字符是否在某个区间 if(i < str.length()){ return -1; }else{ return 0; } }

第 16 页

/**

* 是否为非法字符验证 * */

public boolean getLawlessChar(String str){ boolean flag = false; char c; for(int i = 0;i < str.length();i++){ c = str.charAt(i); switch(c){ case '<' : flag = true; break; case '>' : flag = true; break; case '\ case '&' : flag = true; break; case ' ' : flag = true; break; } } return flag;

}

3.4.4教材入库功能

对入库的教材进行登记、查询生成新的入库表单.

主要代码如下:

public int addRk(String Rk_jcdm,String Rk_sl,String Rk_rkjg,String Rk_jcly,String Rk_rksj ,String Rk_bz){

第 17 页

\

String sql = \

\

DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //修改 public int upRk(String id,String Rk_jcdm,String Rk_sl,String Rk_rkjg,String Rk_jcly,String Rk_rksj ,String Rk_bz){

String sql = \jcrk set Rk_jcdm='\

\ id='\ DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //删除 public int delRk(String id){ String sql=\ DBConn dbo=new DBConn();

第 18 页

}

dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); }

3.4.5添加教材信息(以及修改删除)

主要代码如下:

public int addBook(String Jc_jcmc,String Jc_lb,String jc_dj,String Jc_cbs,String Jc_zz,String Jc_kcsl,String Jc_bz)

{ String sql = \ \+\

DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql);

第 19 页

if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //修改 public int upBook(String Jc_jcdm,String Jc_jcmc,String Jc_lb,String jc_dj,String Jc_cbs,String Jc_zz,String Jc_kcsl,String Jc_bz)

{ String sql = \jcxx set Jc_jcmc='\+\ Jc_jcdm='\

DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //删除 public int delBook(String Jc_jcdm){ String sql=\ DBConn dbo=new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR;

第 20 页

}catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } public int getMessageCountJc() { //得到信息总数 DBConn dbo=new DBConn(); dbo.open(); try {

rs = dbo.executeQuery(\ rs.next();

count = rs.getInt(1); return count;

} catch (SQLException ex) { ex.printStackTrace(); return -1; } finally {

dbo.close(); } }

public List getMessageJc(int page) { //得到每页要显示的信息 DBConn dbo=new DBConn(); dbo.open();

List list = new ArrayList(); try {

rs = dbo.executeQuery(\ for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) { rs.next(); }

for (int t = 0; t < EVERYPAGENUM; t++) { if (rs.next()) { qq++;

List list2=new ArrayList(); list2.add(rs.getString(1));//0 list2.add(rs.getString(2));//1 list2.add(rs.getString(3));//2 list2.add(rs.getString(4));//3 list2.add(rs.getString(5));//3 list2.add(rs.getString(6));//3 list2.add(rs.getString(7));//3 list2.add(rs.getString(8));//3 list.add(list2);

第 21 页

} else {

break; //减少空循环的时间 } }

return list;

} catch (SQLException ex) { ex.printStackTrace(); return null; } finally { dbo.close(); } }

3.4.6教材选定

对应的教材和课程,年级等信息

主要代码如下:

public int addXdjh(String xd_kch,String xd_njzyh,String xd_jcdm,String xd_xq,String xd_bz ){ String sql = \ \\ DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR;

第 22 页

}catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //修改 public int upXdjh(String id,String xd_kch,String xd_njzyh,String xd_jcdm,String xd_xq,String xd_bz){ String sql = \

xd_kch='\bz='\ id='\ DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //删除 public int delXdjh(String id){ String sql=\ DBConn dbo=new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close();

第 23 页

}

}

3.4.7 教材订购

选定教材即可订购数量

主要代码如下:

public int dG(String xid,String dg_jcdm,String dg_dgsl,String Dg_ydjc,String Dg_wdjc,String Dg_bz) { String sql=\ DBConn dbo=new DBConn(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) { int i = dbo.executeUpdate(\jcdg set dg_jcdm='\ \where xid='\ if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; } Else {

第 24 页

int i = dbo.executeUpdate(\into jcdg(xid,dg_jcdm,dg_dgsl,Dg_ydjc,Dg_wdjc,Dg_bz)\ \

values('\ if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; } }

catch(Exception e) { e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } public List getDg(String xid){ String sql=\ DBConn dbo=new DBConn(); dbo.open();

List list = new ArrayList(); try {

rs = dbo.executeQuery(sql); if(rs.next()){

list.add(rs.getString(1));//0 list.add(rs.getString(2));//1 list.add(rs.getString(3));//2 list.add(rs.getString(4));//3 list.add(rs.getString(5));//3 list.add(rs.getString(6));//3 }

return list;

} catch (SQLException ex) { ex.printStackTrace(); return list; } finally { dbo.close(); } } public List getDgJcDm(){ String sql=\ DBConn dbo=new DBConn();

第 25 页

dbo.open();

List list = new ArrayList(); try {

rs = dbo.executeQuery(sql); while(rs.next()){

list.add(rs.getString(1)); }

return list;

} catch (SQLException ex) { ex.printStackTrace(); return list; } finally { dbo.close(); } }

3.4.8 领取、查询

教师和学生可以领取,可以进行教材编号查询入库,出库,订购的信息:

主要代码如下:

public int getKuCun(String sql){ DBConn dbo = new DBConn(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) return rs.getInt(1); else return 0; }catch(Exception e){

第 26 页

e.printStackTrace(); return 0; }finally{ dbo.close(); } } public int addJsl(String jlq_jsh,String jlq_jcdm,String jlq_lqbs,String jLq_lqsj,String Jlq_bz){ String sql = \ \ ) \ DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } } //修改 public int upJsl(String id,String jlq_jsh,String jlq_jcdm,String jlq_lqbs,String jLq_lqsj,String Jlq_bz){ String sql = \jslq set jlq_jsh='\ \ id='\ DBConn dbo = new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{

第 27 页

dbo.close(); } }

//删除

public int delJsl(String id){ String sql=\ DBConn dbo=new DBConn(); dbo.open(); try{ int i = dbo.executeUpdate(sql); if(i == 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } }

3.4.9 用户管理

可以实现增加用户和修改密码

主要代码如下:

public class UserLoginBean { Connection conn = null; Statement st = null;

第 28 页

ResultSet rs = null; ArrayList al = new ArrayList(); public int login(String name,String pwd){ int temp = 0; DBConn dbo=new DBConn(); dbo.open(); try { rs = dbo.executeQuery(\ if(rs.next()) { String id = rs.getString(\ String tname = rs.getString(\ String tpwd = rs.getString(\ if(pwd.equals(tpwd)){ temp = 1; al.add(id); al.add(tname); al.add(tpwd); }else{ temp = 2; } }else{ temp = 3; } } catch (SQLException e) { e.printStackTrace(); } finally{ dbo.close(); } return temp; } public List getMygl(){ String sql=\hickey.name,mygl.* from hickey,mygl where mygl.ypmc=hickey.id order by hickey.id desc\ List list=new ArrayList(); Connection conn = null; Statement st = null; ResultSet rs = null; DBConn dbo=new DBConn(); dbo.open(); try { rs=dbo.executeQuery(sql);

第 29 页

}

while(rs.next()){ List list2=new ArrayList(); list2.add(rs.getString(1)); list2.add(rs.getString(2)); list2.add(rs.getString(3)); list2.add(rs.getString(4)); list2.add(rs.getString(5)); list2.add(rs.getString(6)); list2.add(rs.getString(7)); list2.add(rs.getString(8)); list2.add(rs.getString(9)); list2.add(rs.getString(10)); list2.add(rs.getString(11)); list2.add(rs.getString(12)); list.add(list2); } return list;

} catch (SQLException e) { e.printStackTrace(); return list; } finally{ dbo.close(); }

4、系统调试与测试

4.1 程序调试

在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。

第 30 页

4.2 程序的测试

4.2.1 测试的重要性及目的 (1)测试的重要性

软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:

① 认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;

② 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;

③ 测试工作枯燥无味,不能引起人们的兴趣; ④ 测试工作是艰苦而细致的工作;

⑤ 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。

第 31 页

这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。 (2)测试的目的

如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。 ① 软件测试是为了发现错误而执行程序的过程; ② 测试是为了证明程序有错,而不是证明程序无错误; ③ 一个好的测试用例是在于它能发现至今未发现的错误; ④ 一个成功的测试是发现了至今未发现的错误的测试。

这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

4.2.2 测试的步骤

与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:

(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。 (2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。

(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。 4.2.3 测试的主要内容

为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、

第 32 页

集成测试、确认测试和系统测试。 (1)单元测试

单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2)集成测试

集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 (3)确认测试

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。 (4)系统测试

软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。

单独对系统的测试主要从以下几方面入手:

① 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。

② 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。

③ 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。

经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。

第 33 页

5、结论

5.1 系统评价

本文通过本系统设计与开发,从而得出下列结论:

(1)学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它。 (2)一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。

(3)要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。不过由于经验不足,我设计的图形界面比较简单。只是对基本功能进行了开发。

(4)本次开发,我参考了很多本系统的例子,吸取了一些别的本系统的长处,对自己的毕业设计进行了完善,但是还有很多的不足之处,有待以后进一步学习。 实践证明,本系统有着很好的发展前景,经测试运行。本文所制作的系统界面友好、使用灵活、操作简单、功能齐全、表现方式独特,已基本具备了成熟的技术理论。

由于时间仓促,本次设计由我完成本系统的制作,对我这样一个JSP新手而言所制作的模块还有不完善的地方。数据库的设计也比较简单。还有很多毕业设计中用到JSP语言的知识也不够全面,还有很多地方不能够作到完全的理解和掌握。通过这次毕业论文的设计制作使本人受益匪浅。首先,由于毕业设计所用的JSP技术和其中用到JSP语言的其他部分是在课堂上没有接触过的,要用它来做设计必须通过大量自学来掌握,在这个过程中,不仅大大提高了我的自学能力而且让我对JSP的学习有了进一步的认识 。由于是独立完成在毕业设计的过程遇到了很多的困难,我求教了不少老师和同学,在这个过程中让我体会到了,一个团队的重要性。

5.2 安全性问题

Web开发中安全性是必须考虑的一个很重要的方面,特别是在诸如个信息等敏感数据的模块中更是关键,所以这也是后期开发需要引起重视的。下面就这方

第 34 页

面的技术和解决方案加以讨论。

(1) 安装防火墙:安装防火墙并且屏蔽数据库端口能有效地阻止了来自Internet 上对数据的攻击。

(2) 输入检查和输出过滤:用户在请求中嵌入恶意HTML标记来进行攻击破坏,防止出现这种问题要靠输入检查和输出过滤,而这类检查必须在服务器端进行,一旦校验代码发现有可疑的请求信息,就将这些可疑代码替换并将其过滤掉。

第 35 页

致谢

在本次毕业论文过程中,得到了指导老师和同学的指导与支持。在此特别感谢指导老师和同学的大力帮助。指导老师、同学的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业论文起到了关键性的作用。

我还要感谢我的母校,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业论文我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。

第 36 页

配置及使用说明

程序配置按照一下步骤进行,缺一不可。

--------------------------------------------------------------------------------------------------

1、下载开发工具myeclipse,下载地址:http://pan.http://www.wodefanwen.com//s/1vITYi 2、下载数据库服务端工具,下载地址:http://pan.http://www.wodefanwen.com//s/1c0mr7eo 3、下载数据库客户端工具(2选1),

XP或win7_32位操作系统下载地址:http://pan.http://www.wodefanwen.com//s/1gdkj5xp win7_64位操作系统下载地址:http://pan.http://www.wodefanwen.com//s/1hqfxJ3e

4、工具下载好以后请逐一安装,3个工具的安装过程都全部选择下一步,直至安装完成。

5、安装好以后,请下载配置教程,进行配置。下载地址:http://pan.http://www.wodefanwen.com//s/1bn8F1wF

安装SQL Server2005 29506错误码的解决方案

http://www.http://www.wodefanwen.com//baidu?word=sqlserver2005 29506&tn=myie2&ch=3

第 37 页

参考文献

[1] BruceEckel.《JAVA编程思想》. 机械工业出版社,2003年10月:1-378 [2]赛奎春.《JAVA工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294 [3]FLANAGAN.《JAVA技术手册》. 中国电力出版社,2002年6月:1-465 [4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210 [5]LEE ANNE PHILLIPS.《巧学活用 JSP》.电子工业出版社,2004年8月:1-319 [6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300

[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354 [8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246 [9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460

[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268 [11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410 [12]朱红,司光亚.《JSP编程指南》..电子工业出版

第 38 页

本文来源:https://www.bwwdw.com/article/cstr.html

Top