數(shù)據(jù)庫課程設計--- 銷售管理系統(tǒng)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計</b></p><p>  2012 ~ 2013學年第二學期</p><p>  設計題目 銷售管理系統(tǒng) </p><p><b>  課程設計任務書</b></p><p><b>

2、;  內容摘要</b></p><p>  隨著計算機技術的迅猛發(fā)展,存在于網(wǎng)絡的企業(yè)銷售管理系統(tǒng)將逐步代替?zhèn)鹘y(tǒng)的管理模式進入企業(yè)。為了更高效得完成銷售方面的工作,也可以有更多的時間處理更多的別的事務,企業(yè)也將擺脫原有的管理形勢完全進入信息化管理。銷售管理系統(tǒng)在企業(yè)的管理過程中起著巨大的作用。 系統(tǒng)采用Microsoft SQL Server2008數(shù)據(jù)庫,并使用VisualStudio201

3、0作為開發(fā)工具,由銷售信息管理、商品管理、售后服務管理及財務管理等模塊組成。此系統(tǒng)包含選題背景,技術介紹,系統(tǒng)需求分析、模塊設計、數(shù)據(jù)庫設計、系統(tǒng)詳細設計,以及系統(tǒng)實施。 本文介紹了銷售系統(tǒng)的開發(fā)初衷和背景,系統(tǒng)的開發(fā)工具,面向對象開發(fā)的具體步驟,其中包括流程圖,功能結構圖等必要的圖形說明。主要包括SQL數(shù)據(jù)庫,用戶登錄模塊和主窗體的設計,其中用戶登錄模塊實現(xiàn)的功能是登錄系統(tǒng)時進行用戶身份檢查和權限分配;按照用戶權限級別對操作進

4、行約束和控制;編輯、修改、添加用戶信息。</p><p>  關鍵詞:SQL Server2008 數(shù)據(jù)庫;C#.NET技術; 企業(yè)銷售管理系統(tǒng); ADO.NET </p><p><b>  Abstract</b></p><p>  Along with the fast development of computer technolog

5、y, the enterprise sale management system that exists in the Internet will replace the management pattern of tradition step by step to enter enterprise. Trade will also get rid of original management situation and have en

6、tered informative management completely, because using management software can finish the work of sales more efficiently and can also have more time to handle more other affairs. The sale management system plays an impor

7、tant ro</p><p>  Key Words: SQL Server 2000 Database; ASP.NET technology; Enterprise sale management system; ADO.NET</p><p><b>  目 錄</b></p><p><b>  內容摘要3</b&g

8、t;</p><p><b>  第一章概述6</b></p><p><b>  1.1項目背景6</b></p><p>  2.1 問題陳述8</p><p><b>  2.2系統(tǒng)功能8</b></p><p>  2.3數(shù)據(jù)流分析8

9、</p><p>  2.4功能模塊設計10</p><p>  第三章 數(shù)據(jù)庫設計10</p><p>  3.1 概念結構設計11</p><p>  3.2 模式轉換15</p><p>  3.3 范式分析15</p><p>  第四章 數(shù)據(jù)庫實施16</p>

10、;<p>  4.1 數(shù)據(jù)庫中表的定義16</p><p>  4.2視圖、存儲過程、觸發(fā)器的結構和定義18</p><p>  第五章 系統(tǒng)設計實現(xiàn)24</p><p>  5.1 企業(yè)銷售管理系統(tǒng)主要功能模塊詳細設計24</p><p>  第六章 系統(tǒng)的調試與測試37</p><p>&

11、lt;b>  6.1調 試37</b></p><p>  6.1.1 程序調試37</p><p>  6.1.2 分調38</p><p>  6.1.3 總調38</p><p><b>  6.2測試38</b></p><p>  第七章 總 結39<

12、;/p><p><b>  概述</b></p><p>  經(jīng)濟大環(huán)境的變化使得規(guī)模經(jīng)濟的優(yōu)勢不再突出。固定的硬設備、人員數(shù)量、大量資金等資源投入占企業(yè)效益的比重變少,而軟投入如管理、人力資源價值、服務、品牌附加值、渠道等要素資源的投入?yún)s能增加企業(yè)的效益?!八俣葲_擊規(guī)?!钡乃俣冉?jīng)濟概念已經(jīng)向企業(yè)提出。 </p><p>  那么對于日益發(fā)展壯大的

13、企業(yè)集團,怎樣才能找到一套功能強大可任意拓展、低運行成本、安全可靠的管理解決方案,來跟上企業(yè)的發(fā)展,跟上時代的發(fā)展呢? </p><p>  我們認為最好的辦法是利用Internet這個工具,架構自己的供需鏈管理平臺,使無處不在的互聯(lián)網(wǎng)為你所用,實現(xiàn)無處不在的管理目標。讓Internet像電一樣融入到企業(yè)的管理之中,提高企業(yè)在新經(jīng)濟時代的核心競爭力,通過對Internet的高效率使用,在激烈的市場競爭中,首先打贏

