Java课程设计-图书管理系统(完整设计+源码)


需要项目完整源码的小伙伴请往下看~

前言

7月初,我们院里开展了为期五天的Java课程设计,要求在五天之内把分配的课题做出来。我们组分配到的是图书管理系统,时间已过去一个多月,现在就请小伙伴们随我来回顾一遍吧~

需求分析

  1. 登陆界面(包括:用户注册、管理员/读者登录)。
  2. 图书/类别管理(包括:对图书或图书类别增删改查)。
  3. 借阅管理(包括:图书借阅、归还)。

出于时间原因,我们只设计了三个大方面的需求,光有需求分析还不够,最好还能大概整理出系统模块结构图:

有了结构图,我们的目标就更明确了,可以很好的为小组成员分工,谁哪一块有问题就找谁,不会扯皮。

详细设计

整理完需求和结构图,我们就可以以个人为单位,开始编码设计了。这次课设用的是标准入门技术JavaSE+MySql。

我统计了一下,大概有31个主类和1个sql文件。

数据库设计

在数据库中创建一个名为db_bms的数据库,共分为4个表,分别是:user、booktype、book、borrow。每张表的功能详情如下:

  • user:存储管理员和读者的账号信息。
  • booktype:存储书籍的类别信息。
  • book:存储图书信息。
  • borrow:存储读者借阅图书信息。

下图为book表结构:

DAO层

平时大家都戏称它为“dao(刀)层”,dao(data access object)层主要做数据持久层的工作,负责与数据库通信的一些方法都封装在这里,在设计dao层的时候首先设计接口,在实现对应功能,使用时直接调用对应接口即可。属于一种比较底层,比较基础的操作,具体对于某个表的增删改查。

dao层分为两个模块:BookDAO(图书)、BookTypeDAO(图书类别)。

Service层

service层是服务层,主要负责业务模块的逻辑设计,既然被称为服务层,肯定相比dao层是更加高层次的层结构,它主要把dao层的操作又进行了封装,将业务逻辑与dao层结合起来。

与dao层对应,service层也分为两个模块:BookService、BookTypeService。

DAO和Service的关系

service层是建立在dao层之上的,建立了dao层才可以开始建立service层,service负责调用dao层接口,将dao层返回的数据继续返回给调用它的方法(通常是controller层)。

来吧,展示

总结

有很多同学肯定都深受课设折磨,但紧张的课设也是我们快速成长的一个方式,学计算机本身就是多思考,多实践。我一直相信一句话:没有记录就没有发生,没有整理就没有记忆。将自己的思考用文字整理出来,其实也是对思维的一种刻意练习和对记忆的加深,每一次回顾都有不一样的感触。

需要项目完整源码的小伙伴,请关注公众号:木节学编程,后台回复java课设即可获取。


关注即可提高学习效率!我是木节,下期再见!Peace~

更多干货

【干货分享】自学编程的小伙伴可以前往我的 Github 仓库(持续更新中…):

📕【Java学习指南】从java基础、计算机基础到后端常用框架的教程,涵盖后端大部分必备知识(学习指南 + 技术文章 + 资源分享)

