圖書館管理信息系統(tǒng)設計與實現(xiàn)報告正文_第1頁
圖書館管理信息系統(tǒng)設計與實現(xiàn)報告正文_第2頁
圖書館管理信息系統(tǒng)設計與實現(xiàn)報告正文_第3頁
圖書館管理信息系統(tǒng)設計與實現(xiàn)報告正文_第4頁
圖書館管理信息系統(tǒng)設計與實現(xiàn)報告正文_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1引言1.1課題背景現(xiàn)代圖書館管理的本質(zhì)在于創(chuàng)新,以往的圖書館管理完全手工操做,通過卡片記錄信息,既浪費時間,又浪費人工、紙張,而且書籍和讀者的信息查詢比擬麻煩,不能提供領導管理上需要的各種信息如本館各種資料分布及借閱〔流通〕情況。隨著電子信息技術的飛速開展,圖書館的工作也發(fā)生了實質(zhì)性的進展和變化?,F(xiàn)代化的效勞手段逐漸替代傳統(tǒng)的手工操作,計算機編目、光盤數(shù)據(jù)庫和網(wǎng)絡檢索技術等新型的工程開始在圖書館領域普及。在計算機技術、網(wǎng)絡技術的進一步?jīng)_擊下,圖書館隨著教育教學改革的深入和素質(zhì)教育的全面推動,逐漸演變形成數(shù)字化圖書管理,其作用也越來越重要了[1]。為了使圖書館的管理更科學、更標準,減少重復勞動,節(jié)省圖書館建設和管理中的人力、財力,方便讀者查詢和借閱書籍,所以有必要建立一個圖書館管理系統(tǒng)。1.2課程設計目的圖書館每天都有很多的書出借歸還,使用圖書館管理系統(tǒng)可以大大地提高工作效率,減少工作中可能出現(xiàn)的錯誤,是提高圖書館辦公自動化水平的重要手段之一。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序界面開發(fā)兩個方面。在中國軟件行業(yè)日益進步的今天,如何利用這些資源來幫助管理員可以快速的管理,讓管理員以及借書者有利用更多的時間去從事其他的事情已成為一個非常注重的事情。因而設計一個好的圖書館管理信息系統(tǒng),能提高圖書館的管理效率,有利于對圖書信息的統(tǒng)計。論文旨在論述圖書館管理系統(tǒng)的設計與開發(fā)。通過圖書館管理信息系統(tǒng)的設計,熟練掌握VisualC++、Access2003等工具軟件,系統(tǒng)地掌握需求分析、數(shù)據(jù)庫設計、編碼實現(xiàn)、測試等軟件開發(fā)的流程,提高自身分析問題、解決問題的能力[2]。1.3課程設計任務本課程設計任務是通過開發(fā)一個數(shù)據(jù)庫圖書館管理信息系統(tǒng),學習數(shù)據(jù)庫系統(tǒng)的設計與開發(fā),采用VisualC++和Access2003等軟件為開發(fā)工具。通過對計算機硬件和軟件解決方案的論證,對應用領域進行調(diào)查分析,參考各種資料和進行數(shù)據(jù)庫系統(tǒng)開發(fā)實踐。在指導老師的幫助下,已經(jīng)根本上成功地實現(xiàn)了設計任務書的要求,使得設計的數(shù)據(jù)庫系統(tǒng)能夠?qū)崿F(xiàn)一般數(shù)據(jù)庫的管理。2系統(tǒng)分析2.1功能需求分析該工程系統(tǒng)包含的功能有:圖書信息管理、讀者信息管理、借書效勞管理,還書效勞管理,其中每個功能由假設干個相關聯(lián)的子功能模塊組成。如下圖:圖2.1系統(tǒng)功能模塊(1)圖書信息管理“圖書信息管理〞功能模塊用于管理圖書的相關信息,包括瀏覽、查詢、添加、修改和刪除功能。在進行圖書信息的添加時,系統(tǒng)會自動檢測所添加的圖書信息中的書籍條碼在書籍表中是否已經(jīng)存在,如果存在,會提示用戶該書已經(jīng)存在。在進行圖書信息的刪除時,要首先彈出提示窗口讓用戶確認是否刪除,只有用戶確認后才能進行圖書信息的刪除。在進行圖書修改時,不準用戶修改書籍條碼,因為書籍條碼作為數(shù)據(jù)庫中書籍表的主鍵是不同書籍的唯一標識,不準修改書籍條碼可以防止不經(jīng)意將書籍條碼改錯;如果確實要修改書籍條碼,可以通過數(shù)據(jù)庫管理員來實現(xiàn),也可以先將錯誤書籍條碼信息刪除再添加正確的書籍信息,這樣在刪除時會彈出提示窗口讓用戶確認是否刪除,給用戶以提示,防止意外錯誤[3]。其模塊如下列圖所示:圖書信息管理圖書信息管理圖書信息查詢圖書入庫圖書信息修改圖書注銷圖2.2“圖書信息管理〞功能模塊“圖書信息查詢〞功能模塊用于查詢圖書的相關信息,包括書籍條碼〔BOOK_ID〕、書名、出版社、作者、出版日期、尚能否借出。(2)讀者信息管理“讀者信息管理〞功能模塊用于管理與讀者相關的信息,包含的子功能模塊如下列圖所示:讀者信息管理讀者信息管理讀者信息查詢讀者信息添加讀者信息修改讀者信息刪除圖2.3“讀者信息管理〞功能模塊“讀者信息查詢〞功能模塊用于查詢讀者的相關信息,包括讀者條碼、讀者姓名、性別、證件號碼。“讀者信息添加〞功能模塊用于添加新近讀者的相關信息,包括讀者條碼、讀者姓名、性別、證件號碼。“讀者信息修改〞功能模塊用于修改已存讀者的需修改的信息?!白x者信息刪除〞功能模塊用于刪除讀者的所有信息。〔3〕借書效勞管理模塊圖書館管理員通過此模塊來進行借書操作。在進行借書信息的添加時,系統(tǒng)會自動檢測該讀者是否有權借書〔過去借書歷史中有超期未還的現(xiàn)象〕,所借書是否在館內(nèi)未被借出,只要有一個條件不滿足,就會提示出錯?!敖钑诠芾悫曈糜诘怯涀x者借閱圖書的記錄并減少在庫圖書的庫存量,登記內(nèi)容包括讀者編號、書籍條碼〔BOOK_ID〕?!?〕還書效勞管理模塊圖書館管理員通過此模塊來進行還書操作。在進行還書信息的添加時,系統(tǒng)會自動檢測此次還書是否在規(guī)定的時間內(nèi),假設超期,那么鎖定該讀者,并給出提示信息?!斑€書效勞管理〞功能用于登記讀者歸還圖書的記錄并增加在庫圖書的庫存量,登記內(nèi)容包括讀者姓名、書籍條碼〔BOOK_ID〕、借書日期、歸還時間、超期天數(shù)。2.2系統(tǒng)流程圖在用戶需求分析的根底上把系統(tǒng)劃分為三個子模塊:讀者信息管理、圖書信息管理、圖書流通管理。這三個模塊之間,緊密結合,共享信息資源,形成一種完美的學校圖書管理系統(tǒng)流程圖[4]。如下列圖所示:讀者讀者信息管理管理員圖書信息管理讀者信息流通管理圖書信息圖書借閱圖書歸還圖2.4系統(tǒng)流程圖3數(shù)據(jù)庫設計根據(jù)系統(tǒng)功能需求,數(shù)據(jù)庫采用MicrosoftAccess2003建立。MicrosoftAccess2003是一個桌面級的數(shù)據(jù)庫管理系統(tǒng),簡單易用,功能強大。支持的數(shù)據(jù)類型較豐富,操作簡單,維護費用比擬低[5]。3.1概念結構設計概念結構設計是指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,是整個數(shù)據(jù)庫設計的關鍵。系統(tǒng)根本E-R圖圖書管理系統(tǒng)根本E-R圖如下所示:圖3.1系統(tǒng)根本E-R圖(2)各子系統(tǒng)功能E-R圖1、圖書信息管理所需管理的內(nèi)容E-R圖如下所示:圖3.2圖書信息管理E-R圖2、讀者信息管理所需管理的內(nèi)容E-R圖如下所示:圖3.3讀者信息管理E-R圖3、借、還書效勞管理所需管理的內(nèi)容E-R圖如下所示:圖3.4圖書信息管理E-R圖3.2邏輯結構設計邏輯設計階段的任務是把概念結構轉(zhuǎn)換為選用DBMS〔數(shù)據(jù)庫管理系統(tǒng)〕所支持的模式[6]。根據(jù)模塊的設計,以及根據(jù)標準化的設計要求,該系統(tǒng)的數(shù)據(jù)庫設計如表3-1至3-5所示,表3-1主要用來存放管理員的登錄信息,表3-2主要用來存放可借的書籍信息,表3-3用來存放讀者信息,表3-4是借書信息表,表3-5是借還歷史表。表3-1登錄信息表〔CLERK〕字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否Name文本8管理員ID是有〔無重復〕是PassWord文本8管理員密碼是無否表3-2書籍信息表〔BOOK〕字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否BOOK_ID文本30書籍條目是有〔無重復〕是BOOK_NAME文本50書籍名稱是無否AUTHOR文本30作者否無否PRESS文本50出版社否無否PRESS_DATE文本50出版日期否無否FLAG_BORROW文本10是否可借是無否表3-3讀者信息表〔READER〕字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否READER_ID文本30讀者條目是有〔無重復〕是NAME文本50姓名是無否IDCARD文本30身份證號否無否MAXNUM_CAN_BORROW數(shù)字—最大可借數(shù)否無否FLAG_BORROW文本10是否有權借是無否表3-4借書信息表〔BORROW〕字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否ID自動編號—記錄號是有〔無重復〕是READER_ID文本30讀者條目是無否BOOK_ID文本30書籍條目是無否BORROW_DATE日期/時間—借書日期是無否B_CLERK_ID文本30借書管理員是無否表3-5借還書歷史表〔HISTORY〕字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否ID自動編號—記錄號是有〔無重復〕是READER_ID文本30讀者條目是無否BOOK_ID文本30書籍條目是無否續(xù)表字段名稱數(shù)據(jù)類型字段屬性字段大小描述必填字段索引是主鍵否BORROW_DATE日期/時間—借書日期是有〔無重復〕是RETURN_DATE日期/時間—還書日期是無否B_CLERK_ID文本30借書管理員是無否R_CLERK_ID文本30還書管理唄是無否4系統(tǒng)實現(xiàn)4.1登錄模塊實現(xiàn)(1)模塊功能該功能模塊實現(xiàn)的功能是實現(xiàn)管理員到圖書管理系統(tǒng)的登錄操作,登錄信息(用戶名、密碼)。(2)界面設計【系統(tǒng)登錄】對話框界面如圖4.1所示。圖4.1【系統(tǒng)登錄】對話框界面其中主要控件的屬性設置及功能如表4-1所示。表4-1對話框IDD_DIALOG_LOGIN中的主要控件控件類型ID屬性設置ButtonIDC_CONFIRMCaption設為“登錄〞ButtonIDC_CANCELCaption設為“取消〞StaticText默認Caption設為“請輸入用戶名和密碼〞StaticText默認Caption設為“用戶名〞StaticText默認Caption設為“密碼〞EditBoxIDC_LOGIN_NAMEStyles選中NumberEditBoxIDC_LOGIN_PASSWORD默認PictureIDC_STATICStyles選Frame(BLACK)PictureIDC_STATICStyles選Frame(BLACK)核心代碼如下:voidCLoginDlg::OnConfirm(){ CClerkDataSetmrsDataSet;/*聲明記錄集*/ CStringmSqlStr; UpdateData(TRUE); if(m_strName.IsEmpty())/*判斷用戶名信息是否為空*/ { AfxMessageBox("請輸入用戶名!"); return; } if(!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr)) { AfxMessageBox("CLERK表翻開失敗!"); return; }(3)主界面當管理員登錄信息正確時,將登錄到主界面,該模塊中有“圖書資料〞,“讀者資料〞,“借書管理〞,“還書管理〞功能模塊。如下列圖所示:圖4.2主界面主界面的控件設置和說明表4-2所示。表4-2主界面控件設置及其說明控件ID號說明IDC_BUTTON_BOOK“圖書資料〞按鈕IDC_BUTTON_READER“讀者資料〞按鈕IDC_BUTTON_BORROW“借書管理〞按鈕IDC_BUTTON_RETURN“還書管理〞按鈕IDC_BUTTON_GOODBYE“退出〞按鈕核心代碼如下:CLoginDlgDlg; if(Dlg.DoModal()==IDOK){ { m_strUserName=Dlg.m_strName; CLibraryDlgDlg; Dlg.DoModal(); }}4.2圖書資料模塊實現(xiàn)在進入該功能模塊后,我們可以看到庫存圖書的詳細信息。在該模塊中還包含有對新圖書的入庫功能〔添加新圖書的記錄〕,對已有圖書資料的注銷功能〔刪除已有圖書的記錄〕,對已有圖書信息的修改功能,以及按書名和書籍條碼等搜索的功能[7]。如下圖:圖4.3“圖書信息〞界面界面的控件設置和說明表4-3所示。表4-3對話框控件設置及其說明控件ID號說明IDC_STATIC表示“書名〞靜態(tài)文本框IDC_STATIC表示“書籍條碼〞靜態(tài)文本框IDC_STATIC表示“作者〞靜態(tài)文本框IDC_STATIC表示“出版社〞靜態(tài)文本框IDC_STATIC表示“書籍條碼〞靜態(tài)文本框IDC_STATIC表示“出版日期〞靜態(tài)文本框IDC_STATIC表示“尚能借出〞靜態(tài)文本框IDC_STATIC表示“Y/M/D〞靜態(tài)文本框IDC_FIRST“第一條[&F]〞按鈕IDC_PRIOR“上一條(&P]〞按鈕IDC_NEXT“下一條[&N]〞按鈕IDC_LAST“末一條(&L]〞按鈕IDC_NEW“增加[&N]〞按鈕IDC_EDIT“修改[&E]〞按鈕IDC_DELETE“刪除[&D]〞按鈕IDC_ENQUERY“查詢[&Q]〞按鈕IDC_SAVE“保存[&S]〞按鈕IDC_CANCEL_REC“取消[&C]〞按鈕IDC_EXIT“退出[&X]〞按鈕IDC_BOOKNAME書名編輯框IDC_AUTHOR作者編輯框IDC_PRESS出版社編輯框IDC_BOOKID書籍條碼編輯框IDC_PRESSDATE出版日期編輯框IDC_FLAG_BORROW尚能借出編輯框核心代碼如下:voidCBookDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCBookDataSet::Dump(CDumpContext&dc)const{ CRecordset::Dump(dc);}4.3讀者資料模塊實現(xiàn)該模塊主要實現(xiàn)對已存在的讀者信息進行管理,主要有對新增加讀者信息的添加功能,對已存在讀者信息的修改功能,對已存在讀者信息按讀者編號進行刪除的功能,以及對已存在讀者信息按讀者條碼或姓名模糊查找功能。如下列圖所示:圖4.4“讀者信息〞界面界面的控件設置和說明表4-4所示。表4-4對話框控件設置及其說明控件ID號說明IDC_STATIC表示“讀者姓名〞靜態(tài)文本框IDC_STATIC表示“讀者條碼〞靜態(tài)文本框IDC_STATIC表示“身份證號〞靜態(tài)文本框IDC_FIRST“第一條[&F]〞按鈕IDC_PRIOR“上一條(&P]〞按鈕IDC_NEXT“下一條[&N]〞按鈕IDC_LAST“末一條(&L]〞按鈕IDC_NEW“增加[&N]〞按鈕IDC_EDIT“修改[&E]〞按鈕IDC_DELETE“刪除[&D]〞按鈕IDC_ENQUERY“查詢[&Q]〞按鈕IDC_SAVE“保存[&S]〞按鈕IDC_CANCEL_REC“取消[&C]〞按鈕IDC_EXIT“退出[&X]〞按鈕IDC_READERID讀者條碼編輯框IDC_READERNAME讀者姓名編輯框IDC_IDCARD身份證號編輯框核心代碼如下:voidCReaderDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCReaderDataSet::Dump(CDumpContext&dc)const{ CRecordset::Dump(dc);}4.4借書管理模塊實現(xiàn)進入此模塊首先看到的是借出圖書效勞模塊,,在此模塊中通過書號〔BOOK_ID〕來實現(xiàn)對在庫圖書的借出操作,在借閱圖書時會顯示該讀者是否能借書的功能,具體如下圖:圖4.5“圖書借出〞界面界面的控件設置和說明表4-5所示。表4-5對話框控件設置及其說明控件ID號說明IDC_STATIC表示“讀者編碼〞靜態(tài)文本框IDC_STATIC表示“書籍編碼〞靜態(tài)文本框IDC_CONFIRM“確定[&O]〞按鈕IDC_CANCEL“取消[&C]〞按鈕IDC_READER_ID讀者編碼編輯框IDC_BOOK_ID書籍編碼編輯框核心代碼如下:voidCBorrowDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCBorrowDataSet::Dump(CDumpContext&dc)const{ CRecordset::Dump(dc);}4.5圖書管理模塊實現(xiàn)進入此模塊首先看到的是借出圖書的信息,主要是對所借圖書的日期記錄,是否按時還書。對書本進行一個入庫的操作,具體情況,如下圖:圖4.6“還書管理〞模塊界面的控件設置和說明表4-6所示。表4-6對話框控件設置及其說明控件ID號說明IDC_STATIC表示“圖書代碼:〞靜態(tài)文本框IDC_STATIC表示“讀者姓名:〞靜態(tài)文本框IDC_STATIC表示“應還書日期:〞靜態(tài)文本框IDC_STATIC表示“借書日期:〞靜態(tài)文本框IDC_STATIC表示“超期天數(shù):〞靜態(tài)文本框IDC_EDIT“修改[&E]〞按鈕IDC_BOOK_ID圖書代碼編輯框IDC_READERNAME讀者姓名編輯框IDC_RETURNDATE應還書日期編輯框IDC_BORROWDATE借書日期編輯框IDC_DAYS超期天數(shù)編輯框核心代碼如下:voidCReturnDlg::Delete_Borrow(){CDatabasemdb;CStringm_strsql;if(!mdb.Open(_T("library"))){ AfxMessageBox("數(shù)據(jù)庫執(zhí)行出錯"); return;} }5總結本次課程設計能夠順利完成,首先要感謝我們的輔導教師羅永紅老師,他一次又一次耐心地為我們講解根底知識,使我們的根底更扎實。而羅永紅老師的循循善誘又使我們掌握根底知識時,得到了更多的啟發(fā),能力又得到了提高。另外,還要感謝其她對于本次課設給了我很大幫助的同學們,他們將自己所學毫不吝惜地與別人交流,使大家的理解有加深了很多。通過這次課程設計,我才深知數(shù)據(jù)庫靈活。在剛剛結束的一個學期里,我對數(shù)據(jù)庫的學習才僅僅是個入門,通過這次的課程設計,我才發(fā)現(xiàn)自己在以往學習中的諸多問題。對于同一問題沒有多角度的思考,僅僅局限于一種方法,根本沒有思考是否還有別的更簡單更快捷的方法,不能做到舉一反三,還有太注重理論學習而無視了上機實踐,結果就是理論知識不扎實上機動手能力差,編譯出現(xiàn)錯誤時不能很快的找出錯誤。在這次課設的編程過程中,我盡量把以往學過的知識全部用上,對于同一個問題從不同的角度考慮實現(xiàn)方法,所以我才發(fā)現(xiàn)了自己很多的問題,而且借此寒假,我會改正這些問題,并且深入學習數(shù)據(jù)庫和C++。在這次課程中,除了到達了課設目的,我想我最大的收獲就是以上的發(fā)現(xiàn)并且能及時的解決。致謝在這次數(shù)據(jù)庫的課程設計中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設計。在此,我衷心感謝我的指導老師——羅永紅。羅永紅老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我獲益非淺。另外,還要感謝學校領導、輔導員、各位同學對我們的關心、幫助,為我們提供了良好的設計環(huán)境以及各方面的支持。參考文獻[1] 王紅梅,胡明,王濤.數(shù)據(jù)庫(C++版)[M].北京:清華大學出版社,2007.[2]何欽銘,陳根才.數(shù)據(jù)庫課程設計[M].杭州:浙江大學出版社,2007.[3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論〔第三版〕[M].北京:高等教育出版社,2023.[4]齊治昌,譚慶平,寧洪.軟件工程〔第二版〕[M].北京:高等教育出版社,2004.[5]鄭阿奇.VisualC++實用教程〔第三版〕[M].北京:電子工業(yè)出版社,2023.[6]錢雪忠.數(shù)據(jù)庫原理及應用〔第二版〕[M].北京:北京郵電大學出版社,2007.[7]王晟,鄧遠輝.VisualC++.NET數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].北京:清華大學出版,2007.附錄:源程序代碼voidCLoginDlg::OnConfirm(){ //TODO:Addyourcontrolnotificationhandlercodehere CClerkDataSetmrsDataSet;/*聲明記錄集*/ CStringmSqlStr; UpdateData(TRUE); if(m_strName.IsEmpty())/*判斷用戶名信息是否為空*/ { AfxMessageBox("請輸入用戶名!"); return; } mSqlStr="SELECT*FROMCLERKWHERENAME='"; mSqlStr=mSqlStr+m_strName; mSqlStr=mSqlStr+"'ANDPASSWORD='"; mSqlStr=mSqlStr+m_strPassword; mSqlStr=mSqlStr+"'"; if(!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr)) { AfxMessageBox("CLERK表翻開失敗!"); return; } if(!mrsDataSet.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論