14、第一仗“信息戰(zhàn)”。正是基于對Internet的這種深刻認識,針對中國企業(yè)特點提出了基于Internet的網(wǎng)絡商務管理解決方案——企業(yè)銷售管理系統(tǒng)。 </p><p><b>  1.1項目背景</b></p><p>  中小企業(yè)在我國經(jīng)濟發(fā)展中具有重要地位,目前我國的中小企業(yè)數(shù)量多,地區(qū)分布廣泛,行業(yè)分布跨度大。隨著全球經(jīng)濟一體化的發(fā)展和電子商務的興起,中小企業(yè)之間

15、的競爭將越來越激烈。網(wǎng)絡及電子商務的迅猛發(fā)展突破了時間、空間的局限性,給中小企業(yè)帶來了更多的發(fā)展機會,同時也增大了企業(yè)之間的競爭強度。這就要求中小企業(yè)必須改變企業(yè)的經(jīng)營管理模式,提高企業(yè)的運營效率。目前,我國中小企業(yè)的信息化水平還很低,相比國外企業(yè),還只處于剛開始始用的階段。隨著技術發(fā)展,電腦操作及管理日趨簡化,電腦知識日趨普及,同時市場經(jīng)濟快速多變,競爭激烈,企業(yè)采用電腦管理進貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然。</p&

16、gt;<p><b>  1.3軟件定義</b></p><p>  現(xiàn)在商品銷售單位需要處理大量的供應商信息,還要時刻更新單位所銷售的產(chǎn)品信息,不斷地添加、修改銷售信息。面對各種不同的信息,需要合理的數(shù)據(jù)庫結構來保存數(shù)據(jù)信息,還需要有效的程序結構支持各種數(shù)據(jù)操作的執(zhí)行。本系統(tǒng)建設的目的在于專賣店可以方便地從系統(tǒng)獲取產(chǎn)品信息,并且可以直接下訂單;銷售部門從系統(tǒng)獲取訂單,核對后通

17、知倉庫部門發(fā)貨,系統(tǒng)自動創(chuàng)建發(fā)貨單呈現(xiàn)給倉庫員工;專賣店經(jīng)理將每天的銷售記錄錄入系統(tǒng),系統(tǒng)對訂貨及銷售記錄進行統(tǒng)計,生成報表呈現(xiàn)給用戶。在此過程中,系統(tǒng)根據(jù)發(fā)貨信息及銷售信息自動更新公司及專賣店的庫存,根據(jù)訂貨信息及發(fā)貨信息自動更新店鋪經(jīng)理的資金。最終實現(xiàn)公司銷售系統(tǒng)的網(wǎng)絡化,節(jié)省運營成本,提高運作效率。</p><p> ?、艤p少了系統(tǒng)對硬件的要求。系統(tǒng)主要運行于服務器上,即系統(tǒng)運行的硬件取決于服務器,客戶端的

18、配置要求保證能夠使用瀏覽器即可。</p><p> ?、乒?jié)約了維護成本。系統(tǒng)的維護主要集中于服務器端,比起維護多個客戶端來說,成本和工作量將大大降低。</p><p>  降低了系統(tǒng)升級維護的難度。邏輯和視圖的分離使得模塊相對獨立在業(yè)務變更及系統(tǒng)升級和維護時,難度大大降低,大大提高了工作人員的工作效率。在功能設計和系統(tǒng)實現(xiàn)方面,企業(yè)銷售管理網(wǎng)站將具有以下特點:</p><

19、;p>  實用性:為商品信息管理、用戶信息管理提供了快捷、方便的方法。</p><p>  操作簡單:保證系統(tǒng)能適應不同等級計算機水平的用戶,系統(tǒng)操作盡可能簡單。</p><p>  代碼可讀性好:要求系統(tǒng)結構清晰,代碼簡潔可讀,便于日后維護和擴展。</p><p><b>  1.4開發(fā)環(huán)境</b></p><p&g

20、t;<b> ?。?)硬件環(huán)境</b></p><p>  CPU:P41.8GHz</p><p>  內存:256MB以上</p><p>  硬盤空間:40GB </p><p><b>  (2)軟件環(huán)境</b></p><p>  操作系統(tǒng):中文Windows 20

21、00 ,Windows2003或XP</p><p>  數(shù)據(jù)庫: SQL Server 2008</p><p>  開發(fā)工具包: Visual Studio 2010</p><p><b>  第二章 需求分析</b></p><p><b>  2.1 問題陳述</b></p>

22、<p>  設計本系統(tǒng)模擬企業(yè)在產(chǎn)品銷售活動過程中的管理內容,包括產(chǎn)品與顧客管理、訂貨、開票、信貸狀況查詢、產(chǎn)品銷售后的查詢、統(tǒng)計等的處理情況,簡化的系統(tǒng)需要管理的情況如下:</p><p>  1、每個顧客分配唯一顧客號(cno),要反映出顧客名(cna)、地址(cad)、電話(cte)、信貸狀況(cco),預付款(cpm)等信息。</p><p>  2、顧客訂購產(chǎn)品由訂單

