版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科本科毕业毕业( (设计设计) )论论文文 题 目 基于 Struts2 的网上 图书管理系统的设计与实现 学 院 信息科学与工程学院 专 业 计算机科学与技术 学生姓名 王智华 学 号 201210411221 年级 2012-2 指导教师 赵卫东 职称 副教授 企业导师 职称 2016 年 5 月 8 日 基于 Struts2 的网上图书管理系统的设计与实现 专 业:计算机科学与技术 学 号:201210411221 学 生:王智华 指导教师:赵卫东(校内) (企业) 摘要:社会在进步,人类也在发展,但是阅读却是人类获取信息的重要来源。纷繁复杂的书籍, 让人们眼花缭乱。购买书籍也是一笔不
2、菲的开支。而为了获取更多的知识,图书馆是个不错的 选择,它拥有各种各样的书籍,但是这么多的书籍却让图书管理成了一个困扰的问题。这么多 图书,该怎么快速记录其存放位置,怎么管理其数量?读者怎样在这么多书中快速找到自己需 要的内容相关的书籍。这些问题都亟待解决。而随着科技的发展,拥有了很多高新技术,而这 些技术便可以轻松解决,让图书管理员,坐着就可以愉快的办公,读者只需要敲敲键盘便可以 查找自己需要的书籍信息。所以人们开发了基于Struts2 的网上图书管理系统。本系统使用 HTML 开发用户界面,采用 ExtJS、JQuery 来布局和特效, CSS 控制显示样式,然后采用 ExtJS 自带的
3、AJAX 技术来交互数据,服务器的 Struts2 接收到数据以后,然后通过 Spring 创建 Service 对象,并依赖注入 DAO 对象,最后通过 DAO(Hibernate)来对数据库数据进 行增、删、改、查操作。最终通过每个模块的相互搭配组成了本系统。 关键词:ExtJS;Struts2;Spring;Hibernate Design and Implementation Based on the Struts2 Online Books Management System Specialty: Computer Science and Technology Student Num
4、ber: 201210411221 Student: Wang ZhiHua Supervisor: Zhao WeiDong(School) (Enterprise) Abstract: Social progress and human development, but reading is the important source of information for human. The complicated books, lets dazzling. Buy books is also a high cost. And in order to obtain more knowled
5、ge, the library is a good choice, it has all kinds of books, but so many books have been books management a problem. So many books, how to record their location quickly, how to manage their number? Readers how to quickly found in so many books related to the content of the books they need. All these
6、 problems to be solved. But with the development of science and technology, people have a lot of new and high technology, which can be easily solved, let the librarian, sitting can happy office, need only keyboard readers can find the books they need information. So people developed the Struts2 Onli
7、ne Books Management System. This system uses HTML user interface development, using the ExtJS, JQuery to layout and the special effects, the CSS to control the display style, and then uses the ExtJS own AJAX technology to interactive data, the server of the Struts2 after receiving the data, and then
8、 create a Service object through the Spring, and dependency injection DAO object, finally through the DAO (Hibernate) to add and delete database data operation. Finally through the mutual collocation of each module, the system. Key Wrods: ExtJS; Struts2; Spring; Hibernate 目 录 绪 论.1 1 相关技术介绍.5 1.1 系统
9、开发平台.5 1.1.1 PowerDesigner 16.5 1.1.2 SQLyog.5 1.1.3 Myeclipse.5 1.1.4 Tomcat.6 1.2 编程语言.6 1.2.1 Java .6 1.2.2 HTML.7 1.2.3 JavaScript.7 1.3 三层架构概述.7 1.4 开源框架.8 1.4.1 Struts2.8 1.4.2 Spring.8 1.4.3 Hibernate.9 1.4.4 ExtJS.9 1.5 小结.9 2 需求分析.10 2.1 可行性分析.10 2.1.1 技术可行性.10 2.1.2 经济可行性.10 2.2 系统需求概述.10
10、2.2.1 系统目标.10 2.2.2 用户类和用户特性.11 2.3 需求模型.12 2.3.1 功能描述.12 2.3.2 超级管理员功能.16 2.3.3 图书管理员功能.16 2.3.4 读者功能.16 2.3.4 主要用例的用例描述.16 2.4 小结.20 3 数据库设计.21 3.1 数据库设计概述.21 3.2 数据库 E-R 模型设计.21 3.2.1 人员权限模块 E-R 设计.21 3.2.2 图书管理模块 E-R 设计.22 3.2.3 图书借阅模块 E-R 设计.23 3.2.5 消息通知模块 E-R 设计.23 3.3 数据库关系图设计.24 3.3.1 菜单表设计
11、.24 3.3.2 菜单角色中间表.24 3.3.3 角色表.25 3.3.4 账号表.25 3.3.5 人员信息表.26 3.3.6 人员管理记录日志表.26 3.3.7 图书类别表.27 3.3.8 图书信息表.27 3.3.9 图书库存表.28 3.3.10 图书管理记录日志表.29 3.3.11 图书借还登记表.29 3.3.12 图书挂失表.30 3.3.13 罚金表.30 3.3.14 系统消息表.31 3.3.15 公告管理表.31 3.4 小结.32 4 系统设计.33 4.1 系统总体设计.33 4.1.1 总题模块设计图.33 4.1.2 总体模块概述.33 4.2 系统各
12、模块设计.33 4.2.1 系统管理模块设计.33 4.2.2 人员管理模块设计.34 4.2.3 图书管理模块设计.34 4.2.4 借阅管理模块设计.35 4.2.5 图书借阅模块设计.36 4.2.6 通知消息模块设计.36 4.3 系统主要界面设计.37 4.3.1 登录界面设计.37 4.3.2 系统管理界面设计.37 4.3.3 人员管理界面设计.38 4.3.4 图书管理界面设计.40 4.3.5 借阅管理界面设计.42 4.3.6 图书借阅界面设计.44 4.3.7 通知信息界面设计.44 4.4 小结.45 5 系统实现.46 5.1 系统框架实现.46 5.1.1 框架搭建
13、.46 5.2 ExtJS 框架配置及实现.46 5.2.1ExtJS 编码准备.46 5.2.3ExtJS 的表单提交.46 5.2.4ExtJS 的 AJAX 提交.48 5.2.5ExtJS 菜单树异步请求.50 5.3 Strut2 框架配置及实现.53 5.3.1 Struts2 编码准备.53 5.3.2 Struts2 拦截器配置.53 5.3.3Struts2 配置文件.54 5.3.4Action 类的实现.55 5.4 Spring 框架配置及实现 .56 5.4.1Spring 编码准备.56 5.4.2 配置 Spring 载入配置.56 5.4.3 配置 Spring
14、 整合配置.56 5.4.4 配置 Spring 容器 bean 标签.58 5.4.5 服务(Service)代码案例.59 5.5 Hibernate 框架配置及实现.59 5.5.1Hibernate 编码准备.59 5.5.2Hibernate 总配置文件.59 5.5.3Hibernate 的配置使用.60 5.3 小结.60 6 系统测试和系统发布.61 6.1 测试方法和步骤.61 6.2 测试用例设计与测试用例的运行过程及测试结果分析.61 6.2.1 模块测试.61 6.2.2 集成测试.63 6.2.3 验收测试.64 6.3 系统评价.64 6.4 小结.65 结 论.6
15、6 参考文献.67 致 谢.69 绪 论 开发目的及意义 图书馆广泛的被学校、社区、政府、企业等等地方使用。为了便于对这些单位对 图书的信息化管理,和高效的使用。使用信息系统对图书馆进行高效、合理的管理, 即网上图书管理系统的使用,将会大幅提高管理的效率、便捷、安全。也便于读者借 阅、查看相关书籍信息1。 在今天的网络和科技的快速发展,图书馆必须打下坚实的基础在新世纪的发展, 全球信息化和高新技术的发展也为图书馆提供了一个更好的发展机会,传统的单一的 书籍作为一个单元的信息服务手段不能满足读者的需要,现代服务的实现手段势在必 行。开始突破传统的图书馆服务模式,密切配合社会的需要,提供特殊的服务
16、,有针 对性的服务,不断提高读者的满意度2。 在多年的图书管理系统不是网上,读者想找一本书真的想看,只有一个接一个, 所以时间,和精力。在这种情况下很难满足读者的需求迅速的图书。通过计算机网络 信息传输的高速的特点,效率高,是无与伦比的,任何手工操作,电子技术结合图书 馆工作,实现图书馆的现代化管理和服务。在线图书管理系统,可以用来激活的收集 各种各样的书籍,让读者从话题,欲望的各种角度检索书。方便快捷检索方法缩短所 需的时间来寻找书籍,让读者的书,因为快速增长和障碍,大大提高搜索效率,加快 开发和利用的书。优越的新的在线图书管理系统,用于提高图书馆员和读者之间的互 动服务,自助服务和读者,例
17、如可以推荐一本书通过网络,开展预约的图书,程序, 等等 3。 现代图书馆用户为中心,提供你的需要,摆脱传统的服务模式,放弃一个,重复, 被动的、琐碎的手工服务。服务模式从“纯服务”到“服务管理” ,服务市场,进行信 息的处理,如代检索、翻译,人们做手术,一代繁殖,在线检索,检索和光盘在线目 录查询,在线特别信息服务,等等,提供信息资源的范围,更广泛、更多样性4。 拥有一个完善的图书馆管理系统,可以用来作为向未来数字图书馆发展的一个跳 板,通过健全系统的各项功能,帮助图书馆逐渐向数字图书馆的方向靠拢。 未来图书馆发展的方向主要用于数字图书馆、数字图书馆是一种新的科学技术, 也是一种新的社会项目。
18、简而言之,是一种有多种媒体内容的数字信息资源,为用户、 快速和方便地提供高水平的信息服务机制。虽然叫做“房子” ,但不是图书馆实体:它对 应于各种社交活动的公共信息管理和交流,随着新的信息资源组织和信息服务。它借 鉴图书馆的资源组织模型,借助计算机网络通信等高新技术,针对人类知识普及,创 造性地利用知识的分类和准确的检索方法,整个序列的有效信息,使人们获取信息消 费没有空间的限制,在很大程度上不受时间限制。服务理念是基于知识指导的方式, 文字,图像,声音,如数字信息,通过互联网传输,以实现信息资源的共享。每个与 任何计算机终端用户通过网络,一个相关的数字图书馆网站,可以在任何时间,任何 地方方
19、便享受世界上任何的“信息空间”的数字信息资源 5-6。 通过建设数字图书馆,原来的读者逐步减少进入文献信息中心的次数,逐步通过 网络进行信息查询、知识获取和信息利用等。由传统意义上的读者向网络终端用户方 面转变。 国内外研究现状 一些西方发达国家,数字图书馆的定位,应用相对成熟。及其应用价值,更多的 体现在教育领域。教育包括书籍、电脑、网络和数字图书馆法律、经济学、行为科学、 伦理学等学科和领域。结合理论和实践,不仅在理论是广泛的,在实践方面对学生提 出了更高的要求。教育是动态的和数字图书馆,它需要根据不同的受教育者不同层次 的教育内容,和研究的理论和实践的发展数字图书馆和更新内容7。 数字图
20、书馆是随着互联网的发展和生产越来越多的新事物。目前,世界上许多发 达国家加强数字图书馆建设,数字图书馆已经成为一种新的国际竞争优势的高科技, 成为一个重要的象征国家信息基础设施建设水平评价。对我国数字图书馆的建设可以 建立各种各样的信息以中文信息资源为主,缺乏的状态可以解决中国互联网上的信息, 在互联网上中国文化的整体优势。数字图书馆的最佳方法是保存和继续发展的民族文 学遗产,毕竟有价值的数字处理,数据可以存储在一个合适的环境,原始数字信息的 实现是由于原来的,不影响总体检查。因此,必须加快建设中国数字图书馆。8 主要研究内容 主要研究网上图书馆系统的需求和开发。并为其制定一套完整的需求。如下
21、: 本程序是一套综合的网上图书管理系统,主要划分为三个角色。一个是超级管理 员角色,一个是图书管理员角色,一个是读者角色。 超级管理员拥有功能包括: (1)软件的管理及维护。 (2)菜单的管理与维护。 (3)角色及权限的管理。 (4)所有角色对操作日记(图书维护日志、借还图书操作日志)查看。 (5)管理员和读者的所有功能。 图书管理员拥有功能包括: (1)修改密码,对登陆密码进行修改。 (2)用户基本信息的管理,对用户人员进行增加、修改、删除以及查询操作。 (3)账号信息的管理、密码重置。 (4)对图书的信息管理,对整个图书馆内的图书信息进行增加、删除、修改以及 查询的造作。 (5)设置图书的
22、库存,对于图书馆内的图书进行库存登记的功能。 (6)图书库存浏览,按照一定的条件查询过滤图书信息,查询库存的数量以便及 时补充库存。 (7)图书借阅的查询,按照一定的条件查询显示图书的借阅信息。 (8)图书归还查询,按照条件查询显示图书的归还信息,从而对超期、损坏的图 书进行跟踪和追讨补偿的功能。 (9)发布系统信息。 读者拥有功能包括: (1)查看、修改自己信息,修改登录密码。 (2)图书馆库存的浏览、图书信息、图书种类,按照一定的条件查询过滤图书信 息的功能,主要是对库存的图书信息进行查看。 (3)图书借阅信息,查看自己的借阅图书信息。 (4)图书归还信息,查询自己已经归还的图书信息。 (
23、5)查看系统信息。 拟采用的研究方法 首先采用实际调查法,按照我校图书馆的管理模块、制度、运营方法实际调查, 分析出具体的借书、还书、查书等等流程。然后按照这些流程制定一套完整的需求。 在做调查的同时,还需要借助网络和其他途径查找资料,查找更多的图书馆管理 的方法,并综合一下,合理地制定出一系列及高效有合理,使用方便的流程,减少冗 余,便于图书馆的管理9-10。 在此基础上还需要多调查调查图书馆使用者对图书馆管理上的一些建议。 综上,制定出完整的开发方案,并完成信息化网上图书管理系统的开发。 技术路线: 本系统采用 B/S 模式开发,技术方案: (1)界面采用 HTML 代码编写。 (加载更快
24、)10 (2)界面主要采用 ExtJs 框架(仿 C/S 界面) ,再配合 JQuery 框架,使界面更加 灵活。 (方便用户使用)11 (3)采用 CSS 样式来调整界面样式,使界面更加美观。 (细节更加优化)12 (4)采用 AJAX 技术,来请求服务器,使界面不刷新即可获取服务器数据,增强 用户体验。 (异步请求,体验更佳)13 (5)界面与服务器的数据传输采用 Json 格式数据。 (传输速率快) (6)服务器采用 Struts2、Spring、Hibernation 相结合的整合框架。整体采用 MVC 结构。 (框架整合,更加优化)14-16 (7)将 Spring 和 Hibern
25、ate 相结合,Hibernate 托管给 Spring 处理其事务,方便数 据的操作和存储。 (数据库管理更加灵活)17-19 (8)将 Spring 和 Struts2 相结合,Struts2 直接通过 Spring 来实例化 Service 和 DAO 层的操作,简化开发,且增加程序的扩展性,和灵活度。 (简化开发) (9)服务器数据通过 Java 实体类来携带传递。 (数据传输规范) (10)开发工具采用 Myeclipse 2014。 (高效开发) (11)服务器采用 Tomcat。 (效率高)20 (12)数据库采用 MySql。 (小型数据库,便于管理) 1 相关技术介绍 1.1
26、 系统开发平台 1.1.1 PowerDesigner 16 PowerDesigner 最初由王晓昀在 SDP Technologies 公司开发完成。是 Sybase PowerDesigner 企业建模和设计解决方案,使用模型驱动的方法,结合业务和 IT,有助 于部署有效的企业架构,研究和开发生命周期管理提供强大的分析和设计技术。 PowerDesigner 独有的各种标准的数据建模技术(UML,业务流程建模和市场领先的数 据建模)集成,净,工作区,原始概念,Java 和 Eclipse 可以整合主流开发平台为传统 的软件开发生命周期管理提供业务分析和规范的数据库设计方案。此外,它支持
27、60 多 个关系数据库管理系统(RDBMS)。PowerDesigner 在 Microsoft Windows 平台上运行, 并提供的 Eclipse 插件24。 提供数据库建模,生成 SQL 语句建表脚本。 1.1.2 SQLyog SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySql 数据库管理工具。使用 SQLyog 可以快速直观地让您从世界的任何角落通过网 络来维护远端的 MySql 数据库21。 SQLyog 相比其它类似的 MySql 数据库管理工具其有如下特点: (1)基于 C+和 MySqlAPI 编程。 (2)方便快捷的数据库同步与
28、数据库结构同步工具。 (3)易用的数据库、数据表备份与还原功能。 (4)支持导入与导出 XML、HTML、CSV 等多种格式的数据。 (5)直接运行批量 SQL 脚本文件,速度极快。 (6)新版本更是增加了强大的数据迁移。 1.1.3 Myeclipse Myeclipse 企业工作台(MyeclipseEnterprise 工作台,Myeclipse)是 EclipseIDE 的扩 展,我们可以使用它在数据库和 JavaEE 发展,释放和集成应用程序服务器的极大地提 高工作效率。富含 JavaEE 功能集成开发环境,包括完整的代码、调试、测试和发布功 能,完整支持 HTML,struts 2
29、、JSP、CSS、JavaScript,Spring,SQL、EJB。 Myeclipse 是一个非常好的开发 Java、J2EE Eclipse 插件集合,Myeclipse 功能非常 强大,支持也非常广泛,尤其是对各种开源产品支持很好。Myeclipse 可以支持 Java Servlet、AJAX、JSP、JSF 和 Struts、Spring,Hibernate,EJB3 多种功能,如 JDBC 数 据库链接。Myeclipse 几乎涵盖了所有主要的开源 eclipse 开发工具当前的产品独家。 1.1.4 Tomcat Tomcat 是 Apache 软件基金会(Apache Sof
30、tware Foundation)的 Jakarta 项目中的 一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支 持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费, 因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服 务器,在中小型系统和并发访问用户
31、不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应 HTML(标准通用标记语言下的一个应用)页面的访问请求。 实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的 1.2 编程语言 本系统采用 Java 语言编写服务器处理程序,通过 HTML 编写的界面实现人机交互, 通过 JavaScript 语言将静态 HTML 页面变为动态 HTML 页面,使界面界面更加友好, 更加人性化,用户
32、体验更佳。 1.2.1 Java Java 是由 Sun Microsystems 公司推出的 Java 面向对象程序设计语言(以下简称 Java 语言)和 Java 平台的总称。由 James Gosling 和同事们共同研发,并在 1995 年正 式推出。Java 最初被称为 Oak,是 1991 年为消费类电子产品的嵌入式芯片而设计的。 1995 年更名为 Java,并重新设计用于开发 Internet 应用程序。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态 Web、Internet 计算。从 此,Java 被广泛接受
33、并推动了 Web 的迅速发展,常用的浏览器均支持 JavaApplet。另 一方面,Java 技术也不断更新。Java 自面世后就非常流行,发展迅速,对 C+语言形 成有力冲击。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广 阔前景25。 Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、 可移植、高性能、多线程和静态的语言。 Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了 与之竞争的.NET 平台以及模仿 Java 的 C#语言。 Java 是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程
34、序。 1.2.2 HTML 万维网的核心语言,应用程序在标准通用标记语言超文本标记语言(HTML)。 超级文本标记语言(XML)是一个应用程序根据标准通用标记语言,也是一种标准,一 个标准,它通过标记符号来标记每个部分来显示一个 web 页面。网页文件本身是一种文 本文件,通过在文本文件中添加标记,您可以告诉浏览器如何显示内容(如:文字,如何处理 画面如何安排,图片如何显示等)。浏览器来阅读网页文件,然后根据标记解释和显示标 记的内容,对书写错误标记不会指出错误,不要停止解释的过程中,生产商可以分析通过显 示区域误差和误差的原因。但需要注意的是,对于不同的浏览器,可能会有不完全相同的 相同的标
35、记,因此可能有不同的显示效果。 1.2.3 JavaScript JavaScript 是一种属于网络的脚本语言,已经被广泛用于 Web 应用开发,常用来为网 页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常 JavaScript 脚本 是通过嵌入在 HTML 中来实现自身的功能的。 是一种解释性脚本语言(代码不进行预编译) 。 主要用来向 HTML(标准通用标记语言下的一个应用)页面添加交互行为。 可以直接嵌入 HTML 页面,但写成单独的 js 文件有利于结构和行为的分离。 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如 Windows、Linux、Mac、A
36、ndroid、IOS 等) 。 JavaScript 脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运 算符及程序的基本程序框架。JavaScript 提供了四种基本的数据类型和两种特殊数据类 型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信 息处理。 1.3 三层架构概述 三层体系结构包括数据访问层、业务逻辑层和表示层。 表示层:我们想要表达的内容显示为用户查看界面; 通过经营业务逻辑层:用户请求的资源通过网络传输到服务器,服务器在请求,表 示层处理数据传输,然后说话的内容传输给用户,并处理这个请求的流程是业务逻辑 层; 数据访问层,业务逻辑层获得的数
37、据将被保存到数据库,或将数据从数据库中显 示给用户,所以在数据访问操作在数据访问层。 如图 1-1 所示。 图1-1 三层架构体系 1.4 开源框架 本项目开发中,采用了多种框架,通过调用框架,可以简化开发流程,缩短开发 时间,提高开发效率。所以在系统中主要运用了一下 4 种框架,其中 Struts2、Spring、Hibernate 是服务器端的框架,ExtJS 是前端的框架。 1.4.1 Struts2 当 Web 容器收到请求( ServletRequest)它将请求传递给一个标准的的过滤链 包括(ActionContextCleanUp)过滤器,然后经过 Other filters(S
38、iteMesh ,etc),接下来需 要调用 FilterDispatcher 核心控制器,然后它调用 ActionMapper 确定请求哪个 Action,ActionMapper 返回一个收集 Action 详细信息的 ActionMaping 对象。 接下来 FilterDispatcher 将控制权委派给 ActionProxy,ActionProxy 调用配置管理器 (ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建 ActionInvocation 对象,ActionInvocation 在调用 Action 之前会依次的调用所
39、用配置拦截 器(Interceptor N) 一旦执行结果返回结果字符串 ActionInvocation 负责查找结果字符 串对应的(Result)然后执行这个 Result 会调用一些模版(JSP)来呈现页面,之后拦截 器(Interceptor N)会再被执行(顺序和 Action 执行之前相反)最后响应( ServletResponse)被返回在 web.Xml 中配置的那些过滤器和(核心控制器) (FilterDispatcher) 。 1.4.2 Spring Spring 是一个开源框架,Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架, 由 Rod Joh
40、nson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部 分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要 优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和 松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 的核心是控制反转 (IoC)和面向切面(AOP) 。
41、简单来说,Spring 是一个分层的 JavaSE/EEfull-stack(一站 式) 轻量级开源框架。 1.4.3 Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级 的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可 以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 1.4.4 Ext
42、JS ExtJS 可以用来开发 RIA 也即富客户端的 AJAX 应用,是一个用 JavaScript 写的, 主要用于创建前端用户界面,是一个与后台技术无关的前端 ajax 框架。因此,可以把 ExtJS 用在.Net、Java、Php 等各种开发语言开发的应用中。ExtJs 最开始基于 YUI 技术, 由开发人员 JackSlocum 开发,通过参考 JavaSwing 等机制来组织可视化组件,无论从 UI 界面上 CSS 样式的应用,到数据解析上的异常处理,都可算是一款不可多得的 JavaScript 客户端技术的精品。 Ext 的 UI 组件模型和开发理念脱胎、成型于 Yahoo 组件
43、库 YUI 和 Java 平台上 Swing 两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,Ext 要比开发者 直接针对 DOM、W3C 对象模型开发 UI 组件轻松。 1.5 小结 这一章节中,主要介绍本项目开发相关的软件、开发相关的开发语言以及开发相 关的开源框架,为项目开发做准备。 2 需求分析 软件开发需要根据用户功能需求制定详细的开发需求。提供需求有针对性的开发 软件。 2.1 可行性分析 利用现代科技的便利,使用高新技术,创造出一款具有高效性,灵活性,人性化 的图书信息化管理系统,来优化图书的管理,让图书管理员更加方便的管理图书,使 读者更加快捷的查询所需信息。开发本系统
44、的可行性研究如下: 2.1.1 技术可行性 通过对技术可行性分析,主要关注现代技术是否满足创造出一款这样方便、快捷 的信息管理系统。在软硬件环境下是否可以顺利完成本系统的开发。本系统主要采用 HTML 开发可视化人机交互界面,采用 ExtJS、JQuery 来布局和特效,CSS 控制显示 样式,然后采用 ExtJS 自带的 AJAX 技术来交互数务器的 Struts2 接收到数据以后,然 后通过 Spring 创建 Service 对象,并依赖注入 DAO 对象,最后通过 DAO(Hibernate) 来对数据库数据进行增、删、改、查操作。 2.1.2 经济可行性 在计算机快速发展的时代,PC
45、 机已经相当普及,PC 机的价格也在几千元左右, 在城镇几乎每个家庭都有,并且向农村铺开。所以在硬件普及的情况下,是软件的开 发推广成为可能。而且开发一个管理系统的成本不高,而且通过信息管理系统可以提 高图书馆管理,和读者对借还图书、查询图书信息的效率,这也是图书馆管理发展的 必然趋势,其必将有比较宽阔的市场,因此经济可行性上该系统也是可行的。22 2.2 系统需求概述 2.2.1 系统目标 本系统为了用户体验更佳,采用基于 Internet 的 B/S 模式开发本系统,减少用户安 装客户端的麻烦,并且目前 B/S 模式优势大,可以跨平台使用,所以使用更佳灵活。 通过使用本系统,来给图书管理员
46、带来方面,快捷的办事效率,解决由图书多带来的 管理不便,给读者带来更加美观、快速的资源查找。本系统初始化为针对三类用户: (1)超级管理员: 软件的管理及维护; 菜单的管理与维护; 角色及权限的管理; 消息公告的管理; 管理员和读者的所有功能。 (2)图书管理员: 修改密码,对登陆密码进行修改的操作; 用户基本信息的管理,对用户人员进行增加、修改、删除以及查询操作; 账号信息的管理; 对图书的信息管理,对整个图书馆内的图书信息进行增加、删除、修改以及查询 的操作; 设置图书的库存,对于图书馆内的图书进行库存登记的功能、图书库存浏览; 按照一定的条件查询过滤图书信息,查询库存的数量以便及时补充库
47、存、图书借 阅的查询; 按照一定的条件查询显示图书的借阅信息、图书归还查询; 按照条件查询显示图书的归还信息,从而对超期、损坏的图书进行跟踪和追讨补 偿的功能; 发布系统信息。 (3)读者: 查看、修改自己信息; 修改登录密码; 图书馆库存的浏览、图书信息、图书种类; 按照一定的条件查询过滤图书信息的功能,主要是对库存的图书信息进行查看; 图书借阅信息,查看自己的借阅图书信息、图书归还信息,查询自己已经归还的 图书信息; 查看本系统发布的消息、公告信息。 2.2.2 用户类和用户特性 网上图书管理系统的编写(基于 Internet 的 B/S 模式的管理系统)是为了使其用户 具有更加高效的和更
48、加人性化的体验,本系统预计分为三种角色,超级管理员、图书 管理员、读者;针对不同的用户实现不同的功能,超级管理员主要的特性重点为对系 统的维护,图书管理员主要的特性主要为对图书的维护和对读者借、还图书操作,读 者最重要的特效就是对图书的查询和借、还图书等等。 三类用户的具体描述如下表 2-1 所示: 表 2-1 用户描述 用户类描述 读者1.读者通过登录本系统; 2.可以进入图书管理模块查看图书种类信息; 3.可以查看图书信息; 4.可以根据图书相关信息查询该图书; 5.可以查看该图书具体信息; 6.查看到图书的存放位置; 7.便可以到图书馆去借该本图书; 8.也可以进入图书借阅管理模块查看当
49、前借阅书籍; 9.借阅历史记录; 10.在通知信息模块可以查看系统消息; 11.还可以在人员管理模块查询和修改自己的信息; 12.也可以修改登录密码等等常规操作。 图书管理员1图书管理员在本系统中起到重要的服务作用,与读者交互最多 的角色; 2.也是与图书交互最多的角色; 3.该角色可以查询读者的信息; 4.重要职能之一是可以再图书管理模块对图书信息进行维护,包括 图书的种类、图书的具体信息、图书库存、存放位置等等信息的 管理; 5.重要职能之二是可以再借阅管理模块对读者进行借书和还书操作, 对超期和挂失进行管理; 6.重要职能之三是发布系统信息,将图书馆相关信息和系统相关信 息发布出去。 超
50、级管理员1.超级管理员是本系统最高权限拥有者,为了维护系统的安全所以 拥有所有权限(也就是指超级管理员) ,这个账户本系统只有一个; 2.该管理员可以对每个角色拥有的权限进行控制,也就是说本系统 可以根据实际需求创建多个角色,每个角色都可以拥有其对应的 权限(菜单项) ,这是该角色最重要的操作之一; 3.这个角色可以对权限操作,所以他也可以对菜单进行操作,可以 创建菜单项,修改菜单样式,以及指派菜单对应的页面; 4.还有一个最重要的操作就是对人员密码的重置,这个操作需要最 高权限才可以,也是维护系统安全考虑,所以他可以查看其他所 有角色对操作日记(图书维护日志、借还图书操作日志) ; 5.这些
51、操作是普通管理员无法完成的,所以这个角色是系统最重要 的角色。 2.3 需求模型 2.3.1 功能描述 网上图书管理系统的主要任务是实现图书管理员对图书相关信息的增、删、改、 查,对读者借、还图书,超期、挂失等等基本操作,对系统信息的维护;读者对图书 相关信息的检索,借、还书操作及查询,查看系统消息等等操作;超级管理员对本系 统的维护等等操作,从表 2-1 可以看出图书管理系统要完成的功能: (1)登录 所以用户在进行功能操作之前都必须用账号登录本系统,等身份验证过后进入系 统,本系统根据登录人员的角色信息来判断该用户具有哪些功能,然后将相关页面功 能菜单显示出来。 (2)退出 所有功能都需要
52、登录过后才能操作,当用户不需要用到该系统的功能的时候就需 要,退出当前账号的登录。当退出登录后功能就不可以被操作,这样可以保护账号的 安全。 (3)系统管理 a)菜单管理 开发功能和维护的时候可以根据这个功能动态添加显示的菜单及页面。将需要 的菜单显示出来,将不需要的菜单删除,但不删除对应的 HTML 页面。这样对菜 单的增、删、改、查操作,已达到控制系统功能的目的。 (4)人员管理 a)人员角色管理 通过该功能创建、修改、删除角色,也可以对角色进行功能菜单的权限的授予 和取消。 b)人员账号管理 通过该功能对所有用户的账号进行激活和未激活设置,只有激活的用户才能使 用,还可以重置所有人员的密
53、码,重置密码为省份证后六位。 c)人员信息管理 通过该功能添加、修改、删除所有用户的信息,在创建人员信息的同时也创建 人员账号。 d)人员信息查询 通过该功能查询所有读者的信息,且带条件查询。 e)个人信息管理 通过该功能查看自己的信息,并且可以修改部分信息。 f)修改密码 通过该功能修改自己的密码,前提是需要先输入正确的密码确认,当确认完毕 才可以修改密码。 g)人员管理日志 通过该功能可以查看所有人员信息、账号的操作的日志。该日志包含所有人员 的对人员信息、人员账号的所有操作都会记录下来存储到本模块中,当有错误操作 的时候,可以通过日志来找出错误的原因并改正。 (5)图书管理 a)图书信息
54、管理 通过该功能模块对图书信息进行增、删、改、查操作,用于对图书信息的维护。 b)图书信息查询 通过该功能对所有图书信息进行查询,包括图书所有相关信息、图书数量、存 放位置等等数据。并且可以通过书名、作者、出版社等等信息快速检索需要的图书。 当获取这些图书信息,可以找到图书存放位置,快速定位,然后进行借书操作。 c)图书库存管理 通过该功能模块对图书的库存、数量进行修改,方便读者查询图书实时数量。 d)图书类别管理 通过该功能模块对图书的类别进行增、删、改操作。 e)图书种类查询 通过该功能对图书种类进行查询操作。 f)图书记录日志 通过该功能查看图书相关操作的日志记录。所有用户对图书种类、图
55、书信息、 图书库存等等信息的操作,都保存在日志里面,如果操作出错,便可以通过日志对 数据进行恢复。保护系统安全。 (6)借阅管理 a)图书借出归还详情 通过该模块查询所有图书借出、归还的记录。并且可以通过图书或者读者的一 些信息进行匹配,查询出对应的结果。 b)图书借出登记 通过该功能模块对读者借书操作进行登记,管理员输入读者编号,然后查询读 者相关信息,然后确认过读者信息,又通过输入图书编号进行借书,一次最多可以 借 10 本,每个账户最大借阅图书数量也 10 本。当图书库存不为 0 时,可以进行借 书。当借书以后,对应的图书数量-1,并且产生对应的记录信息。 c)图书归还登记 通过该功能模
56、块对读者还书操作进行登记,管理员输入读者编号,然后查询读 者相关信息,以及该读者借阅的相关图书信息。然后选中该图书进行还书操作,当 该图书没有超期是,直接归还,并将之前的借书记录设置为归还;当该图书超期以 后,图书管理员应按照系统提示收取超期费用,按照超期一天收取 0.1 元标准。让 读者在违约金登记簿登记。然后将该借书记录设置为归还,并且在违约金记录表中 添加违约金记录。 d)违约金记录查询 通过该功能可以查询读者借书过程中超期归还、图书挂失等等事件产生的违约 金记录。 e)图书挂失记录查询 通过该功能读者可以再借书丢失过后,购买图书补偿图书馆,并执行挂失操作 相关的数据,包括购买书籍的发票
57、信息。 (7)图书借阅 a)当前借阅 通过该功能可以查询用户当前借阅的数据的相关记录,并且可以在没有产生超 期,在超期前三天内可以进行一次续借操作,续借以当前日期延期一个月。 b)借阅历史 可以查询借阅的书籍的历史记录相关信息。 (8)通知信息 a)通知信息发布 通过该功能可以发布、修改、删除系统消息。系统消息可以发布图书馆相关的 信息。 b)系统消息 通过该功能可以查询管理员发布的系统消息,了解最新的图书馆活动等等信息 的详情。 c)公告发布 可以发布当前页面头部的滚动消息通告内容,当输入框中输入的内容更新后, 该内容将会在一分钟内生效。 d)公告查看 当登录成功,进入图书管理系统,在头部可
58、以看到一个滚动的消息提示,即为 当前公告。 2.3.2 超级管理员功能 (1)功能模块描述 a)超级管理员拥有系统的最高权限,拥有 2.3.1 节所有的功能。 2.3.3 图书管理员功能 (1)功能模块描述 图书管理员拥有功能有: a)基本功能:登录、退出。 b)人员管理:人员信息查询、个人信息管理、修改密码。 c)图书管理:图书信息管理、图书信息查询、图书库存管理、图书类别管理。 d)借阅管理:图书借出归还详情、图书借出登记、图书归还登记、违约金记 录查询、图书挂失记录查询。 e)通知信息:通知信息发布、公告查看。 2.3.4 读者功能 (1)功能模块描述 读者拥有的功能有: a)基本功能:
59、登录、退出。 b)人员管理:个人信息管理、修改密码。 c)图书管理:图书信息查询、图书种类查询。 d)图书借阅:当前借阅、借阅历史。 e)通知信息:系统消息、公告查看。 2.3.4 主要用例的用例描述 (1)角色权限控制管理用例,通过超级管理员对系统进行登录操作,然后可以显 示对应权限菜单,通过对于角色进行管理,可以对不同的角色进行权限的控制,使系 统的复用性更高,如表 2-2 所示。 表 2-2 角色权限控制管理用例 用例名称角色权限控制管理 参与者超级管理员; 描述超级管理员通过对角色关联的菜单属性的设置,可以控制不同角 色显示和访问不同的菜单; 前置条件1 登录;2 进入人员管理中的角色
60、管理菜单页面; 后置条件1 更新角色对应的菜单信息; 主干过程1.1 点击进入角色管理页面; 1.2 展示角色列表; 1.3 点击角色设置按钮; 1.4 进行角色对应的菜单勾选; 1.5 保存勾选的菜单列表,返回角色列表页面; 分支过程1.1 点击添加角色(第二步后面分支) ; 1.2 输入角色信息; 1.3 保存,回到角色列表(回到主干第三步) ; 异常无; 被包含用例无; 被扩展用例无; 优先级高; (2)图书信息管理用例,使用角色超级管理员、图书管理员。超级管理员、图书 管理员通过对图书管理中的图书信息管理中进行图书信息属性的设置,可以通过对图 书信息的增、删、改、查操作,对图书信息进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新建糯玉米粉项目立项申请报告
- 新建手钩圆领手钩袖套头衫项目立项申请报告
- 壁挂机投资规划项目建议书
- 新建氯氧化锆项目立项申请报告
- 新建锌铝压铸件项目立项申请报告
- 气压检测仪生产加工项目可行性研究报告
- 2024-2030年新版中国钢结构蓬项目可行性研究报告
- 2024-2030年新版中国偏焦式太阳灶项目可行性研究报告
- 2024-2030年撰写:中国滤芯过滤器项目风险评估报告
- 2024-2030年撰写:中国普通化学通风柜项目风险评估报告
- 五年级数学上册期末试卷(北师大版)(共7 份)
- 设备维修员绩效考核表(定稿)
- 美术课堂教学评价标准及评分表
- 养护手册桥梁管理
- 血栓弹力图课件-PPT
- 校园一日安全巡查记录表(共1页)
- 设备移交清单模板 (2)
- 江苏省南通市2021届新高考物理一模试卷含解析
- 高校科技成果转化问题与对策建议
- (完整版)公司企业HSE管理体系及制度
- 校长任职期间经济责任履行述职报告
评论
0/150
提交评论