2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1引言</b></p><p><b>  1.1課題背景</b></p><p>  現(xiàn)代圖書館管理的本質(zhì)在于創(chuàng)新,以往的圖書館管理完全手工操做,通過卡片記錄信息,既浪費時間,又浪費人工、紙張,而且書籍和讀者的信息查詢比較麻煩,不能提供領(lǐng)導(dǎo)管理上需要的各種信息如本館各種資料分布及借閱(流通)情況。隨著電子信息技術(shù)的

2、飛速發(fā)展,圖書館的工作也發(fā)生了實質(zhì)性的進展和變化?,F(xiàn)代化的服務(wù)手段逐漸替代傳統(tǒng)的手工操作,計算機編目、光盤數(shù)據(jù)庫和網(wǎng)絡(luò)檢索技術(shù)等新型的項目開始在圖書館領(lǐng)域普及。在計算機技術(shù)、網(wǎng)絡(luò)技術(shù)的進一步?jīng)_擊下,圖書館隨著教育教學改革的深入和素質(zhì)教育的全面推動,逐漸演變形成數(shù)字化圖書管理,其作用也越來越重要了[1]。為了使圖書館的管理更科學、更規(guī)范,減少重復(fù)勞動,節(jié)省圖書館建設(shè)和管理中的人力、財力,方便讀者查詢和借閱書籍,所以有必要建立一個圖書館管理

3、系統(tǒng)。</p><p><b>  1.2課程設(shè)計目的</b></p><p>  圖書館每天都有很多的書出借歸還,使用圖書館管理系統(tǒng)可以大大地提高工作效率,減少工作中可能出現(xiàn)的錯誤,是提高圖書館辦公自動化水平的重要手段之一。其開發(fā)主要</p><p>  包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序界面開發(fā)兩個方面。</p>&l

4、t;p>  在中國軟件行業(yè)日益進步的今天,如何利用這些資源來幫助管理員可以快速的管理,讓管理員以及借書者有利用更多的時間去從事其他的事情已成為一個非常注重的事情。因而設(shè)計一個好的圖書館管理信息系統(tǒng),能提高圖書館的管理效率,有利于對圖書信息的統(tǒng)計。論文旨在論述圖書館管理系統(tǒng)的設(shè)計與開發(fā)。</p><p>  通過圖書館管理信息系統(tǒng)的設(shè)計,熟練掌握Visual C++、Access 2003等工具軟件,系統(tǒng)地掌

5、握需求分析、數(shù)據(jù)庫設(shè)計、編碼實現(xiàn)、測試等軟件開發(fā)的流程,提高自身分析問題、解決問題的能力[2]。</p><p><b>  1.3課程設(shè)計任務(wù)</b></p><p>  本課程設(shè)計任務(wù)是通過開發(fā)一個數(shù)據(jù)庫圖書館管理信息系統(tǒng),學習數(shù)據(jù)庫系統(tǒng)的設(shè)計與開發(fā),采用Visual C++和Access 2003等軟件為開發(fā)工具。通過對計算機硬件和軟件解決方案的論證,對應(yīng)用領(lǐng)域

6、進行調(diào)查分析,參考各種資料和進行數(shù)據(jù)庫系統(tǒng)開發(fā)實踐。在指導(dǎo)老師的幫助下,已經(jīng)基本上成功地實現(xiàn)了設(shè)計任務(wù)書的要求,使得設(shè)計的數(shù)據(jù)庫系統(tǒng)能夠?qū)崿F(xiàn)一般數(shù)據(jù)庫的管理。</p><p><b>  2 系統(tǒng)分析</b></p><p>  2.1 功能需求分析</p><p>  該項目系統(tǒng)包含的功能有:圖書信息管理、讀者信息管理、借書服務(wù)管理,還書服

7、務(wù)管理,其中每個功能由若干個相關(guān)聯(lián)的子功能模塊組成。如圖所示:</p><p>  圖2.1 系統(tǒng)功能 模塊</p><p>  (1) 圖書信息管理</p><p>  “圖書信息管理”功能模塊用于管理圖書的相關(guān)信息,包括瀏覽、查詢、添加、修改和刪除功能。在進行圖書信息的添加時,系統(tǒng)會自動檢測所添加的圖書信息中的書籍條碼在書籍表中是否已經(jīng)存在,如果存在,會提示用

