Java大作业----图书馆管理系统
功能调查
系统功能框架图
类的设计:UML图
- Book类:主要用于存储书籍信息等
- Main类:主要系统菜单等操作
- LibraryDao接口:用于实现LibraryDaoImpI中各种方法
- LibraryDaoImpI类:主要类,实现了借书,还书,查书,显示所有书籍等功能
类说明:说明主要类的属性和主要方法。使用到集合相关(List、Set、Map)类,要重点说明,为什么用这种数据类型存储数据。
主要类分别是书籍属性Book类和操作实现LibraryDaoImpI类
- 🍒Book类:
- id书籍编号
- bookName书籍名称
- op书籍类别,例如A,B,C,D类书籍
- writer作家信息
- flag,使用boolean型来表示借阅状态,如果true时则表示为可借阅状态,如果false则表示不可借阅状态
- 🍒LibraryDaoImpI类:
- 使用了ArrayList列表,因为书籍只有一个属性Book,使用List有利于输出以及遍历操作我需要的借书还书查书操作
系统的包(package)的规划设计
- 🍒由于图书馆系统我并没有使用MVC模式,没有进行用户登录所以,在规划包的时候,只需要属性类BOOK和实现类Library中即可,我把他们统一放在edu.library包中
可选:
🍒此题我使用了DAO模式
- DAO接口
- 使用DAO模式好处在于
- 通过DAO接口我们可以实现不同类的相同行为
- 在需要对数据库进行修改时 我们只需要对DAO接口进行修改即可,改动比较小,灵活性高
🍒系统演示
🍒关键代码分析
-
🧡从文件中读取信息,存放入列表中
-
🧡图书馆管理系统中,借书还书查书,我都是通过遍历列表中,需要控制的类的属性识别,然后进行操作
- 在这里我以借书为例子
- 因为是需要借书,当读者输入被借编号的时候,我们需要遍历整个列表,即所有的书籍,找到该书籍后,根据其flag阅读状态,然后如果是处于可被借阅状态时,我们就可以修改flag为false,即被借阅状态,当书籍处于被借阅状态的时候,读者将无法再次借阅,即系统会弹出提示,不可以借,借书失败