首页 > 其他分享 >第二十五章《图书管理系统》第1节:图书管理系统简介

第二十五章《图书管理系统》第1节:图书管理系统简介

时间:2023-01-05 17:04:15浏览次数:65  
标签:25 对话框 管理系统 信息 读者 第二十五章 借阅 图书

 图书管理系统具有图书信息管理、读者信息管理和借阅信息管理三大功能模块,本小节将从软件功能、数据库系统设计和项目结构几个方面介绍该软件系统的设计方案。

25.1.1系统功能简介

图书管理系统第一大功能模块是图书信息管理,这个模块的软件界面如图25-1所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Swing

图25-1图书信息管理界面

从图25-1可以看出:图书信息管理模块能够完成图书的新增、修改、删除、借阅登记等常规的信息管理工作,并且还能以多种方式对图书进行检索。

新增图书信息对话框如图25-2所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Swing_02

图25-2新增图书信息对话框

在这个对话框中,用户正确填写关于图书的各项信息,之后单击“确定”按钮就可以完成新增图书的操作。从图25-2可以看出:图书类型和出版社这两项信息并不是由用户手动填写的,而是从下拉框中选择的。这两个下拉框中的选项也是可以编辑和维护的,在图25-1所示的界面中单击“图书类型设置”和“出版社管理”按钮即可打开维护这两个下拉框选项的对话框,图书类型设置对话框如图25-3所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Swing_03

图25-3图书类型设置对话框

在这个对话框中可以对图书类型进行新增、修改、删除的操作。用户所设置的图书类型都会出现在图24-2所示窗体的图书类型下拉框中。同样,用户所设置的出版社信息,这些出版社信息也都会出现在图24-2所示窗体的出版社下拉框中。

当用户在图书列表中选中一条图书信息后单击“借阅”按钮,即可打开借阅登记对话框,这个对话框如图24-4所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Swing_04

图24-4借阅登记对话框

在图24-4所示的借阅登记对话框中会自动显示出读者所选定图书的编号和书名,并且还会显示出借书日期和最晚归还日期。借书日期就是当前日期,而最晚归还日期是当前日期后的第60天。操作人员只需要在这个对话框中填写读者编号,并单击“确定”按钮即可完成图书借阅操作。当完成图书借阅操作后,在借阅信息管理界面中就会出现一条借阅信息。

图书管理系统的第二个模块是读者信息管理,该模块的界面如图24-5所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Swing_05

图25-5读者信息管理界面

在读者信息管理界面中显示了读者的各项信息,其中读者编号与他的图书证编号是一致的,因此每条读者信息与其图书证上的信息也是一致的。在这个界面中可以完成读者信息的查询、新增、修改等操作,此外,如果有读者出现多次逾期未还图书、丢失图书等情况,还可以对其进行停用操作,只需要在列表中选中一个读者,然后单击“停用”按钮即可,处于停用状态的读者不能再次借阅本系统中的图书,但可以进行归还图书的操作。被停用的读者还可以被恢复正常状态,只需要从列表中选定被停用的读者后单击“恢复”按钮即可。读者信息不能被删除,这是为了在系统中保留所有注册过的读者信息。

图书管理系统的第三个模块是借阅信息管理,这个模块的界面如图25-6所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Java_06

图25-6借阅信息管理界面

在借阅信息管理模块中显示出了图书的借阅信息,这些信息的最后一列显示出了图书的归还状态,每条借阅信息根据图书是否归还以及是否超过归还日期分为未还、逾期未还、按时归还和逾期归还4种状态。每次打开该模块时,系统都会自动更新状态,并且界面左下角还设置了“刷新”按钮用来手动更新状态,例如登录图书管理系统时是2022年10月5日,但一直到10月6日还没有退出系统,在这种情况下可能某些图书在10月5日还属于“未还”状态,但到了10月6日就变成了“逾期未还”状态,而单击“刷新”按钮就能够即时更新状态。

当操作人员选定一条借阅信息并单击“还书”按钮后,能够完成还书操作,但在真正还书之前系统会弹出确认对话框让操作人员确认图书信息和读者信息以避免出现操作错误的情况,还书确认对话框如图25-7所示。

第二十五章《图书管理系统》第1节:图书管理系统简介_Java_07

图25-7还书确认对话框

25.1.2数据库表设计

图书管理系统包含多种信息,它们分别是:图书类型、出版社、图书、读者、借阅记录,因此本系统总共有5张数据表,它们分别是:

  • book_type:存储图书类型信息。
  • publisher:存储出版社信息。
  • book:存储图书信息。
  • reader:存储读者信息。
  • record:存储借阅信息。

在以上5张表中,book_type表和publisher表的结构完全相同,它们如表25-1所示。

表25-1 book_type表和publisher表结构

字段

类型

长度

意义

id

varchar

20

编号

name

varchar

20

名称

book表的结构如表25-2所示。

表25-2 book表结构

字段

类型

长度

意义

id

varchar

20

图书编号

book_type_id

varchar

20

图书类型编号

name

varchar

60

书名

author

varchar

20

作者

price

varchar

20

价格

publisher_id

varchar

20

出版社编号

position

varchar

20

所在位置(书架)

total_num

int


图书总数

lend_num

int


