企業(yè)庫存管理系統(tǒng)論文_第1頁
企業(yè)庫存管理系統(tǒng)論文_第2頁
企業(yè)庫存管理系統(tǒng)論文_第3頁
企業(yè)庫存管理系統(tǒng)論文_第4頁
企業(yè)庫存管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、企業(yè)庫存管理系統(tǒng)摘 要:科學(xué)技術(shù)不斷進(jìn)步和經(jīng)濟(jì)的不斷發(fā)展,以及全球化信息網(wǎng)絡(luò)和全球化市場形成和技術(shù)變革的加速,圍繞新產(chǎn)品的市場競爭也日趨激烈,企業(yè)面臨著縮短交貨期、提高產(chǎn)品質(zhì)量、降低成本和改進(jìn)服務(wù)的壓力。所有這些都要求企業(yè)能對不斷變化的市場做出快速反應(yīng)。作為供應(yīng)鏈節(jié)點中的一個重要環(huán)節(jié),物資管理企業(yè)要實現(xiàn)快速地對物資進(jìn)行收發(fā),必須建立現(xiàn)代化的庫存管理系統(tǒng)。用計算機(jī)對倉庫庫存信息進(jìn)行日常的管理,通過對系統(tǒng)需求分析,從系統(tǒng)設(shè)計著手,實現(xiàn)系統(tǒng)各模塊,包括輸入輸出、信息查詢、系統(tǒng)維護(hù)等功能。庫存研究基于信息技術(shù),充分利用管理信息系統(tǒng)、決策支持系統(tǒng)數(shù)據(jù)庫理論與方法,集成物流、資金流、事務(wù)流及信息流,對庫存

2、管理與控制信息系統(tǒng)的設(shè)計進(jìn)行研究,它對企業(yè)減少庫存、增加效益、提高競爭力具有重要的意義。但是在系統(tǒng)的動態(tài)交互性,及時性,智能性,可靠性和安全性方面還有待提高。關(guān)鍵詞:庫存管理、ASP.NET、C#、 SQL ServerThe Management System of Stock Based on .NETAbstractNowadays ,with the continuous improvement of technology and development of economy ,as&#

3、160;well as the global information network ,the global market forming and the technique changing quickly , the market competition of new products is becoming more and mor

4、e intensely and enterprise is facing the pressure of shortening the date of delivery ,improving the quality of product ,cutting down the cost and making the service 

5、better . All these requests call for fast reaction of enterprise over the very changing market . As a key point of supply chain , material management enterprise 

6、;should receive and dispatch the goods and materials at a high speed ,and must build a modern stock control management system . According to the system demand analys

7、is and by the design system , we can achieve the function of every module ,such as in-out ,information search system maintenance, etc ,and use computer to supervise&

8、#160;daily information of storage. Inventory research is based on information technology ,taking full use of management operating system, DSS theory and methods, logistics, fund fl

9、ow, transaction flow and information flow, studying inventory management. It plays a very important role on reducing stock ,increase profits, and boosting the competitiveness .Howe

10、ver , it has some space to enhance on system trend interactivity ,timeliness, intellectuality, reliability and safety . Key words: Stock Management 、ASP.NET 、C#、SQL Server目 錄1.緒 論11.1 課題研究背景及意義11.2 本系統(tǒng)使用的方法和語言11.2.1

11、 統(tǒng)一建模語言UML11.2.2 .NET和C#21.3系統(tǒng)描述31.4 分析方法32.需求收集42.1 業(yè)務(wù)過程分析42.2 研究領(lǐng)域分析52.2.1 初步用例模型開發(fā) 開發(fā)系統(tǒng)業(yè)務(wù)角色62.2.2 開發(fā)初步類圖62.3 系統(tǒng)需求研究82.3.1 收集系統(tǒng)需求82.3.2開發(fā)系統(tǒng)功能包圖93系統(tǒng)分析與設(shè)計103.1 開發(fā)系統(tǒng)用例模型103.2 系統(tǒng)數(shù)據(jù)庫設(shè)計113.2.1 數(shù)據(jù)庫需求分析113.2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計113.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計134.開發(fā)系統(tǒng)164.1 編制代碼164.2 系統(tǒng)實現(xiàn)164.2.1 用戶界面164.2.2 登錄動作代碼174.3 部分系

