




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、企業(yè)庫存管理系統(tǒng)摘 要:科學(xué)技術(shù)不斷進(jìn)步和經(jīng)濟(jì)的不斷發(fā)展,以及全球化信息網(wǎng)絡(luò)和全球化市場(chǎng)形成和技術(shù)變革的加速,圍繞新產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)也日趨激烈,企業(yè)面臨著縮短交貨期、提高產(chǎn)品質(zhì)量、降低成本和改進(jìn)服務(wù)的壓力。所有這些都要求企業(yè)能對(duì)不斷變化的市場(chǎng)做出快速反應(yīng)。作為供應(yīng)鏈節(jié)點(diǎn)中的一個(gè)重要環(huán)節(jié),物資管理企業(yè)要實(shí)現(xiàn)快速地對(duì)物資進(jìn)行收發(fā),必須建立現(xiàn)代化的庫存管理系統(tǒng)。用計(jì)算機(jī)對(duì)倉庫庫存信息進(jìn)行日常的管理,通過對(duì)系統(tǒng)需求分析,從系統(tǒng)設(shè)計(jì)著手,實(shí)現(xiàn)系統(tǒng)各模塊,包括輸入輸出、信息查詢、系統(tǒng)維護(hù)等功能。庫存研究基于信息技術(shù),充分利用管理信息系統(tǒng)、決策支持系統(tǒng)數(shù)據(jù)庫理論與方法,集成物流、資金流、事務(wù)流及信息流,對(duì)庫存
2、管理與控制信息系統(tǒng)的設(shè)計(jì)進(jìn)行研究,它對(duì)企業(yè)減少庫存、增加效益、提高競(jìng)爭(zhēng)力具有重要的意義。但是在系統(tǒng)的動(dòng)態(tài)交互性,及時(shí)性,智能性,可靠性和安全性方面還有待提高。關(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è)計(jì)103.1 開發(fā)系統(tǒng)用例模型103.2 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)113.2.1 數(shù)據(jù)庫需求分析113.2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)113.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)134.開發(fā)系統(tǒng)164.1 編制代碼164.2 系統(tǒng)實(shí)現(xiàn)164.2.1 用戶界面164.2.2 登錄動(dòng)作代碼174.3 部分系
12、統(tǒng)界面及功能簡(jiǎn)介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用戶密碼加密存儲(chǔ)214.4.2.支持在頁面?zhèn)浞輸?shù)據(jù)庫225. 部 署24結(jié) 束 語25致謝26參 考 文 獻(xiàn)261.緒 論1.1 課題研究背景及意義近幾年我國企業(yè)信息化呈現(xiàn)持續(xù)火爆的勢(shì)頭,有專家預(yù)測(cè),我國高新技術(shù)產(chǎn)業(yè)在企業(yè)中占據(jù)的位置越來越重要。如何提高自己企業(yè)的生產(chǎn)和運(yùn)營(yíng)效率,成為企業(yè)發(fā)展中必須考慮的問題。在現(xiàn)在網(wǎng)絡(luò)飛速發(fā)展的背景下,設(shè)計(jì)庫存
13、管理系統(tǒng)來促進(jìn)企業(yè)生產(chǎn)效率的提高也是一個(gè)很好的手段。當(dāng)前形勢(shì)下,僅僅靠原始的手工管理或簡(jiǎn)單的單機(jī)管理是不夠的,商品部門面對(duì)大量的信息,無法有效率地將其中的重要部分提取出來,并做出相應(yīng)的判斷和處理。公司管理者的決策只能依據(jù)報(bào)表數(shù)據(jù),在浪費(fèi)大量人力、物力的同時(shí)無法做到實(shí)時(shí)監(jiān)控,難以保證數(shù)據(jù)的準(zhǔn)確性和及時(shí)性。因此,先進(jìn)的管理思想在商業(yè)中實(shí)現(xiàn)就成為了一個(gè)可望而不可及的目標(biāo)。公司集團(tuán)非常急需一套既有先進(jìn)管理思想又適合國內(nèi)大商業(yè)的在線進(jìn)銷存管理信息系統(tǒng),作為實(shí)現(xiàn)目標(biāo)和提高現(xiàn)有水平的一種重要手段。庫存管理系統(tǒng)是一個(gè)公司不可缺少的部分,它的執(zhí)行對(duì)于公司的決策者和管理者來說是很有幫助的, 隨著科學(xué)技術(shù)的不斷提高
14、,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(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è)計(jì)所需要的多種圖,這些圖是在用多個(gè)視圖來展示一個(gè)系統(tǒng),這組視圖被稱為一個(gè)模型(M
15、odel)。一個(gè)UML模型描述了一個(gè)系統(tǒng)需要做什么。同時(shí),UML提供了組織和擴(kuò)展這些圖的方法。關(guān)于標(biāo)準(zhǔn)建模語言UML的內(nèi)容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且這些基本概念與其他面向?qū)ο蠹夹g(shù)中的基本概念大多相同,因而,UML必然成為這些方法以及其他方法的使用者樂于采用的一種簡(jiǎn)單一致的建模語言;其次,UML不僅僅是上述方法的簡(jiǎn)單匯合,而是在這些方法的基礎(chǔ)上廣泛征求意見,集眾家之長(zhǎng),幾經(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表示法兩個(gè)部分。(1) UML語義描述基于UML的精確元模型定義。(2) UML表示法定義UML符號(hào)的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號(hào)和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號(hào)和文字所表達(dá)的是應(yīng)用級(jí)的模型,在語義上它是UML元模型的實(shí)例。 標(biāo)準(zhǔn)建模語言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義。第一類是用例圖,第二類是靜態(tài)圖(Static diagram),包括類圖、對(duì)象圖和包圖。第三類是行為圖(Behavior diagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。其中狀態(tài)圖描述類的對(duì)象所有可能
17、的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常, 狀態(tài)圖是對(duì)類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。第四類是交互圖(Interactive diagram),描述對(duì)象間的交互關(guān)系。其中順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象之間的交互;協(xié)作圖描述對(duì)象間的協(xié)作關(guān)系, 協(xié)作圖與順序圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對(duì)象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級(jí)關(guān)
18、系,則選擇協(xié)作圖,把這兩種圖合稱為交互圖。第五類是實(shí)現(xiàn)圖( Implementation diagram ),包括構(gòu)件圖和配置圖。1.2.2 .NET和C#.NET 是 Microsoft XML Web services 平臺(tái)。XML Web services 允許應(yīng)用程序通過 Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語言。Microsoft .NET 平臺(tái)提供創(chuàng)建 XML Web services 并將這些服務(wù)集成在一起之所需。對(duì)個(gè)人用戶的好處是無縫的、吸引人的體驗(yàn)。 .NET提供了一種新的運(yùn)行環(huán)境即.NET框架,它使得程序員能夠更容易、迅速地寫出優(yōu)良
19、、健壯的程序代碼,并且能夠方便地管理、部署和修改代碼,所編寫的程序和組件都在該環(huán)境中執(zhí)行。它為程序員提供了一些新功能,例如自動(dòng)內(nèi)存管理(垃圾收集)以及更方便地訪問所有系統(tǒng)服務(wù)。它添加了許多實(shí)用功能、例如易于訪問因特網(wǎng)和數(shù)據(jù)庫。它還為代碼復(fù)用提供了一種新的機(jī)制一一更易于使用并且比COM更加有效和靈活。.NET框架更易于部署因?yàn)樗恍枰M(jìn)行注冊(cè)設(shè)置。它還為版本的制定提供了標(biāo)準(zhǔn)化、系統(tǒng)級(jí)別的支持。程序員可以在任一種與.NET兼容的編程語言中使用上述全部功能.NET為創(chuàng)建HTML頁面提供了一種新的編程模型,稱為ASP.NET盡管智能的單機(jī)程序仍在不斷涌現(xiàn),但是在不久的將來,大多數(shù)因特網(wǎng)通信都會(huì)以通用瀏
20、覽器作為前端,這就要求服務(wù)器能夠使用HTML語言來構(gòu)造頁面,以便瀏覽器識(shí)別并顯示給用戶。ASP.NET是一種運(yùn)行在因特網(wǎng)信息服務(wù)(IIS)下的新環(huán)境,它使得程序員能夠更容易地編寫代碼來構(gòu)造基于HTML語言的web頁面,供瀏覽器查看。 ASP.NET提供了一種新的與語言無關(guān)的代碼編寫方式,并將其與web頁面請(qǐng)求相關(guān)聯(lián)。它提供了.NET的Web窗體,它是一種與控件交互的事件驅(qū)動(dòng)編程模型、這使得編寫web頁面變得就像編寫普通的VB窗體一樣。ASP.NET包含了良好的會(huì)話狀態(tài)管理和安全功能,它比原來的ASP更加健壯,性能也得以提高。.NET提供了Windows窗體,它是一種使用.NET框架編寫各種客戶
21、程序的新方法。 一個(gè)使用XML Web服務(wù)的專用客戶端應(yīng)用程序必須提供良好的用戶界面。高質(zhì)量的界面能夠提供更佳的用戶感受,NET提供了一種新的軟件包,它被稱為.NET windows窗體這使得程序員能夠使用.NET框架輕易地編寫出專用的windows客戶應(yīng)用程序。C#是可用于創(chuàng)建要運(yùn)行在.NET上的應(yīng)用程序的語言之一,它從C和C+語言演化而來,是Microsoft專門為使用.NET平臺(tái)而創(chuàng)建的。因?yàn)镃#是近期發(fā)展起來的,所以吸取了以前的教訓(xùn),考慮了其他語言的許多優(yōu)點(diǎn),并解決了它們的問題。使用C#開發(fā)應(yīng)用程序比使用C+簡(jiǎn)單,因?yàn)槠湔Z法比較簡(jiǎn)單。但是,C#是一種強(qiáng)大的語言,在C+中能完成的任務(wù)在C
22、#中也能完成,C#中與C+比較高級(jí)的功能等價(jià)的功能(例如直接訪問和處理系統(tǒng)內(nèi)存),只能在標(biāo)記為“不安全”的代碼中使用。這個(gè)高級(jí)編程技術(shù)是非常危險(xiǎn)的(正如它的名稱),因?yàn)樗赡芨采w系統(tǒng)中重要的內(nèi)存塊,導(dǎo)致嚴(yán)重的后果。C#代碼常常比C+略長(zhǎng)一些。這是因?yàn)镃#是一種類型安全的語言(與C+不同),一旦為某些數(shù)據(jù)指定了類型,就不能轉(zhuǎn)換為另一個(gè)不相關(guān)的類型。所以,在類型之間轉(zhuǎn)換時(shí),必須遵守嚴(yán)格的規(guī)則。執(zhí)行相向的任務(wù)時(shí),用C#編寫的代碼通常比C+長(zhǎng)。但C#代碼更健壯,調(diào)試也比較簡(jiǎn)單,.NET總是可以隨時(shí)跟蹤數(shù)據(jù)的類型。在C#中,不能完成如“把4字節(jié)的內(nèi)存放在數(shù)據(jù)中,并把它解釋為x”等的任務(wù)。C#只是.NET
23、開發(fā)的一種語言,是目前最好的一種語言。C#的優(yōu)點(diǎn)是,它是唯一為.NET Framework而設(shè)計(jì)的語言,是移植到其他操作系統(tǒng)上的.NET版本中使用的主要語言。C#能使用.NET Framework代碼庫提供的每種功能1.3系統(tǒng)描述本系統(tǒng)運(yùn)用面向?qū)ο蟮木幊趟枷?,基于UML對(duì)企業(yè)庫存管理系統(tǒng)進(jìn)行分析與設(shè)計(jì)。本文運(yùn)用UML來分析和描述企業(yè)庫存管理中所涉及的基本信息管理、商品入庫、出庫、退貨等一系列功能。系統(tǒng)管理包括:數(shù)據(jù)備份基本數(shù)據(jù)包括:產(chǎn)品欄目設(shè)置、往來單位管理、產(chǎn)品信息管理入庫單包括:添加入庫單、入庫單管理、查詢統(tǒng)計(jì)出庫單包括:添加出庫單、出庫單管理、查詢統(tǒng)計(jì)退貨單包括:添加退庫單、退庫單管理、
24、查詢統(tǒng)計(jì)1.4 分析方法 為了適應(yīng)開發(fā)過程多方面的挑戰(zhàn),不同的組織和不同的應(yīng)用領(lǐng)域需要采取不同的開發(fā)過程才能提高開發(fā)效率。我在系統(tǒng)的設(shè)計(jì)開發(fā)中,使用了“快速應(yīng)用工程指導(dǎo)原則”(Guidelines for Rapid APPLication Engineering),簡(jiǎn)稱GRAPPLE。GRAPPLE的思想并沒有脫離以往的UML分析方法RUP(Rational Unified Process, 統(tǒng)一開發(fā)過程)。它是一組可以自適應(yīng)的,靈活的開發(fā)思想,可以適應(yīng)與許多不同組織的軟件開發(fā)過程,讓開發(fā)者發(fā)揮自己的創(chuàng)造力和好的思想來構(gòu)建自己的組織。 GRAPPLE由5個(gè)段組成,即需求收集,分析,設(shè)計(jì),開發(fā)
25、,部署。本次的論文,便是以GRAPPLE方法的基本結(jié)構(gòu)、步驟來構(gòu)架的,由于在軟件的構(gòu)建階段,設(shè)計(jì)和分析都可以往返進(jìn)行直到設(shè)計(jì)完成,所以在論文中,我將分析與設(shè)計(jì)合并為一個(gè)章節(jié)來敘述。之后在設(shè)計(jì)的基礎(chǔ)上使用微軟的Visual C#完成系統(tǒng)的實(shí)現(xiàn)。2.需求收集2.1 業(yè)務(wù)過程分析開發(fā)一個(gè)系統(tǒng)的起點(diǎn)就是獲得對(duì)客戶業(yè)務(wù)過程的理解,特別是獲得使用目標(biāo)系統(tǒng)的客戶的理解。這就需要系統(tǒng)分析員與客戶進(jìn)行充分的交流。首先要在調(diào)研的過程中了解到一套業(yè)務(wù)領(lǐng)域的詞匯?!捌髽I(yè)庫存管理系統(tǒng)”需要實(shí)現(xiàn)的功能有主要有:基本數(shù)據(jù)、入庫管理、出庫管理、退貨管理、系統(tǒng)維護(hù)等,可以用下面的業(yè)務(wù)流程圖來表示它們之間的關(guān)系:圖2-1 系統(tǒng)業(yè)
26、務(wù)流程此次設(shè)計(jì)的庫存管理系統(tǒng)需要完成的主要功能有:入庫管理、出庫管理、退貨管理、等一系列與業(yè)務(wù)流程相配套的完整功能。在系統(tǒng)中,主要的業(yè)務(wù)流通領(lǐng)域詞匯有以下幾大類:采購計(jì)劃、入庫管理、財(cái)務(wù)驗(yàn)收、付款處理、出庫管理、調(diào)價(jià)處理、退貨管理、查詢、商品信息管理的總體活動(dòng)可以由下圖來描述:圖2-2 企業(yè)庫存管理的活動(dòng)圖2.2 研究領(lǐng)域分析現(xiàn)在仍然處在需求收集階段的概念性分析。這個(gè)階段需要開發(fā)出初步的類圖、建立和標(biāo)記類之間的關(guān)聯(lián),同時(shí)填充類的信息。2.2.1 初步用例模型開發(fā)用例是由參與者發(fā)起的,參與者能夠從用例的執(zhí)行中獲得有價(jià)值的事物。用例模型的圖形表示法很直觀。用例用一個(gè)橢圓形表示,直立人形圖表表示參與
27、者。用例的發(fā)起參與者在用例圖的左側(cè),接受參與者在用例圖的右側(cè)。參與者的名字放在參與者圖表的下方,用例的名字可以放在橢圓形里面也可以放在橢圓形下方。關(guān)聯(lián)線連接參與者和用例,并且表示參與者與用例之間有通信關(guān)系。關(guān)聯(lián)線是實(shí)現(xiàn),和類之間的關(guān)聯(lián)線類似。 用例分析的一個(gè)好處是它能展現(xiàn)出系統(tǒng)和外部世界之間的邊界。參與者是典型的系統(tǒng)外部實(shí)體,而用例屬于系統(tǒng)內(nèi)部。系統(tǒng)的邊界用一個(gè)矩形(里面寫著系統(tǒng)的名字)來代表。系統(tǒng)的用例裝入矩形之內(nèi)。參與者、用例和互連線共同組成了用例模型(use case model).下圖說明了這些符號(hào):圖2-3 用例模型示例圖2-4 系統(tǒng)UML用例圖 開發(fā)系統(tǒng)業(yè)務(wù)角色 首先
28、,需要確定整個(gè)系統(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),同時(shí)還描述了系統(tǒng)的行為。類圖是定義其它圖的基礎(chǔ)。在類圖的基礎(chǔ)上,狀態(tài)圖、合作圖等進(jìn)一步描述了系統(tǒng)其他方面的特性。對(duì)象(Object)與對(duì)客觀世界的理解相關(guān)。通常用對(duì)象描述客觀世界中某個(gè)具體的實(shí)體。所謂類(Class)是對(duì)一類具有相同特征的對(duì)象的描述。而
29、對(duì)象是類的實(shí)例(Instance)。建立類模型時(shí),應(yīng)盡量與應(yīng)用領(lǐng)域的概念保持一致,以使模型更符合客觀事實(shí),易修改,易理解和易交流。類描述一類對(duì)象的屬性(Attribute)和行為(Behavior)。在UML中,類的可視化表示為一個(gè)劃分成三個(gè)格子的長(zhǎng)方形(下面兩個(gè)格子可省略)。圖1中,"運(yùn)動(dòng)員"就是一個(gè)典型的類。類的獲取和命名:最頂部的格子包含類的名字。類的命名應(yīng)盡量用應(yīng)用領(lǐng)域中的術(shù)語,應(yīng)明確、無歧義,以利于開發(fā)人員與用戶之間的相互理解和交流。類的獲取是一個(gè)依賴于人的創(chuàng)造力的過程,必須與領(lǐng)域?qū)<液献?對(duì)研究領(lǐng)域仔細(xì)地分析,抽象出領(lǐng)域中的概念,定義其含義及相互關(guān)系,分析出系統(tǒng)
30、類,并用領(lǐng)域中的術(shù)語為類命名。一般而言,類的名字是名詞。圖2-5 運(yùn)動(dòng)員類圖示例系統(tǒng)中包含的類: 用戶(ShUser)、客戶(ShCorp)、供應(yīng)商(ShCorp)、部門(ShDept)商品(ShProuct)、商品類型(ShClass)、倉庫(ShStoreHouse)、入庫單表頭(ShBill)、入庫單表體(ShBillList)、出庫單表頭(ShBill)、出庫單表體(ShBillList)、退貨單表頭(ShBill)、退貨單表體(ShBillList) 類之間的關(guān)系在這個(gè)階段,對(duì)開發(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)的方法策略是:先從幾個(gè)類開始,找出與這個(gè)類存在關(guān)聯(lián)的其他類,然后再尋找另外一組類與其他類的關(guān)聯(lián),直到窮盡了所有的類為止。下面
32、先介紹一下類之間常用的幾種關(guān)系以及他們的概念:關(guān)聯(lián)關(guān)系:關(guān)聯(lián)(Association)表示兩個(gè)類之間存在某種語義上的聯(lián)系。角色:關(guān)聯(lián)兩頭的類以某種角色參與關(guān)聯(lián)。關(guān)聯(lián)類:一個(gè)關(guān)聯(lián)可能要記錄一些信息,可以引入一個(gè)關(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)系: 有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。圖2-6 系統(tǒng)UML類圖2.3 系統(tǒng)需求研究2.3.1 收集系統(tǒng)需求在對(duì)一個(gè)系統(tǒng)的開發(fā)中,必須集中考慮用戶的需求,這個(gè)步驟需要開發(fā)出系統(tǒng)的功能包圖,每個(gè)包應(yīng)代表系統(tǒng)的一個(gè)功能模塊。包:將許多類集合成一個(gè)更高層次的單位,形成一個(gè)高內(nèi)聚、低耦合的類的集合。UML中這種分組機(jī)制叫包(Package)。任何模型元素都運(yùn)用包的機(jī)制。如果
34、沒有任何啟發(fā)性原則來指導(dǎo)類的分組,分組方法就是任意的。在UML中,最有用的和強(qiáng)調(diào)最多的啟發(fā)性原則就是依賴。包圖主要顯示類的包以及這些包之間的依賴關(guān)系。有時(shí)還顯示包和包之間的繼承關(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)容時(shí),包的名字放入主方框內(nèi),否則包的名字放入左上角的小方框中,而將內(nèi)容放入主方框內(nèi)。包的內(nèi)容可以是類的列表,也可以是另一個(gè)包圖,還可以是一個(gè)類圖。圖2-7系統(tǒng)功能包圖3系統(tǒng)分析與設(shè)計(jì)3.1 開發(fā)系統(tǒng)用例模
35、型用例能夠幫助系統(tǒng)開發(fā)者理解系統(tǒng)的預(yù)期行為,因而是一個(gè)強(qiáng)有力的工具,它能夠幫助開發(fā)者從用戶的觀點(diǎn)收集需求。用例是一個(gè)強(qiáng)有力的工具,當(dāng)使用UML可視化的表達(dá)出這些概念后,用例甚至?xí)兊酶訌?qiáng)大??梢暬梢韵蛴脩麸@示用例,他們可以提供更多的信息。實(shí)際生活中用戶常常知道的比他們清楚表達(dá)出來的要多:用例能夠幫助用戶解決這個(gè)問題。另外,可視化的表達(dá)形式允許將用例圖和其他種類的圖結(jié)合起來。系統(tǒng)分析過程中的一個(gè)目標(biāo)是產(chǎn)生一組用例。此想法是要對(duì)用例進(jìn)行分類整理,以便于引用。這些用例代表著用戶對(duì)系統(tǒng)的觀點(diǎn)。當(dāng)要對(duì)系統(tǒng)升級(jí)時(shí),用例目錄可以作為進(jìn)一步收集升級(jí)需求的基礎(chǔ)。 圖3-1 系統(tǒng)UML用例圖3.2 系統(tǒng)數(shù)據(jù)庫
36、設(shè)計(jì)3.2.1 數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種商品信息的提供、保存、更新和查詢以及商品出入庫的輸入、保存、查詢等方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。1)用戶為管理員用戶;2)管理員用戶登陸后可進(jìn)行貨物信息及廠商信息、客戶信息等的維護(hù),以且貨物入庫、貨物出庫、貨物退貨及統(tǒng)計(jì)信息的維護(hù);經(jīng)過系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴(kuò)展,設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1) 用戶信息包括數(shù)據(jù)項(xiàng):用戶編碼、用戶名、用戶密碼、所屬部門、聯(lián)系電話2)部門信息包括數(shù)據(jù)項(xiàng):部門編碼、部門名稱3)
37、供應(yīng)商信息包括數(shù)據(jù)項(xiàng):供應(yīng)商編碼、供應(yīng)商名稱、聯(lián)系人、職務(wù)、聯(lián)系電話、手機(jī)、傳真、郵編、公司類別、所屬區(qū)域、信用度、公司網(wǎng)站、公司地址、備注4)客戶信息包括數(shù)據(jù)項(xiàng):供應(yīng)商編碼、供應(yīng)商名稱、聯(lián)系人、職務(wù)、聯(lián)系電話、手機(jī)、傳真、郵編、公司類別、所屬區(qū)域、信用度、公司網(wǎng)站、公司地址、備注5)貨品信息包括數(shù)據(jù)項(xiàng):產(chǎn)品名稱、產(chǎn)品數(shù)字嗎、產(chǎn)品拼音碼、產(chǎn)品規(guī)格、單位、產(chǎn)品單價(jià)、所屬類型、產(chǎn)品描述6)貨品分類包括數(shù)據(jù)項(xiàng):分類編碼、分類名稱、上級(jí)編碼7)倉庫信息包括數(shù)據(jù)項(xiàng):倉庫編碼、倉庫名稱8)入庫信息包括數(shù)據(jù)項(xiàng):供應(yīng)單位、供應(yīng)商地址、供應(yīng)產(chǎn)品名稱、供應(yīng)商聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號(hào)、供應(yīng)產(chǎn)品備注信息9)出庫信
38、息包括數(shù)據(jù)項(xiàng):客戶單位、客戶地址、產(chǎn)品名稱、聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號(hào)、產(chǎn)品備注信息10)退貨信息包括數(shù)據(jù)項(xiàng):退貨單位、退貨單位地址、產(chǎn)品名稱、聯(lián)系人、產(chǎn)品數(shù)量、產(chǎn)品序列號(hào)、產(chǎn)品備注信息3.2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)得到上面數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動(dòng)。設(shè)計(jì)規(guī)劃出的實(shí)體有:用戶實(shí)體、部門實(shí)體、客戶實(shí)體、貨品實(shí)體、貨品類型實(shí)體、倉庫實(shí)體、廠商實(shí)體。圖3-3 系統(tǒng)E-R圖3.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)
39、轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)庫模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。商品進(jìn)銷存管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表的設(shè)計(jì)結(jié)果如表所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。圖3-4為用戶信息表,存儲(chǔ)系統(tǒng)中的用戶信息。圖3-4 用戶信息表(ShUser)圖3-5為部門信息表,存儲(chǔ)系統(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ù)庫的名稱和時(shí)間信息圖3-11 備份記錄信息表(ShDataBack)圖3-12為基礎(chǔ)信息數(shù)據(jù)表,保存一些常用的基礎(chǔ)數(shù)據(jù)信息圖3-12 基礎(chǔ)數(shù)據(jù)信息表(ShDict)4.開發(fā)系統(tǒng) 經(jīng)過前面對(duì)庫存管理系統(tǒng)分析,從這里開始真正開始實(shí)施編程的階段,有了充分的分析和設(shè)計(jì)結(jié)果,這個(gè)階段的工作就能快
41、速平穩(wěn)的進(jìn)行,只有需求分析充分,在編碼階段才可能迅速進(jìn)行。4.1 編制代碼根據(jù)前階段開發(fā)出來的用例圖、類圖、活動(dòng)圖,下一步的工作就是編制實(shí)現(xiàn)系統(tǒng)的代碼。本設(shè)計(jì)我使用的編程語言是.Net(C#)。4.2 系統(tǒng)實(shí)現(xiàn)Visual Studio 2010 +SQL Server 2008開發(fā)環(huán)境提供了一個(gè)統(tǒng)一的集成的開發(fā)環(huán)境,其中集成了許多可視化輔助工具,因此對(duì)于用戶界面的建立和代碼的生成來說是比較簡(jiǎn)單的。4.2.1 用戶界面用戶界面決定了系統(tǒng)可使用性的好壞。用戶界面的設(shè)計(jì)同樣需要講究藝術(shù)性和科學(xué)性,在利用藝術(shù)角度的見解和人性因素的研究之外,還要考慮到系統(tǒng)用戶的直觀感覺。下面以系統(tǒng)登錄界面為例,來介紹
42、程序的界面。如圖4-1圖4-1系統(tǒng)登錄界面系統(tǒng)界面設(shè)計(jì)十分簡(jiǎn)單,只有“用戶名”、“密碼”兩個(gè)輸入框及“登陸”一個(gè)按鈕組成。此頁面肩負(fù)著系統(tǒng)的安全,所以其安全性能要求很高,所以在數(shù)據(jù)庫存儲(chǔ)中進(jìn)行了加密處理,即便他人在數(shù)據(jù)庫中看到用戶賬號(hào)和密碼也無法直接獲得用戶密碼。4.2.2 登錄動(dòng)作代碼企業(yè)庫存管理系統(tǒng)登錄動(dò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, "登陸失敗,用戶名或密碼錯(cuò)誤!"); 4.3 部分系統(tǒng)界面及功能簡(jiǎn)介4.3.1企業(yè)庫存管理系
47、統(tǒng)主界面 圖4-3企業(yè)庫存管理系統(tǒng)主界面4.3.2客戶信息管理界面圖4-4客戶信息管理界面此頁面可以實(shí)現(xiàn)按照指定條件查詢客戶信息,并對(duì)已有客戶信息進(jìn)行修改、刪除,還可以新增客戶信息。4.3.3貨品信息管理界面圖4-5貨品管理界面此頁面所實(shí)現(xiàn)對(duì)貨品信息進(jìn)行管理,可以根據(jù)條件快速查詢,修改、刪除已有貨品以及新增貨品等。4.3.4貨品分類管理界面圖4-6貨品分類管理界面4.3.5入庫單界面圖4-7入庫界面此頁面所實(shí)現(xiàn)對(duì)貨品的入庫操作,貨品入庫時(shí),倉庫管理員根據(jù)實(shí)際情況做入庫單。4.3.6入庫管理主界面圖4-8入庫管理主界面此頁面可對(duì)入庫單編輯、刪除、添加等操作。4.3.7入庫查詢主界面圖4-9入庫查
48、詢主界面此頁面查看各往來單位的單據(jù)數(shù)量,并可以通過這里直接查看每個(gè)供應(yīng)商的供貨詳情。4.4系統(tǒng)特色 本系統(tǒng)中有些些頗具特色的兩點(diǎn),主要是對(duì)用戶密碼進(jìn)行加密處理,可以保證用戶的安全,同時(shí)可以支持在頁面對(duì)數(shù)據(jù)庫進(jìn)行備份保證數(shù)據(jù)存儲(chǔ)安全。4.4.1用戶密碼加密存儲(chǔ)在系統(tǒng)中,用戶密碼經(jīng)MD5加密后存儲(chǔ)于數(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í)提供備份文件的下載功能,這樣可以最大限度地保證數(shù)據(jù)存儲(chǔ)安全。備份頁面如下:主要代碼如下: 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); 后臺(tái)AcomStoreDataBack存儲(chǔ)過程代碼如下: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)注行業(yè)發(fā)展熱點(diǎn)的2025年市場(chǎng)營(yíng)銷理論考試試題及答案
- 2025年醫(yī)學(xué)專業(yè)執(zhí)業(yè)考試試卷及答案
- 2025年心理測(cè)量與評(píng)估方法綜合考核試題及答案
- 2025年現(xiàn)代藝術(shù)與文化創(chuàng)新的考試試題及答案
- 2025年心理咨詢師資格考試試卷及答案
- 2025年水資源管理與保護(hù)課程考試卷及答案
- 2025年人工智能與機(jī)器學(xué)習(xí)基礎(chǔ)試卷及答案
- 北師大版(2024)七年級(jí)下冊(cè)英語期末復(fù)習(xí):Unit1~6語法練習(xí)100題(含答案)
- 2025年建筑設(shè)計(jì)基礎(chǔ)知識(shí)測(cè)試卷及答案
- 2025年建筑經(jīng)濟(jì)與管理綜合能力考試試卷及答案
- 水池深基坑開挖專項(xiàng)施工方案
- (整理)薩提亞溝通模式課件
- 水產(chǎn)品冷凍食品加工行業(yè)解決方案
- 茶知識(shí)與科學(xué)飲茶課件
- 手術(shù)通知單模板
- 2021年安康市中心醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
- 醫(yī)院醫(yī)療精神科危險(xiǎn)物品管理PPT課件講義
- 第二講:黔東南州優(yōu)勢(shì)礦產(chǎn)資源
- 康復(fù)醫(yī)院的設(shè)計(jì)要點(diǎn)精選
- 10kv高壓架空電線防護(hù)方案概述
- 空調(diào)維保方案及報(bào)價(jià)(共3頁)
評(píng)論
0/150
提交評(píng)論