面向对象设计大作业--图书馆
1.功能调查与系统功能框架图:本系统应该包含什么功能、谁使用这个系统。
功能:本系统包含普通用户登录和管理员登录,普通用户有查找图书,借阅图书,归还图书,查看全部书籍的功能,管理员有查找图书,增加图书,删除图书,查看全部书籍的功能。
2.类的设计:UML类图,应展现主要类之间的关系。如果类比较多,应该放多张图,每张图有自己的重点。
3.类说明:说明主要类的属性和主要方法。使用到集合相关(List、Set、Map)类,要重点说明,为什么用这种数据类型存储数据。
1.Bookinformation(书本的信息):
主要属性:name(书名):String;id(序号):String,主要为了在查找书籍和归还书籍时方便序号的比较;num(数量):int;author(作者):String;price(价格):int;type(类型):String
主要方法:getId(获取书本的序号);addNum(在归还书籍时对书本数量加一);reduceNum(借阅书籍时对书本数量减一)
2.Borrow(书本的借阅功能)
主要属性:bookList:BookList(书本的列表),为了在借阅时获得书架的容量以及书本的数量是否大于0
3.IO(接口的功能)
主要方法:通过对接口里面的Work方法重写,来实现管理员身份和普通用户身份的不同操作
4.User(普通用户和管理员都会继承这个类)
主要属性:IO[] operation(包含了用户或者管理员所具备的操作):通过它确定需要调用的具体功能
menu(菜单):作为菜单以及返回选择的功能对应的序号; name(用户名)
主要方法:doOperation:通过返回的序号决定调用对应的功能
5.Test(进入图书馆的界面以及对登陆身份的调用)
主要属性:user(用户):通过不同的choice和身份调用不同的Operation方法
主要方法:login(返回身份信息):返回选择的是普通用户或者是管理员
4.系统的包(package)的规划设计:请参考要求1。可以画UML包图。不仅要有package、还要有该package包含了什么类。
5.特色(可选):
1.已完成大部分功能,通过控制台展示,简单演示如下:
(1)登录
(2)查找书籍
(3)借阅书籍功能(借书后数量减一)
(4)归还书籍功能(归还后数量加一)
(5)增加书籍(管理员)
(6)删除书籍(管理员)