12、統(tǒng)界面及功能簡介194.3.1企業(yè)庫存管理系統(tǒng)主界面194.3.2客戶信息管理界面194.3.3貨品信息管理界面204.3.4貨品分類管理界面204.3.5入庫單界面204.3.6入庫管理主界面214.3.7入庫查詢主界面214.4系統(tǒng)特色214.4.1用戶密碼加密存儲214.4.2.支持在頁面?zhèn)浞輸?shù)據(jù)庫225. 部 署24結(jié) 束 語25致謝26參 考 文 獻(xiàn)261.緒 論1.1 課題研究背景及意義近幾年我國企業(yè)信息化呈現(xiàn)持續(xù)火爆的勢頭,有專家預(yù)測,我國高新技術(shù)產(chǎn)業(yè)在企業(yè)中占據(jù)的位置越來越重要。如何提高自己企業(yè)的生產(chǎn)和運營效率,成為企業(yè)發(fā)展中必須考慮的問題。在現(xiàn)在網(wǎng)絡(luò)飛速發(fā)展的背景下,設(shè)計庫存

13、管理系統(tǒng)來促進(jìn)企業(yè)生產(chǎn)效率的提高也是一個很好的手段。當(dāng)前形勢下,僅僅靠原始的手工管理或簡單的單機(jī)管理是不夠的,商品部門面對大量的信息,無法有效率地將其中的重要部分提取出來,并做出相應(yīng)的判斷和處理。公司管理者的決策只能依據(jù)報表數(shù)據(jù),在浪費大量人力、物力的同時無法做到實時監(jiān)控,難以保證數(shù)據(jù)的準(zhǔn)確性和及時性。因此,先進(jìn)的管理思想在商業(yè)中實現(xiàn)就成為了一個可望而不可及的目標(biāo)。公司集團(tuán)非常急需一套既有先進(jìn)管理思想又適合國內(nèi)大商業(yè)的在線進(jìn)銷存管理信息系統(tǒng),作為實現(xiàn)目標(biāo)和提高現(xiàn)有水平的一種重要手段。庫存管理系統(tǒng)是一個公司不可缺少的部分,它的執(zhí)行對于公司的決策者和管理者來說是很有幫助的, 隨著科學(xué)技術(shù)的不斷提高

14、,計算機(jī)科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。1.2 本系統(tǒng)使用的方法和語言1.2.1 統(tǒng)一建模語言UML 統(tǒng)一建模語言(Unified Modeling Language ,UML)是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)造者用標(biāo)準(zhǔn)的、易于理解的方式建立起能夠表達(dá)出他們想象力的系統(tǒng)藍(lán)圖,并且提供了便于不同人之間有效的共享和交流涉及結(jié)果的機(jī)制。 UML包括了一些可以相互組合圖表的圖形元素。由于UML是一種語言,所以UML具有組合這些元素的法規(guī)。UML提供了系統(tǒng)設(shè)計所需要的多種圖,這些圖是在用多個視圖來展示一個系統(tǒng),這組視圖被稱為一個模型(M

15、odel)。一個UML模型描述了一個系統(tǒng)需要做什么。同時,UML提供了組織和擴(kuò)展這些圖的方法。關(guān)于標(biāo)準(zhǔn)建模語言UML的內(nèi)容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠹夹g(shù)中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂于采用的一種簡單一致的建模語言;其次,UML不僅僅是上述方法的簡單匯合,而是在這些方法的基礎(chǔ)上廣泛征求意見,集眾家之長,幾經(jīng)修改而完成的,UML擴(kuò)展了現(xiàn)有方法的應(yīng)用范圍;第三,UML是標(biāo)準(zhǔn)的建模語言,而不是標(biāo)準(zhǔn)的開發(fā)過程。盡管UML的應(yīng)用必然以系統(tǒng)的開發(fā)過程為背景,但由于不同的組織和不同的應(yīng)用領(lǐng)域,需要采

16、取不同的開發(fā)過程。作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。(1) UML語義描述基于UML的精確元模型定義。(2) UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號和文字所表達(dá)的是應(yīng)用級的模型,在語義上它是UML元模型的實例。 標(biāo)準(zhǔn)建模語言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義。第一類是用例圖,第二類是靜態(tài)圖(Static diagram),包括類圖、對象圖和包圖。第三類是行為圖(Behavior diagram),描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系。其中狀態(tài)圖描述類的對象所有可能

17、的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件。通常, 狀態(tài)圖是對類圖的補充。在實用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動圖描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系,有利于識別并行活動。第四類是交互圖(Interactive diagram),描述對象間的交互關(guān)系。其中順序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互;協(xié)作圖描述對象間的協(xié)作關(guān)系, 協(xié)作圖與順序圖相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系。如果強調(diào)時間和順序,則使用順序圖;如果強調(diào)上下級關(guān)

18、系,則選擇協(xié)作圖,把這兩種圖合稱為交互圖。第五類是實現(xiàn)圖( Implementation diagram ),包括構(gòu)件圖和配置圖。1.2.2 .NET和C#.NET 是 Microsoft XML Web services 平臺。XML Web services 允許應(yīng)用程序通過 Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。Microsoft .NET 平臺提供創(chuàng)建 XML Web services 并將這些服務(wù)集成在一起之所需。對個人用戶的好處是無縫的、吸引人的體驗。 .NET提供了一種新的運行環(huán)境即.NET框架,它使得程序員能夠更容易、迅速地寫出優(yōu)良

