数据库课设图书管理系统

目录

一、系统背景
二、需求分析
(一)系统综合需求
(二)系统逻辑模型
三、系统设计
(一)概念结构设计
(二) 逻辑结构设计
(三)子模块划分及功能概述
四、详细设计
(一)开发平台及工具
(二)存储过程及触发器
(三)应用程序设计
(四)用户界面设计
五、课程设计总结
六、参考文献
七、附录

一.系统背景

图书馆信息管理系统数据库用以收集、存储书籍信息、人员(读者、图书管理员)信息、图书借阅信息以及意外处理信息,及时记录存储各个环节信息的变更,以便管理、查询、显示、输出,节约大量人力物力把人们从繁杂的手工记录方式中解脱出来的同时,有力保障图书馆日常事务的高效运作。

二.需求分析

(一)系统综合需求

作为一个图书管理系统,应该给用户提供方便、友好而简洁的界面进行应用,以便于收集图书信息。
对于图书管理来说,分为读者和图书,要实现的功能有管理和查询图书信息,读者的借还书信息,以及借书逾期或者丢失的罚款处理。
读者的基本数据有图书证号,姓名,性别,单位,借书日期,还书日期。
图书的基本数据有书籍编号,书籍名称,作者,出版社,购买日期,借阅次数,状态(是/否借出、库存)。还有基本数据罚款金额。
此外,一个成熟的管理系统不仅应该具有基本的处理、查询功能,还应该有一些分析、后台监控的功能。应该限制用户对数据的访问范围,限制用户操作级别(普通用户、管理员),限制对数据表修改权限。
最后,要求在进行设计系统中同时注意性能要求,响应各种操作的时间尽可能少。

(二)系统逻辑模型

1.数据流图

2.数据字典

三.系统设计

(一)概念结构设计

(二)逻辑结构设计





部分表关系图:

(三)子模块划分及功能概述


系统设置二种权限:读者和管理员。登陆后,可以进入不同的功能模块,在登陆界面可以修改登陆密码。子模块划分如下:

  • 借书(需要权限:读者)
    读者在输入账号密码登录以后,填写姓名性别单位,进行借书,填写借书时间,借书日期,还书时间,然后经过管理员同意,便可借书成功。
  • 还书(需要权限:读者)
    读者登陆系统进行还书,管理员接受到还书信息,查看是否逾期,不逾期就直接还书成功,逾期进行罚款处理,管理员发布罚款信息。
  • 交罚款(需要权限:读者)
    管理员发布罚款信息后,读者接受信息,进行确认是否补交罚款,不补交就停止读者借书功能,补交成功后恢复借书功能。
  • 管理图书信息(需要权限:管理员)
    管理员登录系统,对未录入的图书填写图书的书籍编号,书籍名称,作者,出版社,购买日期,借阅次数,状态等,对已录入的图书修改借阅次数及状态。
  • 管理借书信息(需要权限:管理员)
    管理员登录系统,查看到读者发送的借书信息,根据读者是否有罚款未交来判断是否借给读者,借给读者后,修改图书借阅次数及状态。
  • 管理罚款信息(需要权限:管理员)
    管理员查看读者还书信息,对比读者借书日期及时间,查看是否逾期,不逾期,则修改图书借阅状态,还书成功,逾期就给读者发送罚款信息,读者进行罚款补交。

四.详细设计

(一)开发工具及平台

  • 开发工具 Microsoft Visual Studio 2019
  • DBMS: Microsoft SQL Server 2005
  • 建模工具: Microsoft Visual Studio 2019
    说明:用Microsoft Visual Studio 2019实现用户界面设计,再连接SQL Server 2005数据库中的内容,部分算法实现来源于www.csdn。

(二)数据库存储过程

  • 读者信息表
    create table Reader
    (
    id varchar(20),
    name varchar(20),
    sex varchar(20),
    workplace varchar(20),
    B_date datetime,
    R_date datetime,
    )

  • 图书信息表
    create table Book
    (
    book_num varchar(20),
    book_name varchar(20),
    Book_writer varchar(20) not null,
    Book_house varchar(20),
    Book_time datetime,
    Book_sum int,
    Book_state int,
    )

  • 触发器:读者借书后,自动增长借阅次数
    alter trigger Book
    on Borrow for insert
    as begin
    declare @book_id varchar(20)
    declare @id varchar(20)
    select @book_id=book_id,@id=sum
    from inserted
    update Book set book_sum=book_sum-1 where @book_id=id
    end
    go

(三)应用程序设计

系统采用MFC对话框应用程序以方便开发,MFC对常用API做了很好的封装。每个对话框对应一个类,每个数据库表对应一个类。
void CAppDlg::OnBnClickedButton1()
{
CString sun, spwd;
GetDlgItemText(IDC_EDIT1, sun);
GetDlgItemText(IDC_EDIT2, spwd);
BOOL isSuccess = !sun.CompareNoCase(_T(“admin”))
&& !spwd.CompareNoCase(_T(“201314”));
if (isSuccess)
{
ShowWindow(SW_HIDE);
M m;
m.DoModal();
}
else
{
MessageBox(_T(“爬”));
}
}

(四)用户界面设计

  • 登录界面
  • 读者界面
  • 管理员界面
  • 罚款界面

五.课程设计总结

这在本次的设计过程中,首先必须要清楚我们所需要的设计的图书管理系统的结构。一个完善的图书管理系统所需要的基本模块都必须要先设计好才能让我们的设计过程不会被各种突然遇到的问题打断。
而在本次的锻炼实践中,我们也得到了从理论到实践的机会。在课程中学到的很多东西都可以有所得,有所悟,而不只是单纯的纸上谈兵。
同时,借此机会,我们也学到了很多课堂上学不到的东西,掌握了许多实用的工具,例如学会了SQL Server的基本使用,Visual Stdio 2019 的基本使用,它们都是非常有用的工具,不仅仅是在课堂作业中,更会在我们日后的职业生涯中有着不可估摸的作用。其次本次系统的设计也对我学习用户界面设计有所启发,一个系统不仅仅需要具有合理的功能模块设计,而且也需要有更加人性化的界面设计,便于用户学习使用和掌握,这样才能使系统能够让更多的人接受!

六.参考文献

  1. MATTISON R. Web仓库工程与知识管理. 高军,等,译. 北京: 清华大学出版社, 2003.
  2. INMON W H. 数据仓库. 王志海,等,译. 北京: 机械工业出版社, 2000.
  3. INMON W H, et al. 数据仓库管理. 王天佑,译. 北京: 电子工业出版社, 2000.
  4. IMHOFF C, et al. 数据仓库设计. 于戈,等,译. 北京: 机械工业出版社, 2004.
  5. KRISH K. Data Warehousing in the Age of the Big Date. Morgan Kaufmann, 2013.

更多推荐

数据库课程设计实验报告--图书管理系统