8、戶該書已經(jīng)存在。在進行圖書信息的刪除時,要首先彈出提示窗口讓用戶確認是否刪除,只有用戶確認后才能進行圖書信息的刪除。在進行圖書修改時,不準用戶修改書籍條碼,因為書籍條碼作為數(shù)據(jù)庫中書籍表的主鍵是不同書籍的唯一標識,不準修改書籍條碼可以防止不經(jīng)意將書籍條碼改錯;如果確實要修改書籍條碼,可以通過數(shù)據(jù)庫管理員來實現(xiàn),也可以先將錯誤書籍條碼信息刪除再添加正確的書籍信息,這樣在刪除時會彈出提示窗口讓用戶確認是否刪除,給用戶以提示,防止意外錯誤[3

9、]。</p><p><b>  其模塊如下圖所示:</b></p><p>  “圖書信息查詢”功能模塊用于查詢圖書的相關(guān)信息,包括書籍條碼(BOOK_ID)、書名、出版社、作者、出版日期、尚能否借出。</p><p>  (2) 讀者信息管理</p><p>  “讀者信息管理”功能模塊用于管理與讀者相關(guān)的信息,包含

10、的子功能模塊如下圖所示:</p><p>  “讀者信息查詢”功能模塊用于查詢讀者的相關(guān)信息,包括讀者條碼、讀者姓名、性別、證件號碼。</p><p>  “讀者信息添加”功能模塊用于添加新近讀者的相關(guān)信息,包括讀者條碼、讀者姓名、性別、證件號碼。</p><p>  “讀者信息修改”功能模塊用于修改已存讀者的需修改的信息。</p><p>

11、  “讀者信息刪除”功能模塊用于刪除讀者的所有信息。</p><p> ?。?)借書服務(wù)管理模塊</p><p>  圖書館管理員通過此模塊來進行借書操作。在進行借書信息的添加時,系統(tǒng)會自動檢測該讀者是否有權(quán)借書(過去借書歷史中有超期未還的現(xiàn)象),所借書是否在館內(nèi)未被借出,只要有一個條件不滿足,就會提示出錯。</p><p>  “借書服務(wù)管理”用于登記讀者借閱圖書

12、的記錄并減少在庫圖書的庫存量,登記內(nèi)容包括讀者編號、書籍條碼(BOOK_ID)。</p><p> ?。?)還書服務(wù)管理模塊</p><p>  圖書館管理員通過此模塊來進行還書操作。在進行還書信息的添加時,系統(tǒng)會自動檢測此次還書是否在規(guī)定的時間內(nèi),若超期,則鎖定該讀者,并給出提示信息。</p><p>  “還書服務(wù)管理”功能用于登記讀者歸還圖書的記錄并增加在庫圖

13、書的庫存量,登記內(nèi)容包括讀者姓名、書籍條碼(BOOK_ID)、借書日期、歸還時間、超期天數(shù)。</p><p>  2.2 系統(tǒng)流程圖</p><p>  在用戶需求分析的基礎(chǔ)上把系統(tǒng)劃分為三個子模塊:讀者信息管理、圖書信息管理、圖書流通管理。這三個模塊之間,緊密結(jié)合,共享信息資源,形成一種完美的學校圖書管理系統(tǒng)流程圖[4]。如下圖所示:</p><p><b

14、>  3 數(shù)據(jù)庫設(shè)計</b></p><p>  根據(jù)系統(tǒng)功能需求,數(shù)據(jù)庫采用Microsoft Access 2003建立。Microsoft Access 2003是一個桌面級的數(shù)據(jù)庫管理系統(tǒng),簡單易用,功能強大。支持的數(shù)據(jù)類型較豐富,操作簡單,維護費用比較低[5]。</p><p>  3.1 概念結(jié)構(gòu)設(shè)計</p><p>  概念結(jié)構(gòu)設(shè)計是

15、指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。</p><p><b>  系統(tǒng)基本E-R圖</b></p><p>  圖書管理系統(tǒng)基本E-R圖如下所示:</p><p>  圖3.1系統(tǒng)基本E-R圖</p><p>  (2) 各子系統(tǒng)功能E-R圖</p>

16、;<p>  1、圖書信息管理所需管理的內(nèi)容E-R圖如下所示:</p><p>  圖3.2圖書信息管理E-R圖</p><p>  2、讀者信息管理所需管理的內(nèi)容E-R圖如下所示:</p><p>  圖3.3讀者信息管理E-R圖</p><p>  3、借、還書服務(wù)管理所需管理的內(nèi)容E-R圖如下所示:</p>