19、、健壯的程序代碼,并且能夠方便地管理、部署和修改代碼,所編寫的程序和組件都在該環(huán)境中執(zhí)行。它為程序員提供了一些新功能,例如自動內(nèi)存管理(垃圾收集)以及更方便地訪問所有系統(tǒng)服務(wù)。它添加了許多實用功能、例如易于訪問因特網(wǎng)和數(shù)據(jù)庫。它還為代碼復(fù)用提供了一種新的機(jī)制一一更易于使用并且比COM更加有效和靈活。.NET框架更易于部署因為它不需要進(jìn)行注冊設(shè)置。它還為版本的制定提供了標(biāo)準(zhǔn)化、系統(tǒng)級別的支持。程序員可以在任一種與.NET兼容的編程語言中使用上述全部功能.NET為創(chuàng)建HTML頁面提供了一種新的編程模型,稱為ASP.NET盡管智能的單機(jī)程序仍在不斷涌現(xiàn),但是在不久的將來,大多數(shù)因特網(wǎng)通信都會以通用瀏

20、覽器作為前端,這就要求服務(wù)器能夠使用HTML語言來構(gòu)造頁面,以便瀏覽器識別并顯示給用戶。ASP.NET是一種運行在因特網(wǎng)信息服務(wù)(IIS)下的新環(huán)境,它使得程序員能夠更容易地編寫代碼來構(gòu)造基于HTML語言的web頁面,供瀏覽器查看。 ASP.NET提供了一種新的與語言無關(guān)的代碼編寫方式,并將其與web頁面請求相關(guān)聯(lián)。它提供了.NET的Web窗體,它是一種與控件交互的事件驅(qū)動編程模型、這使得編寫web頁面變得就像編寫普通的VB窗體一樣。ASP.NET包含了良好的會話狀態(tài)管理和安全功能,它比原來的ASP更加健壯,性能也得以提高。.NET提供了Windows窗體,它是一種使用.NET框架編寫各種客戶

21、程序的新方法。 一個使用XML Web服務(wù)的專用客戶端應(yīng)用程序必須提供良好的用戶界面。高質(zhì)量的界面能夠提供更佳的用戶感受,NET提供了一種新的軟件包,它被稱為.NET windows窗體這使得程序員能夠使用.NET框架輕易地編寫出專用的windows客戶應(yīng)用程序。C#是可用于創(chuàng)建要運行在.NET上的應(yīng)用程序的語言之一,它從C和C+語言演化而來,是Microsoft專門為使用.NET平臺而創(chuàng)建的。因為C#是近期發(fā)展起來的,所以吸取了以前的教訓(xùn),考慮了其他語言的許多優(yōu)點,并解決了它們的問題。使用C#開發(fā)應(yīng)用程序比使用C+簡單,因為其語法比較簡單。但是,C#是一種強大的語言,在C+中能完成的任務(wù)在C

22、#中也能完成,C#中與C+比較高級的功能等價的功能(例如直接訪問和處理系統(tǒng)內(nèi)存),只能在標(biāo)記為“不安全”的代碼中使用。這個高級編程技術(shù)是非常危險的(正如它的名稱),因為它可能覆蓋系統(tǒng)中重要的內(nèi)存塊,導(dǎo)致嚴(yán)重的后果。C#代碼常常比C+略長一些。這是因為C#是一種類型安全的語言(與C+不同),一旦為某些數(shù)據(jù)指定了類型,就不能轉(zhuǎn)換為另一個不相關(guān)的類型。所以,在類型之間轉(zhuǎn)換時,必須遵守嚴(yán)格的規(guī)則。執(zhí)行相向的任務(wù)時,用C#編寫的代碼通常比C+長。但C#代碼更健壯,調(diào)試也比較簡單,.NET總是可以隨時跟蹤數(shù)據(jù)的類型。在C#中,不能完成如“把4字節(jié)的內(nèi)存放在數(shù)據(jù)中,并把它解釋為x”等的任務(wù)。C#只是.NET

23、開發(fā)的一種語言,是目前最好的一種語言。C#的優(yōu)點是,它是唯一為.NET Framework而設(shè)計的語言,是移植到其他操作系統(tǒng)上的.NET版本中使用的主要語言。C#能使用.NET Framework代碼庫提供的每種功能1.3系統(tǒng)描述本系統(tǒng)運用面向?qū)ο蟮木幊趟枷耄赨ML對企業(yè)庫存管理系統(tǒng)進(jìn)行分析與設(shè)計。本文運用UML來分析和描述企業(yè)庫存管理中所涉及的基本信息管理、商品入庫、出庫、退貨等一系列功能。系統(tǒng)管理包括:數(shù)據(jù)備份基本數(shù)據(jù)包括:產(chǎn)品欄目設(shè)置、往來單位管理、產(chǎn)品信息管理入庫單包括:添加入庫單、入庫單管理、查詢統(tǒng)計出庫單包括:添加出庫單、出庫單管理、查詢統(tǒng)計退貨單包括:添加退庫單、退庫單管理、