23、反應,每張訂單由訂單號(sno)、訂貨項數(shù)(snu)、訂貨日期(sdrq)、交貨日期(sjrq)、付款金額(sje)和若干訂單細節(jié)組成。訂單細節(jié)又由訂單細則號(ssno)、訂貨產(chǎn)品號(pno)、數(shù)量(ssnu)等來描述。</p><p>  3、產(chǎn)品由產(chǎn)品號(pno)、產(chǎn)品名(pna)、單價(ppr)與重量(pwe)來刻畫。</p><p>  4、某一顧客可任意訂單,而某一訂單只針對某一

24、顧客;每一訂單細節(jié)是相對某一訂單來說的并只反映一種產(chǎn)品的訂購情況,而某一產(chǎn)品能在不同的訂單細節(jié)中出現(xiàn)。</p><p><b>  2.2系統(tǒng)功能</b></p><p>  系統(tǒng)需求分析是軟件定義時期的最后一個階段,是系統(tǒng)開發(fā)工作中的重要環(huán)節(jié),它的基本任務是準確的回答“系統(tǒng)必須做什么”這個問題。 </p><p><b>  系統(tǒng)的

25、功能需求</b></p><p>  企業(yè)進銷存管理系統(tǒng)是一個典型的數(shù)據(jù)庫開發(fā)應用程序,主要由基礎信息模塊、采購管理模塊、庫存管理模塊、商品銷售模塊、查詢統(tǒng)計模塊、往來管理模塊、系統(tǒng)設置模塊等功能。</p><p><b>  2.3數(shù)據(jù)流分析</b></p><p>  當數(shù)據(jù)在軟件系統(tǒng)中運動時,它將被一系列“變換”所修改。數(shù)據(jù)流

26、圖(DFD)是一種圖形化技術,它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。它是在對系統(tǒng)調研階段繪制出的業(yè)務流程圖的基礎上,從系統(tǒng)的科學性、管理的合理性、實際運行的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述新系統(tǒng)應具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向。 </p><p>  在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流

27、動和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示,即使不是專業(yè)的計算機技術人員也容易理解它,因此是分析員與用戶之間極好的通信工具。此外,設計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體的實現(xiàn)這些功能。數(shù)據(jù)流圖具有以下兩個特性:</p><p> ?。?)抽象性:表現(xiàn)在它完全舍去了具體的物質,只剩下數(shù)據(jù)的流動、加工、處理與存儲。</p><p>  (2)概括性

28、:表現(xiàn)在它可以把信息中的各種不同業(yè)務處理過程聯(lián)系起來,形成一個整體。</p><p>  數(shù)據(jù)流圖由以下四種基本元素組成,即源點或終點、數(shù)據(jù)處理(功能)、數(shù)據(jù)存儲和數(shù)據(jù)流。該企業(yè)銷售管理系統(tǒng)的數(shù)據(jù)流程見圖2-2:</p><p>  外部實體   數(shù)據(jù)處理數(shù)據(jù)流 數(shù)據(jù)存儲</p><p>  商品銷售系統(tǒng)的數(shù)據(jù)流程圖如圖:</p><p&

29、gt;<b>  2.4功能模塊設計</b></p><p>  第三章 數(shù)據(jù)庫設計</p><p>  在數(shù)據(jù)庫設計的目標就是根據(jù)特定的用戶需求及一定計算機軟硬件環(huán)境,設計并優(yōu)化數(shù)據(jù)庫邏輯結構和物理結構,建立高效、安全的數(shù)據(jù)庫,為數(shù)據(jù)庫應用系統(tǒng)的開發(fā)和運行提供良好的平臺。設計一個數(shù)據(jù)庫應該經(jīng)歷6個階段,即需求分析階段、概念結構設計、邏輯結構設計、物理結構設計、數(shù)

30、據(jù)庫實施與運行維護。在第二章我們已經(jīng)完成了需求分析,而物理結構設計基本上都是由數(shù)據(jù)庫管理系統(tǒng)代為完成,數(shù)據(jù)庫實施與運行維護會在第四章介紹。因此本章將重點介紹,數(shù)據(jù)是數(shù)據(jù)的概念結構設計和邏輯結構設計。</p><p>  3.1 概念結構設計</p><p>  將需求分析得到的用戶需求抽象為信息結構(即概念模型)的過程就是概念結構設計,他是整個數(shù)據(jù)庫設計的關鍵。概念結構設計以用戶理解的形式

31、表達信息為目標,這種表達與數(shù)據(jù)庫系統(tǒng)的具體細節(jié)無關,它所涉及的數(shù)據(jù)及其表達獨立于DBMS和計算機硬件,可以在任何DBMS和計算機硬件上實現(xiàn)。</p><p>  概念設計最常用的方法就是E—R圖。一下就是部分E—R圖。</p><p>  以上的E-R盡管不能描述整個數(shù)據(jù)庫,但是已經(jīng)大致看錯數(shù)據(jù)庫的結構。</p><p>  在上面的E-R圖中,我們可以看出,商品沒

32、有單價屬性。這并不是設計者沒有考慮到,而是因為在商品這個實體里放單價這個屬性完全沒有意義。因為一件商品的有多個價格,即采購價、最高采購價、最低銷售價、銷售價、平均采購價、平均銷售價。而且,在商品的各個價格有一定的約束條件,即最低銷售應當大于最高采購價、最高采購價應當大于采購價、最低銷售價應該小于銷售價。</p><p>  在E-R圖中,我們可以看到有了倉庫實體。在指導書上并沒有要求這個實體,但是,設計者經(jīng)過了解

