面向对象设计-图书管理系统

1.1需求分析

       图书馆管理系统是图书馆管理工作中不可缺少的部分,对于图书馆的管理者和使用者来说都非常重要了,故相对于传统的手工方式或性能较低的图书馆管理系统管理图书馆的日常事务相比,设计一个能提供快速的图书信息检索功能、快捷的图书借阅、归还流程,为管理者与读者提供充足的信息和快捷的数据处理手段的系统,能更好的对图书进行管理。所以从读者与图书管理员的角度出发,本着以读者借书、还书快捷、方便的原则,要求本系统应具有以下特点:

 

    √  具有良好的系统性能,友好的用户界面。

 

    √  较高的处理效率,便于使用和维护。

 

    √  采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。

 

    √  系统尽可能简化图书馆管理员的重复工作,提高工作效率。

 

    √  简化数据查询、统计难度。

  最高层用例图中展开读者借书的用例图如下图所示:

    读者借助此图书管理系统子系统,可以进行一下操作:

 

 

读者借助此图书管理系统子系统,可以进行一下操作:

  1. 查询;
  2. 预留;
  3. 借书;
  4. 还书;
  5. 查阅借阅信息。

其中,在读者进行预留图书和查询借阅信息之前,读者必须先登录系统;

读者进行还书操作时,必须保证图书完整;

最高层用例图中展开图书馆管理员处理借书、还书等的用例图如下图所示:

图书管理员用例描述:

 

 

图书管理员使用系统进行的操作主要有:

  1. 处理读者的送还的图书;
  2. 处理读者的借书要求
  3. 处理读者的预留图书要求

其中在处理还书时,要查看图书的完整性;处理读者借书时,要检查读者信息;

最高层用例图中展开系统管理员进行系统维护的用例图如下图2-4所示:

 

 

系统管理员使用系统进行的操作主要有:

  1. 处理图书库里新书信息记录;
  2. 处理图书库里旧图书的信息记录;
  3. 处理新旧图书信息记录维护问题;
  4. 处理新读者信息登记;
  5. 处理已存在的读者信息记录;
  6. 查询读者资料;
  7. 添加书目信息;
  8. 处理旧书目信息。

 

2.图书管理系统对象模型

       根据需求描述,提取出管理员,借阅者,图书等几个对象.

3.1         对象模型描述

       下面对这个几个对象进行详细描述并建模:

3.1.1.              读者Borrower类:

读者在系统注册的信息包括一下几点:

姓名(name),

住址(address),

城市(city),

省/州(state),

邮政编码(zip),

可借数的最大数目(maxbook),

借书期限(maxday),

读者编号(userid),

借书证号码(borrow_number);

读者使用系统可进行的操作有:

查询-------find(),

借书------borrow(),

还书-------return_back();

3.1.2.              系统管理员Administrator类:

系统管理员也可以借书,因此他能进行读者类所以的操作;系统管理员同时也是图书管理员,也可以进行图书管理员说做的一切操作;系统管理员有自己的特殊编号,用来登录系统,进行系统级操作.以区别图书管理员.

3.1.3.              图书管理员Librarian类:

图书管理员也要在系统内注册,注册信息如下:

姓名(name),

住址(address),

城市(city),

省(state);

系统为每个管理员分配一个唯一编号workID.

图书管理员登录系统后,可以进行以下操作:

更新借书还书信息------update();

增加预留----------------create();

删除预留信息----------destroy();

3.1.4.              书目Title类:

书目类代表图书,在系统中要保存每一本图书的资料,这些信息包括:

书名(name),

作者(author),

书号(isbn),

库存数量(total_number),

借阅号(borrowed_number),

是否可以借出(is_allowedForBorrow);

在书类的操作有一些:

查找书目-------------------find();

增加书目----------------create();

删除书目----------------destroy();

借书----------------------borrow();

还书----------------------return_back();

预留图书--------------reserve()

3.1.5.              其他类:

Item类:此类代表一个书目的一份拷贝

Loan类:代表对超过还书期限的读书进行罚金的类

Reserve类:预留图书类

3.2         类代码如下:

 

 

Reader类:

 

/**

 * 读者对象

 * @author cz

 *

 */

public class Reader extends User {

    private String sex;//性别

    private int take;//借出

    private int revert;//归还

    public String getSex() {

        return sex;

    }

    public void setSex(String sex) {

        this.sex = sex;

    }

    public int getTake() {

        return take;

    }

    public void setTake(int take) {

        this.take = take;

    }

    public int getRevert() {

        return revert;

    }

    public void setRevert(int revert) {

        this.revert = revert;

    }

   

   

}

Student类:

 

 

public class Student extends Reader {

    public String sclass;//学生的班级

    public String getSclass() {

        return sclass;

    }

    public void setSclass(String sclass) {

        this.sclass = sclass;

    }

    public String toString() {

        return "您好,尊敬的学生用户  " + getName()+"\n你的班级: " + getClass()+ "\n你的性别" + getSex()

                + "\n你已借了:" + getTake() + "\n你已还:" +

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来为您分析一下图书借阅系统的借书用例模型。在图书借阅系统中,借书用例是非常重要的一个功能,下面是借书用例模型的分析: 1. 参与者 在图书借阅系统中,借书用例的参与者有两种,分别是图书管理员和借书读者。图书管理员的主要职责是管理图书借阅业务,包括添加、删除、修改、查询图书信息,以及借书、还书等操作。借书读者则是使用图书借阅系统的用户,主要负责借阅图书、查询图书信息等操作。 2. 前置条件 在进行借书操作之前,借书读者需要先登录图书借阅系统,以便系统能够对其进行身份验证。此外,借书读者还需要查询系统中的图书信息,以确定自己需要借阅哪些书籍。 3. 基本流程 借书操作的基本流程如下: - 借书读者登录图书借阅系统系统进行身份验证。 - 借书读者查询系统中的图书信息,确定需要借阅哪些书籍。 - 借书读者选择需要借阅的书籍,并输入借阅数量。 - 系统检查借阅读者的借阅资格,并检查图书库存是否充足。 - 如果借阅读者有借阅资格且图书库存充足,则系统生成借阅订单,并将订单状态设置为已借出。 - 系统将借阅订单信息更新到数据库中,并将库存数量减少相应的数量。 - 系统提示借阅读者借书成功,并提供借书订单号以供查询。 4. 替代流程 如果借阅读者没有借阅资格或者图书库存不足,则系统会提示借阅读者不能借阅该书籍,流程结束。 5. 后置条件 借书操作完成后,系统将更新数据库中的图书信息和借阅订单信息。借阅读者可以通过系统查询借书订单的状态和详情。 以上是图书借阅系统借书用例的模型分析,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值