17、<p>  圖3.4圖書信息管理E-R圖</p><p>  3.2 邏輯結(jié)構(gòu)設(shè)計</p><p>  邏輯設(shè)計階段的任務(wù)是把概念結(jié)構(gòu)轉(zhuǎn)換為選用DBMS(數(shù)據(jù)庫管理系統(tǒng))所支持的模式[6]。</p><p>  根據(jù)模塊的設(shè)計,以及根據(jù)規(guī)范化的設(shè)計要求,該系統(tǒng)的數(shù)據(jù)庫設(shè)計如表3-1至3-5所示,表3-1主要用來存放管理員的登錄信息,表3-2主要用來存放可借

18、的書籍信息,表3-3用來存放讀者信息,表3-4是借書信息表,表3-5是借還歷史表。</p><p>  表3-1 登錄信息表(CLERK)</p><p>  表3-2 書籍信息表(BOOK)</p><p>  表3-3 讀者信息表(READER)</p><p>  表3-4 借書信息表(BORROW)</p>&l

19、t;p>  表3-5 借還書歷史表(HISTORY)</p><p><b>  續(xù)表</b></p><p><b>  4 系統(tǒng)實現(xiàn)</b></p><p><b>  4.1登錄模塊實現(xiàn)</b></p><p><b>  (1) 模塊功能</b&

20、gt;</p><p>  該功能模塊實現(xiàn)的功能是實現(xiàn)管理員到圖書管理系統(tǒng)的登錄操作,登錄信息(用戶名、密碼)。</p><p><b>  (2) 界面設(shè)計</b></p><p>  【系統(tǒng)登錄】對話框界面如圖4.1所示。</p><p>  圖4.1【系統(tǒng)登錄】對話框界面</p><p> 