33、得知,銷售公司不可能沒有倉庫,而且必須有倉庫。因為倉庫在銷售過程中起著一個緩沖的作用,對于商品銷售十分有益。</p><p>  另外,在E-R圖中,在聯(lián)系中,我添加了員工編號屬性。設計者認為,任何采購、銷售、存儲的活動都必須有人完成。在聯(lián)系中添加員工編號,這樣任何活動都可以找到對應的負責人。</p><p><b>  3.2 模式轉換</b></p>

34、<p>  概念設計是各種數(shù)據(jù)庫模型的共同基礎。為了能夠用某個DBMS實現(xiàn)用戶需求,還必須將概念結構進一步優(yōu)化為相應的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結構設計所完成的任務。其中,最重要的工作就是模式轉換工作。</p><p>  轉換的原則有(1)一次實體轉換為一個關系模式 (2)一個m:n聯(lián)系轉換為一個關系模式 (3)一個1:n可以轉換為一個關系模式 (4)一個1:1聯(lián)系可以轉換為一個獨立的關系模式 (5

35、)3個或3個以上實體間的一個多元聯(lián)系轉換成一個關系模式。</p><p><b>  主要轉換的表如下:</b></p><p>  商品(商品號,商品名,種類編號,保質期,數(shù)量)</p><p>  顧客(顧客號,顧客名,電話,地址,信用等級編號,預付款)</p><p>  供應商(供應商號,供應商名,電話,地址)&

36、lt;/p><p>  倉庫(倉庫號,倉庫名,電話,地址,容量,管理員員工編號,大?。?lt;/p><p>  采購單(采購編號,供應商編號,商品編號,員工編號,數(shù)量,進價,采購時間)</p><p>  存儲單(存儲號,倉庫名,商品編號,員工編號,方向,數(shù)量,時間)</p><p>  銷售單 (銷售號,顧客好,商品號,員工號,銷售價,數(shù)量,銷售時

37、間)</p><p>  部門(部門號,部門名稱,部門經(jīng)理,簡介)</p><p>  員工(員工號,身份證號,員工姓名,出生時間,性別,郵箱,部門號,職位)</p><p><b>  3.3 范式分析</b></p><p>  范式是衡量關系模式優(yōu)劣的標準,范式表達了關系模式中數(shù)據(jù)依賴應該滿足的要求。要強調的是,規(guī)

38、范化理論主要是為了數(shù)據(jù)庫設計提供理論的指南和參考,并不是關系模式規(guī)范化程度越高,實際應上還必須結合應用環(huán)境和現(xiàn)實世界的具體情況合理選擇數(shù)據(jù)庫模式的范式等級。</p><p>  在實際設計中,范式分析并沒有學習范式時那么復雜。不難看出,以上數(shù)據(jù)關系都是三級范式。</p><p><b>  第四章 數(shù)據(jù)庫實施</b></p><p>  4.1

39、 數(shù)據(jù)庫中表的定義</p><p><b>  代碼見附錄</b></p><p>  4.2視圖、存儲過程、觸發(fā)器的結構和定義</p><p><b>  4.2.1視圖</b></p><p>  在數(shù)據(jù)庫系統(tǒng)中,視圖的作用有</p><p>  視圖能夠簡化用戶的操作&

40、lt;/p><p>  視圖能使用戶能以多種角度看待同一數(shù)據(jù)</p><p>  視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性</p><p>  視圖能夠對機密數(shù)據(jù)庫提供安全保護</p><p>  適當?shù)睦靡晥D可以更清晰、更方便地表達</p><p>  create view avrageofprice(Cno,Av

41、gPrice)</p><p><b>  as</b></p><p>  select Cno,avg(PriceofP) from Purchase</p><p>  Group by cno</p><p>  功能:用于存放商品的平均價格</p><p>  功能:用于存放商品的采購

42、價信息</p><p>  create view ComoPP</p><p><b>  as </b></p><p>  select Comodity.Cno,Cname,Supplier.SupplierNo,Suppliername,PriceofP,PurchaseTime,Unit</p><p>  

43、from Comodity,Purchase,Supplier</p><p>  where Comodity.Cno=Purchase.Cno and Supplier.SupplierNo=Purchase.SupplierNo</p><p>  create view CoQuantity</p><p>  as select Cno,Cname,Qua

44、ntity,Unit</p><p>  from Comodity</p><p>  功能:用于存放商品的總庫存</p><p>  功能:用于存放倉庫的商品庫存</p><p><b>  4.2.2存儲過程</b></p><p>  存儲過程(store Procedure)是在大型數(shù)據(jù)

45、庫系統(tǒng)中,一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中,用戶通過儲存過程的名字并給出參數(shù)(如果存儲過程有參數(shù))來執(zhí)行它。</p><p>  1、insert_departmentinfo ,用于插入部門信息</p><p><b>  代碼:</b></p><p>  USE [ComManagement]</p>

46、<p><b>  GO</b></p><p>  /****** Object: StoredProcedure [dbo].[insert_departmentinfo] Script Date: 06/21/2012 09:48:04 ******/</p><p>  SET ANSI_NULLS ON</p><p

