数据库课程设计实验报告--图书管理系统
數據庫課設圖書管理系統
目錄
一、系統背景
二、需求分析
(一)系統綜合需求
(二)系統邏輯模型
三、系統設計
(一)概念結構設計
(二) 邏輯結構設計
(三)子模塊劃分及功能概述
四、詳細設計
(一)開發平臺及工具
(二)存儲過程及觸發器
(三)應用程序設計
(四)用戶界面設計
五、課程設計總結
六、參考文獻
七、附錄
一.系統背景
圖書館信息管理系統數據庫用以收集、存儲書籍信息、人員(讀者、圖書管理員)信息、圖書借閱信息以及意外處理信息,及時記錄存儲各個環節信息的變更,以便管理、查詢、顯示、輸出,節約大量人力物力把人們從繁雜的手工記錄方式中解脫出來的同時,有力保障圖書館日常事務的高效運作。
二.需求分析
(一)系統綜合需求
作為一個圖書管理系統,應該給用戶提供方便、友好而簡潔的界面進行應用,以便于收集圖書信息。
對于圖書管理來說,分為讀者和圖書,要實現的功能有管理和查詢圖書信息,讀者的借還書信息,以及借書逾期或者丟失的罰款處理。
讀者的基本數據有圖書證號,姓名,性別,單位,借書日期,還書日期。
圖書的基本數據有書籍編號,書籍名稱,作者,出版社,購買日期,借閱次數,狀態(是/否借出、庫存)。還有基本數據罰款金額。
此外,一個成熟的管理系統不僅應該具有基本的處理、查詢功能,還應該有一些分析、后臺監控的功能。應該限制用戶對數據的訪問范圍,限制用戶操作級別(普通用戶、管理員),限制對數據表修改權限。
最后,要求在進行設計系統中同時注意性能要求,響應各種操作的時間盡可能少。
(二)系統邏輯模型
1.數據流圖
2.數據字典
三.系統設計
(一)概念結構設計
(二)邏輯結構設計
部分表關系圖:
(三)子模塊劃分及功能概述
系統設置二種權限:讀者和管理員。登陸后,可以進入不同的功能模塊,在登陸界面可以修改登陸密碼。子模塊劃分如下:
- 借書(需要權限:讀者)
讀者在輸入賬號密碼登錄以后,填寫姓名性別單位,進行借書,填寫借書時間,借書日期,還書時間,然后經過管理員同意,便可借書成功。
- 還書(需要權限:讀者)
讀者登陸系統進行還書,管理員接受到還書信息,查看是否逾期,不逾期就直接還書成功,逾期進行罰款處理,管理員發布罰款信息。
- 交罰款(需要權限:讀者)
管理員發布罰款信息后,讀者接受信息,進行確認是否補交罰款,不補交就停止讀者借書功能,補交成功后恢復借書功能。
- 管理圖書信息(需要權限:管理員)
管理員登錄系統,對未錄入的圖書填寫圖書的書籍編號,書籍名稱,作者,出版社,購買日期,借閱次數,狀態等,對已錄入的圖書修改借閱次數及狀態。
- 管理借書信息(需要權限:管理員)
管理員登錄系統,查看到讀者發送的借書信息,根據讀者是否有罰款未交來判斷是否借給讀者,借給讀者后,修改圖書借閱次數及狀態。
- 管理罰款信息(需要權限:管理員)
管理員查看讀者還書信息,對比讀者借書日期及時間,查看是否逾期,不逾期,則修改圖書借閱狀態,還書成功,逾期就給讀者發送罰款信息,讀者進行罰款補交。
四.詳細設計
(一)開發工具及平臺
- 開發工具 Microsoft Visual Studio 2019
- DBMS: Microsoft SQL Server 2005
- 建模工具: Microsoft Visual Studio 2019
說明:用Microsoft Visual Studio 2019實現用戶界面設計,再連接SQL Server 2005數據庫中的內容,部分算法實現來源于www.csdn.net。
(二)數據庫存儲過程
-
讀者信息表
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 的基本使用,它們都是非常有用的工具,不僅僅是在課堂作業中,更會在我們日后的職業生涯中有著不可估摸的作用。其次本次系統的設計也對我學習用戶界面設計有所啟發,一個系統不僅僅需要具有合理的功能模塊設計,而且也需要有更加人性化的界面設計,便于用戶學習使用和掌握,這樣才能使系統能夠讓更多的人接受!
六.參考文獻
總結
以上是生活随笔為你收集整理的数据库课程设计实验报告--图书管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm常用快捷键详解,让你编程
- 下一篇: 项目实战-药品采购系统-day01