J2ee课程设计文档

上传人:无*** 文档编号:172189015 上传时间:2022-12-01 格式:DOC 页数:23 大小:1.63MB
收藏 版权申诉 举报 下载
J2ee课程设计文档_第1页
第1页 / 共23页
J2ee课程设计文档_第2页
第2页 / 共23页
J2ee课程设计文档_第3页
第3页 / 共23页
资源描述:

《J2ee课程设计文档》由会员分享,可在线阅读,更多相关《J2ee课程设计文档(23页珍藏版)》请在装配图网上搜索。

1、 J2EE与中间件课程设计报告 课程设计题目: 图书馆管理系统 班级: 软件工程2011级1班 小组成员: 信息科学与工程学院2014年06月目录一、图书馆管理系统现状2二、涉及的技术42.1 登陆页面采用cookie 技术42.2 JQuery技术42.3 数据库连接池42.4 MVC架构5三、设计任务53.1用例设计53.2界面设计53.3数据库设计53.4编码设计5四、功能描述54.1用例设计54.2界面设计64.3 数据库设计74.4 编码设计7五、功能实现85.1用例设计85.2 界面设计105.3数据库设计155.4编码设计15六、实验体会206.1遇到的困难206.2经验:20七

2、、组内分工21一、图书馆管理系统现状图书馆因客观需要产生,因其得到利用而不断发展。由于社会经济和科学技术的发展,出版物品种和数量的激增及计算机技术在图书馆的广泛应用,国内外图书馆事业都发生了很大的变化。这与图书馆管理水平是和图书馆事业的发展是分不开的。1.1、国内现状近十几年来我国图书馆的馆舍建筑、硬件设施、资源建设等各个方面的条件都有了很大的变化和发展。对人员队伍建设日益重视。从总体上看,图书馆管理水平有了较大的提高。主要表现在两方面,一是图书馆管理思想与服务理念由传统图书馆向现代图书馆转变,二是受信息技术发展的影响,我国图书馆管理创新和管理现代化的进程同样呈现信息化的趋势,这主要表现为计算

3、机等管理手段在图书馆的应用。新技术的应用对传统图书馆的冲击 现代技术的应用对图书馆发展的影响是有目共睹的。信息技术革命为图书馆的发展提供了极为广阔的空间。推动了图书馆基础业务由手工方式向计算机化和网络化发展,推动了传统图书馆向自动化图书馆和数字图书馆发展。目前我国图书馆管理体制的基本特征是条块分割,各自为政,各图书馆的组织机构都是按主管机构的行政隶属关系建立起来的,各个图书馆依附于所在系统的行政管理部门而存在。缺乏宏观指导、调控的能力,阻碍了文献资源的共建、共知、共享,同时更不利于整体网络化建设。另外高素质管理人才短缺,全员素质有待提高。图书馆不仅罕见工商管理或公共管理学位的管理者,且不少人员

4、缺乏职业图书馆管理者的基本素质。同时,职工整体素质偏低,知识结构不尽合理,高素质、综合型人才缺乏,造成创新能力严重不足。1.2、国外现状国外尤其在西方国家由于科学技术和经济发达的原因,图书馆行业比较受重视和发达,在英国和美国,以及澳大利亚等国的图书馆,图书馆先进的管理手段促进了其现代化管理水平的不断提高。特别是自动化和网络化的飞速发展,给图书馆事业发展带来了勃勃生机,特别是英国的大学,例如剑桥大学共有 90 个图书馆,牛津大学现有 100 多个规模不等、馆藏不一和服务多样的图书馆。另外在英国,除了对图书馆工作人员有严格的要求外,图书馆本身还有专门的部门负责职工培训,一般与实际管理工作紧密结合。

5、英国全国图书馆协会对全国范围内的各级各类图书馆职工管理培训起领导作用,国家级培训主要由这个协会负责并承担。它不仅对馆员资格有皇家特许认证权,更重要的是它有一系列的培训课程和专业指导。这种培训格局,使图书馆工作人员继续教育不断强化,专业素质不断提高。以美国为例,美国国土面积和我国相差不大,人口不足我国的 1/4,但其公共图书馆总数量却为我国的3 倍。美国各种不同类型的图书馆由不同的上级行政部门负责,如法律图书馆由法院管理等,另外美国图书馆相关法己成体系,各州、郡内又有自己的图书馆法律,这些法律明文规定图书馆的性质、每年的经费投入、每人每年需要的财政补助等,美国图书馆的所有工作都是围绕一切为了读者

