面向对象设计大作业第二阶段

面对对象设计大作业:图书馆查书、借书、还书

1.功能调查


以上图片截自“小木屋图书”

由上图可知除了查书,借书,还书功能外,还包含:

  • 展示书本信息
  • 查看用户已借阅图书

补充:由于线上图书借阅的细节并没有线下图书馆的多,所以我稍作补充。

  • 借阅图书时应有借阅的时间
  • 图书借阅应有续借以及提前归还功能。

2.系统框架功能图

3.类的设计

UML图

4.类说明

LibraryDAO


简述:DAO模式的接口;

方法

  • public boolean borrow(Book item):根据传入的Book类对象进行借阅,并将将借阅的图书存入用户数据。若图书数量为0,则返回false。
  • public boolean returnn(Book item):归还图书,归还成功后将用户数据中删除该图书。
  • public Book searchByName(String name):按图书书名查找。
  • public Book searchByNumber(int num):按图书编号查找。
  • public int getBookQuantity(Book item):获取图书数量

LibraryDAOArrayImpl和LibraryDAOListImpl

简述:LibraryDAO接口方法的实现

  • LibraryDAOArrayImpl使用数组对图书进行存储,经行增删查改的操作。LibraryDAOListImpl使用列表对数据经行操作。

Book


简述:图书类,包含图书的信息以及简单的操作。

属性

  • private String name; 图书的名字
  • private String author; 图书作者的名字
  • private String publisher; 出版社
  • private String publishTime; 出版时间
  • private double price; 价值
  • private String type; 图书类型,如:小说,散文,诗集等等。
  • private String borrowTime; 借阅时间

方法:构造方法以及各个属性的set与get方法,展示书籍信息的toString方法。

Users


简述:用户类,关于用户信息以及登录,注册。

属性

  • private String name;用户名
  • private String pwd;密码,该属性不设置get方法
  • private String info;用户信息,如借阅的图书。

方法

  • public static boolean Register(String userData, String name, String psw)传入用户名及密码进行注册,将数据存入文本文件中
  • public static boolean Login(String userData, String name, String psw)根据传入的用户名及密码在文本文件中进行匹配,若匹配成功,则将文本文件中用户数据存入userData
  • public static Book[] GetMyBook(String name, String userData, LibraryDAO Book)传入用户名,获取用户借阅的图书

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

library包

library包含Book类,Users类,由于用户是图书管理系统中的两大主体,所以将Book与Users类封装在library包中。

librarydao包

librarydao包主要是实现DAO模式而创建的,其中包含LibraryDAO、LibraryDAOArrayImpl、LibraryDAOListImpl

6.特色

  1. DAO模式。优点:一、先设计方法在着手实现能避免业务代码的混乱;二、DAO模式实现了数据访问接口与方法实现的相分离,这样能进行更好的分工。
  2. 数据存储采用简单的文本文件存储。
  3. git管理代码:git仓库
posted @ 2020-12-09 01:00  1911-黄荣煌  阅读(100)  评论(0编辑  收藏  举报