版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 摘 要IV</b></p><p> AbstractV</p><p><b> 1. 緒論1</b></p><p> 1.1 課題背景和意義1</p><p
2、> 1.2 國內(nèi)外研究狀況及發(fā)展趨勢1</p><p> 2. 主要技術(shù)的選擇2</p><p> 2.1 選擇C/S模式2</p><p> 2.2 選擇ADO技術(shù)來訪問數(shù)據(jù)庫3</p><p> 2.3 后臺數(shù)據(jù)庫3</p><p><b> 3. 系統(tǒng)分析3</b&g
3、t;</p><p> 3.1 可行性分析3</p><p> 3.1.1 經(jīng)濟(jì)上的可行性3</p><p> 3.1.2 技術(shù)上的可行性3</p><p> 3.1.3 操作上的可行性4</p><p> 3.2 系統(tǒng)業(yè)務(wù)流程分析4</p><p> 3.3 系統(tǒng)數(shù)據(jù)流分
4、析5</p><p> 3.4 部分?jǐn)?shù)據(jù)字典9</p><p> 4. 系統(tǒng)概要設(shè)計(jì)11</p><p> 4.1 設(shè)計(jì)目標(biāo)11</p><p> 4.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)11</p><p> 4.3 對功能模塊的描述12</p><p> 4.4 系統(tǒng)流程分析16&
5、lt;/p><p> 4.5 數(shù)據(jù)庫分析與設(shè)計(jì)17</p><p> 4.5.1 系統(tǒng)E-R圖17</p><p> 4.5.2 數(shù)據(jù)庫表邏輯結(jié)構(gòu)19</p><p> 5. 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)21</p><p> 5.1 添加數(shù)據(jù)庫訪問類21</p><p> 5.2 為表
6、添加類21</p><p> 5.3 登錄模塊設(shè)計(jì)與實(shí)現(xiàn)22</p><p> 5.3.1 登錄模塊的功能簡述22</p><p> 5.3.2 登錄模塊的功能實(shí)現(xiàn)23</p><p> 5.4 商品管理模塊程序設(shè)計(jì)與實(shí)現(xiàn)26</p><p> 5.4.1 商品管理模塊程序的功能簡述26</
7、p><p> 5.4.2 商品管理模塊程序的功能實(shí)現(xiàn)26</p><p> 5.5報(bào)表管理的設(shè)計(jì)與實(shí)現(xiàn)29</p><p> 5.5.1 報(bào)表管理的功能簡述29</p><p> 5.5.2 報(bào)表管理的功能實(shí)現(xiàn)29</p><p> 6. 系統(tǒng)測試32</p><p> 6.1
8、 系統(tǒng)測試舉例32</p><p> 6.2 系統(tǒng)部分運(yùn)行、測試效果圖33</p><p> 7. 總結(jié)與展望37</p><p> 7.1 系統(tǒng)總結(jié)37</p><p> 7.2 未來展望37</p><p><b> 參考文獻(xiàn)39</b></p><p
9、><b> 致 謝40</b></p><p> 附錄一 數(shù)據(jù)庫表結(jié)構(gòu)41</p><p> 附錄二 部分系統(tǒng)程序段46</p><p><b> 摘 要</b></p><p> 企業(yè)進(jìn)銷存管理是企業(yè)經(jīng)營管理中的重要環(huán)節(jié),也是一個(gè)企業(yè)能夠取得效益的關(guān)鍵,如果能夠做到合
10、理采購,及時(shí)銷售,庫存量最小,減少積壓,那么企業(yè)就能取得最佳的效益。由此可見,進(jìn)銷存管理決策的正確與否直接影響了企業(yè)的效益,可靠、準(zhǔn)確、快速和實(shí)用的管理信息系統(tǒng)已成為現(xiàn)代企業(yè)的一種實(shí)際需要。企業(yè)進(jìn)銷存管理信息系統(tǒng)能夠有效地將企業(yè)的采購、庫存和銷售信息進(jìn)行高效率的管理,從而提高企業(yè)的效率和效益。</p><p> 本系統(tǒng)采用結(jié)構(gòu)化系統(tǒng)開發(fā)方法對企業(yè)進(jìn)銷存流程的數(shù)據(jù)流進(jìn)行分析研究,并在此基礎(chǔ)上設(shè)計(jì)出了系統(tǒng)的數(shù)據(jù)庫。
11、在對系統(tǒng)進(jìn)行功能設(shè)計(jì)時(shí),論文采用模塊化設(shè)計(jì)方法,對系統(tǒng)的每個(gè)子模塊具體的功能模塊進(jìn)行分析設(shè)計(jì),從而完成整個(gè)系統(tǒng)的功能設(shè)計(jì)。本系統(tǒng)采用基于C/S模式的共享式多用戶方案開發(fā)“企業(yè)進(jìn)銷存管理信息系統(tǒng)”,以Visual C++ 作為前臺開發(fā)工具,以SQL Server 2000作為后臺數(shù)據(jù)庫。</p><p> [關(guān)鍵詞]:管理信息系統(tǒng);進(jìn)銷存;C/S結(jié)構(gòu)</p><p><b>
12、Abstract</b></p><p> Purchase-Sales-Inventory management is not only an important part of operation management of an enterprise but also a key to gain economic benefit. An enterprise can achieve best
13、economic benefit by reasonable purchase,in-time sale,minimum inventory and reducing over stock. Thus is can be seen that the economic benefit of an enterprise is directly influenced by decision of Purchase-Sales-Inventor
14、y management. Management Information System which is reliable, veracious, rapid and applied has been </p><p> This System uses Structure System Analysis and Design Method to analysis data flow of Purchase-S
15、ales-Inventory. And on the base of analysis, the database of the system is designed. When it comes to the system function designment, the paper designed function module of every child module of the system, and finished a
16、ll the function designment in the end. The Client/Server (C/S) structure sharing type multiuser pattern is adopted to develop Purchase-Sales-Inventory Management Information System of </p><p> [Key Words]:M
17、IS;Purchase-Sales-Inventory;C/S Structure</p><p> 企業(yè)進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)</p><p><b> 1. 緒論</b></p><p> 1.1 課題背景和意義</p><p> 隨著計(jì)算機(jī)科學(xué)與技術(shù)的飛速發(fā)展,計(jì)算機(jī)的應(yīng)用己經(jīng)滲透到國民經(jīng)濟(jì)與人們生
18、活的各個(gè)角落,正在日益改變著傳統(tǒng)的人類工作方式和生活方式。企業(yè)要想生存、發(fā)展,要想在激烈的市場競爭中立于不敗之地,沒有現(xiàn)代化的管理是萬萬不行的,企業(yè)管理的全面自動化、信息化則是其中極其重要的部分?!靶畔⒒俏覈涌鞂?shí)現(xiàn)工業(yè)化和現(xiàn)代化的必然選擇,堅(jiān)持以信息化帶動工業(yè)化,以工業(yè)化促進(jìn)信息化”。企業(yè)實(shí)現(xiàn)信息化,將計(jì)算機(jī)這一信息處理利器應(yīng)用于企業(yè)管理己是勢必所然,而且這也將為企業(yè)管理帶來前所未有的改變,它可以帶來意想不到的效益,同時(shí)也會為企業(yè)的
19、飛速發(fā)展提供無限潛力。</p><p> 管理信息系統(tǒng)(Management Information System,MIS)是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行信息收集、傳遞、存儲、加工、維護(hù)和使用的系統(tǒng)。采用計(jì)算機(jī)管理信息系統(tǒng)已成為企業(yè)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,它給企業(yè)管理帶來了明顯的經(jīng)濟(jì)效益和社會效益。</p><p> 企業(yè)進(jìn)銷存管理信息管理系統(tǒng)可以幫助企業(yè)快速有效地管理進(jìn)貨、銷
20、售、庫存、應(yīng)收、應(yīng)付款等各項(xiàng)業(yè)務(wù)。合理控制進(jìn)銷存各個(gè)環(huán)節(jié),提高資金的利用率和結(jié)算速度,實(shí)現(xiàn)管理的高效率、實(shí)時(shí)性、安全性、科學(xué)化、現(xiàn)代化、智能化。</p><p> 1.2 國內(nèi)外研究狀況及發(fā)展趨勢</p><p> 從國內(nèi)外研究現(xiàn)狀看,產(chǎn)業(yè)界對進(jìn)銷存管理系統(tǒng)的研究主要分兩類:一類是產(chǎn)品有明確行業(yè)定位的軟件廠商,該類廠商通過對特定行業(yè)的管理需求及行業(yè)特色的不斷提煉,以提供日益成熟的行業(yè)解
21、決方案產(chǎn)品,在此基礎(chǔ)上通過行業(yè)細(xì)分或向類似行業(yè)進(jìn)行滲透,實(shí)現(xiàn)產(chǎn)品線的擴(kuò)展;另一類是原來提供通用解決方案的軟件廠商,在長期的ERP實(shí)施過程中積累了眾多行業(yè)的管理經(jīng)驗(yàn),為了降低通用產(chǎn)品的規(guī)模及復(fù)雜度,提高產(chǎn)品的行業(yè)針對性,通過對原有通用ERP產(chǎn)品的裁剪來提供分行業(yè)的解決方案及軟件產(chǎn)品。國內(nèi)學(xué)術(shù)界對ERP中進(jìn)銷存的行業(yè)化也進(jìn)行了積極的探索,這方面的研究成果通常建立在對具體企業(yè)實(shí)施ERP的經(jīng)驗(yàn)教訓(xùn)進(jìn)行總結(jié)、對不同行業(yè)的ERP需求特點(diǎn)進(jìn)行提煉、以
22、及針對行業(yè)特點(diǎn)對ERP功能模塊、基礎(chǔ)數(shù)據(jù)、關(guān)鍵問題等進(jìn)行探討并提出相應(yīng)解決方案的基礎(chǔ)上??梢姡瑢RP中進(jìn)銷存等相關(guān)領(lǐng)域還需要做大量的研究工作。</p><p> 雖然目前國內(nèi)外成熟的ERP軟件擁有強(qiáng)大的功能,但是價(jià)格卻是相對昂貴,僅僅適用于大中型規(guī)?;纳a(chǎn)企業(yè)。對于中小型企業(yè),特別是商業(yè)企業(yè)來說,不僅費(fèi)用昂貴,而且其中很多關(guān)于生產(chǎn)制造管理模塊對自身來說卻是毫無用處的,形成了浪費(fèi)。為了解決這個(gè)問題,目前迫切需
23、要開發(fā)出一種企業(yè)進(jìn)銷存管理信息系統(tǒng)軟件來適用于企業(yè)的采購、銷售和倉庫部門, 對企業(yè)采購、銷售及倉庫的業(yè)務(wù)全過程進(jìn)行有效控制和跟蹤, 可有效減少盲目采購、降低采購成本、合理控制庫存、減少資金占用并提高市場靈敏度, 增加企業(yè)收入,全面提高了企業(yè)的管理水平和效益提升企業(yè)市場競爭力。</p><p> 2. 主要技術(shù)的選擇</p><p> 本系統(tǒng)采用基于C/S模式的共享式多用戶方案開發(fā)“企業(yè)
24、進(jìn)銷存管理信息系統(tǒng)”,以Visual C++ 作為前臺開發(fā)工具,以SQL Server 2000作為后臺數(shù)據(jù)庫,采用目前比較流行的ADO數(shù)據(jù)訪問技術(shù),將每個(gè)數(shù)據(jù)庫表的字段和操作封裝到類中,使應(yīng)用程序的各個(gè)窗體都能夠共享對表的操作,無需重復(fù)編碼,使程序更易于維護(hù),從而成功將面向?qū)ο蟮某绦蛟O(shè)計(jì)思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)中,這也是本系統(tǒng)的特色和優(yōu)勢。下面對主要技術(shù)的選擇作個(gè)說明:</p><p> 2.1 選擇C/
25、S模式</p><p> 目前現(xiàn)代企業(yè)MIS系統(tǒng)平臺模式主要考慮客戶機(jī)/服務(wù)器模式(Client/Server,簡稱C/S)和Web瀏覽器/服務(wù)器模式(Browser/Server,簡稱B/S)。這兩種模式各有所長。</p><p> C/S模式其優(yōu)點(diǎn)體現(xiàn)在:①可靠的數(shù)據(jù)完整性和安全性控制。由于C/S是配對的點(diǎn)對點(diǎn)的結(jié)構(gòu)模式,采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議,安全性可以得到較好
26、的保證。②高效的聯(lián)機(jī)事務(wù)處理性能。在C/S中,客戶端有一套完整的應(yīng)用程序,出錯(cuò)提示、在線幫助等方面都有強(qiáng)大的功能,并且可以在子程序間自由切換。③很好的開放性和易擴(kuò)充性。④高效的應(yīng)用程序開發(fā)。</p><p> 由于本系統(tǒng)主要用于中小型企業(yè)內(nèi)部使用,用戶群小,不存在維護(hù)難度大和通用性等問題。而本系統(tǒng)對數(shù)據(jù)安全性要求較高,處理數(shù)據(jù)量大,這正好是C/S結(jié)構(gòu)的優(yōu)點(diǎn)。因此本系統(tǒng)采用C/S結(jié)構(gòu)無疑是最佳選擇。</p&
27、gt;<p> 2.2 選擇ADO技術(shù)來訪問數(shù)據(jù)庫</p><p> 在Visual C++中,可以通過以下方式訪問數(shù)據(jù)庫:①.ActiveX數(shù)據(jù)對象(ADO);②.遠(yuǎn)程數(shù)據(jù)對象(RDO);③.數(shù)據(jù)訪問對象(DAO);④.ODBC直接連接到數(shù)據(jù)庫。其中ADO是最新的數(shù)據(jù)庫訪問技術(shù),它是使用更加簡單,更加靈活的對象模型,并且提供了像ADO Data控件,DataGrid 控件等數(shù)據(jù)庫訪問控件,具有
28、比較友好的用戶界面,只需要簡單配置就可以使用,使訪問數(shù)據(jù)庫更加簡單。所以,本系統(tǒng)選擇 ADO作為數(shù)據(jù)訪問接口。</p><p><b> 2.3 后臺數(shù)據(jù)庫</b></p><p> SQL Server 2000是一種關(guān)系型數(shù)據(jù)庫,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn),滿足本系統(tǒng)軟件的開發(fā)需求,所以選擇SQL Server 2000作為后臺數(shù)據(jù)庫
29、。</p><p><b> 3. 系統(tǒng)分析</b></p><p><b> 3.1 可行性分析</b></p><p> 在系統(tǒng)調(diào)查的基礎(chǔ)上,對本系統(tǒng)的開發(fā)從經(jīng)濟(jì)、技術(shù)、操作的方面進(jìn)行可行性分析和研究,以避免投資失誤,保證本系統(tǒng)的開發(fā)成功。該系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容。</p><
30、p> 3.1.1 經(jīng)濟(jì)上的可行性</p><p> 由于本系統(tǒng)作為一個(gè)畢業(yè)設(shè)計(jì),無需投入太大的開發(fā)經(jīng)費(fèi),并且本系統(tǒng)實(shí)施后可以顯著提高工作效率,有助于企業(yè)管理完全實(shí)現(xiàn)信息化管理。所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。</p><p> 3.1.2 技術(shù)上的可行性</p><p> 該管理系統(tǒng)采用當(dāng)前C++可視化集成開發(fā)工具之一Visual C++進(jìn)行開發(fā)。Clie
31、nt/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu)把數(shù)據(jù)庫內(nèi)容放在服務(wù)器上,而在客戶機(jī)上安裝相應(yīng)軟件。C/S軟件一般采用兩層結(jié)構(gòu),它由兩部分構(gòu)成:前端是客戶機(jī),即用戶界面(Client)結(jié)合了表示與業(yè)務(wù)邏輯,接受用戶的請求,并向數(shù)據(jù)庫服務(wù)提出請求,通常是一個(gè)PC機(jī);后端是服務(wù)器,即數(shù)據(jù)管理(server)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進(jìn)行計(jì)算并將結(jié)果呈現(xiàn)給用戶。滿足了本系統(tǒng)對數(shù)據(jù)安全性要求較高,處理數(shù)據(jù)量大的要求,而且又緊密的結(jié)合了計(jì)算機(jī)網(wǎng)絡(luò)技
32、術(shù),是技術(shù)發(fā)展的大勢所趨,它把應(yīng)用系統(tǒng)帶入了一個(gè)嶄新的發(fā)展時(shí)代。數(shù)據(jù)庫服務(wù)器選用 Microsoft SQL Server 2000數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價(jià)格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。</
33、p><p> 3.1.3 操作上的可行性</p><p> 本系統(tǒng)開發(fā)完成后,管理人員可以在軟件開發(fā)人員的簡單指導(dǎo)下,利用C/S結(jié)構(gòu)來進(jìn)行操作,用 SQL Sever2000作為數(shù)據(jù)庫管理,實(shí)質(zhì)上使用本系統(tǒng)只是一些簡單的數(shù)據(jù)錄入和查詢,所以操作容易,只要有一定計(jì)算機(jī)操作知識都是能夠操作,只要按照一定的操作步驟都可以使用本系統(tǒng)。</p><p> 綜上所述,通過以上
34、科學(xué)、合理的可行性分析,得出的結(jié)論是企業(yè)進(jìn)銷存管理信息系統(tǒng)的開發(fā)在經(jīng)濟(jì)上,技術(shù)上,操作上都是可行的,不僅有巨大的經(jīng)濟(jì)效益,而且有更大的社會效益,從而使該系統(tǒng)開發(fā)具有價(jià)值,也節(jié)省了大量資源,所以,我認(rèn)為開發(fā)此系統(tǒng)的條件已經(jīng)具備,可以開始進(jìn)行開發(fā)。</p><p> 3.2 系統(tǒng)業(yè)務(wù)流程分析</p><p> 本系統(tǒng)的業(yè)務(wù)流程分析的主要任務(wù)是調(diào)查系統(tǒng)中各環(huán)節(jié)的管理業(yè)務(wù)活動,掌握管理業(yè)務(wù)的內(nèi)
35、容、作用及信息的輸入、輸出,數(shù)據(jù)存儲和信息的處理方法及過程等,為建立企業(yè)進(jìn)銷存管理信息系統(tǒng)的數(shù)據(jù)模型和邏輯打下基礎(chǔ)。本系統(tǒng)的業(yè)務(wù)流程簡述如下:</p><p> 客戶根據(jù)需求,與銷售部門產(chǎn)生銷售訂單,銷售部門查詢庫存,如果缺貨就登記缺料單,轉(zhuǎn)交給采購部門,如果不缺貨就向倉庫部門發(fā)出銷售出庫單,倉庫部門發(fā)貨同時(shí)提交銷售出庫單給財(cái)務(wù)部門,財(cái)務(wù)部門生成銷售收款單,通知客戶。</p><p>
36、 采購部門根據(jù)缺料單進(jìn)行與供應(yīng)商下達(dá)采購訂單,供應(yīng)商按訂單來料,倉庫部門根據(jù)來料產(chǎn)生采購入庫單,安排檢驗(yàn),合格后辦理入庫業(yè)務(wù),入庫單據(jù)提交財(cái)務(wù)部門,并根據(jù)發(fā)票形成應(yīng)付款,通知供應(yīng)商。</p><p> 本系統(tǒng)業(yè)務(wù)流程圖如圖3.1所示:</p><p> 3.3 系統(tǒng)數(shù)據(jù)流分析</p><p> 本系統(tǒng)業(yè)務(wù)流程分析中繪制的業(yè)務(wù)流程圖雖然形象地表達(dá)了管理過程中信息
37、的流動和存儲過程,但這其中包括一些物質(zhì)要素。為了用計(jì)算機(jī)進(jìn)行信息管理,必須進(jìn)一步舍去物質(zhì)要素,繪制系統(tǒng)的數(shù)據(jù)流圖,對系統(tǒng)進(jìn)行數(shù)據(jù)流程分析。</p><p> 數(shù)據(jù)流圖(Data Flow Diagram,DFD),是描述數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)處理之間關(guān)系的一種強(qiáng)有力的工具,也是與用戶進(jìn)行緊密配合的有效媒介。其主要成分有四種:數(shù)據(jù)流、數(shù)據(jù)存儲、加工處理、外部實(shí)體。對于復(fù)雜系統(tǒng),一張數(shù)據(jù)流圖難以描述和難
38、以理解,往往采用分層數(shù)據(jù)流圖。本系統(tǒng)頂層數(shù)據(jù)流圖,如圖3.2所示:</p><p> 系統(tǒng)頂層數(shù)據(jù)流圖雖然從概況上描述了整個(gè)系統(tǒng)的內(nèi)外接口情況,但它并不能很清楚地表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,因此需要進(jìn)一步的細(xì)化。進(jìn)銷存管理信息系統(tǒng)的數(shù)據(jù)處理,按照功能包括4個(gè)子系統(tǒng):基礎(chǔ)信息管理系統(tǒng)、采購管理模塊系統(tǒng)、庫存管理系統(tǒng)、銷售管理系統(tǒng)。因此,就可以畫出表示這4個(gè)子系統(tǒng)的加工及其相關(guān)的數(shù)據(jù)流。這是本進(jìn)銷存管理系統(tǒng)的一
39、級圖,一級圖由外部實(shí)體、處理和數(shù)據(jù)存貯結(jié)點(diǎn)組成。它表示1個(gè)系統(tǒng)的主要功能或者是一個(gè)大型系統(tǒng)的主要的組成子系統(tǒng)。本系統(tǒng)一層數(shù)據(jù)流圖如圖3.3所示:</p><p> 由于各個(gè)子系統(tǒng)比較復(fù)雜,為了更清晰地表達(dá)數(shù)據(jù)加工過程,可以進(jìn)一步對它進(jìn)行細(xì)化,從而得到各個(gè)模塊的二級圖。本系統(tǒng)根據(jù)實(shí)際功能將整個(gè)系統(tǒng)細(xì)化后,得到基礎(chǔ)信息管理系統(tǒng)、采購管理模塊系統(tǒng)、庫存管理系統(tǒng)、銷售管理系統(tǒng)的二級圖。二級圖由外部實(shí)體、處理和數(shù)據(jù)存貯結(jié)
40、點(diǎn)組成,其組成與一級圖組成類似。下面以銷售和采購為例進(jìn)行細(xì)化。銷售子系統(tǒng)二級數(shù)據(jù)流圖和采購子系統(tǒng)二級數(shù)據(jù)流圖分別如圖3.4,圖3.5所示:</p><p> 3.4 部分?jǐn)?shù)據(jù)字典</p><p> 為了定義本系統(tǒng)數(shù)據(jù)流圖中各個(gè)成分的具體含義的,以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述,需要數(shù)據(jù)字典來輔助分析,它和數(shù)據(jù)流圖共同構(gòu)成了本
41、系統(tǒng)的邏輯模型。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲、處理邏輯。由于篇幅關(guān)系,不能一一對本系統(tǒng)數(shù)據(jù)字典進(jìn)行描述,下面僅各舉一例為代表進(jìn)行描述。如表3.1~表3.4所示:</p><p> 表3.1 數(shù)據(jù)流的描述</p><p> 表3.2 處理邏輯的描述</p><p> 表3.3 數(shù)據(jù)存儲的描述</p><p>
42、表3.4 外部實(shí)體的描述</p><p><b> 4. 系統(tǒng)概要設(shè)計(jì)</b></p><p><b> 4.1 設(shè)計(jì)目標(biāo)</b></p><p> (1)功能實(shí)用。面向中小型企業(yè),緊緊圍繞進(jìn)銷存業(yè)務(wù),不盲目追求功能的大而全。設(shè)置一些對企業(yè)具有較大實(shí)用價(jià)值的功能,比如:商品庫存上、下限存量報(bào)警,基礎(chǔ)信息和業(yè)務(wù)信息查
43、詢統(tǒng)計(jì),將數(shù)據(jù)導(dǎo)出到Excel表等。</p><p> (2)運(yùn)行可靠。好的軟件首先是一個(gè)正確、可靠的軟件。不追求新技術(shù)的采用,而要確保系統(tǒng)計(jì)算正確無誤,運(yùn)行穩(wěn)定可靠。</p><p> (3)界面友好,操作簡單。操作界面布局得當(dāng),主次分明,信息量豐富,相關(guān)信息實(shí)現(xiàn)關(guān)聯(lián)查詢,操作簡單,易于學(xué)習(xí)和掌握。</p><p> (4)安全保密。系統(tǒng)通過操作權(quán)限劃分、技
44、術(shù)加密手段,確保商業(yè)數(shù)據(jù)的安全,讓合法用戶方便使用,同時(shí)拒絕非法使用。</p><p> (5)易于擴(kuò)充。市場多變,系統(tǒng)要易于擴(kuò)充,以適應(yīng)不斷變化的業(yè)務(wù)要求,延長系統(tǒng)的使用壽命。</p><p> 4.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)劃分為七大模塊,包括系統(tǒng)管理模塊,基本信息管理模塊,采購管理模塊,銷售管理模塊,庫存管理模塊,報(bào)表管理模塊和幫助模
45、塊。</p><p> 具體模塊劃分如圖4.1所示:</p><p> 4.3 對功能模塊的描述</p><p> (1)在系統(tǒng)管理方面</p><p> 包括系統(tǒng)登錄,用戶管理,密碼修改,系統(tǒng)備份。</p><p> 系統(tǒng)登錄:用來驗(yàn)證登錄的系統(tǒng)用戶的合法性,只有合法的系統(tǒng)用戶才能登錄系統(tǒng)并且使用系統(tǒng)功能。
46、</p><p> 用戶管理:實(shí)現(xiàn)對用戶的添加,修改和刪除,并設(shè)置用戶的類型,不同用戶類型具有不同的操作權(quán)限。</p><p> 密碼修改:用來修改登錄系統(tǒng)用戶的密碼,長時(shí)間地使用一個(gè)密碼可能會使密碼不安全,導(dǎo)致整個(gè)系統(tǒng)的不安全,因此用戶有必要定期修改密碼。</p><p> 數(shù)據(jù)備份:提供對系統(tǒng)整個(gè)數(shù)據(jù)庫的備份處理。數(shù)據(jù)備份工作應(yīng)當(dāng)定期進(jìn)行,以保證在系統(tǒng)出現(xiàn)
47、任何故障時(shí)能快速恢復(fù)。備份的數(shù)據(jù)文件應(yīng)存放在安全的地方。</p><p> (2)在基本信息管理方面:</p><p> 供應(yīng)商管理:用于對在進(jìn)銷存系統(tǒng)中涉及到的供應(yīng)商的基本信息進(jìn)行管理。只有在供應(yīng)商資料中存在的供應(yīng)商才可以參與進(jìn)銷存系統(tǒng)中涉及到的業(yè)務(wù)。因此,當(dāng)訂單中要求的供應(yīng)商不在供應(yīng)商資料中的時(shí)候,需要在供應(yīng)商資料管理功能模塊中添加該供應(yīng)商;當(dāng)企業(yè)決定不再與某個(gè)供應(yīng)商有業(yè)務(wù)往來的時(shí)
48、候,需要在供應(yīng)商資料管理功能模塊中刪除該供應(yīng)商;當(dāng)某個(gè)供應(yīng)商的基本信息發(fā)生變動時(shí),需要在供應(yīng)商資料管理功能模塊中對該供應(yīng)商信息進(jìn)行修改。供應(yīng)商信息包括供應(yīng)商編號、供應(yīng)商全稱、簡稱、地址、郵政編碼、固定電話、傳真、聯(lián)系人、手機(jī)、開戶銀行、銀行賬號、E-mail、備注等基本信息。</p><p> 客戶管理:用于對在進(jìn)銷存系統(tǒng)中涉及到的客戶的基本信息進(jìn)行管理。只有在客戶資料中存在的客戶才可以參與進(jìn)銷存系統(tǒng)中涉及到的
49、業(yè)務(wù)。因此,當(dāng)下訂單中的客戶不在客戶資料中的時(shí)候,需要在客戶資料管理功能模塊中添加該客戶;當(dāng)企業(yè)決定不再與某個(gè)客戶有業(yè)務(wù)往來的時(shí)候,需要在客戶資料管理功能模塊中刪除該客戶;當(dāng)某個(gè)客戶的基本信息發(fā)生變動時(shí),需要在客戶資料管理功能模塊中對該客戶信息進(jìn)行修改??蛻粜畔蛻艟幪?、客戶全稱、簡稱、地址、郵政編碼、固定電話、傳真、聯(lián)系人、手機(jī)、開戶銀行、銀行賬號、E-mail、客戶信用限度、備注等基本信息。</p><p&g
50、t; 商品管理:用于進(jìn)銷存系統(tǒng)中的商品的添加,刪除以及修改。只有在商品列表中存在的商品才能在進(jìn)銷存系統(tǒng)中流通,因此,當(dāng)業(yè)務(wù)員接受的訂單在商品列表中不存在時(shí),就需要在商品管理功能模塊中對商品信息進(jìn)行添加;而當(dāng)某些商品在企業(yè)內(nèi)不再使用時(shí),需要在商品管理模塊中對商品信息進(jìn)行刪除;當(dāng)某些商品的基本信息有所變動時(shí),需要在商品管理模塊中對商品信息進(jìn)行修改。“商品管理”是系統(tǒng)管理員對系統(tǒng)進(jìn)行管理的一個(gè)窗口。商品信息包括:商品編號、商品名稱、商品類別
51、、規(guī)格型號、計(jì)量單位、產(chǎn)地、庫存上限、庫存下限、備注等基本信息。</p><p> 庫房管理:用于對企業(yè)用來存放商品的庫房進(jìn)行管理。包括庫房的添加、刪除以及基本信息的修改。</p><p> 部門管理:用于對企業(yè)部門的管理。包括部門的添加、刪除以及基本信息的修改。</p><p> 員工管理:用于對進(jìn)銷存系統(tǒng)中涉及到的員工的基本信息進(jìn)行管理。包括對系統(tǒng)中的員工
52、的添加、刪除以及基本信息的修改。在進(jìn)行添加員工之前必須先設(shè)置所屬部門的信息。員工信息包括:員工編號、員工姓名、性別、出生日期、相片、聯(lián)系電話、住址、備注等基本信息。</p><p> (3)在采購管理方面:</p><p> 采購管理是對系統(tǒng)中涉及到采購的部分進(jìn)行統(tǒng)一的管理,采購管理在本系統(tǒng)劃分為采購訂單管理、采購入庫管理、采購付款管理三個(gè)子模塊。</p><p&g
53、t; 采購訂單管理:包括采購訂單的添加、刪除以及基本信息的修改。采購訂單的編制以缺料為依據(jù),可以根據(jù)商品庫存警示信息查詢出需要編制采購訂單的缺料,采購訂單的一部分信息可以直接從缺料單中獲取。編制采購訂單時(shí),賦予每一條需求一個(gè)唯一的訂單編號作為需求在系統(tǒng)內(nèi)的唯一標(biāo)識。采購訂單信息包括:單據(jù)編號、訂單日期、收貨日期、業(yè)務(wù)員、供應(yīng)商名稱、商品名稱、數(shù)量、單價(jià)、折扣率、金額、備注、制單人、制單日期等信息。</p><p&g
54、t; 采購入庫管理:包括采購入庫單添加、修改、刪除以及審核。用于登記采購以后準(zhǔn)備入庫的商品,入庫登記時(shí)產(chǎn)生一份入庫單,賦予每一份入庫單一個(gè)唯一的入庫單號,入庫登記以采購收貨為依據(jù),入庫單中與采購訂單相關(guān)的信息可直接從中獲取。系統(tǒng)用戶可以在這里對己經(jīng)提交但是沒有被審核的入庫單進(jìn)行修改,入庫單一經(jīng)審核確認(rèn)就不能再做任何改動,經(jīng)過審核入庫成功必須同時(shí)修改商品庫存信息。采購入庫單信息包括:單據(jù)編號、訂貨日期、庫房名稱、經(jīng)手人、供應(yīng)商名稱、商品
55、名稱、入庫數(shù)量、單價(jià)、金額、備注、原始單號、制單人、制單日期、審核人、審核日期等信息。</p><p> 采購付款管理:用于采購過程中涉及到與供應(yīng)商的付款信息進(jìn)行管理,包括采購付款單的添加、刪除以及基本信息的修改。</p><p> (4)在銷售管理方面:</p><p> 銷售管理是進(jìn)銷存系統(tǒng)中重要的一個(gè)環(huán)節(jié),它將外界的需求引入系統(tǒng),然后讓需求在系統(tǒng)內(nèi)按照系
56、統(tǒng)的業(yè)務(wù)流程進(jìn)行流通。銷售管理在實(shí)際操作中從客戶提出需求開始,到發(fā)貨到客戶為止,整個(gè)過程涉及到缺料運(yùn)算、采購管理、庫存管理等多個(gè)系統(tǒng)子模塊。銷售管理在本系統(tǒng)劃分為銷售訂單管理、銷售出庫管理、銷售收款管理三個(gè)子模塊。</p><p> 銷售訂單管理:包括銷售訂單的添加、刪除以及基本信息的修改。用于將客戶的需求錄入進(jìn)銷存系統(tǒng),形成訂單。錄入時(shí),能夠從客戶資料中獲取客戶和所需要商品的基本信息,如果錄入時(shí)客戶或者商品在
57、系統(tǒng)中暫時(shí)不存在則需要先進(jìn)行添加然后才能進(jìn)行需求錄入。需求錄入時(shí)賦予每一條需求一個(gè)唯一的訂單編號作為需求在系統(tǒng)內(nèi)的唯一標(biāo)識。銷售訂單信息包括:單據(jù)編號、訂單日期、交貨日期、業(yè)務(wù)員、客戶名稱、商品名稱、數(shù)量、單價(jià)、折扣率、金額、備注、制單人、制單日期等信息。</p><p> 銷售出庫管理:包括銷售出庫單添加、修改、刪除以及審核。用于登記銷售以后準(zhǔn)備出庫的商品,出庫登記時(shí)產(chǎn)生一份出庫單,賦予每一份出庫單一個(gè)唯一的
58、出庫單號,出庫登記以客戶需求為依據(jù),出庫單中與銷售訂單相關(guān)的信息可直接從中獲取。系統(tǒng)用戶可以在這里對己經(jīng)提交但是沒有被審核的出庫單進(jìn)行修改,出庫單一經(jīng)審核確認(rèn)就不能再做任何改動,經(jīng)過審核出庫成功必須同時(shí)修改商品庫存信息。銷售出庫單信息包括:單據(jù)編號、訂貨日期、庫房名稱、經(jīng)手人、客戶名稱、商品名稱、出庫數(shù)量、單價(jià)、金額、備注、原始單號、制單人、制單日期、審核人、審核日期等信息。</p><p> 銷售收款管理:用
59、于銷售過程中涉及到與客戶的收款信息進(jìn)行管理,包括銷售收款的添加、刪除以及基本信息的修改。</p><p> (5)在庫存管理方面:</p><p> 庫存管理用于管理企業(yè)內(nèi)商品的庫存信息,庫存信息與采購管理、銷售管理等子模塊密切相關(guān),庫存管理物資數(shù)量、金額的變化除正常庫存損耗外,都是企業(yè)銷售與采購的結(jié)果。庫存管理在本系統(tǒng)劃分為庫存盤點(diǎn)管理、庫存警示管理、庫存信息查詢?nèi)齻€(gè)子模塊。<
60、/p><p> 庫存盤點(diǎn)管理:對庫存產(chǎn)品進(jìn)行整理,糾正不準(zhǔn)確的庫存數(shù)據(jù)。由于人為操作等原因,系統(tǒng)中的庫存數(shù)據(jù)與實(shí)際數(shù)據(jù)之間可能會存在誤差。所以每隔一段時(shí)間就需要對庫存進(jìn)行盤點(diǎn),從而保證庫存數(shù)據(jù)的準(zhǔn)確性。</p><p> 庫存警示管理:對庫存中接近或超過臨界值的產(chǎn)品進(jìn)行報(bào)警。產(chǎn)品數(shù)量小于合理數(shù)量的下限稱為短線;產(chǎn)品數(shù)量大于合理數(shù)量的上限稱為超儲。產(chǎn)品出現(xiàn)短線、超儲時(shí)都需要報(bào)警。</p
61、><p> 庫存信息查詢:用于根據(jù)庫房和商品條件查詢各庫房商品的庫存信息。</p><p> (6)在報(bào)表管理方面</p><p> 采購訂單查詢統(tǒng)計(jì):用于根據(jù)一定時(shí)間段,按商品,按業(yè)務(wù)員,按供應(yīng)商對采購訂單進(jìn)行組合查詢統(tǒng)計(jì),同時(shí)也能將查詢結(jié)果輸出到Excel報(bào)表。</p><p> 采購入庫查詢統(tǒng)計(jì):用于根據(jù)一定時(shí)間段,按商品,按業(yè)務(wù)員
62、,按供應(yīng)商,按庫房,按審核狀態(tài)對采購入庫單進(jìn)行組合查詢統(tǒng)計(jì),同時(shí)也能將查詢結(jié)果輸出到Excel報(bào)表。</p><p> 銷售訂單查詢統(tǒng)計(jì):用于根據(jù)一定時(shí)間段,按商品,按業(yè)務(wù)員,按客戶對采購訂單進(jìn)行組合查詢統(tǒng)計(jì),同時(shí)也能將查詢結(jié)果輸出到Excel報(bào)表。</p><p> 銷售出庫查詢統(tǒng)計(jì):用于根據(jù)一定時(shí)間段,按商品,按業(yè)務(wù)員,按客戶,按庫房,按審核狀態(tài)對銷售出庫單進(jìn)行組合查詢統(tǒng)計(jì),同時(shí)也
63、能將查詢結(jié)果輸出到Excel報(bào)表。</p><p> (7)在系統(tǒng)幫助方面:</p><p> 關(guān)于系統(tǒng):用來顯示系統(tǒng)版本、版權(quán)。</p><p> 輔助工具:計(jì)算器,記事本。</p><p> 4.4 系統(tǒng)流程分析</p><p> 所謂系統(tǒng)流程就是用戶在使用系統(tǒng)時(shí)的工作過程。對于多類型用戶的管理系統(tǒng)來說,
64、不同用戶類型具有不同的操作權(quán)限,每一類用戶的工作流程都是不相同的。多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始,對用戶的身份進(jìn)行認(rèn)證。身份認(rèn)證可以分為以下兩個(gè)過程:第一、確認(rèn)用戶是否有效的系統(tǒng)用戶;第二、確定用戶的類型。第一個(gè)過程決定用戶能否進(jìn)入系統(tǒng),第二個(gè)過程根據(jù)用戶的類型決定用戶的操作權(quán)限,從而決定用戶的工作界面。本系統(tǒng)流程圖如圖4.2所示:</p><p> 4.5 數(shù)據(jù)庫分析與設(shè)計(jì)</p>
65、<p> 數(shù)據(jù)庫分析是整個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)過程中的一個(gè)重要環(huán)節(jié),其具體可劃分為兩個(gè)部分:</p><p> (1) 概念模型的分析,即E-R(實(shí)體關(guān)系,Entity-Relation)圖的分析;</p><p> (2) 邏輯模型的分析,即表與字段的分析。:</p><p> 4.5.1 系統(tǒng)E-R圖</p><p>
66、E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖表示。實(shí)體是可以從用戶的工作環(huán)境中標(biāo)識出的事物,是用戶想要跟蹤的某個(gè)事物。實(shí)體在E-R圖中,用矩形表示,矩形框內(nèi)寫明實(shí)體名。實(shí)體具有屬性,有時(shí)也稱作性質(zhì),是用來描述實(shí)體的特征的。在E-R圖中,屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。實(shí)體可以通過聯(lián)系相互關(guān)聯(lián)。在一般的聯(lián)系中,使用二元聯(lián)系居多,二元聯(lián)系主要有三種類型,l:l,l:n,m:n。在E-R圖中,聯(lián)系用菱形
67、表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1:n或者m:n)。在本系統(tǒng)中,采購入庫單與采購付款單是一對一關(guān)系,銷售出庫單與銷售收款單也是一對一關(guān)系;商品與倉庫是多對多關(guān)系,即一種商品可存放到不同的倉庫,一個(gè)倉庫也能存放多種商品。本系統(tǒng)的E-R圖如圖4.3所示:</p><p> 由于上圖的篇幅所限,沒有將各實(shí)體的屬性列出,現(xiàn)以商品為例給出該實(shí)體的實(shí)體-屬性
68、圖。如圖4.4所示:</p><p> 4.5.2 數(shù)據(jù)庫表邏輯結(jié)構(gòu)</p><p> 本系統(tǒng)數(shù)據(jù)庫采用SQL Server 2000,數(shù)據(jù)庫名稱為EnterpriseManage.下面僅列出幾個(gè)數(shù)據(jù)表的結(jié)構(gòu)設(shè)計(jì)為代表,其余數(shù)據(jù)表結(jié)構(gòu)參考附錄一。</p><p> (1).商品信息表(Product)用來保存商品的基本信息。如表4.1所示:</p>
69、<p> 表4.1 商品信息表</p><p> (2).采購入庫表 (BuyIn)用來保存采購入庫操作的基本信息。如表4.2所示:</p><p> 表4.2 采購入庫表</p><p> (3).銷售出庫表(SaleOut)用來保存銷售出庫操作的基本信息。如表4.3所示:</p><p> 表4.3 銷售出
70、庫表</p><p> (4).庫存信息表(Stock)用來保存庫存的基本信息。如表4.4所示:</p><p> 表4.4 庫存信息表</p><p> (5).用戶信息表(UserInfo)用來保存用戶的基本信息。如表4.5所示:</p><p> 表4.5 用戶信息表</p><p> 5. 系統(tǒng)詳
71、細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p> 在概要設(shè)計(jì)階段,對管理系統(tǒng)進(jìn)行了分解,將管理系統(tǒng)進(jìn)行了模塊的劃分,并設(shè)計(jì)和確定了模塊之間的聯(lián)系,同時(shí)還確定了每個(gè)模塊應(yīng)該完成的功能。本章根據(jù)概要設(shè)計(jì),將對每個(gè)模塊的定義進(jìn)行設(shè)計(jì),以實(shí)現(xiàn)指定的功能、算法。</p><p> 5.1 添加數(shù)據(jù)庫訪問類</p><p> 為了方便訪問數(shù)據(jù)庫,從代碼復(fù)用角度出發(fā),將訪問數(shù)據(jù)庫表的操作封裝
72、成ADOConn類,從而更符合面向?qū)ο箝_發(fā)思想,下面僅介紹ADOConn類中的成員函數(shù)的基本功能,如表5.1所示,具體代碼實(shí)現(xiàn)請參照附錄二的程序段1或本系統(tǒng)的源程序。</p><p> 表5.1 ADOConn類的成員函數(shù)</p><p> 由于在默認(rèn)情況下,Visual C++不支持ADO對象,要在程序中使用ADO對象,需要使用#import 命令將ADO庫文件導(dǎo)入工程中,代碼如下
73、:</p><p> #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")</p><p><
74、b> 5.2 為表添加類</b></p><p> 本系統(tǒng)中為數(shù)據(jù)庫的每個(gè)表都創(chuàng)建一個(gè)類,類的成員變量對應(yīng)表的列,類的成員函數(shù)是對成員變量和表的操作,這種封裝的方法比較符合Visual C++的程序設(shè)計(jì)思想。將每個(gè)數(shù)據(jù)庫表的字段和操作封裝到類中,使應(yīng)用程序的各個(gè)窗體都能夠共享對表的操作,無需重復(fù)編碼,使程序更易于維護(hù),從而成功將面向?qū)ο蟮某绦蛟O(shè)計(jì)思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)中,這也是本系統(tǒng)的
75、特色和優(yōu)勢。下面僅以用戶表為例,CUserInfo類用來管理表UserInfo的數(shù)據(jù)庫操作,表5.2僅介紹CUserInfo類中的成員函數(shù)的基本功能,并不對所有的成員函數(shù)進(jìn)行具體的代碼分析,具體代碼參照系統(tǒng)源程序。 </p><p> 表5.2 CUserInfo類的成員函數(shù)</p><p> 5.3 登錄模塊設(shè)計(jì)與實(shí)現(xiàn)</p><p> 用戶要使用本系統(tǒng),
76、首先必須通過系統(tǒng)的身份認(rèn)證,這個(gè)過程叫做登錄。</p><p> 5.3.1 登錄模塊的功能簡述</p><p> 當(dāng)用戶運(yùn)行本系統(tǒng),輸入用戶名和密碼進(jìn)行身份認(rèn)證,如果成功就進(jìn)入系統(tǒng)的主界面,如果失敗就提示用戶再次輸入,為了防止惡意用戶暴力破解密碼的目的,本系統(tǒng)用戶連續(xù)三次登錄不成功便自動結(jié)束程序。登錄模塊的輸入輸出分析如圖5.1所示:</p><p> 5.
77、3.2 登錄模塊的功能實(shí)現(xiàn)</p><p> 1.在應(yīng)用程序工程中新建一個(gè)對話框,類名為:CLoginDlg。</p><p> 2.根據(jù)5.3.1簡述的功能設(shè)計(jì)該登錄模塊的界面,如圖5.2所示。</p><p> 圖5.2 登錄模塊界面設(shè)計(jì)圖</p><p> 3.登錄模塊的邏輯流程分析,如圖5.3所示:</p>&
78、lt;p> 4. 下面將針對上述流程的實(shí)現(xiàn)來介紹其中的一些關(guān)鍵函數(shù)。</p><p> ★ bool CUserInfo::IsExistUser(CString paraUser)</p><p> 描 述:判斷是否存在此用戶。</p><p> 參 數(shù):paraUser,輸入的用戶名。</p><p> 返回值:bo
79、ol,布爾類型,如果用戶存在則返回TRUE,不存在則返回FALSE。</p><p> 實(shí)現(xiàn)分析:連接-初始數(shù)據(jù)庫,設(shè)置SELECT查詢語句,執(zhí)行SELECT查詢語句,將結(jié)果存放到記錄集,判斷記錄集。其具體方法實(shí)現(xiàn)如下:</p><p> // 判斷是否存在此用戶</p><p> bool CUserInfo::IsExistUser(CString par
80、aUser)</p><p><b> {</b></p><p><b> // 連接數(shù)據(jù)庫</b></p><p> ADOConn m_AdoConn;</p><p> m_AdoConn.OnInitADOConn();</p><p> // 設(shè)置Sel
81、ect語句</p><p> _bstr_t vSQL;</p><p> vSQL = "SELECT * FROM UserInfo WHERE UserName = '" + paraUser + "'";</p><p> // 執(zhí)行SQL語句</p><p> _Rec
82、ordsetPtr m_pRecordSet;</p><p> m_pRecordSet = m_AdoConn.GetRecordSet(vSQL);</p><p> // 判斷是否存在此用戶</p><p> if(m_pRecordSet->adoEOF)</p><p><b> {</b>&l
83、t;/p><p> return FALSE;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> return TRUE;</p><p&g
84、t;<b> }</b></p><p><b> }</b></p><p> ★ CString CCrypt::Encrypt(CString S)</p><p> 描 述:對輸入密碼進(jìn)行加密。</p><p> 參 數(shù):S,要加密的密碼。</p><p&g
85、t; 返回值:CString,字符串類型,加密后的返回的密碼字符串。</p><p> 說 明:用于將用戶密碼進(jìn)行加密后再與根據(jù)用戶名查詢數(shù)據(jù)庫結(jié)果進(jìn)行比較驗(yàn)證。</p><p> 實(shí)現(xiàn)分析:初始化結(jié)果字符串,依次對要加密的密碼字符串中各字符進(jìn)行操作,對加密結(jié)果進(jìn)行轉(zhuǎn)換,將字符轉(zhuǎn)換為兩個(gè)字母保存,返回加密后的密碼字符串。其具體方法實(shí)現(xiàn)如下:</p><p>
86、 CString CCrypt::Encrypt(CString S) // 加密函數(shù)</p><p><b> {</b></p><p> CString Result,str;</p><p><b> int i,j;</b></p><p> int ikey=0;</p&
87、gt;<p><b> BYTE bM;</b></p><p> Result=S; // 初始化結(jié)果字符串</p><p> for(i=0; i<S.GetLength(); i++) // 依次對字符串中各字符進(jìn)行操作</p><p><b> {</b></p><
88、p> bM=KEY[ikey]+S.GetAt(i);</p><p> if(bM>255)bM-=256;</p><p> Result.SetAt(i,bM);</p><p><b> ikey++;</b></p><p> if(ikey>=4)ikey=0;</p>
89、<p><b> }</b></p><p> S=Result; // 保存結(jié)果</p><p> Result.Empty(); // 清除結(jié)果</p><p> for(i=0; i<S.GetLength(); i++) // 對加密結(jié)果進(jìn)行轉(zhuǎn)換</p><p><b>
90、{</b></p><p> j=(BYTE)S.GetAt(i); // 提取字符</p><p> // 將字符轉(zhuǎn)換為兩個(gè)字母保存</p><p> str="12"; // 設(shè)置str長度為2</p><p> str.SetAt(0, 65+j/26);</p><p>
91、 str.SetAt(1, 65+j%26);</p><p> Result += str;</p><p><b> }</b></p><p> return Result;</p><p><b> }</b></p><p> 5. 當(dāng)用戶單擊“確定”按
92、鈕時(shí)觸發(fā)執(zhí)行CLoginDlg::OnOkButton(),對應(yīng)代碼請參見附錄二程序段2或源程序。</p><p> 5.4 商品管理模塊程序設(shè)計(jì)與實(shí)現(xiàn)</p><p> 商品管理模塊是本系統(tǒng)很重要的基礎(chǔ)信息管理模塊,本系統(tǒng)中很多功能模塊都與該模塊密切相關(guān),如采購入庫模塊,銷售出庫模塊等,設(shè)計(jì)好該模塊直接關(guān)系到系統(tǒng)的性能及業(yè)務(wù)操作的方便性。</p><p>
93、5.4.1 商品管理模塊程序的功能簡述</p><p> 商品管理模塊主要是實(shí)現(xiàn)商品信息的添加,修改,刪除及查詢。借助SQL語句的“l(fā)ike”關(guān)鍵字來實(shí)現(xiàn)按不同查詢條件進(jìn)行糊糊查詢,模糊查詢的核心思想是通過拼接SQL,形成查詢條件SQL來實(shí)現(xiàn)的。商品管理模塊的輸入輸出分析如圖5.1所示:</p><p> 5.4.2 商品管理模塊程序的功能實(shí)現(xiàn)</p><p>
94、 1.在應(yīng)用程序工程中新建兩個(gè)對話框,分別用于商品管理和商品信息編輯,類名分別為:CProductManDlg和CProductEditDlg。</p><p> 2.根據(jù)5.4.1簡述的功能設(shè)計(jì)商品管理模塊的界面和商品信息編輯界面,分別如圖5.5和圖5.6所示。</p><p> 圖5.5 商品管理界面設(shè)計(jì)圖</p><p> 圖5.6 商品信息編輯界
95、面設(shè)計(jì)圖</p><p> 3.商品管理模塊的邏輯流程分析,如圖5.7所示:</p><p> 4.商品管理模塊具體功能的實(shí)現(xiàn)采用MFC消息映射機(jī)制,對不同消息作不同的消息響應(yīng)處理,處理函數(shù)功能說明如表5.3所示,具體代碼請參見源程序。</p><p> 表5.3 商品管理模塊部分消息響應(yīng)函數(shù)</p><p> 5.5報(bào)表管理的設(shè)計(jì)
96、與實(shí)現(xiàn)</p><p> 本系統(tǒng)報(bào)表管理包括采購訂單查詢統(tǒng)計(jì),銷售訂單查詢統(tǒng)計(jì),采購入庫查詢統(tǒng)計(jì),銷售出庫查詢統(tǒng)計(jì)四個(gè)模塊。下面僅以采購入庫查詢統(tǒng)計(jì)模塊作分析。</p><p> 5.5.1 報(bào)表管理的功能簡述</p><p> 在實(shí)際應(yīng)用中,用戶可以在一個(gè)界面里,輸入多個(gè)條件,形成統(tǒng)一的查詢SQL后,提交給數(shù)據(jù)庫,進(jìn)行組合查詢。這樣就可以大大提高用戶的靈活性
97、和方便性,而且大大減少開發(fā)工作量。組合查詢的核心思想就是拼接SQL,形成查詢條件SQL來實(shí)現(xiàn)的。</p><p> 在采購入庫查詢統(tǒng)計(jì)模塊中,用戶可從日期控件中選擇一個(gè)時(shí)間段對采購入庫單作查詢統(tǒng)計(jì),也可以根據(jù)供應(yīng)商名稱,經(jīng)手人,商品名稱,庫房名稱,審核狀態(tài)作組合查詢統(tǒng)計(jì),然后可以將查詢統(tǒng)計(jì)的結(jié)果輸出到Excel報(bào)表。</p><p> 5.5.2 報(bào)表管理的功能實(shí)現(xiàn)</p>
98、<p> 1.在應(yīng)用程序工程中新建一個(gè)對話框,類名為:CSumBuyInDlg。</p><p> 2.根據(jù)5.5.1簡述的功能設(shè)計(jì)商品管理模塊的界面,如圖5.8所示。</p><p> 圖5.8 采購入庫查詢統(tǒng)計(jì)界面設(shè)計(jì)圖</p><p> 3.將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到Excel報(bào)表中,這是一個(gè)非常實(shí)用的技術(shù),它可以充分利用Excel的排版和
99、統(tǒng)計(jì)功能,提高系統(tǒng)的通用性。在采購入庫查詢統(tǒng)計(jì)模塊中,當(dāng)用戶單擊“輸出到Excel”按鈕時(shí),將觸發(fā)執(zhí)行CSumBuyInDlg::OnExcelButton()函數(shù),該函數(shù)的程序流程圖如圖5.9所示,核心代碼如下:</p><p> int ss,nn; // 用于存放取得結(jié)果集中記錄個(gè)數(shù),列數(shù)</p><p> CString cc;</p&
100、gt;<p> nn = m_Adodc.GetRecordset().GetRecordCount(); // 得到結(jié)果集中記錄個(gè)數(shù)</p><p> CColumns cls; // 定義列對象</p><p> cls = m_Datagrid.GetColumns();</p><p> ss =
101、cls.GetCount(); //得到結(jié)果集中的列數(shù)</p><p> // 雙層循環(huán)取得所有數(shù)據(jù)放入Excel表中</p><p> for(int i=0;i<nn;i++)</p><p><b> {</b></p><p> m_Datagrid.SetRow(i);
102、 // 設(shè)定數(shù)據(jù)所在行</p><p> for(int j=0;j<ss;j++)</p><p><b> {</b></p><p> m_Datagrid.SetCol(j); // 設(shè)定數(shù)據(jù)所在列</p><p> cc = m_Datagrid.GetText();// 取得指定列的
103、值</p><p> objRange.SetItem(_variant_t((long)(i+2)),_variant_t((long)(j+1)),_variant_t(cc)); // 把列值放入Excel指定單元格</p><p><b> }</b></p><p><b> }</b
104、></p><p><b> 6. 系統(tǒng)測試</b></p><p> 系統(tǒng)測試是本系統(tǒng)開發(fā)過程的重要組成部分,是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,目的就是希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷。測試方法一般分為兩大類:動態(tài)測試和靜態(tài)測試。動態(tài)測試又根據(jù)測試用例的設(shè)計(jì)方法不同,分為黑盒測試和白盒測試。</p><p> 6.1
105、 系統(tǒng)測試舉例</p><p> 測試一:登錄系統(tǒng)能否正常實(shí)現(xiàn)登錄</p><p><b> 測試步驟:</b></p><p> 1)多次輸入正確的用戶名和密碼點(diǎn)確定按鈕</p><p> 2)多次輸入錯(cuò)誤的用戶名或密碼點(diǎn)確定按鈕</p><p> 預(yù)期效果:在步驟一中,點(diǎn)確定按鈕后進(jìn)
106、入了系統(tǒng)主界面,</p><p> 在步驟二中,點(diǎn)確定按鈕后,彈出用戶名或密碼錯(cuò)誤的提示信息。</p><p> 測試結(jié)果:達(dá)到預(yù)期效果,登陸系統(tǒng)能否正常實(shí)現(xiàn)登錄功能。</p><p> 測試二:商品管理功能模塊測試(黑盒測試)---按等價(jià)類劃分</p><p><b> 1)有效等價(jià)類</b></p>
107、;<p> a.輸入不為空的產(chǎn)品名稱,填寫必要的數(shù)據(jù)</p><p><b> 2)無效等價(jià)類</b></p><p><b> b.商品名稱為空</b></p><p> c.輸入己存在的商品名稱</p><p> d.庫存上下限輸入一個(gè)不是整數(shù)的數(shù)字</p>
108、<p> e.沒有選擇商品類型</p><p> f.沒有選擇商品計(jì)量單位</p><p><b> 3)測試結(jié)果:</b></p><p> a.輸入不為空的產(chǎn)品名稱,填寫必要的數(shù)據(jù)---添加成功,返回</p><p> b.商品名稱為空---商品名稱不能為空</p><p&g
109、t; c.輸入己存在的商品名稱---輸入商品己存在</p><p> d.庫存上,下限輸入一個(gè)不是整數(shù)的數(shù)字---請健入一個(gè)整數(shù)</p><p> e.沒有選擇商品類型---請選擇商品類型</p><p> f.沒有選擇商品計(jì)量單位---請選擇計(jì)量單位</p><p> 6.2 系統(tǒng)部分運(yùn)行、測試效果圖</p><
110、;p> 運(yùn)行本系統(tǒng),以用戶名和密碼都為05141155成功登錄,下面為本系統(tǒng)的部分運(yùn)行、測試效果圖,如圖6-1~6-8所示:</p><p> 圖6-1 系統(tǒng)登錄效果圖</p><p> 圖6-2 系統(tǒng)主界面效果圖</p><p> 圖6.3 采購入庫信息管理效果圖</p><p> 圖6.4 采購入庫信息編輯效果圖&
111、lt;/p><p> 圖6.5 銷售出庫信息管理效果圖</p><p> 圖6.6 銷售出庫信息管理效果圖</p><p> 圖6.7 采購訂單查詢統(tǒng)計(jì)效果圖</p><p> 圖6.8 員工信息管理效果圖</p><p><b> 7. 總結(jié)與展望</b></p>&
112、lt;p><b> 7.1 系統(tǒng)總結(jié)</b></p><p> 進(jìn)銷存系統(tǒng)是ERP信息系統(tǒng)中的主要組成部分。本論文所闡述的系統(tǒng)主要是面向中小型企業(yè)的日常進(jìn)銷存的管理,從需求分析、開發(fā)工具的選擇、系統(tǒng)總體規(guī)劃、系統(tǒng)詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、界面設(shè)計(jì)、代碼實(shí)現(xiàn)、系統(tǒng)調(diào)試及測試直到試運(yùn)行,始終依據(jù)軟件工程的基本思想及管理信息系統(tǒng)的開發(fā)流程,實(shí)現(xiàn)了預(yù)期的開發(fā)目標(biāo),滿足了用戶需求,基本上實(shí)現(xiàn)了本
113、次論文的設(shè)計(jì)目的。本進(jìn)銷存系統(tǒng)主要有以下特色:</p><p> 1. 采用Client/Server兩層體系結(jié)構(gòu),使系統(tǒng)具有很好的可維護(hù)性和重用性。</p><p> 2.結(jié)構(gòu)化分析方法與面向?qū)ο蠓治龇椒ㄏ嘟Y(jié)合。從系統(tǒng)總體結(jié)構(gòu)上,采用結(jié)構(gòu)化分析方法對系統(tǒng)的需求進(jìn)行分析,利用數(shù)據(jù)流圖對整個(gè)系統(tǒng)的進(jìn)銷存的數(shù)據(jù)流進(jìn)行詳細(xì)的分析,并在此基礎(chǔ)上對系統(tǒng)的數(shù)據(jù)庫進(jìn)行設(shè)計(jì),得出了系統(tǒng)的主體實(shí)體關(guān)系圖
114、;從具體模塊設(shè)計(jì)上,采用面向?qū)ο蠓治龇椒ㄟM(jìn)行設(shè)計(jì)實(shí)現(xiàn),本系統(tǒng)中為數(shù)據(jù)庫的每個(gè)表都創(chuàng)建一個(gè)類,類的成員變量對應(yīng)表的列,類的成員函數(shù)是對成員變量和表的操作,從而成功將面向?qū)ο蟮某绦蛟O(shè)計(jì)思想應(yīng)用到數(shù)據(jù)庫應(yīng)用程序設(shè)計(jì)中,這是本系統(tǒng)的特色和優(yōu)勢。</p><p> 3.系統(tǒng)提供了完善的查詢功能,包含基礎(chǔ)信息的模糊查詢?nèi)绻?yīng)商信息、客戶信息、商品信息的查詢,業(yè)務(wù)信息的組合查詢?nèi)绮少徲唵?、采購入庫單、銷售訂單、銷售出庫單的查
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與開發(fā)畢業(yè)論文
- 食品進(jìn)銷存管理信息系統(tǒng)設(shè)計(jì)與開發(fā)
- 畢業(yè)論文商務(wù)進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 食品進(jìn)銷存管理信息系統(tǒng)設(shè)計(jì)與開發(fā).doc
- 企業(yè)進(jìn)銷存畢業(yè)設(shè)計(jì)信息管理與信息系統(tǒng)畢業(yè)論文
- 配件進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與開發(fā).pdf
- 服裝進(jìn)銷存管理信息系統(tǒng)的開發(fā)畢業(yè)設(shè)計(jì)
- 企業(yè)進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 進(jìn)銷存管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 食品進(jìn)銷存管理信息系統(tǒng)設(shè)計(jì)與開發(fā)開題報(bào)告.docx
- bs的進(jìn)銷存管理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 企業(yè)進(jìn)銷存管理系統(tǒng)畢業(yè)論文(設(shè)計(jì))
- 醫(yī)藥進(jìn)銷存管理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 藥店進(jìn)銷存管理信息系統(tǒng)課程設(shè)計(jì)
- 超市進(jìn)銷存管理信息系統(tǒng)課程設(shè)計(jì)
- 藥店進(jìn)銷存管理信息系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--超市進(jìn)銷存管理信息系統(tǒng)
- 進(jìn)銷存管理信息系統(tǒng)課程設(shè)計(jì)報(bào)告
- 離散制造企業(yè)的進(jìn)銷存管理信息系統(tǒng)研究與開發(fā).pdf
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)
評論
0/150
提交評論