• 面向对象设计大作业第二阶段:图书馆系统


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

    (1)前期调查






    (2)系统功能框架图

    2.类的设计


    3.类说明

    UserDaoImpl类

    ·实现UserDao接口
    ·登陆通过输入不同的账号和密码就可以验证是管理员还是用户

    主要用来输出各个菜单

    Book类

    ·主要包含书本的编号(id),名称(name),类别(category),数量(count),在图书馆中的位置(position)

    UserOperateDaoImpl类

    ·实现了UserOperateDao接口
    ·使用List来存储从文本中读取的数据
    ·方法:
    SearchPrecise():
    用于精确查找图书,将文件中的图书名与用户输入的图书名相比较,相等则输出图书相关信息以及是否被借走。
    SearchFuzzy():
    用于模糊查找图书,将文件中的信息与用户输入的关键字相比较,含有关键字的图书就输出相关信息以及是否被借走
    ShowBorrowHistory():
    用一个文本来存储这个用户的借书记录,将其输出。
    ShowRetuenHistory():
    用一个文本来存储这个用户的还书记录,将其输出。
    ShowPopularBooks():
    用一个文本来放相关的热门图书,将其输出。

    AdminOperateDaoImpl类

    ·实现了AdminOperateDao接口
    ·方法:
    AddBooks():
    管理员输入需要加入的图书编号,名称,类别,数量,位置。向文件中加入所有信息。
    DelBooks():
    管理员输入需要删除的图书编号,在文件中进行遍历,遍历到之后对他进行删除。

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

    5.特色

    1.使用DAO模式

    在登录,管理员操作,用户操作都使用了Dao接口;由于这三个部分都需要使用到文件数据的存储,就使用了DAO接口,我在对数据的修改时就直接改变DAO接口的方法就可以了,不用再对里面的代码进行大整改。

    2.数据持久化

    利用文件文本存储的方式,将数据存储到文本中就可以使数据存储持久化;
    在图书馆系统中,用到了多个文本文件对数据进行存储

  • 相关阅读:
    5、python中的列表
    Linux---配置新服务器的常见操作(CentOS7)
    MapReduce原理篇
    用MR实现Join逻辑的两种方法
    Linux静态库与共享库
    mysql命令查看表结构及注释
    mysql 数据同步到 elastsearch7 数字类型精度丢失
    canal client-adapter 将mysql数据同步到 es elasticsearch 日期时间少8小时问题解决
    如何用redis做活跃用户统计-HyperLoglog
    jvm 虚拟机内存布局
  • 原文地址:https://www.cnblogs.com/lz0149/p/14095024.html
Copyright © 2020-2023  润新知