面向对象设计大作业第二阶段:图书馆系统
1.功能调查与系统功能框架图
(1)前期调查
(2)系统功能框架图
2.类的设计
3.类说明
UserDaoImpl类
·实现UserDao接口
·登陆通过输入不同的账号和密码就可以验证是管理员还是用户
Menu类
主要用来输出各个菜单
Book类
·主要包含书本的编号(id),名称(name),类别(category),数量(count),在图书馆中的位置(position)
UserOperateDaoImpl类
·实现了UserOperateDao接口
·使用List来存储从文本中读取的数据
·方法:
SearchPrecise():
用于精确查找图书,将文件中的图书名与用户输入的图书名相比较,相等则输出图书相关信息以及是否被借走。
SearchFuzzy():
用于模糊查找图书,将文件中的信息与用户输入的关键字相比较,含有关键字的图书就输出相关信息以及是否被借走
ShowBorrowHistory():
用一个文本来存储这个用户的借书记录,将其输出。
ShowRetuenHistory():
用一个文本来存储这个用户的还书记录,将其输出。
ShowPopularBooks():
用一个文本来放相关的热门图书,将其输出。
AdminOperateDaoImpl类
·实现了AdminOperateDao接口
·方法:
AddBooks():
管理员输入需要加入的图书编号,名称,类别,数量,位置。向文件中加入所有信息。
DelBooks():
管理员输入需要删除的图书编号,在文件中进行遍历,遍历到之后对他进行删除。
4.系统的包(package)的规划设计
5.特色
1.使用DAO模式
在登录,管理员操作,用户操作都使用了Dao接口;由于这三个部分都需要使用到文件数据的存储,就使用了DAO接口,我在对数据的修改时就直接改变DAO接口的方法就可以了,不用再对里面的代码进行大整改。
2.数据持久化
利用文件文本存储的方式,将数据存储到文本中就可以使数据存储持久化;
在图书馆系统中,用到了多个文本文件对数据进行存储