图书管理系统
功能描述 对图书进行类型设置分类,并对不同类型图书可被借阅的天数进行设置
访问的数据库表 进行的操作
图书类型表:tb_bookType
添加、修改、删除图书类型,对不同类型图书可被借阅的天数进行设置
产生的结果 结果存储位置或输出
对图书类型进行管理,对不同类型图书参数进行设置 结果存储在图书类型表(tb_bookType)中,结果在图书类型查询页面输出
表3.12 图书信息管理描述
功能描述 访问的数据库表 进行的操作
图书信息管理 对图书进行基本操作和信息管理
图书类型表:tb_bookType
添加、修改、删除图书,对图书的编号、所在书架、价格、出版社等基本信息进行管理
产生的结果
对图书基本操作管理,对不同图书参数进行各自信息的设置管理
结果存储位置或输出
结果存储在图书类型表(tb_book)中,结果在图书查询页面输出
3.2.5 图书借还模块功能
该功能模块主要实现对读者借阅、续接、归还图书的操作,其中子模块各自的描述如下各表所列:
表3.13 图书借阅描述
功能描述 访问的数据库表
图书借阅管理 对读者借阅图书进行基本操作和信息管理
图书信息表: tb_bookinfo 读者信息表:tb_reader 读者类型信息表:tb_resderType
进行的操作 产生的结果 结果存储位置或输出
对读者借阅图书进行管理
读者借阅成功,系统对借阅信息进行记录 结果存储在图书借阅表(tb_borrow)中,结果在图书借阅查询页面输出
13
图书管理系统
表3.14 图书续借描述
功能描述 访问的数据库表 进行的操作 产生的结果 结果存储位置或输出
图书续接管理 对读者借阅图书进行提续接操作
图书借阅表: tb_borrow
对借阅的图书进行续接 读者归还日期延后一个月
结果存储在图书借阅表(tb_borrow)中
表3.15图书归还描述
功能描述 访问的数据库表
图书归还管理 对读者归还图书进行基本操作和信息管理
图书借阅信息表: tb_borrow 读者类型信息表:tb_resderType
进行的操作 产生的结果 结果存储位置或输出
对读者借阅图书进行管理
读者借阅成功,系统对借阅信息进行记录 结果存储在图书归还表(tb_giveback)中
3.2.6 系统查询模块功能
该模块包括对图书馆藏书进行查询,对读者借阅情况进行查询,以及对借阅到期和超期的读者进行提醒的信息,其中三个子模块的各自实习如下所示:
表3.16 图书查询描述
功能描述 访问的数据库表 进行的操作
图书查询 系统用户对馆藏图书信息进行查询操作
图书信息表: tb_book
用户通过图书的编号,作者,出版社等信息对图书进行相关查询
产生的结果
读者查询到相应的图书或系统提醒查询的图书不存在
结果存储位置或输出
结果在图书查询页面输出
14
图书管理系统
表3.17 图书借阅查询描述
功能描述 访问的数据库表 进行的操作
图书借阅查询 系统用户对读者借阅图书信息进行查询操作
图书借阅表: tb_borrow
用户通过图书的编号,读者编号等信息对摸个读者或某本图书的借阅情况进行相关查询
产生的结果 结果存储位置或输出
查询到相应的读者或图书得借阅情况
结果在图书查询页面输出
表3.18 图书借阅到期提醒描述
功能描述 访问的数据库表
图书借阅到期提醒管理 对读者借阅的到期图书进行提醒
图书借阅表: tb_borrow 图书归还表:tb_giveback 读者信息表:tb_reader 读者类型信息表:tb_resderType
进行的操作 产生的结果 结果存储位置或输出
15
对借阅到期和超期的读者进行提醒
向借阅到期和借阅超期的读者发送邮件等提醒信息 结果存储在图书借阅到期提醒表
图书管理系统
4.程序设计与编码
4.1开发平台与工具
4.1.1 J2EE平台
J2EE ,即是Java2平台企业版(Java 2 Platform Enterprise Edition),是原Sun公司(现已被甲骨文公司收购)为企业级应用推出的标准平台。它简化了企业解决方案的开发、部署和管理相关复杂问题的体系结构,J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如\编写一次、随处运行\的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能[9]。
在开发图书馆借阅管理系统的过程中,应用eclipse6.0.1,它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。eclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript,GUI, SQL[10]。
4.2程序设计
4.2.1程序设计概述
在设计的Web层应用了著名的MVC模式,V有JSP来实现,为了业务逻辑和表示的分离.它是基于Web应用系统,它的客户端使用Broswer,然后是Web层的应用,业务逻辑层(有EJB实现),资源管理层。客户请求浏览页面,一般Web层的View有JSP组成,并且使用了大量Taglib。把每个请求映射到某个HTMLAction类来响应它。HTML Action类是一个标准的类,执行选择的HTML Action。使用MVC模式减少了代码的复制,即减少了代码的维护,由于模型返回的格式不带任何显示格式,因而模型可以直接应用于接口的使用,还因为MVC模型把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说包含了用户请求权限的概念[13]。
在设计中还因应用了Struts框架,Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制[11]。
16
图书管理系统
除此之外,Struts的优点主要集中体现在Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处[11]。
4.2.2数据库与Web服务器的连接
数据库连接时采用连接池技术链接MySQL,具体代码实现如下:
public ConnDB(){ try { InputStream in=getClass().getResourceAsStream(propFileName); prop.load(in); //通过输入流对象加载Properties文件 dbClassName = prop.getProperty(\//获取数据库驱动 dbUrl = prop.getProperty(\
\ } catch (Exception e) { e.printStackTrace(); //输出异常信息 } } public static Connection getConnection() { Connection conn = null; try { Class.forName(dbClassName).newInstance(); conn = DriverManager.getConnection(dbUrl); } catch (Exception ee) { ee.printStackTrace(); } if (conn == null) { System.err.println( \警告: DbConnectionManager.getConnection() 获得数据库链接失败.\\r\\n\\r\\n链接类型:\ dbClassName + \链接位置:\dbUrl); } return conn; } /* * 功能:执行查询语句 */
17