《网上教材信息管理系统--计算机软件学位论文.doc》由会员分享,可在线阅读,更多相关《网上教材信息管理系统--计算机软件学位论文.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大学毕业设计报告题目: 网上教材信息管理系统 所在学院: 信息工程学院 班 级: 计科1002 学 号: 101304209 姓 名: 指导教师: 2014年5月23日目 录1、引言11.1 教材管理系统的意义21.1.1 开发背景21.1.2 最终用户群体21.1.3 课题研究意义21.2 工具及环境选择32、需求分析及设计目标32.1 用户需求分析32.2 本课题要达到的设计目标43、系统设计43.1 系统构建思想53.2 系统的体系结构53.2.1 系统的功能模块图53.2.2 系统流程图73.2.3 实体关系图(图)73.3 数据库设计83.4 系统界面及代码设计113.4.1 登陆1
2、13.4.2 教材管理133.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 用户管理.284、系统调试与测试304.1 程序调试304.2 程序的测试314.2.1 测试的重要性及目的314.2.2 测试的步骤324.2.3 测试的主要内容325、结论335.1 系统评价345.2 安全性问题34致谢36配置及使用说明.37参考文献381、引言随着计算机技术的快速发展和教学管理业务的日益复杂,越来越多的教学部门开始将教材管理系统应用到日常管理中,以提高工作效率和
3、管理质量。教材管理是教学的重要环节,如果开发一个教材管理系统,将会对教材的管理起到很大的辅助作用。1.1 教材管理系统的意义1.1.1 开发背景 一所综合性高校,涉及的专业课程很多,教材用书种类多,数量大,传统的管理方法效率会低一点,容易出错等诸多弊端,一些学生、教师对教材使用情况了解相对较少,信息的透明度比较低,与当前高校管理中倡导的“以人为本”的管理思想存在着很大的差距。再说近年来,随着扬州大学信息工程学院信息化改革的深入和持续多年的扩招,扬大的大学生和研究生数量迅速增加,因而对传统教材的需求量和使用也相应地大幅度增加,同时,由于在各大高校,为适应人才市场的需要,也在不断地进行着专业的调整
4、和更新,课程改革也在逐步推进,从而使得学校里所使用的教材种类越来越多,手工或效率较低的软件对于教材管理而言,使得工作人员和管理部门的劳动强度越来越大,为获取有效的信息所花费的时间也越来越长。现代科学技术和人文管理等知识更新很快,相应的是大学的教材也应该随之快速更新,但在使用传统的方法进行教材管理时,在教材选用计划的制定、教材入库、教材发放、结算、统计、信息收集和反馈等一系列的管理过程中,其周期过长,使得教材的选用和淘汰等明显地滞后于知识、技术的发展和教材本身版本的更新,而很多的用人单位在聘用大学毕业生时,却要求他们具有较新、甚至是最新的知识结构. 基于这些原因必须开发一项基于web的扬大教材管
5、理系统来解决现有的问题。1.1.2 最终用户群体本系统主要完成了一个教材管理系统,其主要实现学生、教师、教材科的订书,学生、教师的领书功能,对订书的情况做统计,为师生提供各种条件的教材信息查询等功能。1.1.3 课题研究意义 每个新学年开始教材的预订、分发以及教材的财务管理等工作量比较大,很主要的因素就是教材管理的方法和手段的落后.显然这与院校当前教学改革的步调不一致,更难以满足以后更多学生所需教材的管理.为了将管理人员从繁琐的工作中解脱出来,让教师领书让导员发书更方便快捷,让学生能够准确及时的得到所学教材,从根本意义上真正地实现办公自动化,并充分发挥计算机管理的作用,研制和开发教材管理系统具
6、有十分重要的现实意义。1.2 工具及环境选择开发环境:WEB服务器:Window2000 Server、Tomcat、JDK;DB服务器:SQL SERVER2000;客户端:Windows2000/Xp、IE4.0以上;开发语言:JspJava。开发工具Eclipse、Dreamweaver MX 2004等Web开发工具2、需求分析及设计目标2.1 用户需求分析教材管理的主要工作是基本信息管理、教材选定、教材预定、教材入库、教材发放、教材日常查询等,良好地完成这些工作需要教务员定期的对库存教材进行查询和统计分析,并及时与各年级和导员取得联系,征求各方面的建议及要求,工作性质十分重要,工作量
7、极大。(1) 基本信息的管理。在做教材管理系统之前必须了解各种价值的信息并对其加以管理,这里主要用到的是教材的基本信息管理、教师基本信息的管理、课程基本信息的管理、学生基本信息的管理,分别对他们做增删改查的操作。(2) 教材定购。教材的预订工作基本上是根据课程和年级来完成。教材科将教材征订通知下发到教务员,各年级从中选订所开课程的教材,填写预订单,经系、部汇总报教材科。教材科汇总报教务处审批后,编制填写正式订单寄发到各出版社。(3) 教材入库业务。出版社到书后教务员统计出已到和未到教材。把各类教材进行入库分类。(4) 教材发放。教务员能常按年级专业预定的人数发放给年级导员。再由导员发放给学生使
8、用。(5) 查询。查询主要分基本信息的查询和教材入库出库后的查询,教材出入库的查询统计出具体各类教材的到货和库存剩余的查询。2.2 本课题要达到的设计目标1、 基本信息管理:教材基本信息管理、教师基本信息管理、学生基本信息管理、科目基本信息,对这些信息进行增删改查功能。2、 教材选定:对各年级各专业定购各类教材的选定。3、 教材预定:教材计划信息表、库存现有查询,根据教材信息表来制定购书定单,再根据库存现有教材进行教材订购。4、 教材入库功能:对入库的教材进行登记、查询生成新的入库表单。5、 教材发放功能:对已交费的学生进行教材的发放做登记和汇总生成新的出库表单。3、系统设计本系统是一个面向扬
9、大教材管理人员、教师和学生,为其提供服务的教材管理系统。教务人员通过本系统完成所有的日常教材管理工作。从学生入学开始到毕业离校,其在学校内的所有和教材相关的数据都通过教材系统进行管理。3.1 系统构建思想随着现代电子通信信息技术的发展,教材管理系统已经成为目前高校必不可少的管理系统,不但要脱离仅仅依赖用户手工的管理,而且也要向网络方向发展。特别是在当前计算机信息技术高速发展的时代,人们开始充分利用现有的资源,来进行学校教务的管理,开始逐渐脱离原先教务系统使用C/S结构的地域的局限性,使用B/S开发模式的优势,使得系统应用范围更广。在多地域、任意时间段以不同身份来访问教材系统中的数据,大大加强了
10、系统数据共享的能力。本系统采用SQL Server作为后台的数据库,采用标准MVC三层架构(JSP-JavaBean-Servlet三层结构)开发模式,其中Servlet担当主要逻辑控制,通过接受JSP传来的用户请求,调用以及初始化JavaBean,再通过JSP传到客户端,本系统中SqlBean担当主要的与数据库的连接和通信,JavaBean在本系统中主要担当配合JSP以及Servlet来完成用户的请求,而JSP主要担当接受与响应客户端。通过这种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组件可以进行交互和重用,提高了开发效率,是目前比较流行的方式。3.2 系统的体系结构3
11、.2.1 系统的功能模块图系统主要分为以下几个功能分别是基本信息管理功能、教材日常管理功能、教材各类查询功能以下几个模块,基本信息管理功能里分为对教材基本信息的管理、教师基本信息的管理、学生基本信息的管理、课程基本信息的管理,教材日常管理功能分为教材的选定、预定、入库登记和出库登记的管理,教材的查询是对入库出库购买教材的各类查询统计,具体功能模块如图3-1所示图3.1 系统功能模块图本系统只有教务员一个人使用,所以不用考虑权限的问题。教务员直接输入用户名和密码即可进入本系统。基本于web的教材管理系统可划分为三大功能模块:1 基本信息管理功能模块:该模块主要分为教材信息管理、教师信息管理、课程
12、信息管理、学生信息管理几部分,主要是通过录入各类基本信息后对这几个表进行查、删、改操作为以后的各类统计打下基础。. 教材日常管理功能模块:教材日常管理功能包括教材选定、教材定购、教材入库登记和出库登记四个部分,教材选定是根据年级和所学课程选定所用的教材,教材定购是通过选定的教材和库存现有教材和教师领取的教材数来下订单,教材入库登记是对已到教材数的统计,比如到货时间数量等。教材出库登记是对学生和教师发放和领取的登记,学生的发放又分为统一发放和单个领取二类发放。3 . 教材查询功能模块: 教材查询功能主要分为教材订购信息的查询、教材入库信息的查询、教材出库信息的查询。教材订购信息的查询主要是对教材
13、订购数量和到货时间一类的查询统计,教材入库信息查询是对教材入库的价格和数量的统计,教材出库数量的查询主要分为对学生教材出库的查询和教师教材出库的查询,学生教材的出库又分为统一发放教材的出库和单个领取的出库。3.2.2 系统流程图系统登录界面输入操作员及密码系统主界面系统管理错误信息数据库检查密码错误密码正确功能界面功能处理3.2.3 实体关系图(图)根据模块功能图的分析定下了五个实体分别是课程、教师、学生、教材、年级这五个实体,根据所学的课程和各年级来选定教材再通过库存和教师领取的人数来确定最终要买的教材,为其下最终的订单。教师可以领取材,学生可以购买教材。具体ER图如3-2所示。图3-2 系
14、统E-R图3.3 数据库设计1 名称:教材选定信息表(jcxd)字段含义字段名称类型及宽度主键非空说明课程号xd_kchint(20)YY年级专业号xd_njzyhint(20)NY教材代码xd_jcdmint(20)NY学期xd_xqvarchar(20)NY备注xd_bzVarchar(20)NY2 名称:教材基本信息表(jcxx)字段含义字段名称类型及宽度主键非空说明教材代码Jc_jcdmInt(20)YY教材名称Jc_jcmcVarchar(20)NY类别Jc_lbVarchar(20)NY单价jc_djInt(20)NY出版社Jc_cbsVarchar(30)NY作者Jc_zzVar
15、char(20)NY库存数量Jc_kcslint(20)NY备注Jc_bzVarchar(20)NN3 . 名称: 教材订购信息表(jcdg)字段含义字段名称类型及宽度主键非空说明教材代码dg_jcdmint(20)YY订购数量dg_dgslInt(20)NY已到教材Dg_ydjcInt(20)NY未到教材Dg_wdjcInt(20)NY备注Dg_bzVarchar(20)NN4 . 名称:年级信息表(njxx)字段含义字段名称类型及宽度主键非空说明年级专业号nj_njzyhint(20)YY年级专业名nj_njzymVarchar(20)NY导员名nj_dymVarchar(20)NY年级人
16、数Nj_rsInt(20)NY备注Nj_bzvarchar(20)NN5 . 名称:学生信息表(xsxx)字段含义字段名称类型及宽度主键非空说明学号Xs_xhint(20)YY年级专业号Xs_njzyhint(20)N(外键)Y姓名Xs_xmVarchar(20)NY性别Xs_xbVarchar(1)NY交费情况Xs_jfqkVarchar(20)NY未交费的画*6 . 名称: 教师基本信息表(jsxx)字段含义字段名称类型及宽度主键非空说明教师号Js_jshint(20)YY教师名Js_jsmVarchar(20)NY学历Js_xlVarchar(10)NY电话Js_dhint(10)NY7
17、 . 名称: 课程基本信息表(kcxx)字段含义字段名称类型及宽度主键非空说明课程号Kc_kchint(20)YY课程名Kc_kcmVarchar(20)NY学时Kc_xsVarchar(20)NY类型Kc_lxVarchar(20)NY考试、考查8 . 名称:教师领取教材信息表(jslq)字段含义字段名称类型及宽度主键非空说明教师号jlq_jshint(20)YY教材代码jlq_jcdmint(20)NY领取本数jlq_lqbsint(20)NY领取时间jLq_lqsjvarchar(20)NY备注Jlq_bzVarchar(20)NY9 . 名称:学生购买教材信息表(xsgm)字段含义字段
18、名称类型及宽度主键非空说明自动编号Gm_idInt(20)YY学号Gm_xhint(20)NY教材代码Gm_jcdmint(20)NY购买本数Gm_gmbsInt(20)NY购买时间Gm_gmsjVarchar(20)NY类型Gm_lxvarchar(20)NY统一、单个领取人Gm_lqrvarchar(20)NY备注Gm_bzVarchar(20)NY10 . 名称: 教材入库表(jcrk)字段含义字段名称类型及宽度主键非空说明教材代码Rk_jcdmint(20)YY数量Rk_slInt(20)NY入库价格Rk_rkjgInt(20)NY教材来源Rk_jclyVarchar(20)NN书的经
19、手人入库时间Rk_rksjVarchar(20)NY备注Rk_bzVarchar(20)NY3.4 系统界面及代码设计3.4.1 登陆当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对相应的窗口进行操作。如下图所示:主要代码如下:package util;import java.sql.*;public class DBConn static try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/ Class.forName(com.mysql.jdb
20、c.Driver); / Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(Exception ex) ex.printStackTrace(); public static Connection getConn() try Connection conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;databasename=hshygl,sa,123);/ conn = DriverManager.getConnection(jdbc:mysql:
21、/localhost/fzshop,root,123);/ Connection conn=DriverManager.getConnection(jdbc:odbc:temp); 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.c
22、lose(); catch(Exception ex) if(conn!=null) try conn.close(); catch(Exception ex) 3.4.2 教材管理管理员可以对教材信息进行管理,包括添加、删除、修改等操作。界面如下图所示:主要代码如下:package util;import java.sql.*;public class DBConn static try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/ Class.forName(com.mysql.jdbc.Driver); / C
23、lass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(Exception ex) ex.printStackTrace(); public static Connection getConn() try Connection conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/localhost:1433;databasename=hshygl,sa,123);/ conn = DriverManager.getConnection(jdbc:mysql:/localhost/fzs
24、hop,root,123);/ Connection conn=DriverManager.getConnection(jdbc:odbc:temp); 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(
25、Exception ex) if(conn!=null) try conn.close(); catch(Exception ex) 3.4.3 年级管理管理员可以对年级信息进行管理,包括添加、删除、修改等操作。界面如下图所示:主要代码如下:package util;import java.io.UnsupportedEncodingException;import java.text.SimpleDateFormat;import java.util.Date;public class Validate /* * 是否为数字和英文验证 * */public int getIntAndChar
26、(String str)char c;int i;for (i = 0; i=0 & c=a & c=A & c=Z)break;/判断字符是否在某个区间if(i str.length()return -1;elsereturn 0;/* * 是否为整数验证 * */public int getInt(String str)char c;int i;for (i = 0; i=0 & c=9)break;/判断字符是否在某个区间if(i str.length()return -1;elsereturn 0;/* * 是否为非法字符验证 * */public boolean getLawless
27、Char(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 & : flag = true; break;case : flag = true; break;return flag; 3.4.4教材入库功能 对入库的教材进行登记、查询生成新的入库表单.主要代码如下:public int addRk(String Rk_jcdm,Strin
28、g Rk_sl,String Rk_rkjg,String Rk_jcly,String Rk_rksj ,String Rk_bz)String sql = insert into jcrk(Rk_jcdm,Rk_sl,Rk_rkjg,Rk_jcly,Rk_rksj, Rk_bz) +values(+Rk_jcdm+,+Rk_sl+,+Rk_rkjg+ ,+Rk_jcly+,+Rk_rksj+ ,+Rk_bz+ ) ;DBConn dbo = new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1)return C
29、onstant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finallydbo.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 = update jcrk set Rk_jcdm=+Rk_jcdm+,Rk
30、_sl=+Rk_sl+,Rk_rkjg=+Rk_rkjg+,Rk_jcly=+Rk_jcly+, +Rk_rksj=+Rk_rksj+,Rk_bz=+Rk_bz+ where id=+id+;DBConn dbo = new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;
31、finallydbo.close();/删除public int delRk(String id)String sql=delete from jcrk where id=+id+;DBConn dbo=new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finally
32、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 = insert into jcxx(Jc_jcmc,Jc_lb,jc_dj,Jc_cbs,Jc_zz,Jc_kcsl,Jc_bz) +values(+Jc_jcmc+,+Jc_lb+,+jc_dj+ ,+Jc_cbs+,+Jc_zz+,+Jc_kcsl+,+Jc_bz+
33、) ;DBConn dbo = new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finallydbo.close();/修改public int upBook(String Jc_jcdm,String Jc_jcmc,String Jc_lb,String jc_
34、dj,String Jc_cbs,String Jc_zz,String Jc_kcsl,String Jc_bz)String sql = update jcxx set Jc_jcmc=+Jc_jcmc+,Jc_lb=+Jc_lb+,jc_dj=+jc_dj+,Jc_cbs=+Jc_cbs+,Jc_zz=+Jc_kcsl+,Jc_kcsl=+Jc_kcsl+,Jc_bz=+Jc_bz+ where Jc_jcdm=+Jc_jcdm+;DBConn dbo = new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1
35、)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finallydbo.close();/删除public int delBook(String Jc_jcdm)String sql=delete from jcxx where Jc_jcdm=+Jc_jcdm+;DBConn dbo=new DBConn();dbo.open();tryint i = dbo.executeUpdate(sql);if(i = 1)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finallydbo.close();public int getMessageCountJc() /得到信息总数 DBConn dbo=
限制150内