21、 其中主要控件的屬性設(shè)置及功能如表4-1所示。</p><p>  表4-1 對話框IDD_ DIALOG_LOGIN中的主要控件</p><p><b>  核心代碼如下:</b></p><p>  void CLoginDlg::OnConfirm() </p><p><b>  {</b>

22、</p><p>  CClerkDataSet mrsDataSet; /*聲明記錄集*/</p><p>  CString mSqlStr;</p><p>  UpdateData(TRUE);</p><p>  if (m_strName.IsEmpty()) /*判斷用戶名信息是否為空*/</p><

23、p><b>  {</b></p><p>  AfxMessageBox("請輸入用戶名!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if (!mrsDataSet.Open

24、(AFX_DB_USE_DEFAULT_TYPE, mSqlStr))</p><p><b>  {</b></p><p>  AfxMessageBox("CLERK表打開失敗!");</p><p><b>  return;</b></p><p><b> 

25、 }</b></p><p><b>  (3) 主界面</b></p><p>  當管理員登錄信息正確時,將登錄到主界面,該模塊中有“圖書資料” ,“讀者資料” ,“借書管理”,“還書管理”功能模塊。如下圖所示:</p><p><b>  圖4.2 主界面</b></p><p>

26、  主界面的控件設(shè)置和說明表4-2所示。</p><p>  表4-2 主界面控件設(shè)置及其說明</p><p><b>  核心代碼如下:</b></p><p>  CLoginDlg Dlg;</p><p>  if (Dlg.DoModal() == IDOK)</p><p><

27、b>  {</b></p><p><b>  {</b></p><p>  m_strUserName = Dlg.m_strName ;</p><p>  CLibraryDlg Dlg;</p><p>  Dlg.DoModal();</p><p><b>

28、;  }</b></p><p><b>  }</b></p><p>  4.2圖書資料模塊實現(xiàn)</p><p>  在進入該功能模塊后,我們可以看到庫存圖書的詳細信息。在該模塊中還包含有對新圖書的入庫功能(添加新圖書的記錄),對已有圖書資料的注銷功能(刪除已有圖書的記錄),對已有圖書信息的修改功能,以及按書名和書籍條碼等搜索的

29、功能[7]。如圖所示:</p><p>  圖4.3 “圖書信息”界面</p><p>  界面的控件設(shè)置和說明表4-3所示。</p><p>  表4-3 對話框控件設(shè)置及其說明</p><p><b>  核心代碼如下:</b></p><p>  void CBookDataSet::A

30、ssertValid() const</p><p><b>  {</b></p><p>  CRecordset::AssertValid();</p><p><b>  } </b></p><p>  void CBookDataSet::Dump(CDumpContext& d

31、c) const</p><p><b>  {</b></p><p>  CRecordset::Dump(dc);</p><p><b>  }</b></p><p>  4.3讀者資料模塊實現(xiàn)</p><p>  該模塊主要實現(xiàn)對已存在的讀者信息進行管理,主要有對

32、新增加讀者信息的添加功能,對已存在讀者信息的修改功能,對已存在讀者信息按讀者編號進行刪除的功能,以及對已存在讀者信息按讀者條碼或姓名模糊查找功能。如下圖所示:</p><p>  圖4.4 “讀者信息”界面</p><p>  界面的控件設(shè)置和說明表4-4所示。</p><p>  表4-4 對話框控件設(shè)置及其說明</p><p><

33、b>  核心代碼如下:</b></p><p>  void CReaderDataSet::AssertValid() const</p><p><b>  {</b></p><p>  CRecordset::AssertValid();</p><p><b>  }</b&g

34、t;</p><p>  void CReaderDataSet::Dump(CDumpContext& dc) const</p><p><b>  {</b></p><p>  CRecordset::Dump(dc);</p><p><b>  }</b></p>

35、<p>  4.4借書管理模塊實現(xiàn)</p><p>  進入此模塊首先看到的是借出圖書服務(wù)模塊,,在此模塊中通過書號(BOOK_ID)來實現(xiàn)對在庫圖書的借出操作,在借閱圖書時會顯示該讀者是否能借書的功能,具體如圖所示:</p><p>  圖4.5 “圖書借出”界面</p><p>  界面的控件設(shè)置和說明表4-5所示。</p><p&

36、gt;  表4-5 對話框控件設(shè)置及其說明</p><p><b>  核心代碼如下:</b></p><p>  void CBorrowDataSet::AssertValid() const</p><p><b>  {</b></p><p>  CRecordset::AssertVa

37、lid();</p><p><b>  }</b></p><p>  void CBorrowDataSet::Dump(CDumpContext& dc) const</p><p><b>  {</b></p><p>  CRecordset::Dump(dc);</p&g

38、t;<p><b>  }</b></p><p>  4.5圖書管理模塊實現(xiàn)</p><p>  進入此模塊首先看到的是借出圖書的信息,主要是對所借圖書的日期記錄,是否按時還書。對書本進行一個入庫的操作,具體情況,如圖所示:</p><p>  圖4.6 “還書管理”模塊</p><p>  界面的控件

39、設(shè)置和說明表4-6所示。</p><p>  表4-6 對話框控件設(shè)置及其說明</p><p><b>  核心代碼如下:</b></p><p>  void CReturnDlg::Delete_Borrow()</p><p><b>  {</b></p><p>

40、  CDatabase mdb;</p><p>  CString m_strsql;</p><p>  if(!mdb.Open(_T("library")))</p><p><b>  {</b></p><p>  AfxMessageBox("數(shù)據(jù)庫執(zhí)行出錯");

41、</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5總結(jié)</b></p><p>  本次課程設(shè)計能夠順利完成,首先要

42、感謝我們的輔導(dǎo)教師羅永紅老師,他一次又一次耐心地為我們講解基礎(chǔ)知識,使我們的基礎(chǔ)更扎實。而羅永紅老師的循循善誘又使我們掌握基礎(chǔ)知識時,得到了更多的啟發(fā),能力又得到了提高。另外,還要感謝其她對于本次課設(shè)給了我很大幫助的同學們,他們將自己所學毫不吝惜地與別人交流,使大家的理解有加深了很多。</p><p>  通過這次課程設(shè)計,我才深知數(shù)據(jù)庫靈活。在剛剛結(jié)束的一個學期里,我對數(shù)據(jù)庫的學習才僅僅是個入門,通過這次的課程

43、設(shè)計,我才發(fā)現(xiàn)自己在以往學習中的諸多問題。對于同一問題沒有多角度的思考,僅僅局限于一種方法,根本沒有思考是否還有別的更簡單更快捷的方法,不能做到舉一反三,還有太注重理論學習而忽視了上機實踐,結(jié)果就是理論知識不扎實上機動手能力差,編譯出現(xiàn)錯誤時不能很快的找出錯誤。在這次課設(shè)的編程過程中,我盡量把以往學過的知識全部用上,對于同一個問題從不同的角度考慮實現(xiàn)方法,所以我才發(fā)現(xiàn)了自己很多的問題,而且借此寒假,我會改正這些問題,并且深入學習數(shù)據(jù)庫和

44、C++。在這次課程中,除了達到了課設(shè)目的,我想我最大的收獲就是以上的發(fā)現(xiàn)并且能及時的解決。</p><p><b>  致 謝</b></p><p>  在這次數(shù)據(jù)庫的課程設(shè)計中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設(shè)計。在此,我衷心感謝我的指導(dǎo)老師——xx。xx老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我獲益非淺。另外,還要感

45、謝學校領(lǐng)導(dǎo)、輔導(dǎo)員、各位同學對我們的關(guān)懷、幫助,為我們提供了良好的設(shè)計環(huán)境以及各方面的支持。</p><p><b>  參考文獻</b></p><p>  [1]王紅梅,胡明,王濤.數(shù)據(jù)庫(C++版)[M] .北京:清華大學出版社,2007.</p><p>  [2] 何欽銘,陳根才.數(shù)據(jù)庫課程設(shè)計[M]. 杭州:浙江大學出版社,200

46、7.</p><p>  [3] 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論(第三版)[M]. 北京:高等教育出版社,2009.</p><p>  [4] 齊治昌,譚慶平,寧洪. 軟件工程(第二版)[M]. 北京:高等教育出版社,2004.</p><p>  [5] 鄭阿奇.Visual C++實用教程(第三版)[M].北京:電子工業(yè)出版社,2009.</p>

47、<p>  [6] 錢雪忠.數(shù)據(jù)庫原理及應(yīng)用 (第二版)[M].北京:北京郵電大學出版社,2007.</p><p>  [7] 王晟,鄧遠輝.Visual C++.NET數(shù)據(jù)庫開發(fā)經(jīng)典案例解析[M].北京:清華大學出版, 2007.</p><p><b>  附錄:源程序代碼</b></p><p>  void CLoginD

48、lg::OnConfirm() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  CClerkDataSet mrsDataSet; /*聲明記錄集*/</p><p>  

49、CString mSqlStr;</p><p>  UpdateData(TRUE);</p><p>  if (m_strName.IsEmpty()) /*判斷用戶名信息是否為空*/</p><p><b>  {</b></p><p>  AfxMessageBox("請輸入用戶名!"

50、;);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  mSqlStr = "SELECT * FROM CLERK WHERE NAME='";</p><p>  mSqlStr = mSqlStr +

51、m_strName;</p><p>  mSqlStr = mSqlStr + "' AND PASSWORD='";</p><p>  mSqlStr = mSqlStr + m_strPassword;</p><p>  mSqlStr = mSqlStr + "'";</p>

52、<p>  if (!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE, mSqlStr))</p><p><b>  {</b></p><p>  AfxMessageBox("CLERK表打開失??!");</p><p><b>  return;</b>

53、</p><p><b>  }</b></p><p>  if (!mrsDataSet.IsEOF())</p><p><b>  {</b></p><p>  CDialog::OnOK();</p><p><b>  }</b></

54、p><p><b>  else</b></p><p><b>  {</b></p><p>  AfxMessageBox("登錄失敗!");</p><p><b>  return;</b></p><p><b> 

55、 }</b></p><p><b>  }</b></p><p>  void CLoginDlg::OnCancel() </p><p><b>  {</b></p><p>  CDialog::OnCancel();</p><p><b&

56、gt;  }</b></p><p>  CLoginDlg Dlg;</p><p>  if (Dlg.DoModal() == IDOK)</p><p><b>  {</b></p><p>  m_strUserName = Dlg.m_strName ;</p><p>

57、  CLibraryDlg Dlg;</p><p>  Dlg.DoModal();</p><p><b>  }</b></p><p>  #ifdef _DEBUG</p><p>  void CBorrowSet::AssertValid() const</p><p><b

58、>  {</b></p><p>  CRecordset::AssertValid();</p><p><b>  }</b></p><p>  void CBorrowSet::Dump(CDumpContext& dc) const</p><p><b>  {</b

59、></p><p>  CRecordset::Dump(dc);</p><p><b>  }</b></p><p>  void CReaderDataSet::DoFieldExchange(CFieldExchange* pFX)</p><p><b>  {</b></p

60、><p>  //{{AFX_FIELD_MAP(CReaderDataSet)</p><p>  pFX->SetFieldType(CFieldExchange::outputColumn);</p><p>  RFX_Text(pFX, _T("[READER_ID]"), m_READER_ID);</p><p

61、>  RFX_Text(pFX, _T("[NAME]"), m_NAME);</p><p>  RFX_Text(pFX, _T("[IDCARD]"), m_IDCARD);</p><p>  RFX_Int(pFX, _T("[MAXNUM_CAN_BORROW]"), m_MAXNUM_CAN_BORROW);&

62、lt;/p><p>  RFX_Text(pFX, _T("[FLAG_BORROW]"), m_FLAG_BORROW);</p><p>  //}}AFX_FIELD_MAP</p><p><b>  }</b></p><p>  #ifdef _DEBUG</p><p&g

63、t;  void CReaderDataSet::AssertValid() const</p><p><b>  {</b></p><p>  CRecordset::AssertValid();</p><p><b>  }</b></p><p>  void CReaderDataSe

溫馨提示

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

評論

0/150

提交評論