6、这个中心展开的。因而处处体现出一种开放的服务意识。图书馆的藏书布局没有固定格式,但有共同特点,那就是以方便读者使用为目的。大多按学科内容分类,采用全方位的开放式布局。在服务方式上采用借书、阅览、咨询、检索一体化的服务手段。在同一个地方,既开架借书,又可阅览和进行检索咨询,对图书馆管理而言,管理工作极其简便,减少了管理层次和中间环节。而澳大利亚大学图书馆现状是,其传统的工作岗位正在减少,同时也不再以读者对象或文献类型划分阅览室或书库,全馆只有一个出入口,通常是流通部门的管理终端设在图书馆进出口处,图书馆的工作重心已从信息处理向信息咨询服务转移,配置较多的人员去做信息研究和咨询服务,有助于网络作用

7、的发挥和提高文献的利用率。二、涉及的技术2.1 登陆页面采用cookie 技术 将用户名和密码保存在本地,每次登录时先检验cookie表中有无记录的的用户名和密码,如果cookie存在用户的登录信息,则用户无需再次输入即可登录本论坛。2.2 JQuery技术 本系统的javascript采用了技术比较成熟的Jquery,包括界面元素的获取和赋值,动态菜单效果的实现等都采用了该技术,使得开发效率得以提高。2.3 数据库连接池 为减轻数据库连接的负担,提高系统的性能,采用了proxool数据库连接池技术。因为系统比较小,设定最小的连接数1,最大连接数500,超时设定60000。2.4 MVC架构

8、为提升系统的性能,使开发思路更加清晰,采用了JSP+Servlet+bean的MVC架构。视图层采用JSP负责页面显示和呈现处理结果,控制层采用Servlet负责请求转发和业务逻辑的处理,bean+DAO属于模型层,负责访问数据库和持久化数据。三、设计任务3.1用例设计 通过用例的分析获取并明确需求,细化每个用例的业务流程,由小组成员共同负责3.2界面设计 设计交互良好地界面,获取用户输入,并呈现处理结果,由于小组成员是按照模块进行分工的,在同一的CSS下,每一个成员全权负责自己模块的界面设计。3.3数据库设计 小组成员通过用例的分析,获取初始的实体,进而详细分析其属性等,最终生成数据库的物理

9、结构和相应DBMS的数据库结构,最后由徐文雯负责设计。3.4编码设计 根据前期的分析与设计,实施编码工作,按模块分工,小组成员共同完成。四、功能描述4.1用例设计在该设计阶段主要完善对需求的分析。4.2界面设计在该设计阶段,需要完成该图书馆管理系统所需的静态页面:A 登陆页面B 普通用户主界面 b1 馆藏图书查询界面 b2 已借图书查询界面b3 图书收藏查询界面b4 图书续借界面b5 用户指南界面b6 密码修改界面C 管理员主界面:c1 馆藏图书查询界面 c2 已借图书查询界面c3 图书收藏查询界面c4 图书续借界面c5 用户指南界面c6 借书管理界面c7 还书管理界面c8 过期图书管理界面c

10、9 图书采购管理界面c10添加普通用户界面c11 添加图书馆管理员界面c12 用户信息管理界面c13 密码修改界面4.3 数据库设计确定需要持久化的实体:用户表:用户编号(PK) +姓名+密码+邮箱+权限值图书表:图书编号(PK)+图书名称+出版社名称+图书作者+图书出版日期+图书价格+图书分类编号(FK)+图书位置+图书数量+图书借出数目图书分类表:图书分类编号(PK)+图书分类名称图书借阅表:借阅时间+图书编号(FK)+用户编号(FK)+图书数量4.4 编码设计在此阶段主要进行架构设计:在本项目中采用比较熟悉的MVC架构设计。主要包括:M是指数据模型,V是指用户界面,C则是控制器。使用MV

11、C的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式 视图:作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型:被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。五、功能实现5.1用例设计图 1普通用户用例图图 2图书馆管理员用例图5.2 界面设计图 3 图书馆管理系统

12、登录界面图 4普通用户首页图 5图书馆管理员首页图6密码修改页面图 7用户指南页面图 8管理员添加普通用户界面图 9图书馆管理员添加图书馆管理员界面图 10借书管理界面图 11还书管理界面图 12图书注销管理界面图 13图书采购管理界面图 14馆藏图书查询界面5.3数据库设计图 物理数据库视图5.4编码设计程序设计的模块较多,下面为程序的核心代码:/数据访问层DAO的主要基类BaseDAOpublic abstract class BaseDao protected Connection conn;protected PreparedStatement stmt;protected Resul

