IDEA+SSH :图书管理系统实现

数据库

关于系统所需要的数据库部分我们使用的是MySQL来进行数据库方面的操作,包括了表的建立和删除,对数据的插入,更新和删除,这里要注意的是各表之间的主外键关系以及每个表应该具有的属性。另外,我们直接使用Navicat建表,并没有使用SQL语言。

SQL Server 2008提供了强大的可视化界面、高度集成的管理开发工具。其数据架构基本是纵向划分,分为:Protocol Layer(协议层)、Relational Engine(关系引擎)、Storage Engine(存储引擎)、SQLOS。

SQL执行过程就是逐层解析的过程,其中Relational Engine中的优化器,是基于成本的(CBO),其工作过程跟Oracle是非常相似的。在成本之上也是支持很丰富的HINT,包括:连接提示、查询提示、表提示。

SSH

所谓SSH框架就是Struts+Spring+Hibernate的组合框架模式,SSH框架系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层。其中Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层,实现对实体对象的持久化。

MVC全名是Model View Controller,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

JavaScript

Javascript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作,是一种动态、弱类型、基于原型的语言,内置支持类。

一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。

Javascript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直译语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。

HTML和CSS

HTML是一套标记符号或代码集,他们插入可由浏览器显示的网页文件中。这些标记符号和代码标识了结构元素,如段落、标题和列表。还可用HTML在网页上放置多媒体(如图片、视频和音频),或者对表单进行描述。浏览器的作用是解释标记代码,并渲染页面供用户浏览。HTML实现了信息的平台无关性。换言之,不管网页是用什么计算机创建的,任何操作系统的任何浏览器所看到的页面都是一致的。

样式表在桌面出版界已经使用了多年,它的作用是将排版样式和间距指令应用于出版物。CSS则为网页开发人员提供了这一功能(以及其他更多的功能),允许他们将排版样式(字体、字号等)、颜色和页面布局指令应用于网页。

CSS是由W3C开发的一种灵活的、跨平台的、基于标准的语言。注意,虽然CSS已经出现很多年了,但是它仍然被视为新技术,而且目前流行的浏览器仍然没有以完全相同的方式对它进行支持。

Bootstrap模板

Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。

三、需求分析

用户权限

设计一个系统时,首先要考虑使用者的需求,也就是用户,对于图书馆管理系统来说,它的使用对象是读者以及管理员。设计这样一个有多种用户的系统时必须要考虑的一个因素就是不同用户的优先级,对于图书馆管理系统来说,图书馆管理员应该比读者拥有更高的操作权限,可以对系统的部分数据进行人为的修改以便及时纠正错误,防止漏洞或错误产生,因此管理员账号的优先级要更高一些。

为了区分不同的用户,就需要设置多个登录入口,对于这个系统则是两个入口——管理员入口和读者入口。那么接下来,我们就需要根据平常使用图书馆管理系统的经验来进一步分析管理员和读者分别应该具体拥有哪些操作的权限,并定义彼此之间的优先级关系。

管理员权限

对于图书馆的管理员来说,他的工作内容一般包括:书籍信息录入并分类编号,记录书籍的借阅情况,并且根据借阅情况向一些逾期不还或是损坏甚至遗失书籍的读者索要损失赔偿。

根据工作内容,我们可以总结出管理员账号所需要进行的一些操作:首先要注册管理员账号并登陆管理员界面,管理员需要有权利查看所有书籍的借阅情况并拥有能够进行修改的权限,管理员需要能够随时查看读者的相关信息以及他的借阅情况,同样的也需要人为进行修改的权限(包括对读者账号的增删改以及借阅情况的增删改)。

读者权限

读者需要的操作权限相对于管理员来说就要简单许多,最基本的同样是需要能够注册并登陆读者账号,然后读者肯定是要进行借阅操作的,这不需要多说,因此需要能够进行借阅操作。其次,为了方便读者查找书籍,读者应该能够通过书籍的相关信息查询书籍的藏书地点。同时,读者需要能够随时查询自己的借阅情况,比如:借阅书籍数量及名称、借书日期、应还书日期、是否有需要支付的赔偿以及该赔偿的损失金额等。

最后读者应该能够根据本人的自身意愿对账号进行注销操作。

书籍借阅管理

书籍的借阅管理是本系统的主要功能,所有的功能设计都是围绕这一中心需求进行扩展的。

为了方便管理,系统应具有统计所有书籍在库率或借阅率的功能,还有损坏率和遗失率也应该纳入考虑范围。

为了方便读者,除了基础的借操作和还操作之外,个人认为需要增加一个续借的操作。因为我们在使用学校的图书馆管理系统时,总是认为有续借操作的话会方便许多,每次需要续借的时候总是需要先还再重新借,这样就显得有些繁琐,因此我希望我们设计的系统能够具有续借的功能。

总体的功能以及页面都是以我们学校的图书馆系统作为参考,并根据自己的使用情况提出了建议,考虑了能够改进的地方和功能。

 

 

该项目Github:https://github.com/charles-ksz/sshLearningLogin.git

  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值