




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1引言1.1課題背景現代圖書館管理的本質在于創新,以往的圖書館管理完全手工操做,通過卡片記錄信息,既奢侈時間,又奢侈人工、紙張,而且書籍和讀者的信息查詢比較麻煩,不能供應領導管理上須要的各種信息如本館各種資料分布及借閱(流通)狀況。隨著電子信息技術的飛速發展,圖書館的工作也發生了實質性的進展和改變。現代化的服務手段漸漸替代傳統的手工操作,計算機編目、光盤數據庫和網絡檢索技術等新型的項目起先在圖書館領域普及。在計算機技術、網絡技術的進一步沖擊下,圖書館隨著教化教學改革的深化和素養教化的全面推動,漸漸演化形成數字化圖書管理,其作用也越來越重要了[1]。為了使圖書館的管理更科學、更規范,削減重復勞動,節約圖書館建設和管理中的人力、財力,便利讀者查詢和借閱書籍,所以有必要建立一個圖書館管理系統。1.2課程設計目的圖書館每天都有許多的書出借歸還,運用圖書館管理系統可以大大地提高工作效率,削減工作中可能出現的錯誤,是提高圖書館辦公自動化水平的重要手段之一。其開發主要包括后臺數據庫的建立和維護以及前端應用程序界面開發兩個方面。在中國軟件行業日益進步的今日,如何利用這些資源來幫助管理員可以快速的管理,讓管理員以及借書者有利用更多的時間去從事其他的事情已成為一個特別注意的事情。因而設計一個好的圖書館管理信息系統,能提高圖書館的管理效率,有利于對圖書信息的統計。論文旨在論述圖書館管理系統的設計與開發。通過圖書館管理信息系統的設計,嫻熟駕馭VisualC++、Access2003等工具軟件,系統地駕馭需求分析、數據庫設計、編碼實現、測試等軟件開發的流程,提高自身分析問題、解決問題的實力[2]。1.3課程設計任務本課程設計任務是通過開發一個數據庫圖書館管理信息系統,學習數據庫系統的設計與開發,采納VisualC++和Access2003等軟件為開發工具。通過對計算機硬件和軟件解決方案的論證,對應用領域進行調查分析,參考各種資料和進行數據庫系統開發實踐。在指導老師的幫助下,已經基本上勝利地實現了設計任務書的要求,使得設計的數據庫系統能夠實現一般數據庫的管理。2系統分析2.1功能需求分析該項目系統包含的功能有:圖書信息管理、讀者信息管理、借書服務管理,還書服務管理,其中每個功能由若干個相關聯的子功能模塊組成。如圖所示:圖2.1系統功能模塊(1)圖書信息管理“圖書信息管理”功能模塊用于管理圖書的相關信息,包括閱讀、查詢、添加、修改和刪除功能。在進行圖書信息的添加時,系統會自動檢測所添加的圖書信息中的書籍條碼在書籍表中是否已經存在,假如存在,會提示用戶該書已經存在。在進行圖書信息的刪除時,要首先彈出提示窗口讓用戶確認是否刪除,只有用戶確認后才能進行圖書信息的刪除。在進行圖書修改時,不準用戶修改書籍條碼,因為書籍條碼作為數據庫中書籍表的主鍵是不同書籍的唯一標識,不準修改書籍條碼可以防止不經意將書籍條碼改錯;假如的確要修改書籍條碼,可以通過數據庫管理員來實現,也可以先將錯誤書籍條碼信息刪除再添加正確的書籍信息,這樣在刪除時會彈出提示窗口讓用戶確認是否刪除,給用戶以提示,防止意外錯誤[3]。其模塊如下圖所示:圖圖書信息管理圖書信息查詢圖書入庫圖書信息修改圖書注銷圖2.2“圖書信息管理”功能模塊“圖書信息查詢”功能模塊用于查詢圖書的相關信息,包括書籍條碼(BOOK_ID)、書名、出版社、作者、出版日期、尚能否借出。(2)讀者信息管理“讀者信息管理”功能模塊用于管理與讀者相關的信息,包含的子功能模塊如下圖所示:讀者信息管理讀者信息管理讀者信息查詢讀者信息添加讀者信息修改讀者信息刪除圖2.3“讀者信息管理”功能模塊“讀者信息查詢”功能模塊用于查詢讀者的相關信息,包括讀者條碼、讀者姓名、性別、證件號碼。“讀者信息添加”功能模塊用于添加新近讀者的相關信息,包括讀者條碼、讀者姓名、性別、證件號碼。“讀者信息修改”功能模塊用于修改已存讀者的需修改的信息。“讀者信息刪除”功能模塊用于刪除讀者的全部信息。(3)借書服務管理模塊圖書館管理員通過此模塊來進行借書操作。在進行借書信息的添加時,系統會自動檢測該讀者是否有權借書(過去借書歷史中有超期未還的現象),所借書是否在館內未被借出,只要有一個條件不滿意,就會提示出錯。“借書服務管理”用于登記讀者借閱圖書的記錄并削減在庫圖書的庫存量,登記內容包括讀者編號、書籍條碼(BOOK_ID)。(4)還書服務管理模塊圖書館管理員通過此模塊來進行還書操作。在進行還書信息的添加時,系統會自動檢測此次還書是否在規定的時間內,若超期,則鎖定該讀者,并給出提示信息。“還書服務管理”功能用于登記讀者歸還圖書的記錄并增加在庫圖書的庫存量,登記內容包括讀者姓名、書籍條碼(BOOK_ID)、借書日期、歸還時間、超期天數。2.2系統流程圖在用戶需求分析的基礎上把系統劃分為三個子模塊:讀者信息管理、圖書信息管理、圖書流通管理。這三個模塊之間,緊密結合,共享信息資源,形成一種完備的學校圖書管理系統流程圖[4]。如下圖所示:讀者信息讀者信息管理管理員圖書信息管理讀者信息流通管理圖書信息圖書借閱圖書歸還圖2.4系統流程圖3數據庫設計依據系統功能需求,數據庫采納MicrosoftAccess2003建立。MicrosoftAccess2003是一個桌面級的數據庫管理系統,簡潔易用,功能強大。支持的數據類型較豐富,操作簡潔,維護費用比較低[5]。3.1概念結構設計概念結構設計是指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,是整個數據庫設計的關鍵。系統基本E-R圖圖書管理系統基本E-R圖如下所示:圖3.1系統基本E-R圖(2)各子系統功能E-R圖1、圖書信息管理所需管理的內容E-R圖如下所示:圖3.2圖書信息管理E-R圖2、讀者信息管理所需管理的內容E-R圖如下所示:圖3.3讀者信息管理E-R圖3、借、還書服務管理所需管理的內容E-R圖如下所示:圖3.4圖書信息管理E-R圖3.2邏輯結構設計邏輯設計階段的任務是把概念結構轉換為選用DBMS(數據庫管理系統)所支持的模式[6]。依據模塊的設計,以及依據規范化的設計要求,該系統的數據庫設計如表3-1至3-5所示,表3-1主要用來存放管理員的登錄信息,表3-2主要用來存放可借的書籍信息,表3-3用來存放讀者信息,表3-4是借書信息表,表3-5是借還歷史表。表3-1登錄信息表(CLERK)字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否Name文本8管理員ID是有(無重復)是PassWord文本8管理員密碼是無否表3-2書籍信息表(BOOK)字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否BOOK_ID文本30書籍條目是有(無重復)是BOOK_NAME文本50書籍名稱是無否AUTHOR文本30作者否無否PRESS文本50出版社否無否PRESS_DATE文本50出版日期否無否FLAG_BORROW文本10是否可借是無否表3-3讀者信息表(READER)字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否READER_ID文本30讀者條目是有(無重復)是NAME文本50姓名是無否IDCARD文本30身份證號否無否MAXNUM_CAN_BORROW數字—最大可借數否無否FLAG_BORROW文本10是否有權借是無否表3-4借書信息表(BORROW)字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否ID自動編號—記錄號是有(無重復)是READER_ID文本30讀者條目是無否BOOK_ID文本30書籍條目是無否BORROW_DATE日期/時間—借書日期是無否B_CLERK_ID文本30借書管理員是無否表3-5借還書歷史表(HISTORY)字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否ID自動編號—記錄號是有(無重復)是READER_ID文本30讀者條目是無否BOOK_ID文本30書籍條目是無否續表字段名稱數據類型字段屬性字段大小描述必填字段索引是主鍵否BORROW_DATE日期/時間—借書日期是有(無重復)是RETURN_DATE日期/時間—還書日期是無否B_CLERK_ID文本30借書管理員是無否R_CLERK_ID文本30還書管理唄是無否4系統實現4.1登錄模塊實現(1)模塊功能該功能模塊實現的功能是實現管理員到圖書管理系統的登錄操作,登錄信息(用戶名、密碼)。(2)界面設計【系統登錄】對話框界面如圖4.1所示。圖4.1【系統登錄】對話框界面其中主要控件的屬性設置及功能如表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圖書資料模塊實現在進入該功能模塊后,我們可以看到庫存圖書的具體信息。在該模塊中還包含有對新圖書的入庫功能(添加新圖書的記錄),對已有圖書資料的注銷功能(刪除已有圖書的記錄),對已有圖書信息的修改功能,以及按書名和書籍條碼等搜尋的功能[7]。如圖所示:圖4.3“圖書信息”界面界面的控件設置和說明表4-3所示。表4-3對話框控件設置及其說明控件ID號說明IDC_STATIC表示“書名”靜態文本框IDC_STATIC表示“書籍條碼”靜態文本框IDC_STATIC表示“作者”靜態文本框IDC_STATIC表示“出版社”靜態文本框IDC_STATIC表示“書籍條碼”靜態文本框IDC_STATIC表示“出版日期”靜態文本框IDC_STATIC表示“尚能借出”靜態文本框IDC_STATIC表示“Y/M/D”靜態文本框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讀者資料模塊實現該模塊主要實現對已存在的讀者信息進行管理,主要有對新增加讀者信息的添加功能,對已存在讀者信息的修改功能,對已存在讀者信息按讀者編號進行刪除的功能,以及對已存在讀者信息按讀者條碼或姓名模糊查找功能。如下圖所示:圖4.4“讀者信息”界面界面的控件設置和說明表4-4所示。表4-4對話框控件設置及其說明控件ID號說明IDC_STATIC表示“讀者姓名”靜態文本框IDC_STATIC表示“讀者條碼”靜態文本框IDC_STATIC表示“身份證號”靜態文本框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借書管理模塊實現進入此模塊首先看到的是借出圖書服務模塊,,在此模塊中通過書號(BOOK_ID)來實現對在庫圖書的借出操作,在借閱圖書時會顯示該讀者是否能借書的功能,具體如圖所示:圖4.5“圖書借出”界面界面的控件設置和說明表4-5所示。表4-5對話框控件設置及其說明控件ID號說明IDC_STATIC表示“讀者編碼”靜態文本框IDC_STATIC表示“書籍編碼”靜態文本框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圖書管理模塊實現進入此模塊首先看到的是借出圖書的信息,主要是對所借圖書的日期記錄,是否按時還書。對書本進行一個入庫的操作,具體狀況,如圖所示:圖4.6“還書管理”模塊界面的控件設置和說明表4-6所示。表4-6對話框控件設置及其說明控件ID號說明IDC_STATIC表示“圖書代碼:”靜態文本框IDC_STATIC表示“讀者姓名:”靜態文本框IDC_STATIC表示“應還書日期:”靜態文本框IDC_STATIC表示“借書日期:”靜態文本框IDC_STATIC表示“超期天數:”靜態文本框IDC_EDIT“修改[&E]”按鈕IDC_BOOK_ID圖書代碼編輯框IDC_READERNAME讀者姓名編輯框IDC_RETURNDATE應還書日期編輯框IDC_BORROWDATE借書日期編輯框IDC_DAYS超期天數編輯框核心代碼如下:voidCReturnDlg::Delete_Borrow(){ CDatabasemdb; CStringm_strsql; if(!mdb.Open(_T("library"))) { AfxMessageBox("數據庫執行出錯"); return; } }5總結本次課程設計能夠順當完成,首先要感謝我們的輔導老師羅永紅老師,他一次又一次耐性地為我們講解基礎學問,使我們的基礎更扎實。而羅永紅老師的諄諄教導又使我們駕馭基礎學問時,得到了更多的啟發,實力又得到了提高。另外,還要感謝其她對于本次課設給了我很大幫助的同學們,他們將自己所學毫不吝惜地與別人溝通,使大家的理解有加深了許多。通過這次課程設計,我才深知數據庫敏捷。在剛剛結束的一個學期里,我對數據庫的學習才僅僅是個入門,通過這次的課程設計,我才發覺自己在以往學習中的諸多問題。對于同一問題沒有多角度的思索,僅僅局限于一種方法,根本沒有思索是否還有別的更簡潔更快捷的方法,不能做到舉一反三,還有太注意理論學習而忽視了上機實踐,結果就是理論學問不扎實上機動手實力差,編譯出現錯誤時不能很快的找出錯誤。在這次課設的編程過程中,我盡量把以往學過的學問全部用上,對于同一個問題從不同的角度考慮實現方法,所以我才發覺了自己許多的問題,而且借此寒假,我會改正這些問題,并且深化學習數據庫和C++。在這次課程中,除了達到了課設目的,我想我最大的收獲就是以上的發覺并且能剛好的解決。致謝在這次數據庫的課程設計中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設計。在此,我誠心感謝我的指導老師——羅永紅。羅永紅老師仔細負責的工作看法,嚴謹的治學精神和深厚的理論水平都使我獲益非淺。另外,還要感謝學校領導、輔導員、各位同學對我們的關懷、幫助,為我們供應了良好的設計環境以及各方面的支持。參考文獻[1] 王紅梅,胡明,王濤.數據庫(C++版)[M].北京:清華高校出版社,2007.[2]何欽銘,陳根才.數據庫課程設計[M].杭州:浙江高校出版社,2007.[3]薩師煊,王珊.數據庫系統概論(第三版)[M].北京:高等教化出版社,2009.[4]齊治昌,譚慶平,寧洪.軟件工程(其次版)[M].北京:高等教化出版社,2004.[5]鄭阿奇.VisualC++好用教程(第三版)[M].北京:電子工業出版社,2009.[6]錢雪忠.數據庫原理及應用(其次版)[M].北京:北京郵電高校出版社,2007.[7]王晟,鄧遠輝.VisualC++.NET數據庫開發經典案例解析[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表打開失敗!"); r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目需求獲取技巧試題及答案
- 軟考網絡工程師試題及答案創造力2025年
- 西方立法與行政關系的試題及答案
- 公共政策中的信任建設研究試題及答案
- 機電工程的材料科學概述與應用試題及答案
- 政治權力的合法性與維持試題及答案
- 西方國家的選舉制度與民主構建試題及答案
- 政治權力的制衡與平衡研究試題及答案
- 解析2025年信息系統項目管理師試題及答案
- 滑坡型變化2025年西方政治制度試題及答案
- 2024-2025學年人教版八年級下冊期末數學質量檢測試卷(含答案)
- 江蘇省南通市合作盟校2025年高考化學四模試卷含解析
- 猴痘防控方案培訓課件
- 新版GSP《醫療器械經營質量管理規范》培訓試題
- 新版2025心肺復蘇術指南
- DB45T 1056-2014 土地整治工程 第2部分:質量檢驗與評定規程
- 國有企業合規管理與風險控制
- 2025非開挖施工用球墨鑄鐵管第1部分:頂管法用
- TNXZX 031-2024 牛羊肉電商銷售質量服務規范
- 調味品干貨供貨服務方案
- 花樣跳繩知到智慧樹章節測試課后答案2024年秋深圳信息職業技術學院
評論
0/150
提交評論