教材管理系統(tǒng)說明書.doc_第1頁
教材管理系統(tǒng)說明書.doc_第2頁
教材管理系統(tǒng)說明書.doc_第3頁
教材管理系統(tǒng)說明書.doc_第4頁
教材管理系統(tǒng)說明書.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)學與計算機學院 課程設計說明書 課 程 名 稱: 軟件工程設計與實踐 課 程 代 碼: 8404131 題 目: 教材管理系統(tǒng) 年級/專業(yè)/班: 07 級信息與計算科學 1 班 學 生 姓 名: 學 號: 開 始 時 間: 2010 年 6 月 6 日 完 成 時 間: 2010 年 7 月 2 日 課程設計成績: 學習態(tài)度及平 時成績(30) 技術(shù)水平與實際 能力(20) 創(chuàng)新(5)說明書撰寫質(zhì)量(45) 總 分 (100) 指導教師簽名: 年 月 目 錄 摘要0 引言1 1 可行性分析1 1.1 技術(shù)可行性1 1.2 經(jīng)濟可行性2 1.3 開發(fā)環(huán)境可行性2 2 需求分析3 2.1 系統(tǒng)現(xiàn)狀3 2.2 用戶需求3 2.3 系統(tǒng)功能需求3 2.4 數(shù)據(jù)描述4 3 程序運行平臺5 4 總體設計5 5 詳細設計6 5.1 創(chuàng)建數(shù)據(jù)庫6 5.2 創(chuàng)建工程10 5.3 主窗口設計10 5.4 教材管理模塊11 5.5 班級信息管理12 5.6 供貨商信息管理15 5.7 訂購模塊17 5.8 采購模塊21 5.9 交互模塊24 6 系統(tǒng)測試26 7 總結(jié)29 參考文獻30 摘摘 要要 由于學校教材量大大增加,使教材管理員的工作日益繁重起來。 院校的教材管理 在學生規(guī)模日益增大、教材日益多樣化、學生個人之間教材差異越來越大的現(xiàn)實面前已 呈現(xiàn)出無法應對的局面。 開發(fā)該教材管理系統(tǒng)是為了更好地管理學校的各類教材,便于教材管理人員訂書、 領(lǐng)書、查詢教材資料及其庫存情況。使教材信息管理工作系統(tǒng)化、規(guī)范化、自動化,從而 達到提高教材管理效率的目的。該系統(tǒng)是運用 Microsoft SQL SERVER 2000 數(shù)據(jù)庫系統(tǒng) 和 Visual C+程序語言開發(fā)實現(xiàn)的。 關(guān)鍵詞:關(guān)鍵詞:教材管理;數(shù)據(jù)庫;課程設計 引言 教材管理系統(tǒng)用于學校的教學計劃、教材管理。可以制定所開設的課程,制定教 學計劃,制定教材計劃,對教材進行需求統(tǒng)計,教材入庫,出庫管理??刹樵兠總€系 的開課課程,所用教材,所需教材數(shù)量,對書庫進行各種類型盤點,維護整個書籍庫 存。并對書庫的入庫,出庫的書籍進行實時跟蹤,實現(xiàn)書籍的出入庫落實到人。教材 管理系統(tǒng)實現(xiàn)學校的無紙化、網(wǎng)絡化的教材管理,從而節(jié)省學校的教材管理開支。 1 可行性分析 1.1 技術(shù)可行性 C+是美國 Bell 實驗室于 20 世紀 80 年代在 C 語言的基礎上成功開發(fā)出來的,是 目前已經(jīng)得到廣泛應用的混合型面向?qū)ο蟪绦蛟O計語言。現(xiàn)在比較流行的有 BorlandC+和 VisualC+。C+的類庫也包括 Borland 的 OWL(Oboject Windows Library)和 Microsoft 的 MFC,特別是 MFC 在國內(nèi)外都具有眾多開發(fā)商和使用者,具 有廣泛的用戶基礎。 C+早期主要應用是系統(tǒng)程序設計,Compbell、Hamilton 和 Rozier 等操作系統(tǒng)或全部或部分使用 C+編寫。C+還應用于設備驅(qū)動程序、需要直 接操作硬件的軟件系統(tǒng)及動態(tài)鏈接庫(DLL)等。圖形學和用戶界面也是使用 C+得 到深入的領(lǐng)域。 Visual C+6.0 是以 C+作為語言、以 MFC 類庫為基礎的功能強大的可視化軟件 開發(fā)工具。它是 Microsoft 推出的功能最為強大、代碼效率最高的開發(fā)工具。它包括了 Microsoft 基于 Windows 和 Web 的全面解決方案的核心,是用于創(chuàng)建高性能的 Windows 和 Web 應用程序與 Web 服務的最佳語言。它支持面向?qū)ο缶幊獭⒖梢暬?模塊化、代碼可重用和組件共享等技術(shù),可以大大提高軟件系統(tǒng)的設計、管理、和開 發(fā)速度。它也是編寫 ActiveX 控件以及像 ISAPI(Internet 服務器應用程序接口)擴展 和 ISAPI 過濾器這樣針對 IIS 的專用代碼的理想編程環(huán)境。Visual C+6.0 提供了 ODBC、DAO、和 ADO 等多種數(shù)據(jù)庫訪問方式,其中 ADO 是 Microsoft 為數(shù)據(jù)庫應 用程序開發(fā)而推出的一種新的數(shù)據(jù)庫訪問技術(shù),正得到越來越廣泛的應用。 SQL 是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用 戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不 同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的 SQL 語言作為數(shù)據(jù)輸入與管理的 接口。 它以記錄集合作為操作對象,所有 SQL 語句接受集合作為輸入,返回集合作為輸出, 這種集合特性允許一條 SQL 語句的輸出作為另一條 SQL 語句的輸入,所以 SQL 語句 可以嵌套,這使他具有極大的靈活性和強大的功能,在多數(shù)情況下,在其他語言中需 要一大段程序?qū)崿F(xiàn)的功能只需要一個 SQL 語句就可以達到目的,這也意味著用 SQL 語 言可以寫出非常復雜的語句。 1.2 經(jīng)濟可行性 在教材管理系統(tǒng)中,實現(xiàn)對教材的物流、資金流和信息流的管理,即針對教材出 入庫管理、教材庫存管理、教材費的收取和使用、教材需求信息、學生個人需用教材 信息等進行管理。這些措施將為提高高等院校教材管理水平、提高工作效率、減少人 為差錯提供良好的管理平臺。 極低成本的數(shù)據(jù)處理、信息查詢、信息錄入等,可實現(xiàn)教材需求信息、訂單管理、 教材費用處理、教材費查詢、教材出入庫管理、庫存管理、教材發(fā)放等功能。從目前 校園網(wǎng)和教材管理系統(tǒng)的推廣和運行情況來看,本系統(tǒng)不需增加過多的硬件投入和應 用方面的培訓,因此,其經(jīng)濟成本是很低的。 1.3 開發(fā)環(huán)境可行性 Visual C+是一種較簡單編程工具,易于程序的開發(fā)和調(diào)試維護。Visual C+不 僅基于不同的平臺開發(fā),而且可以在不同的系統(tǒng)上進行移植,從而加快了軟件的開發(fā), 促進了發(fā)展。 產(chǎn)品銷售管理系統(tǒng)就是基于這種簡單的語言,以 SQL2000 作為數(shù)據(jù)庫的后臺,通 過 JDBC-ODBC 空間來訪問數(shù)據(jù)庫,使軟件的開發(fā)更為簡單,同時也提高了開發(fā)的速度。 2 需求分析 2.1 系統(tǒng)現(xiàn)狀 這個教材管理系統(tǒng)能夠?qū)崿F(xiàn)基本功能,并通過圖形界面和操作提示供用戶使用。 但是程序本身比較復雜,在編程過程中,難免漏掉細節(jié),留下缺陷。以后,這個程序 能夠進一步改進和完善。 2.2 用戶需求 供貨商信息管理:實現(xiàn)增加供應教材單位和企業(yè)信息的添加、刪除、修改、查詢 功能。教材信息管理:能實現(xiàn)對新增教材實現(xiàn)入庫,對已經(jīng)淘汰的教材實現(xiàn)刪除,對 有關(guān)教材信息不完整要求能進行修改,以及能查詢所有教材書信息。 班級信息管理: 能實現(xiàn)對新增班級加入到數(shù)據(jù)庫中,能對已經(jīng)不存在的班級實現(xiàn)刪除,能及時的查詢 所有班級的有關(guān)信息,能實現(xiàn)修改有關(guān)班級信息。采購系統(tǒng):過班級的需要能實現(xiàn)對 教材的添加,刪除,修改等功能。訂購系統(tǒng):能實現(xiàn)通過采購系統(tǒng)的有關(guān)信息向有關(guān) 供貨商發(fā)出有關(guān)訂購信息,該模塊能實現(xiàn)增加,刪除,修改等功能。交互功能:通過 界面,能夠直觀的了解到各個子功能的信息。 2.3 系統(tǒng)功能需求 代碼管理:建立出版社、新華書店等供應商代碼以及教師、班級等代碼管理。 計劃管理:對購書計劃進行管理。 登記編目:完成圖書的驗收、登記、編目、審核、入庫等功能。 圖書發(fā)放:包括教材的領(lǐng)用和發(fā)放等功能。 綜合查詢、統(tǒng)計、報表處理。庫存圖書信息瀏覽、修改、下架。 2.4 數(shù)據(jù)描述 教材=教材專利號+教材名稱+出版社+價格 班級=班級編號+班級名稱 銷售商=銷售商號+銷售商名 教材庫存=庫存號+庫存數(shù)量 根據(jù)用戶需求、系統(tǒng)功能需求和數(shù)據(jù)描述建立一下的 E-R 圖: 教材書 教材書編號教材書名字出版社教材書價 班級 班級名字班級代號 供貨商 供貨商編號 供 貨 商 名 字 需求 N N 滿足 N N 打印 圖 1 E-R 關(guān)系圖 3 程序運行平臺 應用程序 VC6.0+,操作系統(tǒng) WINDOWS XP,數(shù)據(jù)庫 Microsoft SQL server 2005。 4 總體設計 主模塊 教 材 信 息 班 級 信 息 訂 貨 系 統(tǒng) 交 互 功 能 供 貨 商 信 息 訂 購 系 統(tǒng) 圖 2 系統(tǒng)總體框架圖 5 詳細設計 教材管理系統(tǒng)就是通過系統(tǒng)總設計的 6 個子功能模塊來實現(xiàn)的,以下是各個子功能模 塊的詳細設計。 5.1 創(chuàng)建數(shù)據(jù)庫 利用 Microsoft SQL server 2005 創(chuàng)建一個空的數(shù)據(jù)庫,取名為 book,再使用設計器創(chuàng) 建 5 個表取名為 book,bookfrom,class,demand,stock,并且展開表的一欄點“新建表” 。 如圖 1: 圖 3 接下來界面上出現(xiàn)圖 2,設置教材書信息,設置教材書表 bookfrom,教材書編號 ID 為 fid,教材書名字為 fname,設置好了如下圖: 圖 4 創(chuàng)建一個 book 表設計 bookid,bookname,bookpublish,bookprice4 個屬性,效果如下: 圖 5 創(chuàng)建一個表取名 class 并且 classid,classname2 個屬性: 圖 6 創(chuàng)建一個表 demand 并且設置 cid,bid,dnum3 個屬性效果圖如下: 圖 7 創(chuàng)建一個表 stock 并且設置 bfid,bid,snum3 個屬性,效果圖如下: 圖 8 修改表直至圖 2 所顯示那樣;然后點擊管理工具中的 ODBC 數(shù)據(jù)源,添加用戶數(shù)據(jù)源, 選擇驅(qū)動程序如圖 3: 圖 9 接下來在輸入名稱 computer,服務器選擇如圖 4 即可。 圖 10 接下來選擇默認即可就可以生產(chǎn) ODBC 數(shù)據(jù)源 5.2 創(chuàng)建工程 利用 microsoft visual 6.0 創(chuàng)建一個基于單文檔的應用程序并且取名 computersystem。在第二步選擇需要數(shù)據(jù)源支持,并且點擊 data source 選擇已經(jīng)注 冊好了的 ODBC 數(shù)據(jù)源 bookmanage。后面的選擇默認值,這樣就創(chuàng)建了一個工程。 5.3 主窗口設計 進入到對話框中,刪除 TODO,添加控件如圖 5 所示: 圖 11 并且設這號相應的屬性如圖 6 所示: 圖 12 并且選擇了綁定的數(shù)據(jù)記錄集指針 m_pSet 對其中幾個編輯框控件實行綁定。 5.4.教材管理模塊 VC6.0 代碼實現(xiàn)過程: 添加功能的代碼如下: void CBookmanageView:OnButtonBookaddb() / TODO: Add your control notification handler code here UpdateData(TRUE); /* if(!m_bookid.IsEmpty()|m_bookname.IsEmpty()|m_bookprice.IsEmpty()|m_bookpublis h.IsEmpty() AfxMessageBox(“數(shù)據(jù)不能偉空“); return; */ m_pSet-AddNew(); m_pSet-m_bookid=m_bookid; m_pSet-m_bookname=m_bookname; m_pSet-m_bookpublish=m_bookpublish; m_pSet-m_bookprice=m_bookprice; try m_pSet-Update(); m_pSet-Requery(); AfxMessageBox(“成功保存數(shù)據(jù)!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); 5.5 班級信息管理 Vc6.0 實現(xiàn)過程 添加功能代碼如下: void CClassDialog:OnButtonAddclass() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_cclassname.IsEmpty()|m_cclassid.IsEmpty() AfxMessageBox(“請輸入相應的數(shù)據(jù)!“); return ; CString sqlStr_findid; sqlStr_findid = “SELECT * FROM dbo.class WHERE dbo.code=“+m_cclassid+“ “; m_pClassSet-AddNew(); /調(diào)用添加記錄的函數(shù)處理 m_pClassSet-m_classid = m_cclassid; /對應變量更新 m_pClassSet-m_classname = m_cclassname; try m_pClassSet-Update(); m_pClassSet-Requery(); AfxMessageBox(“成功保存數(shù)據(jù)!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新顯示 刪除功能代碼如下: void CClassDialog:OnButtonDeleteclass() / TODO: Add your control notification handler code here m_pClassSet-Delete(); /刪除記錄 m_pClassSet-Requery(); DisplayRecord(); 第一個記錄函數(shù)代碼如下: void CClassDialog:OnButtonFirstclass() / TODO: Add your control notification handler code here if(!m_pClassSet-IsBOF() m_pClassSet-MoveFirst(); /向前移動一條記錄 DisplayRecord(); /更新窗口顯示 上一個記錄函數(shù)代碼如下: void CClassDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pClassSet-IsBOF() m_pClassSet-MovePrev(); DisplayRecord(); 下一個函數(shù)模塊: void CClassDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pClassSet-IsEOF() m_pClassSet-MoveNext(); DisplayRecord(); 5.6 供貨商信息管理 VC6.0 實現(xiàn)過程: 添加功能源代碼: void CBookfromDialog:OnButtonAddboorfrom() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_bookfromname.IsEmpty()|m_bookfromid.IsEmpty() AfxMessageBox(“請輸入相應的數(shù)據(jù)!“); return ; m_pBookfromSet-AddNew(); /調(diào)用添加記錄的函數(shù)處理 m_pBookfromSet-m_fid = m_bookfromid; /對應變量更新 m_pBookfromSet-m_fname = m_bookfromname; try m_pBookfromSet-Update(); m_pBookfromSet-Requery(); AfxMessageBox(“成功保存數(shù)據(jù)!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新顯示 前一個記錄的源代碼 void CBookfromDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MovePrev(); DisplayRecord(); 下一個記錄的函數(shù)源代碼 void CBookfromDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsEOF() m_pBookfromSet-MoveNext(); DisplayRecord(); 指向第一個的函數(shù)源代碼 void CBookfromDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MoveFirst(); /向前移動一條記錄 DisplayRecord(); /更新窗口顯示 指向最后一個記錄的源代碼 void CBookfromDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pBookfromSet-IsBOF() m_pBookfromSet-MoveFirst(); /向前移動一條記錄 DisplayRecord(); /更新窗口顯示 5.7 訂購模塊 void CDemandDialog:OnButtonAdd() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_bbookid.IsEmpty()|m_cclassid.IsEmpty() AfxMessageBox(“請輸入相應的數(shù)據(jù)!“); return ; m_pDemandSet-AddNew(); /調(diào)用添加記錄的函數(shù)處理 m_pDemandSet-m_bid = m_bbookid; /對應變量更新 m_pDemandSet-m_cid = m_cclassid; m_pDemandSet-m_dnum=m_num; try m_pDemandSet-Update(); m_pDemandSet-Requery(); AfxMessageBox(“成功保存數(shù)據(jù)!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新顯示 bool CDemandDialog:DisplayRecord() if(m_pDemandSet-IsEOF() m_bbookid = “; m_num=0; else if(m_pDemandSet-IsBOF() /移動到了開頭,就向后移動 m_pDemandSet-MoveNext(); else /否則前移 if(m_pDemandSet-IsEOF() m_pDemandSet-MovePrev(); m_cclassid=m_pDemandSet-m_cid;/對應變量賦值 m_bbookid=m_pDemandSet-m_bid; m_num=m_pDemandSet-m_dnum; UpdateData(FALSE); return TRUE; void CDemandDialog:OnButtonDel() / TODO: Add your control notification handler code here m_pDemandSet-Delete(); /刪除記錄 m_pDemandSet-Requery(); DisplayRecord(); void CDemandDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsBOF() m_pDemandSet-MovePrev(); DisplayRecord(); void CDemandDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsEOF() m_pDemandSet-MoveNext(); DisplayRecord(); void CDemandDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsBOF() m_pDemandSet-MoveFirst(); /向前移動一條記錄 DisplayRecord(); /更新窗口顯示 void CDemandDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pDemandSet-IsEOF() m_pDemandSet-MoveLast(); DisplayRecord(); 5.8 采購系統(tǒng) void CStockDialog:OnButtonAdd() / TODO: Add your control notification handler code here UpdateData(TRUE); if(m_stockbookfid.IsEmpty()|m_stockbookid.IsEmpty() AfxMessageBox(“請輸入相應的數(shù)據(jù)!“); return ; m_pStockSet-AddNew(); /調(diào)用添加記錄的函數(shù)處理 m_pStockSet-m_bfid = m_stockbookfid; /對應變量更新 m_pStockSet-m_bid = m_stockbookid; m_pStockSet-m_snum=m_booknum; try m_pStockSet-Update(); m_pStockSet-Requery(); AfxMessageBox(“成功保存數(shù)據(jù)!“); catch( CDBException* e ) AfxMessageBox( e-m_strError,MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新顯示 void CStockDialog:OnButtonDel() / TODO: Add your control notification handler code here m_pStockSet-Delete(); /刪除記錄 m_pStockSet-Requery(); DisplayRecord(); void CStockDialog:OnButtonFirst() / TODO: Add your control notification handler code here if(!m_pStockSet-IsBOF() m_pStockSet-MoveFirst(); /向前移動一條記錄 DisplayRecord(); /更新窗口顯示 void CStockDialog:OnButtonLast() / TODO: Add your control notification handler code here if(!m_pStockSet-IsEOF() m_pStockSet-MoveLast(); DisplayRecord(); void CStockDialog:OnButtonPre() / TODO: Add your control notification handler code here if(!m_pStockSet-IsBOF() m_pStockSet-MovePrev(); DisplayRecord(); void CStockDialog:OnButtonNext() / TODO: Add your control notification handler code here if(!m_pStockSet-IsEOF() m_pStockSet-MoveNext(); DisplayRecord(); 5.9

溫馨提示

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

最新文檔

評論

0/150

提交評論