24、查詢統(tǒng)計1.4 分析方法 為了適應(yīng)開發(fā)過程多方面的挑戰(zhàn),不同的組織和不同的應(yīng)用領(lǐng)域需要采取不同的開發(fā)過程才能提高開發(fā)效率。我在系統(tǒng)的設(shè)計開發(fā)中,使用了“快速應(yīng)用工程指導(dǎo)原則”(Guidelines for Rapid APPLication Engineering),簡稱GRAPPLE。GRAPPLE的思想并沒有脫離以往的UML分析方法RUP(Rational Unified Process, 統(tǒng)一開發(fā)過程)。它是一組可以自適應(yīng)的,靈活的開發(fā)思想,可以適應(yīng)與許多不同組織的軟件開發(fā)過程,讓開發(fā)者發(fā)揮自己的創(chuàng)造力和好的思想來構(gòu)建自己的組織。 GRAPPLE由5個段組成,即需求收集,分析,設(shè)計,開發(fā)

25、,部署。本次的論文,便是以GRAPPLE方法的基本結(jié)構(gòu)、步驟來構(gòu)架的,由于在軟件的構(gòu)建階段,設(shè)計和分析都可以往返進(jìn)行直到設(shè)計完成,所以在論文中,我將分析與設(shè)計合并為一個章節(jié)來敘述。之后在設(shè)計的基礎(chǔ)上使用微軟的Visual C#完成系統(tǒng)的實現(xiàn)。2.需求收集2.1 業(yè)務(wù)過程分析開發(fā)一個系統(tǒng)的起點就是獲得對客戶業(yè)務(wù)過程的理解,特別是獲得使用目標(biāo)系統(tǒng)的客戶的理解。這就需要系統(tǒng)分析員與客戶進(jìn)行充分的交流。首先要在調(diào)研的過程中了解到一套業(yè)務(wù)領(lǐng)域的詞匯。“企業(yè)庫存管理系統(tǒng)”需要實現(xiàn)的功能有主要有:基本數(shù)據(jù)、入庫管理、出庫管理、退貨管理、系統(tǒng)維護(hù)等,可以用下面的業(yè)務(wù)流程圖來表示它們之間的關(guān)系:圖2-1 系統(tǒng)業(yè)

26、務(wù)流程此次設(shè)計的庫存管理系統(tǒng)需要完成的主要功能有:入庫管理、出庫管理、退貨管理、等一系列與業(yè)務(wù)流程相配套的完整功能。在系統(tǒng)中,主要的業(yè)務(wù)流通領(lǐng)域詞匯有以下幾大類:采購計劃、入庫管理、財務(wù)驗收、付款處理、出庫管理、調(diào)價處理、退貨管理、查詢、商品信息管理的總體活動可以由下圖來描述:圖2-2 企業(yè)庫存管理的活動圖2.2 研究領(lǐng)域分析現(xiàn)在仍然處在需求收集階段的概念性分析。這個階段需要開發(fā)出初步的類圖、建立和標(biāo)記類之間的關(guān)聯(lián),同時填充類的信息。2.2.1 初步用例模型開發(fā)用例是由參與者發(fā)起的,參與者能夠從用例的執(zhí)行中獲得有價值的事物。用例模型的圖形表示法很直觀。用例用一個橢圓形表示,直立人形圖表表示參與

27、者。用例的發(fā)起參與者在用例圖的左側(cè),接受參與者在用例圖的右側(cè)。參與者的名字放在參與者圖表的下方,用例的名字可以放在橢圓形里面也可以放在橢圓形下方。關(guān)聯(lián)線連接參與者和用例,并且表示參與者與用例之間有通信關(guān)系。關(guān)聯(lián)線是實現(xiàn),和類之間的關(guān)聯(lián)線類似。 用例分析的一個好處是它能展現(xiàn)出系統(tǒng)和外部世界之間的邊界。參與者是典型的系統(tǒng)外部實體,而用例屬于系統(tǒng)內(nèi)部。系統(tǒng)的邊界用一個矩形(里面寫著系統(tǒng)的名字)來代表。系統(tǒng)的用例裝入矩形之內(nèi)。參與者、用例和互連線共同組成了用例模型(use case model).下圖說明了這些符號:圖2-3 用例模型示例圖2-4 系統(tǒng)UML用例圖 開發(fā)系統(tǒng)業(yè)務(wù)角色 首先