13、tSet rst;protected CallableStatement calltmt;/* * 获取连接的方法 */protected final void getConnection() throws SQLException conn = DBConnection.getConnection();/* * 释放资源的方法 */protected final void closeAll() if (rst != null) try rst.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printSta

14、ckTrace(); finally rst = null;if (stmt != null) try stmt.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally stmt = null;if (stmt != null) try conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally conn = null;/执行S

15、QL语句的方法protected final int executeSQL(String sql,List params)int count = 0;try this.getConnection();stmt = this.conn.prepareStatement(sql);setPreparedStatement(params);count = stmt.executeUpdate(); catch (SQLException e) e.printStackTrace(); finally this.closeAll();return count;/设置SQL的各个参数public voi

16、d setPreparedStatement(List params) throws SQLException if (params != null & params.size() 0) for (int i = 0; i 0)return (LoanBook) list.get(0);/ 图书不存在elsereturn null;/* 图书数目加一 * see com.dao.LoanBookDao#UpDateAdd(com.entity.LoanBook) */Overridepublic int UpDateAdd(LoanBook loanBook) String sql = UPD

17、ATE LoanBook SET BookNum=BookNum+1 WHERE BookNo=?;List params = new ArrayList();params.add(loanBook.getBookNo();System.out.println(BookNo+params);int i = super.executeUpdate(sql, params);return i;/* 图书数目减一 * see com.dao.LoanBookDao#UpDateSub(com.entity.LoanBook) */Overridepublic int UpDateSub(LoanBo

18、ok loanBook) String sql = UPDATE LoanBook SET BookNum=BookNum-1 WHERE BookNo=?;List params = new ArrayList();params.add(loanBook.getBookNo();System.out.println(BookNo+params);int i = super.executeUpdate(sql, params);return i;/* 删除借书表信息 * see com.dao.OverdueBookDao#delete(com.entity.Books) */Override

19、public int deleteFromLoanBook(OverdueBook overdueBook) String sql = DELETE FROM LoanBook WHERE BookNo=+ overdueBook.getBookNo();int i = super.executeUpdate(sql, null);return i;/* 删除图书表信息 * see com.dao.OverdueBookDao#deleteFromBooks(com.entity.OverdueBook) */Overridepublic int deleteFromBooks(Overdue

20、Book overdueBook) String sql = DELETE FROM Books WHERE BookNo=+ overdueBook.getBookNo();int i = super.executeUpdate(sql, null);return i;六、实验体会6.1遇到的困难1. 路径跳转问题:404错误是在项目中遇到次数最多的错误。2. 删除不成功数据库设计中,各表格之间通过外键关联,有时候不能进行级联删除。3 乱码问题好多页面出现中文乱码问题,前台后台转码相对复杂4. 页面的布局问题许多页面布局复杂,实施起来相对困难5.空指针问题在项目中问题仅次于404错误的就是5

21、00错误这一问题,出现这一问题的绝大部分原因是自己编码部分处理数据不对。6.2经验:1 小组内合作非常重要,要让每个人发挥最大的潜能,尽力完成小组的总任务,项目后期的协调和整合也十分重要;2 学习并熟练掌握了MVC的开发框架,深刻体会到了MVC对WEB项目带来的好处,分层思想初步建立,为后期的实训打好了基础;3 锻炼了动手能力,对以往学习的知识进行了重新的检验和梳理,包括数据结构、设计模式、JAVA基础的知识;4 遇到困难及时找资料或者讨论解决,提高了自己解决问题的能力。5 小组内的信息交流非常重要,后期合并的时候出现问题就是因为小组内信息交流不畅引起的。6 编码之前一定设计好数据库,在后期编

22、码中尽量不要轻易改变数据库。7 编程是一门需要逻辑的工作,也是一门需要耐心与细致的工作,有一些粗心的错误需要极其大的耐性和不断的调试才能解决8 有些功能看上去高大上实现起来却很简单,有些功能看上去很基础而实现起来却很难。9 对于语言的话,个人是觉得在合适的地方用合适的语言是很重要的。如何选择即符合自己的审美要求,又能适合开发的场景,还能考虑语言自身的特性,其实这要根据个人的经验以及喜好来决定的。10 良好的沟通。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通。在一个项目的开发过程中,小组成员是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要队内沟通,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发七、组内分工本组共四名成员,我们的分工如下表所示:表 1组内成员分工表

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!