外借数量

info

varchar

100

图书简介

在表25-2中,表示价格的price字段被定义为varchar类型而不是decimal类型,这是因为在本系统中价格只需要记录而不需要计算,所以使用varchar类型更加方便操作。

reader表的结构如表25-3所示。

表25-3 reader表结构

字段

类型

长度

意义

id

varchar

20

读者编号

name

varchar

20

读者姓名

sex

char

2

读者性别

phone

char

11

读者手机号

card_date

varchar

10

办卡日期

state

varchar

10

状态

record表的结构如表25-4所示。

表25-4record表结构

字段

类型

长度

意义

id

varchar

20

借阅信息流水号

reader_id

varchar

20

读者编号

book_id

varchar

20

所借图书编号

lend_date

char

10

借书日期

reg_return_date

char

10

系统规定的最后归还日期

act_return_date

char

10

读者实际归还图书的日期

state

varchar

10

状态

25.1.3项目结构简介

图书管理系统的源代码所涉及的类更多,为了代码结构能更加清晰,本项目把类分成了多个包,这些包有以下几个:

  • model:模型包,表示图书、读者等实体的类都在这个包下。
  • dao:数据访问对象包,用以访问数据库的类都在这个包下。
  • view:界面包,所有窗体类和自定义对话框都在这个包下。
  • util:工具类包,访问数据库的工具类、处理日期时间的工具类都放在这个包下

下面的表25-5展示了各个包下类的意义和作用。

表25-5 图书管理系统所有类

所在包

类名称

意义

model

BookType

图书类型

model

Publisher

出版社

model

Book

图书

model

Reader

读者

model

Record

借阅记录

dao

BookTypeDao

操作book_type表的类

dao

PublisherDao

操作publisher表的类

dao

BookDao

操作book表的类

dao

ReaderDao

操作reader表的类

dao

RecordDao

操作record表的类

view

LoginFrame

登录窗体类

view

MainFrame

主窗体类

view

BookPanel

图书信息面板

view

BookTypeDailog

图书详情对话框

view

BookTypeDailog

图书类型管理对话框

view

PublisherDailog

出版社管理对话框

view

ReaderPanel

读者信息面板

view

ReaderDialog

读者详情对话框

view

RecordPanel

借阅信息面板

view

LendDialog

登记借阅对话框

util

DBUtil

数据库工具类

util

DateUtil

日期处理工具类

util

IDGenerator

借阅流水号生成类


Main

系统启动类,包含main()方法

本文字版教程还配有更详细的视频讲解,小伙伴们可以点击这里观看。


标签:25,对话框,管理系统,信息,读者,第二十五章,借阅,图书
From: https://blog.51cto.com/mugexuetang/5991518

相关文章

  • 第二十五章《图书管理系统》第2节:系统功能实现
    本小节将讲解图书管理系统的代码设计思路及关键代码的实现过程。由于本章所介绍的图书管理系统与第24章所介绍的学生管理系统有很多相似之处,例如都定义了数据库工具类DBUtil......
  • 第二十四章《学生信息管理系统》第1节:学生信息管理系统简介
     学生信息管理系统用于管理学生基本信息,该系统除能够大大的帮助学籍管理人员提高工作效率。本小节将从软件功能、数据库系统设计和项目结构几个方面介绍该软件系统的设计方......
  • 用Python来做一个简单的学生管理系统(附源码)
    小学妹说要毕业了,学了一学期Python等于没学,现在要做毕设做不出来,让我帮帮她,晚上去她家吃夜宵。当时我心想,这不是分分钟的事情,还要去她家,男孩子晚上不要随便出门,要学会......
  • Python设计图书馆管理系统技术文档(五)
    (Python设计图书馆管理系统技术文档(五))5.3管理功能实现这个程序管理员的功能就3个,添加书籍、淘汰书籍、用户管理。5.3.1管理员界面(AdminHome.py)importsysimportq......
  • Python设计图书馆管理系统技术文档(六)
    (Python设计图书馆管理系统技术文档(六))6.图形界面程序打包与资源下载6.1打包(1)PyInstaller命令格式:pyinstaller[options]script-D:将所有文件打包到一个目录下-F:将......
  • C#连接数据库实现开发图书管理系统操作代码
     //客户端登录界面(Form1.cs窗口体系) usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem......
  • C/C++图书管理系统[2023-01-04]
    C/C++图书管理系统[2023-01-04]17、图书管理系统主要包括管理图书的库存信息、每一本书的借阅信息以及每一个人的借书信息。每一种图书的库存信息包括编号、书名、作者、......
  • C语言学生成绩管理系统[2023-01-04]
    C语言学生成绩管理系统[2023-01-04]设计题目:《学生成绩管理系统》设计目的利用所学的三种程序基本结构以及数组、用户自定义函数进行一个简单管理系统的设计,进一步理......
  • C语言车票管理系统[2023-01-04]
    C语言车票管理系统[2023-01-04]一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如......
  • C/C++奥运会奖牌统计管理系统
    C/C++奥运会奖牌统计管理系统设计一个奥运会奖牌统计管理系统,每个国家为一条记录,包括国家名、金牌数、银牌数、铜牌数等。该系统能提供以下功能:1、系统以菜单方式进行工......