47、><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  ALTER procedure [dbo].[insert_departmentinfo]</p><p>  (@Departmen

48、tNo char(5),@DepartmentName varchar(20) ,@Manager varchar (20),@BriefIntroduction varchar(100))</p><p><b>  as</b></p><p>  insert into Department(DepartmentNo,DepartmentName,Manager

49、,BriefIntroduction)values(@DepartmentNo,@DepartmentName,@Manager,@BriefIntroduction)</p><p>  2、insert_staffinfo,用于插入員工信息</p><p><b>  代碼:</b></p><p>  USE [ComManagement

50、]</p><p><b>  GO</b></p><p>  /****** Object: StoredProcedure [dbo].[insert_staffinfo] Script Date: 06/21/2012 09:49:39 ******/</p><p>  SET ANSI_NULLS ON</p>

51、<p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  ALTER procedure [dbo].[insert_staffinfo] @StaffNo char (10),@PersonId cha

52、r (18),@StaffName varchar (10) ,@BOrnTime smalldatetime ,@Sex char (2),@Email varchar(30),@DepartmentNo char(5),@position varchar(10)</p><p><b>  as</b></p><p>  insert into Staff v

53、alues(@StaffNo ,@PersonId,@StaffName ,@BOrnTime ,@Sex ,@Email ,@DepartmentNo, @position) </p><p>  3、insert_supplier,用于插入供應商</p><p><b>  代碼:</b></p><p>  USE [ComManag

54、ement]</p><p><b>  GO</b></p><p>  /****** Object: StoredProcedure [dbo].[insert_supplier] Script Date: 06/21/2012 09:50:46 ******/</p><p>  SET ANSI_NULLS ON</p&

55、gt;<p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><p><b>  GO</b></p><p>  ALTER procedure [dbo].[insert_supplier] @SupplierNo char(10),@Supplie

56、rName varchar(20),@Phone char(15),@Address varchar(50)</p><p><b>  as</b></p><p>  insert into Supplier values(@SupplierNo,@SupplierName,@Phone,@Address)</p><p>  功能:在實際

57、應用中,筆者發(fā)現(xiàn)在前臺調用數(shù)據(jù)庫的存儲過程比較麻煩,需要在前臺定義參數(shù)。相對于在前臺直接使用嵌入式sql語言,前臺調用數(shù)據(jù)庫存儲過程還是比復雜。</p><p><b>  4.2.3觸發(fā)器</b></p><p>  觸發(fā)器(trigger)是一個特殊的存儲過程,它的執(zhí)行不是程序調用,也不是手動啟動,比如相對一個表操作(insert,delete,update)時,

58、就會激活它執(zhí)行。</p><p><b>  1、</b></p><p>  create trigger purchaseinsert1</p><p>  on Purchase</p><p>  after insert</p><p><b>  as</b>&l

59、t;/p><p>  update Comodity set Quantity=Quantity+inserted.NumberofP</p><p>  from Comodity,inserted</p><p><b>  where</b></p><p>  Comodity.Cno=inserted.Cno<

60、;/p><p>  功能:插入采購單后,商品的數(shù)據(jù)自動增加</p><p><b>  2、</b></p><p>  create trigger saleinsert</p><p><b>  on Sale</b></p><p>  after insert</

61、p><p><b>  as</b></p><p>  if (select Quantity from Comodity,inserted where Comodity.Cno=inserted.Cno)<(Select NumberofS from inserted)</p><p><b>  begin</b>

62、</p><p>  print 'the stock is lack'</p><p>  rollback transaction</p><p><b>  end</b></p><p>  功能:插入銷售單時,如果銷售數(shù)量大于存儲量</p><p><b>  

63、3、</b></p><p>  create trigger Store_add</p><p><b>  on store</b></p><p>  after insert</p><p><b>  as</b></p><p>  if (selec

64、t Direction from inserted)='進'</p><p><b>  begin</b></p><p>  if (NOT EXISTS (select WC.Cno from WC,inserted where WC.Cno=inserted.Cno and inserted.WarhouseNo=WC.WarhouseNo))

65、</p><p>  insert into WC select WarhouseNo,Cno,Numberof from inserted </p><p><b>  else </b></p><p><b>  update WC</b></p><p>  set sort=sort+

66、inserted.Numberof </p><p>  from inserted,WC</p><p><b>  where</b></p><p>  WC.Cno=inserted.Cno and inserted.WarhouseNo=WC.WarhouseNo </p><p><b>  end

67、</b></p><p><b>  else</b></p><p><b>  begin </b></p><p>  if (select sort from WC,inserted where WC.Cno=inserted.Cno and inserted.WarhouseNo=WC.Warhous

68、eNo)<(select Numberof from inserted)</p><p>  print'倉庫庫存不足!';</p><p>  rollback transaction;</p><p><b>  end</b></p><p>  功能:插入存儲單時,如果是存進,在把插入的數(shù)量