28、,需要確定整個系統(tǒng)的業(yè)務(wù)角色。業(yè)務(wù)角色,顧名思義,就是與業(yè)務(wù)交流的人或物,都可以被稱為業(yè)務(wù)角色。在本管理系統(tǒng)中,大體上可以分為生產(chǎn)廠家、供應(yīng)商、采購員、銷售員、基本操作員、系統(tǒng)管理員這六類業(yè)務(wù)角色。2.2.2 開發(fā)初步類圖 系統(tǒng)中的類類圖(Class Diagram)描述類和類之間的靜態(tài)關(guān)系。與數(shù)據(jù)模型不同,它不僅顯示了信息的結(jié)構(gòu),同時還描述了系統(tǒng)的行為。類圖是定義其它圖的基礎(chǔ)。在類圖的基礎(chǔ)上,狀態(tài)圖、合作圖等進(jìn)一步描述了系統(tǒng)其他方面的特性。對象(Object)與對客觀世界的理解相關(guān)。通常用對象描述客觀世界中某個具體的實體。所謂類(Class)是對一類具有相同特征的對象的描述。而

29、對象是類的實例(Instance)。建立類模型時,應(yīng)盡量與應(yīng)用領(lǐng)域的概念保持一致,以使模型更符合客觀事實,易修改,易理解和易交流。類描述一類對象的屬性(Attribute)和行為(Behavior)。在UML中,類的可視化表示為一個劃分成三個格子的長方形(下面兩個格子可省略)。圖1中,"運動員"就是一個典型的類。類的獲取和命名:最頂部的格子包含類的名字。類的命名應(yīng)盡量用應(yīng)用領(lǐng)域中的術(shù)語,應(yīng)明確、無歧義,以利于開發(fā)人員與用戶之間的相互理解和交流。類的獲取是一個依賴于人的創(chuàng)造力的過程,必須與領(lǐng)域?qū)<液献?對研究領(lǐng)域仔細(xì)地分析,抽象出領(lǐng)域中的概念,定義其含義及相互關(guān)系,分析出系統(tǒng)

30、類,并用領(lǐng)域中的術(shù)語為類命名。一般而言,類的名字是名詞。圖2-5 運動員類圖示例系統(tǒng)中包含的類: 用戶(ShUser)、客戶(ShCorp)、供應(yīng)商(ShCorp)、部門(ShDept)商品(ShProuct)、商品類型(ShClass)、倉庫(ShStoreHouse)、入庫單表頭(ShBill)、入庫單表體(ShBillList)、出庫單表頭(ShBill)、出庫單表體(ShBillList)、退貨單表頭(ShBill)、退貨單表體(ShBillList) 類之間的關(guān)系在這個階段,對開發(fā)出來的初步類圖中的類,根據(jù)其意義來分成一些組。人組成的一組: 用戶(ShUser)、客戶(

31、ShCorp)、供應(yīng)商(ShCorp)、部門(ShDept)物品組成的一組:商品(ShProuct)、商品類型(ShClass)、倉庫(ShStoreHouse)生成的單據(jù)組成的一組:入庫單表頭(ShBill)、入庫單表體(ShBillList)、出庫單表頭(ShBill)、出庫單表體(ShBillList)、退貨單表頭(ShBill)、 退貨單表體(ShBillList) 構(gòu)建系統(tǒng)類圖在完成了初步類圖的構(gòu)建之后,需要建立和標(biāo)記出類之間的關(guān)聯(lián)。具體的表述關(guān)聯(lián)的方法策略是:先從幾個類開始,找出與這個類存在關(guān)聯(lián)的其他類,然后再尋找另外一組類與其他類的關(guān)聯(lián),直到窮盡了所有的類為止。下面