Github仓库地址(来个Star吧~):https://github.com/MujieJava/JavaStudy

  • 43
    点赞
  • 415
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
图书馆管理系统 1.课程设计的目的 目前,随着网络技术的飞速发展,各行各业都在追求信息化,以防在信息时代落伍,而普 通高校也如此,图书馆是高校师生获得知识的一个重要渠道。因此一个健全的图书管理系 统就必不可少,图书管理系统的使用大大的提高了图书馆的工作效率,很好的节省了大量 的人力、物力和财力资源。管理信息系统的开发是一个开发周期长、技术要求高、影响 因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成 功的保证,而且可以提高效率、节省时间、降低成本。 由于在过去人们对信息管理的主要方式是基于文本、表格等纸质的手工处理之上的, 而用手工进行图书借阅管理存在多种弊端,其中包括图书过于繁多,包含很多的信息数据 的管理对于图书借阅情况如:借阅天数、超过限定借阅时间等等的统计和核实,往往采用 对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄进行。信息处理工作量大,容 易出错;由于数据繁多,容易丢失,且不易查找。总的来说缺乏系统、规范的管理手段人 们操控起来是很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个图书管理 系统也是图书管理部门提高工作效益的有效手段。系统能够合理高效地利用图书资源,使 得图书借阅更加的科学合理。 2.设计方案论证 2.1需求分析 对于一个图书管理系统来说,图书的查询及数据的维护管理是其中的核心环节。在现 现行的图书管理中存在几个共同的问题: 〔1图书种类过多,数据庞大;这是几乎所有图书馆都会遇到的共同问题,各种不同种 类的图书馆为这些图书入库,进行添加于维护增加了很多的难题,对这些数据的反复输入 ,往往造成庞大的工作量和较低的效率。 〔2查询图书困难,每天的借阅情况,读者借阅的到期、还书情况,各项数据的汇总和统 计情况必须由管理员统计上报,图书库总管理员才能考虑对图书馆的硬件如某类书的需求 数量进行改变已向上级申报。 〔3图书毁坏及图书破损;在借阅过程中难免此类现象的发生,如何及时发现及事后对 毁坏图书进行淘汰和更新也是个需要解决的问题。 〔4不能及时归还图书;经常有读者超过借阅期的情况发生,对此类读者的超期信息提 示也是图书借阅管理工作中必须解决的问题之一。 本软件主要有以下几方面的功能 〔1系统部分:主要完成本系统工程的维护工作〔包括:添加用户、添加员工、修改 密码 〔2图书管理部分:要完成图书基本信息的管理〔包括:添加、修改、查询、删除图 书基本信息 〔3借阅管理部分:主要完成图书借阅的管理〔包括:图书借阅、归还、查询等2.2系 统包含的类及类之间的关系 本系统共包括15个Java源文件和1个辅助文件。类之间的关系如图1所示。 图1 类关系图 <1>AppBook.java 该文件包含主函数入口,旨在创建登录界面对象并在屏幕中居中显示。 <2>FrLogin.java 该文件是登录界面的封装类,定义并设置了登录界面相关组件及显示效果,还定义了登 录、退出按钮的事件监听。功能:点击登录按钮,对填写的信息进行验证并与数据库数据 进行比对,匹配就登录成功进入主界面;取消按钮即可退出系统。 <3>FrMain.java 该文件是主界面的封装类,定义并设置了主界面相关组件及显示效果,还定义了菜单栏 上面各菜单项的监听事件,有系统管理:修改管理员密码、退出,基本操作:添加新读者 、新书入库、借书、还书、续借、读者管理、图书管理,帮助:关于等10个事件的监听。 功能:点击对应的菜单栏就会弹出对应的对话框,并传递需要的参数。 <4>FrChange.java 该文件是修改用户密码界面的封装类,定义并设置了更改密码界面相关组件及显示效 果,还定义了确定、取消按钮的事件监听。功能:点击确定按钮,对输入的信息进行验证 并与数据库数据进行比对,匹配就更新数据库,下次登录使用新密码;取消按钮即关闭修 改密码界面。 <5>FrAddreader.java 该文件是添加新读者界面的封装类,定义并设置了添加新读者界面相关组件及显示效 果,还定义了提交、返回按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证 ,通过就写入数据库然后返回读者的编号,不符合要求就提示重新输入;返回按钮即关闭 添加新读者界面。 <6>FrAddBook.java 该文件是新书入库界面的封装类,定义并设置了新书入库界面相关组件及显示效果,还 定义了提交、退出按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证,通过 就写入数据库然后返回图书添加成功消息,不符合要求就提示重新输入;退出按钮即关闭 新书入库界面。 <7>FrBorrow.java 该文件是借书登记界面的封装类,定义并设置了借书登记界面相关组件及显示效果,还 定义了确定、取消按钮的事件监听。功能:点击确定按钮,对输入的信息进行验证,若输 入的信息满足要求

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值