IO流之图书管理系统思想

该博客详细介绍了图书管理系统的功能需求和设计思想,包括读者信息管理、图书信息管理、图书借阅管理、图书类别设置和用户管理等模块。系统采用面向对象设计,涉及实体类如Book、Reader、BookType等,以及对应的DAO类实现增删查改功能。此外,还讨论了分块实现和系统架构的设计策略。
摘要由CSDN通过智能技术生成

前提掌握

1、掌握java基本语法
2、熟悉使用流程控制
3、理解面向对象思想
4、熟练封装,继承,多态
5、熟悉使用接口,异常
6、熟悉使用集合
7、熟悉掌握I/o流相关操作

思想要求

  • 长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较烦琐。在借书时,读者首先将要借的书和借阅证交给工作人员,然后工作人员将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。在还书时,读者首先将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息。太过于繁琐了!所以,我们需求设计一个图书管理系统来方便学生的借书和图书馆管理书籍。
  • 本系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。
  • 读者信息管理:能够对读者的基本信息进行管理,包括新增读者,如学校新来一名教师,想要借书,就必须先添加读者信息;读者信息的修改,如学生转到别的专业,此时要修改学生的基本信息;删除读者的信息,比如某个学生中途退学了,可以将其信息删除。查询读者的信息,比如有同学拾到了一张借阅卡,卡上有学生的编号,通过此号来查询学生的联系电话,从而可以找到学生。
  • 图书信息管理:能够对图书的基本信息进行管理,包括新增图书,学校每年会购进新书,此时需要将新书的信息录入系统中;图书信息的修改,如学生借书后将图书丢失,此时需要修改图书的总数量,使总数减1;删除图书,学校在购进新书的同时,每年会对过期的图书进行清理,不再提供借阅,此时就需要将这些图书的信息从系统中删除。查询图书的信息,比如要查看有哪些是Java相关的书籍或者指定ISBN号的图书等。
  • 图书借阅信息管理:能够对图书的借阅信息进行记录,包括读者信息、图书信息、借阅时间等信息。
  • 图书归还信息管理:能够对图书的借阅信息进行记录,包括读者信息、图书信息、归还时间、是否超期、罚金等信息。
  • 系统用户信息管理:能够对系统用户的信息进行管理,包括增加新的系统操作用户,对当前系统用户的密码进行修改,以及删除某一用户。

项目功能结构图

在这里插入图片描述

思想实现

1、实现分块

在这里插入图片描述

2、参考设计

图书实体:图书编号ISBN、图书名称、作者、出版社、出版日期、印刷次数、单价、图书类型
图书类型:图书类型编号、图书类型名称(通过集合存储)
读者实体:读者编号、读者姓名、出生日期、性别、电话、所在院系、注册日期
读者类型:读者类型编号、读者类型名称、可借阅天数、可借阅数量
用户:用户编号、用户名、密码

Book.java:ISBN,typeid,bookname,author,publish,pubilishdate,printtime,unitprice,typename
BookType.java:typeid,typename
BorrowBook.java:readerid,ISBN,borrowdate,returndate,fine
Reader.java:readerid,name,sex,age,dept,phone,regdat,limit,maxborrownum,type,typename
ReaderType.java:typeid,typename,limit,maxborrownum
Users.java:id,name,passwowrd

  • 读者信息管理
    ReaderDao.java:完成读者信息添加和读者信息查询与修改功能。
  • 图书信息管理
    BookDao.java:完成图书信息添加和图书信息查询与修改功能。
  • 图书借阅管理
    BookBorrowDao.java:包括图书借阅和图书归还功能。
  • 图书类别设置
    BookTypeDao.java图书类别设置包括查询所有图书类别信息,查询指定类型名的图书类型信息,添加图书类型,修改指定编号的图书类型信息,删除指定类型编号的图书类型。
  • 读者类别设置
    ReaderTypeDao.java读者类别设置包括查询所有读者类型信息,查询指定类型名的读者信息类型,添加读者类型,修改指定编号的读者类型信息,删除指定类型编号的读者类型。
  • 用户管理
    UserDao.java具体包括登录系统的时候,判断用户名和密码是否有效;查询所有用户信息;添加用户;修改指定编号的用户的密码;删除指定编号的用户信息。

一、实体域类(自动生成get、set、toString方法)

Book String ISBN String typename String Bookname String author String publish String publishdate double unitprice String amount Booktype Integer typeid String typename Reader String id String typename String name String age String sex String phone String dept String reg Readertype Integer id String typename Integer num Integer limit BorrowBook String readerid String ISBN String borrowdate String returndate double fine Users Integer id String name String password

二、功能实现类

BookDao boolean insertBookd List<Book> selectBook() List<Book> selectBookByISBN() List<Book> selectBookByName() List<Book> selectBookByType() List<Book> selectBookByAuthor() List<Book> selectBookByPublish() boolean update boolean delete ReaderDao insertReader() : boolean List<Reader> selectReader() List<Reader> selectReaderById() List<Reader> selectReaderByName() List<Reader> selectReaderByType() List<Reader> selectReaderByDept() boolean updateReader BookType List<BookType> selectBookType() List<Properties> selectBookType() boolean insertBookType boolean updateBookType boolean deleteBookType ReaderTypeDao List<ReaderType> selectReaderType() List<Reader> selectReaderType() boolean insertReaderType boolean updateReaderType boolean deleteReaderType UserDao boolean check List<Properties> selectUser() boolean insertUser boolean updateUserPWD boolean deleteUser BookBorrowDao List<BorrowBook> selectBorrowByReaderId() boolean borrowBook boolean returnBook

总结

博主在这里对于刚入坑的小白建议一下:对于任何问题,每个人都会有不一样的想法,实现代码的思想也是不一样的。不要过多的去纠结为啥别人跟着自己的思路不一样,可以去借鉴和了解别人的代码思想,但同时也要有自己的想法,不要被别人的代码禁锢了自己的思想。

图书管理系统设计” 1、问题描述 定义图书类,属性有:书名、出版社、ISBN 号、作者、库存量、价格等信息和相关的 对属性做操作的行为。 主要完成对图书的销售、统计和图书的简单管理。 2、功能要求 (1)销售功能。购买书籍时,输入相应的 ISBN 号,并在书库中查找该书的相关信息。 如果有库存量,输入购买的册数,进行相应计算。如果库存量不够,给出提示信息,结束购 买。 (2)图书简单管理功能。 添加功能:主要完成图书信息的添加,要求 ISBN 号唯一。当添加了重复的编号时,则 提示数据添加重复并取消添加。 查询功能:可按书名、ISBN 号、作者、出版社进行查询。若存在相应信息,输出所查 询的信息,若不存在该记录,则提示“该标题不存在! ” 。 修改功能:可根据查询结果对相应的记录进行修改,修改时注意 ISBN 号的唯一性。 删除功能:主要完成图书信息的删除。输入要删除的 ISBN 号,根据编号删除该物品的 记录,如果该编号不在物品库中,则提示“该编号不存在” 。 (3)统计功能。 输出当前书库中所有图书的总数及详细信息;可按书的价格、库存量、作者、出版社进 行统计,输出统计信息时,要按从大到小进行排序。 (7)图书存盘:将当前程序中的图书信息存入文件中。 (8)读出信息:从文件中将图书信息读入程序
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值