zoukankan      html  css  js  c++  java
  • 面向对象设计大作业——图书馆

    1.功能调查与系统功能框架图

    功能

    模拟图书馆查书、借书、还书系统,提供给需要在图书馆借书的人们。
    Gitee项目地址:https://gitee.com/suzukaze_skrame/java-learn

    系统功能框架图

    2.类设计(UML类图)

    3.类说明

    BookInfo:

    说明:图书馆图书详细信息
    主要属性:name(书名),remainQuantity(剩余可借数量),location(摆放位置),id(图书条形码ID)
    主要方法:remainQuantityAdd(剩余可借数量+1),remainQuantitySubtraction(剩余可借数量-1)

    BorrowedBooksInfo:

    说明:用户借书信息
    主要属性:name(书名),id(图书条形码ID),user(借书的用户名)
    主要方法:getAllBooks(获取该用户所有借书信息)

    Library:

    说明:图书馆所有图书信息
    主要属性:books(所有图书,使用List,可以根据图书ID直接访问图书的详细信息)
    主要方法:readBookList(从文件中读取图书馆的所有图书信息),writeBookList(往文件中写入修改的图书信息)

    UserOperateImpl:

    说明:查书、借书、还书操作实现
    主要属性:library(图书馆所有图书信息)
    主要方法:searchBooks(查书),borrowBooks(借书),returnBooks(还书),showAllBooks(输出该用户所有借书信息)

    UserService:

    说明:登录界面
    主要属性:currentUser(记录当前用户)
    主要方法:login(登录),register(注册)

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

    5.特色

    1.使用了DAO模式

    好处:目前使用数组对数据进行处理,以后如果要改成数据库,不需要重写原代码,只要写新的数据库类。

    2.实现了数据持久化(数据存储)

    目前使用txt文本存储用户名、密码、图书信息。

    3.使用了阿里巴巴代码规范扫描插件对项目代码进行扫描

    由于这次写的是控制台界面,扫描结果显示界面方法行数超过80行,其他均无问题。

    4.已完成大部分功能,通过控制台操作,简单演示如下:

    (1)登录

    (2)注册

    (3)查书

    (4)借书

    (5)还书

    (6)程序健壮性部分演示

  • 相关阅读:
    图论:带花树算法-一般图最大匹配
    图论&数学:最小平均值环
    图论:朱刘算法
    图论&动态规划:虚树
    图论:动态点分治
    图论:平面图的对偶图
    图论:DFS序
    打开页面时,所有节点展开(ztree)
    Vue 常用记录
    Vue v-if and v-for
  • 原文地址:https://www.cnblogs.com/wzt392217419/p/14090599.html
Copyright © 2011-2022 走看看