Java 图书馆系统
1.功能调查与系统功能框架图
1.1 功能调查
从调查资料中可以得出,图书馆系统大致分为查阅图书和“我的图书馆”这两个模块,“我的图书馆”中可以借阅和归还书籍,并展示我所借阅到的书籍
1.2 功能框架图
系统包含用户登录,图书馆书籍展示,图书馆书籍查找,进入“我的图书馆”展示我所借阅书籍界面,进行借书、还书两个操作这六个功能
2.类的设计
UML类图
3.类说明
Book类
Book类用来存放具体的书籍信息,以便生成条目供搜索
属性是书籍的相关信息,方法是获取书籍的相关信息和转成字符串格式化输出
MyBookDaoImpl类
MyBookDaoImpl类用来实现MyBookDao接口的具体实现方法
属性是ArrayList bookList表,用来存储我的书籍信息,方法设置了展示用户书架列表以及用户可进行的操作:借书、还书
ShelfDaoImpl类
ShelfDaoImpl类用来实现ShelfDao接口的具体实现方法
属性是ArrayList shelfList表,用来存储图书馆书籍信息,方法设置了展示图书馆书籍列表以及查阅书籍
Login类
用来实现用户的登录
属性是字符串数组username和password,用于存储用户的账号密码,方法为实现登录功能
4.系统的包(package)的规划设计
logging存放登录的代码,library存放图书馆菜单和书籍属性的代码,dao存放系统的接口,daoimpl存放接口的具体实现方法
5.DAO模式
在这个系统中,我使用MyBookDao接口管理“我的图书馆”中的相关操作,用ShelfDao接口管理图书馆系统中的相关操作
使用DAO模式就可以在需求有变化时,只编写新的实现类而不需要改写现有的代码,减少对系统的影响,同时使用DAO模式使得系统分工明确,提高了代码的可复用性。
- MyBookDao
public interface MyBookDao {
public boolean borrowBook(Book e);//借书
public boolean returnBook(Integer id);//还书
public void displayAll();//显示书籍信息
}
- ShelfDao
public interface ShelfDao {
public void addBook(Book e);//添加书籍
public void showBook();//书架展示
public Book getItemById(Integer id);//根据id找书
}
6.数据持久化
采用文件进行持久化存储,将书籍信息存储在library.txt文件中,将用户名密码存储在login.txt文件中
7.阿里巴巴代码扫描规范
在用插件扫描代码的时候发现错的最多的是没有在只有一句语句的if语句上加大括号(不能偷懒55),然后是写方法的时候没有加上override
警告是没有完全按照驼峰法命名,有的方法首字母大写了,修改之后就可以了
修改之后
8.功能演示
用户登录后的界面
查阅书籍
我的图书馆
初始页面(没有借书记录)
初始页面(有借书记录)
借书操作
- 控制借书数量不能超过三本:
还书操作