Java-图书馆

图书馆管理系统

gitee地址:

https://gitee.com/songlintao/java-code/tree/master/Library

1.系统结构功能图

2.系统描述

运行后首先用户选择身份为普通用户或管理员,之后选择进入登录界面或注册账号。用户登录后进入用户界面,可以进行查询图书,借阅图书,归还图书,打印图书馆全部书籍和打印出自已借图书的信息。查询图书可以根据图书的id进行查找,也可以根据字符进行模糊查找。管理员可以查询图书信息,查看所有图书以及添加新的书籍。

3.UML图

4.类说明:

1.Book

主要存储图书的属性:图书名出版年图书id,作者以及出版社信息

主要方法:setters/getters方法以及toString方法

2.LibrayBookInformation

Book类的基础上添加馆藏数量属性以及可借数量属性,该类作为存入图书馆系统的类。

主要方法:setters/getters方法,toString方法以及重写的compareTo方法

3.LibraryIO

该类有文件f文件地址两个属性

主要方法:readLibarySystem(图书信息txt文件的读取)和writeToFile(图书信息txt文件的储存)。

4.LibrarySystem(主要)

该类的属性:

TreeSet<LibraryBookInformation> //TreeSet型存储图书信息

用TreeSet可以使图书的信息不重复,并且可以按照出版年进行倒叙排列,优先显示出版年较新的图书。

主要方法:

add(添加新的图书), findBookByString(通过String模糊查找寻找书籍信息并打印),findBookByInt(通过图书id寻找书籍信息并打印),findBookByInt1(通过图书id寻找书籍信息并返回图书信息),booksBorrowed(用户借书),booksReturned(用户还书)

5.Login

类属性:两个String类文件名,两个File类文件。

主要方法:userLogin(用户登录),adminLogin(管理员登录),userRegister(用户注册),adminRegister(管理员注册),findUser(通过id查找用户),findAdmin(通过id查找管理员)。

6.UserBorrowed

类属性:用户id(String),图书id(int)

主要方法:setters/getters方法以及toString方法

7.UserBorrowedInformation

类属性:文件f文件地址两个属性

主要方法:readUserBorrowedInformation(读取用户借书信息),userBorrowedWriteToFile(将用户借书信息写入文件)。

5.系统的包(package)的规划设计

dao包存储DAO接口,model包存储实体类,ui包存储用户可视界面,service包存储程序逻辑,test包存储测试类。

6.特色:

1.DAO模式

使用了DAO模式,好处:可以使用不同的数据类型来实现方法,不局限于文件的存储,例如也可以使用数据库来实现文件存储。

2.用户借书信息

该程序可以将用户所借图书打印出来,在借书还书时可以实时更新图书馆馆藏数量以及用户借书的信息。达到数据持久化。

3.使用阿里巴巴代码规范扫描插件对项目代码进行了扫描

!(https://img2020.cnblogs.com/blog/1827371/202012/1827371-20201208223822650-2088334551.png)

4.是否使用Git管理代码?

使用git进行代码的更新

5.基本完成系统的初步原型。

演示:

开始界面:

用户界面以及查找图书:

借阅图书:

打印已借图书:

还书:

添加图书信息:

posted @ 2020-12-08 23:39  宋林涛  阅读(1235)  评论(0编辑  收藏  举报