69、自動加到庫存數(shù)量上。如果是存出,則檢測數(shù)量十分大于庫存,如果大于,則撤銷,如果小于,就將倉庫的存儲量減少。</p><p><b>  4、</b></p><p>  USE [ComManagement]</p><p><b>  GO</b></p><p>  /****** Object

70、: Trigger [dbo].[insert_CP2] Script Date: 06/21/2012 00:33:07 ******/</p><p>  SET ANSI_NULLS ON</p><p><b>  GO</b></p><p>  SET QUOTED_IDENTIFIER ON</p><

71、p><b>  GO</b></p><p>  ALTER trigger [dbo].[insert_CP2]</p><p>  on [dbo].[CP]</p><p>  for update as</p><p>  DECLARE @Price1 decimal(18,5)</p>&

72、lt;p>  DECLARE @Price2 decimal(18,5)</p><p>  select @Price1=采購最高價 from inserted</p><p>  select @price2=銷售最低價 from inserted</p><p>  if @price2!=0</p><p><b> 

73、 begin</b></p><p>  if @Price1>=@price2</p><p><b>  begin </b></p><p>  print ('定價不合理')</p><p>  rollback transaction</p><p>

74、<b>  end</b></p><p><b>  end</b></p><p><b>  else</b></p><p><b>  begin</b></p><p><b>  commit</b></p>

75、<p><b>  end</b></p><p>  功能:確保劃價時,銷售最低價大于采購最高價</p><p>  第五章 系統(tǒng)設計實現(xiàn)</p><p>  這部分的設計是在前面的各項系統(tǒng)分析的基礎上進行的總體結構設計以及具體的模塊設計,為以后的程序設計制訂藍圖。為確定系統(tǒng)結構,必須從實現(xiàn)的角度把復雜的功能進一步分解。通常程序

76、中的一個模塊完成一個適當?shù)淖庸δ?。應該把模塊組織成良好的層次系統(tǒng),頂層模塊調用它的下層模塊以實現(xiàn)程序的完整功能,每個下層模塊再調用更下層的模塊,從而完成程序的一個子功能,最下層的模塊完成最具體的功能,便于使用者使用該系統(tǒng)。</p><p>  在代碼編制的過程中,筆者遵循的是Google 代碼規(guī)范。在所有會出現(xiàn)異常的地方,都使用了try {} catch{}語句。這樣大大減少了系統(tǒng)崩潰的可能性。</p>

77、;<p>  5.1 銷售管理系統(tǒng)主要功能模塊詳細設計</p><p>  5.1.1銷售管理系統(tǒng)的登錄界面的設計:</p><p>  用戶登錄頁面比較簡單,為防止用戶的錯誤操作,應設置錯誤處理頁面。在登錄操作中,一般發(fā)生的錯誤有:用戶輸入了錯誤的用戶名或密碼;或用戶直接單擊了【登錄】按鈕。</p><p>  如果第一次密碼錯誤,密碼清空,平且要求

78、輸入驗證碼。</p><p>  5.1.2 基礎信息模塊</p><p>  下面是系統(tǒng)的主界面,由于登錄者的權限不同,主菜單的訪問權限也不同,圖5-3是擁有所有權限的界面,圖5-4是擁有采購經(jīng)理權限的界面。</p><p>  5.1.3采購管理模塊</p><p>  該模塊的主要管理:商品種類錄入,商品錄入,商品采購價劃價,商品采購

79、錄入,商品采購價查詢。</p><p>  為了便于管理,在“圖5-6界面”錄入商品前必須在“圖5-5界面”中添加商品種類。添加后種類后,在“5-6界面”的種類選項中會自動種類號提供用戶選擇。這樣大大方便了用戶。這就是C#中的Combox的綁定技術,在這個系統(tǒng)中,有很多地方都使用到了這項技術。</p><p>  在“圖5-8界面”添加采購單前,必須先劃價,否則在添加采購單前,會彈出“圖5

80、-9界面”的錯誤。</p><p>  由于不同供應商提供的商品的價格是不一樣的,甚至同一個供應商提供的商品的價格也是不一樣的,所以我添加了“圖5-10”的查詢價格功能,并且能算出該商品的平均價格。</p><p>  “圖5-11界面”提供了按供應商編號查詢商品價格的功能</p><p>  5.1.4倉庫管理模塊</p><p>  該模

81、塊的主要是:倉庫管理和庫存管理。</p><p>  由于時間有限,筆者在前臺功能實現(xiàn)時,所用時間最多的就是該功能模塊,所以該模塊的功能最全,最完整,最安全。添加/修改/刪除倉庫信息和倉庫信息查詢最為簡單,所有就不再介紹。</p><p>  在添加過庫存后,該倉庫的該商品的數(shù)量會自動增加,可以通過“圖5-16”查看。如果減少庫存時,觸發(fā)器會自動檢測,如果出貨大于倉庫存貨,就會彈出“圖5-

82、17”的警告,并且撤銷操作。</p><p>  5.1.4銷售管理模塊</p><p>  該模塊主要管理:添加信用等級,添加顧客,添加銷售單。</p><p>  5.1.5員工管理模塊</p><p>  之所以添加這個模塊,除了是為了明確責任,還給系統(tǒng)分配權限提供了方便??傮w上,我根據(jù)“銷售部經(jīng)理,銷售部職員,采購部經(jīng)理,采購部職員,

