面向对象设计大作业第二阶段:图书馆系统
1.功能调查与系统功能框架图
功能调查
(1)图书馆系统有两种权限:管理员和用户
(2)管理员可以对图书馆图书进行增、删、查、显示
(3)用户可以查、显示、借书和还书
功能框架图
2.类的设计
UML类图
3.类说明
Book类: 定义了书的一些属性(书名,作者,分类,状态),属性的get、set方法
User类: 登录功能:用户,管理员
Person类:定义的人的属性姓名,属性的get、set方法,初始化存放一些书
operate接口:操作的接口,操作方法:查询/查阅(select),删除/借阅(delete),增加/还书(add),显示书籍列表(list)
Subscriber类:继承了Person类,实现operate的查阅,删除,增加,显示书籍列表等方法
Manager类:继承了Person类,实现operate的查询,借阅,还书,显示书籍列表等方法
Main类
4.系统的包(package)的规划设计
UML包图
package User
package Operate
package Book
5.使用DAO模式
DAO模式好处
(1)隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。
(2)数据库的修改只要修改DAO层的访问方式就可以了,不用整个项目都进行修改。数据访问和业务逻辑分离,便于数据维护,业务逻辑不需要了解访问细节,如数据源是数据库、文件、还是XML