32、先介紹一下類之間常用的幾種關(guān)系以及他們的概念:關(guān)聯(lián)關(guān)系:關(guān)聯(lián)(Association)表示兩個類之間存在某種語義上的聯(lián)系。角色:關(guān)聯(lián)兩頭的類以某種角色參與關(guān)聯(lián)。關(guān)聯(lián)類:一個關(guān)聯(lián)可能要記錄一些信息,可以引入一個關(guān)聯(lián)類來記錄。聚集和組成:聚集(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚集表示類之間的關(guān)系是整體與部分的關(guān)系。聚集可以進(jìn)一步劃分成共享聚集(Shared Aggregation)和組成。繼承關(guān)系:人們將具有共同特性的元素抽象成類別,并通過增加其內(nèi)涵而進(jìn)一步分類。繼承(Generalization)定義了一般元素和特殊元素之間的分類關(guān)系。在UML中,繼承表示為一頭為空心三角形的連線。

33、如圖2-8中,將User進(jìn)一步分為common user, administrator和business user,使用的就是繼承關(guān)系。依賴關(guān)系: 有兩個元素X、Y,如果修改元素X的定義可能會引起對另一個元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。圖2-6 系統(tǒng)UML類圖2.3 系統(tǒng)需求研究2.3.1 收集系統(tǒng)需求在對一個系統(tǒng)的開發(fā)中,必須集中考慮用戶的需求,這個步驟需要開發(fā)出系統(tǒng)的功能包圖,每個包應(yīng)代表系統(tǒng)的一個功能模塊。包:將許多類集合成一個更高層次的單位,形成一個高內(nèi)聚、低耦合的類的集合。UML中這種分組機(jī)制叫包(Package)。任何模型元素都運用包的機(jī)制。如果

34、沒有任何啟發(fā)性原則來指導(dǎo)類的分組,分組方法就是任意的。在UML中,最有用的和強調(diào)最多的啟發(fā)性原則就是依賴。包圖主要顯示類的包以及這些包之間的依賴關(guān)系。有時還顯示包和包之間的繼承關(guān)系和組成關(guān)系。2.3.2開發(fā)系統(tǒng)功能包圖現(xiàn)在可以開發(fā)出系統(tǒng)功能包圖如圖2-11。在圖2-11中,“系統(tǒng)”包由“界面”包和“單據(jù)”包和“使用者”包組成。這里稱它們?yōu)?quot;系統(tǒng)"包的內(nèi)容。當(dāng)不需要顯示包的內(nèi)容時,包的名字放入主方框內(nèi),否則包的名字放入左上角的小方框中,而將內(nèi)容放入主方框內(nèi)。包的內(nèi)容可以是類的列表,也可以是另一個包圖,還可以是一個類圖。圖2-7系統(tǒng)功能包圖3系統(tǒng)分析與設(shè)計3.1 開發(fā)系統(tǒng)用例模

35、型用例能夠幫助系統(tǒng)開發(fā)者理解系統(tǒng)的預(yù)期行為,因而是一個強有力的工具,它能夠幫助開發(fā)者從用戶的觀點收集需求。用例是一個強有力的工具,當(dāng)使用UML可視化的表達(dá)出這些概念后,用例甚至?xí)兊酶訌姶蟆?梢暬梢韵蛴脩麸@示用例,他們可以提供更多的信息。實際生活中用戶常常知道的比他們清楚表達(dá)出來的要多:用例能夠幫助用戶解決這個問題。另外,可視化的表達(dá)形式允許將用例圖和其他種類的圖結(jié)合起來。系統(tǒng)分析過程中的一個目標(biāo)是產(chǎn)生一組用例。此想法是要對用例進(jìn)行分類整理,以便于引用。這些用例代表著用戶對系統(tǒng)的觀點。當(dāng)要對系統(tǒng)升級時,用例目錄可以作為進(jìn)一步收集升級需求的基礎(chǔ)。 圖3-1 系統(tǒng)UML用例圖3.2 系統(tǒng)數(shù)據(jù)庫

36、設(shè)計3.2.1 數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種商品信息的提供、保存、更新和查詢以及商品出入庫的輸入、保存、查詢等方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。1)用戶為管理員用戶;2)管理員用戶登陸后可進(jìn)行貨物信息及廠商信息、客戶信息等的維護(hù),以且貨物入庫、貨物出庫、貨物退貨及統(tǒng)計信息的維護(hù);經(jīng)過系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴(kuò)展,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):1) 用戶信息包括數(shù)據(jù)項:用戶編碼、用戶名、用戶密碼、所屬部門、聯(lián)系電話2)部門信息包括數(shù)據(jù)項:部門編碼、部門名稱3)

37、供應(yīng)商信息包括數(shù)據(jù)項:供應(yīng)商編碼、供應(yīng)商名稱、聯(lián)系人、職務(wù)、聯(lián)系電話、手機(jī)、傳真、郵編、公司類別、所屬區(qū)域、信用度、公司網(wǎng)站、公司地址、備注4)客戶信息包括數(shù)據(jù)項:供應(yīng)商編碼、供應(yīng)商名稱、聯(lián)系人、職務(wù)、聯(lián)系電話、手機(jī)、傳真、郵編、公司類別、所屬區(qū)域、信用度、公司網(wǎng)站、公司地址、備注5)貨品信息包括數(shù)據(jù)項:產(chǎn)品名稱、產(chǎn)品數(shù)字嗎、產(chǎn)品拼音碼、產(chǎn)品規(guī)格、單位、產(chǎn)品單價、所屬類型、產(chǎn)品描述6)貨品分類包括數(shù)據(jù)項:分類編碼、分類名稱、上級編碼7)倉庫信息包括數(shù)據(jù)項:倉庫編碼、倉庫名稱8)入庫信息包括數(shù)據(jù)項:供應(yīng)單位、供應(yīng)商地址、供應(yīng)產(chǎn)品名稱、供應(yīng)商聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號、供應(yīng)產(chǎn)品備注信息9)出庫信