83、倉庫部經(jīng)理,倉庫職員,系統(tǒng)管理員”劃分了7個不同的權限。</p><p>  5.1.6系統(tǒng)設置模塊</p><p>  第六章 系統(tǒng)的調試與測試</p><p><b>  6.1調 試</b></p><p>  調試與測試意義是不同的,測試的目標是發(fā)現(xiàn)系統(tǒng)中的錯誤,但發(fā)現(xiàn)錯誤并非我們的最終目的,系統(tǒng)開發(fā)的最終目

84、的是高質量的完全符合用戶需要的信息系統(tǒng)。因此系統(tǒng)必須進行調試,它總是發(fā)生在測試之后,準確判定錯誤位置以及具體的出錯情況,繼而進行改正以排除錯誤。調試過程從執(zhí)行一個測試用例開始,評估測試結果,如果發(fā)現(xiàn)實際結果與預期結果不一致,則這種不一致就是一種癥狀,它表明在軟件中存在著隱藏的問題。調試過程試圖找出產(chǎn)生癥狀的原因,以便改正錯誤。</p><p>  6.1.1 程序調試</p><p>  

85、(1)用正常數(shù)據(jù)調試</p><p>  例如:在站內搜索的時候可以輸入一些商品的品牌和型號等數(shù)據(jù)進行調試。</p><p> ?。?)用異常數(shù)據(jù)調試</p><p>  例如:在站內搜索的時候可以輸入一些非正常數(shù)據(jù)(除商品的品牌和型號)進行調試。</p><p> ?。?)用錯誤數(shù)據(jù)調試</p><p>  例如:在

86、提交訂單的時候可以輸入一些錯誤數(shù)據(jù)(如用戶郵箱)進行調試。</p><p><b>  6.1.2 分調</b></p><p>  分調的目的主要是保證內部控制關系正確和數(shù)據(jù)內容正確,同時測試模塊的運轉效率。</p><p>  例如:在訂單信息輸入后,進行返回的操作,此時查看系統(tǒng)是否會出現(xiàn)異常反應。</p><p>

87、<b>  6.1.3 總調</b></p><p>  總調是將主控制調度程序和功能模塊聯(lián)結起來調試,對系統(tǒng)各種可能使用的形態(tài)及組合在軟件中的流通情況進行可行性調試。這一階段最容易查出系統(tǒng)中屬于相互關系方面的錯誤和缺陷。</p><p>  例如,在訂單提交完之后,對訂單受理,看是否成功。如沒有接受新訂單就受理,看是否會有錯誤提示,以類似此類的操作來對整個系統(tǒng)進行總

88、調。</p><p><b>  6.2測試</b></p><p>  系統(tǒng)測試是管理信息系統(tǒng)開發(fā)周期中一個十分重要而漫長的階段。其重要性體現(xiàn)在它是保證系統(tǒng)質量與可靠性的最后關口,是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設計和系統(tǒng)實現(xiàn)的最終審查。在系統(tǒng)測試中發(fā)現(xiàn)的錯誤可能是各式各樣的,按其范圍和性質可劃分為功能錯誤、系統(tǒng)錯誤、過程錯誤、數(shù)據(jù)錯誤以及編碼錯誤幾類。<

89、;/p><p>  由于系統(tǒng)比較大,需要實現(xiàn)的功能較多,測試時很困難。我在實際調試過程中,采用的程序測試方法為:</p><p>  (1)黑盒測試法。把程序看作一個黑盒子,完全不考慮程序的內部結構和處理過程。也就是說,黑盒測試是在程序接口進行的測試,它只檢查程序功能是否按照軟件的需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運行過程中能否保持外部信息(如

90、數(shù)據(jù)庫或文件)的完整性。它又稱為功能測試。</p><p> ?。?)白盒測試法。它的前提是可以把程序看成裝在一個透明的白盒子里,測試者完全知道程序的內部結構和處理算法。這種方法按照程序內部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預定要求正確工作。它又稱為結構測試。</p><p><b>  第七章 總 結</b></p><p>

91、;  通過這次課程設計,我對C#開發(fā)和Sql Sever,有了一定的認識,對面向對象的開發(fā)方法有了更深刻地了解,豐富了軟件開發(fā)的經(jīng)驗,提高了編程的水平,加深理解了許多課程中、書本上學到的知識和理論。同時通過編寫畢業(yè)設計論文,我還掌握了軟件文檔的書寫方法和書寫格式。</p><p>  由于時間比較倉促,再加上自己的實際開發(fā)經(jīng)驗比較少,所以軟件還有許多不完善的地方,有些功能實現(xiàn)得并不理想。在已經(jīng)完成的程序中,也存在

92、許多不盡人意的代碼和數(shù)據(jù)結構。而這也讓我充分認識到了軟件編制的困難程度。對軟件的編制速度、復雜程度也有了充分的認識,對以后進行更為復雜和更大的設計任務打下了堅實的基礎。同時也更深入地領會到理論是實踐的基礎,一個好的算法和設計方案可以事半功倍。</p><p><b>  參考文獻:</b></p><p>  1.《數(shù)據(jù)庫原理及應用》 錢雪忠 主編 北京郵電大學出

