基于javaEE知无涯精品图书数据库的设计与实现
2017-07-10韩建芳三亚学院572000
韩建芳 (三亚学院 572000)
基于javaEE知无涯精品图书数据库的设计与实现
韩建芳 (三亚学院 572000)
庄子云:“吾生也有涯,而知也无涯。” 知无涯精品图书数据库以推荐值得大学生阅读的图书为中心,以扩大学生知识面和提高学生学习积极性及兴趣为目的,进行资料搜集并建库。该数据是基于javaEE开发的,数据库的内容包括名家书架(名人名著、茅盾文学奖、鲁迅文学奖、诺贝尔文学奖等获奖作品,媒体推荐的好书)、学科博览(各学科专业的优秀图书)、读者感言、新书动态等栏目。
JavaEE;jsp;数据库;网站设计
1 基于JavaEE平台开发体系结构
1.1JavaEE与.Net平台比较
目前,在Internet环境中,三层或是多层的应用模式是企业级应用系统比较常采用的模式。为了实现对多层结构的部署开发,亟需构建其一整套完整、成熟的、以分布式计算机和网络为技术基础的应用框架,从而为多层应用提供相应的支撑平台。基于JavaEE的解决方案和基于.Net的解决方案在应用能力上各有千秋。
1.1.1技术概要
从表现形式方面来说,JavaEE隶属于规范范畴,而.Net则是一种产品。虽然两者在结构架构上存有许多共通之处,都是为企业提供更加可靠的、分布的解决方案。但在商务系统搭建方面,JavaEE凭借其灵活性、伸缩性以及易维护性略胜一筹。
1.1.2技术比较
作为全能的框架平台,.NET来自于微软,无论是C++、C#、J++还是VB、ASP等语言,它都支持,并且能够满足C/S、B/S和单机等的开发需求。首先,.NET会将这些不同的语言编译成CLR语言,这样不同的语言就可以无差别、无障碍地在.NET Framework上面运作了,这也是2000年以后微软开发出的最为重要的套件产品之一。此外.NET 具有较高的便捷性、较低的门槛以及良好的在线服务和文档支持等特点,所以它在一开始的时候就吸引了一大批使用者和爱好者。
从严格意义上来讲,javaEE称不上框架,只能称之为一种技术规范的集合。早在1995年的时候,SUN公司率先Java语言,其理念先进、语法比较优美、思想较为完善,尤其是对微信设备和网络具有较高的支持性,所以许多程序员都十分喜爱Java语言,Java语言也因此成为了最受欢迎、且使用最多、涉及范围最广的一种程序语言。
Net技术源自于一家公司,多种语言都支持,无论是软件还是硬件都需要付费;Windows操作系统是其唯一支持的系统;没有开源社区的支持;主导设计者是框架开发者;进入门槛不高;更新换代速度不快。
JavaEE技术则源自于多家公司;仅仅支持一种语言;框架多为免费使用,需要付费的是硬件和中间件;最佳实践设计模式成果比较多;对于所有的操作系统都能够支持,无形之中大大降低了使用成本;具有活跃的开源社区,很多规范都出自于一线技术开发者;整个系统比较庞大复杂,需要花费较长的时间去熟知它;更新换代速度比较快,新标准不断涌现,深得技术爱好者的青睐。
2 系统需求分析
2.1需求分析
所谓的软件需求分析就是对软件的可行性进行精准化的分析,研究各种解法,并对应地分给不同的软件元素。可以说,在软件定义阶段,需求分析是其最后的一个阶段,在这一阶段首先要确定那些工作是必须要完成的,并且能够针对具体目标提出较为清晰、完整的详细要求。
本系统的开发宗旨,以及总体任务就是要为读者提供值得阅读的图书。
描述系统的需求也就四需求分析,其主要目的是要建立起一种沟通机制(介于读客和图书网站两者之间)。由此可以推断出,开发人员和客户是图书数据库管理系统的共同建设者。
要想实现精准的需求分析,首先就是要具备描述知无涯精品图书数据库的功能,既定义用意,以此确定系统的功能需求。
图书网站管理系统的用例包括:
(1)管理员方面,能够及时更新和管理网站的总体资料。
(2)要确保用户浏览图书信息的便捷性。
(3)确保用户能够快速查看到推荐最新图书等。
(4)系统管理员可以维护用户信息,用户的功能,审批前台显示图书信息,只有通过审批才能在前台的主要面被读者浏览。
2.2整体系统模块设计
2.3系统功能概述
针对一个图书数据库需要实现以下功能:
2.3.1前台
前台结构图如下:
(1) 浏览
客户在网站前台主要浏览图书。
(2) 在线查看
客户可以在网站前台在线查看图书信息。
(3)图书查询
客户可以在前台查询图书信息。
(4)注册用户和登录
用户在网站前台主页可以注册本系统的会员,并登录系统。
2.3.2后台
(1)图书类型管理
产品类型可以在后台添加和删除,目前就图书一种产品类型。
(2)图书管理
图书管理主要是对图书的增删查改和对发布的图书信息审核和推荐。
(3)用户管理
用户主要有普通用户和管理员。
(4)超链接管理
管理员登陆系统后可以添加超链接。
(5)广告管理
系统管理员可以添加广告。
3 数据库模型设计
知无涯网主要有以下实体:用户,图书,图书类型,超链接,新书。简要设计如下:
(1)用户表,保存读者用户和管理员用户。
(2)图书表,代表图书实体。
(3)图书类型类型,代表图书类型信息表。
(4)超链接,网站超链接。
(5)新书表,代表系统中的新书信息。
4 系统的具体实现
4.1开发环境
服务器端:操作系统Windows 2008, 应用服务器为Tomcat6.0,数据库采用MySql数据库;客户端:IE、火狐浏览器;开发工具:Eclipse
4.2系统实现
4.2.1数据层的实现
数据库采用MySql版本号是5.5.21,基于上文设计的数据模型,知无涯精品图书数据库的主要表详细设计如下:
例如:图书信息表
表名 T_productdetail属性 类型 默认值 是否为空 键 备注Id INTEGER N P Isbn VARCHAR(255) Name VARCHAR(255) Author VARCHAR(255) Photourl VARCHAR(255) Content VARCHAR(255) Press Text Time Datetime RecoReson INTEGER Book_type INTEGER Count INTEGER bigtype DATETIME approvel INTEGER
4.2.2系统功能的实现
(1)Dao层
Dao层完成连接数据库增、删、改、查等细节。
(2)Service业务层
业务层提供了处理应用程序的业务逻辑和业务校验,管理事务,允许与其它层相互作用的接口。
(3)Action控制层
控制层的控制器Action接受用户的输入并调用业务层的业务方法和表示层的组件去完成用户的请求。
(4)Spring
服务器各种组件的生成都有Spring容器来控制,被看做是Spring中的一个Bean,它可享受Spring提供的所有服务。
(5)JSP视图层
视图是用户看到并与之交互的界面,视图向用户显示相关的数据,并能接受用户的输入数据,但不能进行任何实际的业务处理。
系统的主界面如下图:
5 测试
测试的目的是检验开发结果是否满足规定需求,测试是办证软件质量的重要手段,是软件开发过程中不可缺少的组成部分。
5.1可靠性测试
对于图书馆的的运行系统来说,保证提供7*24连续稳定的服务是非常必要的。可靠性测试通常的做法是使用一定的负载长时间地对系统服务加载,并观察随着压力事件的延长,响应时间、吞吐量以及服务相关资源利用率的变化;记录每次系统发生故障的时间,计算出相邻故障间间隔,从而统计出系统不发生故障的“最小时间间隔”“最大时间间隔”和“平均时间间隔”,其中“平均时间间隔”就是要了解系统大概的“可靠”程度。
5.2压力测试
压力测试目的是评价出系统在特定环境下能保持正常运行的极限状态。通常做法是在正确输入情况下反复增减并发用户,观察系统受压的情况,直到捕捉到系统刚好不瘫痪的临界状态。
5.3性能测试
性能测试的目的是检查应用系统的各项性能值是否达到预期的要求,查找出系统的性能瓶颈,以便为系统调优以及评估软件系统的合理软、硬件配置方案提供参考。
本数据库是与图书馆自建数据库相结合建设,所整理的图书书目能引导学生读好书,博学多览。不但提升了图书馆文献服务的层次,提高了图书馆资源利用率,同时有助于高校教育中高品位的阅读和人文素质教育的提高,助力以文化精品阅读为主题元素的校园文化品牌的建设。
[1]黄敏学.电子商务[M].高等教育出版社,2010年6月第1版.
[2]陈臣,王斌.研磨设计模式.清华大学出版社,2011年1月1日.
[3]薛华成.管理信息系统[M].清华大学出版社,2009年12月第4版.
[4]萨师煊. 数据库系统概论[M].高等教育出版社,2009年2月第3版.
[5]张海藩. 软件工程[M].人民邮电出版社,2008年3月第1版.
[6]邓阿奇.J2EE应用实践教程[M].电子工业出版社,2009年1月第1版.