38、息包括數(shù)據(jù)項:客戶單位、客戶地址、產(chǎn)品名稱、聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號、產(chǎn)品備注信息10)退貨信息包括數(shù)據(jù)項:退貨單位、退貨單位地址、產(chǎn)品名稱、聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號、產(chǎn)品備注信息3.2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計得到上面數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。設(shè)計規(guī)劃出的實體有:用戶實體、部門實體、客戶實體、貨品實體、貨品類型實體、倉庫實體、廠商實體。圖3-3 系統(tǒng)E-R圖3.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)

39、轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)庫模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。商品進(jìn)銷存管理系統(tǒng)數(shù)據(jù)庫中各個表的設(shè)計結(jié)果如表所示。每個表格表示在數(shù)據(jù)庫中的一個表。圖3-4為用戶信息表,存儲系統(tǒng)中的用戶信息。圖3-4 用戶信息表(ShUser)圖3-5為部門信息表,存儲系統(tǒng)中的部門信息。圖3-5 部門信息表(ShDept)圖3-6為貨物分類信息表,記錄系統(tǒng)中已有貨物的分類信息。圖3-6 貨品分類信息表(ShClass)圖3-7 為貨物信息表,記錄系統(tǒng)中已有貨物的信息。圖3-7 貨品信息表(ShProduct) 圖3-8為供應(yīng)商、客戶信息表,記錄系統(tǒng)中客戶與供應(yīng)商的詳細(xì)信息。圖3-8 客戶、供應(yīng)商信息表(S

40、hCorp)圖3-9為入庫單、出庫單、退貨單表頭信息表,記錄入庫單、出庫單、退貨單表頭信息。圖3-9 單據(jù)表頭信息表(ShBill)圖3-10為入庫單、出庫單、退貨單表體信息表,記錄入庫單、出庫單、退貨單表體信息。圖3-10 單據(jù)表體信息表(ShBillList)圖3-11為系統(tǒng)數(shù)據(jù)庫備份信息表,記錄每次備份數(shù)據(jù)庫的名稱和時間信息圖3-11 備份記錄信息表(ShDataBack)圖3-12為基礎(chǔ)信息數(shù)據(jù)表,保存一些常用的基礎(chǔ)數(shù)據(jù)信息圖3-12 基礎(chǔ)數(shù)據(jù)信息表(ShDict)4.開發(fā)系統(tǒng) 經(jīng)過前面對庫存管理系統(tǒng)分析,從這里開始真正開始實施編程的階段,有了充分的分析和設(shè)計結(jié)果,這個階段的工作就能快

41、速平穩(wěn)的進(jìn)行,只有需求分析充分,在編碼階段才可能迅速進(jìn)行。4.1 編制代碼根據(jù)前階段開發(fā)出來的用例圖、類圖、活動圖,下一步的工作就是編制實現(xiàn)系統(tǒng)的代碼。本設(shè)計我使用的編程語言是.Net(C#)。4.2 系統(tǒng)實現(xiàn)Visual Studio 2010 +SQL Server 2008開發(fā)環(huán)境提供了一個統(tǒng)一的集成的開發(fā)環(huán)境,其中集成了許多可視化輔助工具,因此對于用戶界面的建立和代碼的生成來說是比較簡單的。4.2.1 用戶界面用戶界面決定了系統(tǒng)可使用性的好壞。用戶界面的設(shè)計同樣需要講究藝術(shù)性和科學(xué)性,在利用藝術(shù)角度的見解和人性因素的研究之外,還要考慮到系統(tǒng)用戶的直觀感覺。下面以系統(tǒng)登錄界面為例,來介紹

42、程序的界面。如圖4-1圖4-1系統(tǒng)登錄界面系統(tǒng)界面設(shè)計十分簡單,只有“用戶名”、“密碼”兩個輸入框及“登陸”一個按鈕組成。此頁面肩負(fù)著系統(tǒng)的安全,所以其安全性能要求很高,所以在數(shù)據(jù)庫存儲中進(jìn)行了加密處理,即便他人在數(shù)據(jù)庫中看到用戶賬號和密碼也無法直接獲得用戶密碼。4.2.2 登錄動作代碼企業(yè)庫存管理系統(tǒng)登錄動作代碼如下:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.

43、Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using AcomLb.BLL;using AcomLb.Components;using AcomLb.Model;public partial class LoginPage : System.Web.UI.Page UserInfo userinfo = new UserInfo(); protected void Page_Load(object sender,

44、 EventArgs e) if (!IsPostBack) this.Login1.Focus(); protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) string userId = StrHelper.ConvertSql(this.Login1.UserName); string passWd = StrHelper.EncryptPassword(StrHelper.ConvertSql(this.Login1.Password), StrHelper.PasswordType.MD5)