93、版社 2010,6, 第三版</p><p>  2.《數(shù)據(jù)庫原理及應用實驗指導》 錢雪忠 主編 北京郵電大學出版社 2010,6, 第三版</p><p>  3.《Visual C#.net 開發(fā)技術遠離與實踐教程 》 夏敏捷 遍 電子工業(yè)出版社</p><p><b>  附錄</b></p><p> 

94、 use ComManagement</p><p>  Create table Kind </p><p><b>  (</b></p><p>  KindNo char (5) primary key,</p><p>  NameofKind varchar (50) not null</p>

95、<p><b>  )</b></p><p>  Create table Comodity </p><p><b>  (</b></p><p>  Cno char (10) primary key,</p><p>  Cname varchar (50) not null,&

96、lt;/p><p>  KindNo char (5) not null constraint C_K foreign key references Kind (KindNo),</p><p>  Wight decimal not null</p><p><b>  )</b></p><p>  Create tab

97、le Credit </p><p><b>  (</b></p><p>  CreditConditionNo char(5) primary key,</p><p>  MaxLoan varchar (10) </p><p><b>  )</b></p><p&g

98、t;  Create table Consumer</p><p><b>  (</b></p><p>  ConsumerNo char(11) primary key,</p><p>  ConsumerName varchar(20) not null,</p><p>  Phone char(15) no

99、t null,</p><p>  Address varchar(50) not null,</p><p>  CreditConditionNo char(5) constraint C_C foreign key references Credit(CreditConditionNo),</p><p>  AdvancedMoney decimal def

100、ault 0 check(AdvancedMoney>=0) </p><p><b>  )</b></p><p>  Create table Warhouse</p><p><b>  (</b></p><p>  WarhouseNo char (10) primary key

101、,</p><p>  WarhouseName varchar (20) not null,</p><p>  Phone char (15) not null,</p><p>  Address varchar (50) not null,</p><p>  Capcity int not null</p><p

102、><b>  )</b></p><p>  Create table Supplier</p><p><b>  (</b></p><p>  SupplierNo char (10) primary key,</p><p>  SupplierName varchar (20) no

103、t null,</p><p>  Phone char(15) not null,</p><p>  Address varchar(50) not null,</p><p><b>  )</b></p><p>  Create table Staff </p><p><b>

104、;  (</b></p><p>  StaffNo char (10) primary key,</p><p>  PersonId char (18) not null,</p><p>  StaffName varchar (10) not null,</p><p>  BOrnTime datetime not nu

105、ll,</p><p>  Sex char (2) default '男' check (Sex in ('男','女')),</p><p>  Email varchar (30),</p><p>  DepartmentNo char (5)</p><p><b>  )

106、</b></p><p>  Create table Department</p><p><b>  (</b></p><p>  DepartmentNo char (5) primary key,</p><p>  DepartmentName varchar(20) not null,</

107、p><p>  Manager varchar (20) not null,</p><p>  BriefIntroduction varchar(100) </p><p><b>  )</b></p><p>  Create table Store</p><p><b>  (&

108、lt;/b></p><p>  WarhouseNo char (10)constraint St_W foreign key references Warhouse(WarhouseNo) ,</p><p>  Cno char (10)constraint St_C foreign key references Comodity(Cno),</p><p&

109、gt;  StaffNo char (10) constraint St_S foreign key references Staff(StaffNo),</p><p>  StoreNo int identity not null,</p><p>  Direction char (2) not null,</p><p>  Numberof int

110、 not null,</p><p>  Timeof datetime not null,</p><p>  constraint St primary key (WarhouseNo,Cno,StaffNo)</p><p><b>  ) </b></p><p>  Create table Purchase&

111、lt;/p><p><b>  (</b></p><p>  SupplierNo char (10)constraint P_W foreign key references Supplier(SupplierNo) ,</p><p>  Cno char (10)constraint P_C foreign key references C

112、omodity(Cno),</p><p>  StaffNo char (10) constraint P_S foreign key references Staff(StaffNo),</p><p>  PurchaseNo int identity not null,</p><p>  NumberofP int not null,</p&

113、gt;<p>  PriceofP decimal not null,</p><p>  PurchaseTime datetime not null</p><p>  constraint P primary key (SupplierNo,Cno,StaffNo)</p><p><b>  ) </b></p>

114、;<p>  Create table Sale </p><p><b>  (</b></p><p>  ConsumerNo char(11) constraint Sa_ConsumerNo foreign key references Consumer(ConsumerNo),</p><p>  Cno char

115、 (10)constraint Sa_C foreign key references Comodity(Cno),</p><p>  StaffNo char (10) constraint Sa_S foreign key references Staff(StaffNo),</p><p>  StoreNo int identity not null,</p>

116、<p>  SaleofP int not null,</p><p>  NumberofS int not null,</p><p>  SaleTime datetime not null</p><p>  constraint Sa primary key (ConsumerNo,Cno,StaffNo)</p><p&

117、gt;<b>  )</b></p><p>  Create table Login</p><p><b>  (</b></p><p>  StaffNo char (10)primary key,</p><p>  PassWord varchar (20),</p>&l

溫馨提示

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

評論

0/150

提交評論