45、; ShUserData ds = new ShUser().GetUserInfo(userId, passWd); if (ds.Tables0.Rows.Count > 0) DataRow dr = ds.Tables0.Rows0; userinfo.Uid = (int)drShUserData.ID_FIELD; userinfo.UserId = drShUserData.USERID_FIELD.ToString(); userinfo.UserName = drShUserData.USENAME_FIELD.ToString(); userinfo.DeptId =

46、 (int)drShUserData.DEPT_FIELD; userinfo.DeptNm = drShUserData.DEPTNAME_FIELD.ToString(); FormsAuthentication.SetAuthCookie(userinfo.UserId, false); FormsAuthentication.RedirectFromLoginPage(userinfo.UserId, false); else Jscript.AjaxAlert(this, "登陸失敗,用戶名或密碼錯誤!"); 4.3 部分系統(tǒng)界面及功能簡介4.3.1企業(yè)庫存管理系

47、統(tǒng)主界面 圖4-3企業(yè)庫存管理系統(tǒng)主界面4.3.2客戶信息管理界面圖4-4客戶信息管理界面此頁面可以實現(xiàn)按照指定條件查詢客戶信息,并對已有客戶信息進(jìn)行修改、刪除,還可以新增客戶信息。4.3.3貨品信息管理界面圖4-5貨品管理界面此頁面所實現(xiàn)對貨品信息進(jìn)行管理,可以根據(jù)條件快速查詢,修改、刪除已有貨品以及新增貨品等。4.3.4貨品分類管理界面圖4-6貨品分類管理界面4.3.5入庫單界面圖4-7入庫界面此頁面所實現(xiàn)對貨品的入庫操作,貨品入庫時,倉庫管理員根據(jù)實際情況做入庫單。4.3.6入庫管理主界面圖4-8入庫管理主界面此頁面可對入庫單編輯、刪除、添加等操作。4.3.7入庫查詢主界面圖4-9入庫查

48、詢主界面此頁面查看各往來單位的單據(jù)數(shù)量,并可以通過這里直接查看每個供應(yīng)商的供貨詳情。4.4系統(tǒng)特色 本系統(tǒng)中有些些頗具特色的兩點,主要是對用戶密碼進(jìn)行加密處理,可以保證用戶的安全,同時可以支持在頁面對數(shù)據(jù)庫進(jìn)行備份保證數(shù)據(jù)存儲安全。4.4.1用戶密碼加密存儲在系統(tǒng)中,用戶密碼經(jīng)MD5加密后存儲于數(shù)據(jù)庫中,可以保證用戶的密碼安全。代碼如下: public static string EncryptPassword(string PasswordString, PasswordType PasswordFormat) switch (PasswordFormat) case PasswordTyp

49、e.SHA1: passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "SHA1"); break; case PasswordType.MD5: passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "MD5").Substring(8, 0x10).ToLower(); break; default: passWord = strin

50、g.Empty; break; return passWord; 4.4.2.支持在頁面?zhèn)浞輸?shù)據(jù)庫在頁面支持?jǐn)?shù)據(jù)庫備份功能,同時提供備份文件的下載功能,這樣可以最大限度地保證數(shù)據(jù)存儲安全。備份頁面如下:主要代碼如下: public bool SetDataBack(string PathDataName, string FileName) string backName = PathDataName.Substring(PathDataName.LastIndexOf("/") + 1);DbCommand Backcmd = this.db.GetStoredProcCo

51、mmand("AcomStoreDataBack"); this.db.AddOutParameter(Backcmd, "flag", DbType.String, 100); this.db.AddInParameter(Backcmd, "backup_db_name", DbType.String, "AcomStore"); this.db.AddInParameter(Backcmd, "filename", DbType.String, PathDataName); this.db

52、.AddInParameter(Backcmd, "BackName", DbType.String, backName); return (this.db.ExecuteNonQuery(Backcmd) > 0); 后臺AcomStoreDataBack存儲過程代碼如下:CREATE PROCEDURE dbo.AcomStoreDataBackflag VARCHAR(100) OUT,backup_db_name VARCHAR(50),filename VARCHAR(200), -路徑文件名字BackName VARCHAR(100)ASDECLARE SQL nvarchar(4000),par nvarchar(1000)IF NOT EXISTS( SELECT * FROM MASTER.sysdatabases WHERE NAME=backup_db_name )BEGIN SELECT flag='db not exist' /*數(shù)據(jù)庫不存在*/ RETURNENDELSEBEGIN IF right(filename,1)<>'' AND charindex('',filename)<>0 BEGIN SELECT par='file

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論