![網(wǎng)上銷售訂單管理系統(tǒng)論文_第1頁(yè)](http://file4.renrendoc.com/view/51e11146423174c6dbfde501ce5fa568/51e11146423174c6dbfde501ce5fa5681.gif)
![網(wǎng)上銷售訂單管理系統(tǒng)論文_第2頁(yè)](http://file4.renrendoc.com/view/51e11146423174c6dbfde501ce5fa568/51e11146423174c6dbfde501ce5fa5682.gif)
![網(wǎng)上銷售訂單管理系統(tǒng)論文_第3頁(yè)](http://file4.renrendoc.com/view/51e11146423174c6dbfde501ce5fa568/51e11146423174c6dbfde501ce5fa5683.gif)
![網(wǎng)上銷售訂單管理系統(tǒng)論文_第4頁(yè)](http://file4.renrendoc.com/view/51e11146423174c6dbfde501ce5fa568/51e11146423174c6dbfde501ce5fa5684.gif)
![網(wǎng)上銷售訂單管理系統(tǒng)論文_第5頁(yè)](http://file4.renrendoc.com/view/51e11146423174c6dbfde501ce5fa568/51e11146423174c6dbfde501ce5fa5685.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著科學(xué)技術(shù)的不斷提高,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),“現(xiàn)代化管理”的理念隨之也成為企業(yè)發(fā)展的原動(dòng)力?!艾F(xiàn)代化管理”手段具有檢索迅速、可靠性高、存儲(chǔ)量大、保密性好等優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大的提高一個(gè)企業(yè)、公司銷售管理的效率。利用網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù),基于B/S模式開(kāi)發(fā)了網(wǎng)上銷售訂單管理系統(tǒng)這一ASP.NET應(yīng)用程序。本系統(tǒng)開(kāi)發(fā)平臺(tái)采用VisualStudio2005,開(kāi)發(fā)語(yǔ)言采用C#,后臺(tái)數(shù)據(jù)庫(kù)采用SQLServer2005。本系統(tǒng)是一個(gè)典型的信息管理系統(tǒng)(MIS),它運(yùn)用方便,操作簡(jiǎn)單,效率很高,實(shí)現(xiàn)了對(duì)銷售訂單登記、訂單確認(rèn)、貨物發(fā)送、訂單查詢及退貨結(jié)賬等功能。它取代了傳統(tǒng)的手工對(duì)訂單管理,從而減少了銷售數(shù)據(jù)誤差并實(shí)現(xiàn)了數(shù)據(jù)規(guī)范化,能夠滿足銷售單位高效管理要求。本文介紹了網(wǎng)上銷售訂單管理系統(tǒng)的開(kāi)發(fā)工具、開(kāi)發(fā)平臺(tái);系統(tǒng)需求分析部分主要包括業(yè)務(wù)流程圖、數(shù)據(jù)流圖、功能需求等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)及代碼設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分說(shuō)明了幾個(gè)主要模塊的算法,并附帶了一些主要的窗口和程序。關(guān)鍵詞銷售管理;訂單管理;結(jié)賬處理AbstractWiththecontinuousimprovementofthescience&technology,itsgreatfunctionhasbeenrecognizeddeeplybyhuman,alongwiththat“themodernmanagement”alsobecomesthemotilityofbusinessdevelopment.“Themodernmanagement”hassuchadvantageslikerapidsearching,highreliability,largestoragelevel,goodconfidentiality,andsoon.Theseadvantagescouldincreasetheefficiencyofabusinessorcompany’ssalesmanagementinalargeextent.Byuseoftheskillofnetworkanddatabase,wedeveloptheordercontrolofonlinemarketingwhichisanASP.NETapplicationprogramthatbaseonB/Smode.ThissystemdevelopmentplatformadoptsVisualStudio2005,thedevelopmentlanguageadoptsC#,thebackgrounddatabaseadoptstheSQLServer2005.ThissystemisatypicalManagementInformationSystem(MIS)thatisveryconvenienttohandle,easytooperate,highefficiency,couldcarryouttheregistrationofsalesorder,confirmationoforder,deliveryofgoods,orderinquires,goodsreturnedandsettleaccount,andsoonfunctions.Ittakestheplaceofthetraditionalhandworkordercontrol,thusreducesthesalesdataerrorandcompletesthedata’sstandardization,couldsatisfytherequirementabouthighefficiencymanagementofmarketingunit.Thisarticleintroducesthedevelopmentinstrumentanddevelopmentlatformoftheordercontrolofonlinemarketing;systemrequirementsanalysiscontainsoperationflowchart,dataflowchart,functionalrequirements;systemdesignmainlyintroducesthesystemfunctionaldesign,databasedesignandcodedesign;systemimplementationexplainsthealgorithmaboutsomemajormodule,andwithsomemainwindowsandprograms.Keywordssalesmanagementordercontrolsettleaccount
目錄TOC\o"1-3"\u摘要 IAbstract II第1章緒論 頁(yè)第1章緒論1.1課題背景隨著科學(xué)技術(shù)與網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,“現(xiàn)代化管理”的理念已成為企業(yè)發(fā)展的原動(dòng)力。產(chǎn)品銷售管理歷來(lái)是企業(yè)管理中重要的組成部分,一個(gè)大型公司每天要完成的銷售訂單事務(wù)十分繁瑣復(fù)雜,并且業(yè)務(wù)涉及多個(gè)不同的客戶,但傳統(tǒng)的銷售管理是以人員管理為主,這種管理方式存在著許多缺點(diǎn),因此銷售訂單管理系統(tǒng)對(duì)企業(yè)有著十分重要的意義。訂單管理系統(tǒng)(OMS)是物流管理系統(tǒng)的一部分,通過(guò)對(duì)客戶下達(dá)的訂單進(jìn)行管理及跟蹤,動(dòng)態(tài)掌握訂單的進(jìn)展和完成情況,提升物流過(guò)程中的作業(yè)效率,從而節(jié)省運(yùn)作時(shí)間和作業(yè)成本,提高物流企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力。訂單管理系統(tǒng)的主要功能是通過(guò)統(tǒng)一訂單提供用戶整合的一系列供應(yīng)鏈服務(wù),訂單管理以及訂單跟蹤管理能夠使用戶的物流服務(wù)得到全程的滿足。訂單管理系統(tǒng)是物流管理鏈條中的不可或缺的部分,通過(guò)對(duì)訂單的管理和分配,使倉(cāng)儲(chǔ)管理和運(yùn)輸管理有機(jī)的結(jié)合,穩(wěn)定有效地實(shí)現(xiàn)物流管理中各個(gè)環(huán)節(jié)充分發(fā)揮作用,使倉(cāng)儲(chǔ)、運(yùn)輸、訂單成為一個(gè)有機(jī)整體,滿足物流系統(tǒng)信息化的需求。銷售訂單管理是對(duì)商戶下達(dá)的各種指令進(jìn)行管理、查詢、修改等功能,同時(shí)將業(yè)務(wù)部門處理信息反饋至商戶。銷售訂單管理系統(tǒng)一般包括:訂單登記,訂單確認(rèn),訂單狀態(tài)管理等?!艾F(xiàn)代化管理”手段具有檢索迅速、可靠性高、存儲(chǔ)量大、保密性好等優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大的提高一個(gè)企業(yè)、公司銷售管理的效率?,F(xiàn)代市場(chǎng)要求一個(gè)企業(yè)、公司在瞬息萬(wàn)變的商業(yè)領(lǐng)域內(nèi)及時(shí)獲取全面具體信息,快速準(zhǔn)確的地做出決策,因此對(duì)銷售訂單管理系統(tǒng)的開(kāi)發(fā)與應(yīng)用是必不可少的。1.2課題意義借助現(xiàn)代信息技術(shù)和管理理論,建立企業(yè)、公司管理信息系統(tǒng)是當(dāng)今社會(huì)的重要趨勢(shì)。在企業(yè)、公司管理中,人力資源是企業(yè)最寶貴的資源,也是企業(yè)的“生命線”,而產(chǎn)品銷售管理又是企業(yè)、公司資源管理的重中之重。實(shí)行電子化的銷售信息管理,可以讓銷售管理人員從繁重瑣碎的案頭工作解脫出來(lái),去完成更重要的工作。銷售訂單管理系統(tǒng)它的開(kāi)發(fā)意義在于:首先提高各廠商之間的合作效率,促進(jìn)聯(lián)盟的建立,增強(qiáng)企業(yè)在市場(chǎng)上的競(jìng)爭(zhēng)力;而且可以使移動(dòng)辦公的銷售人員能夠及時(shí)的遠(yuǎn)程訪問(wèn)公司發(fā)布的應(yīng)用系統(tǒng)。其次銷售管理系統(tǒng)幫助用戶監(jiān)督產(chǎn)品銷售的全過(guò)程。使用戶和銷售人員十分清晰的了解到企業(yè)內(nèi)部的各個(gè)方面的信息。以銷售訂單為中心,動(dòng)態(tài)跟蹤銷售訂單的執(zhí)行情況,以及銷售訂單的賬款情況。通過(guò)交期回答功能,銷售人員能準(zhǔn)確提供交貨日期及輕松掌握企業(yè)產(chǎn)品的銷售情況。通過(guò)與庫(kù)存管理、生產(chǎn)管理、財(cái)務(wù)管理等系統(tǒng)的無(wú)縫銜接,使企業(yè)生產(chǎn)的產(chǎn)品符合用戶、客戶的個(gè)性化要求。1.3系統(tǒng)設(shè)計(jì)思想1.3.1系統(tǒng)開(kāi)發(fā)模式本系統(tǒng)采用B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。B/S結(jié)構(gòu),主要是利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語(yǔ)言(VBScript、JavaScript等)和ActiveX技術(shù),用通用瀏覽器實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。內(nèi)容繁多的使用說(shuō)明書和花費(fèi)許多時(shí)間的培訓(xùn),并不能稱為“良好的售后服務(wù)”,真正好的產(chǎn)品的功能越來(lái)越復(fù)雜的同時(shí)應(yīng)該使產(chǎn)品的使用越來(lái)越簡(jiǎn)單。用瀏覽器作為軟件界面不但容易統(tǒng)一各種應(yīng)用系統(tǒng),也非常方便使用。無(wú)論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行,如果是異地只需要把服務(wù)器連接到網(wǎng)即可立即進(jìn)行維護(hù)和升級(jí),這對(duì)人力、時(shí)間、費(fèi)用的節(jié)省是相當(dāng)驚人的。使用B/S只需要管理服務(wù)器就行了,所謂的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。所以客戶機(jī)越來(lái)越“瘦”,而服務(wù)器越來(lái)越“胖”是將來(lái)軟件的主流發(fā)展方向,這使得升級(jí)和維護(hù)越來(lái)越容易使用越來(lái)越簡(jiǎn)單。根據(jù)上面的介紹,用Browser/Server結(jié)構(gòu)來(lái)設(shè)計(jì)網(wǎng)上銷售訂單管理系統(tǒng)是合理可行的,而且是先進(jìn)的。1.3.2系統(tǒng)開(kāi)發(fā)平臺(tái)本系統(tǒng)開(kāi)發(fā)平臺(tái)采用ASP.NET,它是微軟公司的應(yīng)用開(kāi)發(fā)平臺(tái),是.NET框架中的一個(gè)核心部分,是目前流行的動(dòng)態(tài)服務(wù)器主頁(yè)(ActiveServerPage,ASP)技術(shù)的下一代產(chǎn)品。ASP.NET是一個(gè)完整的、可擴(kuò)展的Web
應(yīng)用程序開(kāi)發(fā)框架,它提出了一種用于創(chuàng)建內(nèi)容豐富的動(dòng)態(tài)網(wǎng)站、Web應(yīng)用程序和XMLWeb服務(wù)的新編程模型。與以往的編程模型相比,這種新編程模型提供了基于組件的架構(gòu)和開(kāi)發(fā)的范型。ASP.NET繼承了.NET框架中的編程模型,這種新的應(yīng)用開(kāi)發(fā)平臺(tái)可以把C++、Java等面向?qū)ο笳Z(yǔ)言的特征與MicrosoftVisualBasic語(yǔ)言簡(jiǎn)易開(kāi)發(fā)的能力相互結(jié)合起來(lái)。.NET框架的特征是運(yùn)行期執(zhí)行環(huán)境和在其上層的豐富類庫(kù)。它對(duì)多語(yǔ)言的支持和豐富的自定義控件編制,這些都有利于程序的開(kāi)發(fā)。雖然ASP與ASP.NET都用來(lái)開(kāi)發(fā)Web應(yīng)用程序,但ASP.NET運(yùn)行的方式和ASP差異有天壤之別。當(dāng)用戶發(fā)出一個(gè)ASPX網(wǎng)頁(yè)的要求后,ASP.NET引擎(xspisapi.dll)會(huì)將ASPX的網(wǎng)頁(yè)轉(zhuǎn)換成源程序代碼(SourceCode),然后編譯成一個(gè)DLL文件,接著將網(wǎng)頁(yè)當(dāng)成一個(gè)類(Class),在內(nèi)存中建立此對(duì)象的實(shí)體(ObjectInstance)并進(jìn)行初始化操作。最后才將執(zhí)行結(jié)果返回到客戶端。ASP.NET運(yùn)行過(guò)程如圖1-1所示。圖1-1ASP.NET運(yùn)行過(guò)程VisualStudio2005與ASP.NET2.0相結(jié)合增加了許多功能:1.ASP.NET2.0是編譯好的公共語(yǔ)言運(yùn)行庫(kù)代碼,代碼運(yùn)行在服務(wù)器上。它可以利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化服務(wù),相當(dāng)于在編碼前就提高了應(yīng)用程序性能。2.ASP.NET2.0框架補(bǔ)充了VisualStudio2005集成開(kāi)發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。3.ASP.NET2.0執(zhí)行常見(jiàn)任務(wù)變得容易,并且采用基于文本的分層配置系統(tǒng),簡(jiǎn)化了程序的開(kāi)發(fā)過(guò)程。4.VisualStudio2005集成了大量的新增控件并且簡(jiǎn)化了代碼的編寫,提高了編程效率,可靈活編寫用戶自定義控件,方便了編程。從技術(shù)的先進(jìn)性、成熟性、程序執(zhí)行效率來(lái)講采用ASP.NET技術(shù)都有利于程序開(kāi)發(fā)。1.3.3系統(tǒng)運(yùn)行環(huán)境1.軟件運(yùn)行平臺(tái)本系統(tǒng)設(shè)計(jì)運(yùn)行在Windows2000/NT/XP操作環(huán)境下,因?yàn)樵撓到y(tǒng)界面友好,易學(xué)易用為大多數(shù)辦公人員所熟悉并且價(jià)格適中。系統(tǒng)軟件:Windows2000/NT/XP數(shù)據(jù)庫(kù):SQLServer2005IIS:IIS5.0或IIS6.0瀏覽器:IE5.0以上版本2.硬件運(yùn)行平臺(tái)本系統(tǒng)對(duì)服務(wù)器硬件的基本標(biāo)準(zhǔn)如下:CUP:P4或者更高級(jí)別的處理器內(nèi)存:512MB以上硬盤空間:10G以上顯示器:普通彩色顯示器鍵盤:普通標(biāo)準(zhǔn)鍵盤鼠標(biāo):機(jī)械鼠1.3.4系統(tǒng)設(shè)計(jì)原則對(duì)于開(kāi)發(fā)一個(gè)大型的計(jì)算機(jī)管理系統(tǒng),尤其是在企業(yè)銷售運(yùn)作中扮演重要角色的銷售訂單管理系統(tǒng),必須滿足企業(yè)銷售過(guò)程中管理上的要求。本系統(tǒng)考慮了最為普遍的銷售訂單管理需求,是針對(duì)一般銷售公司而設(shè)計(jì),在考慮系統(tǒng)功能的同時(shí)也對(duì)操作界面的設(shè)計(jì)進(jìn)行了統(tǒng)一規(guī)劃以使操作界面友好。采用B/S結(jié)構(gòu),用戶端只需要密碼登錄,不需要安裝程序,便于系統(tǒng)維護(hù)和保密。本系統(tǒng)的設(shè)計(jì)按照下述原則進(jìn)行:1.實(shí)用性:系統(tǒng)以用戶需求為目標(biāo),以方便用戶為原則,同時(shí)融入先進(jìn)的管理經(jīng)驗(yàn)。系統(tǒng)界面友好,操作簡(jiǎn)單,企業(yè)的工作人員只需掌握一些基本電腦使用方面的知識(shí),要求會(huì)打字,這樣簡(jiǎn)單進(jìn)行培訓(xùn)能夠輕松使用本系統(tǒng),無(wú)須企業(yè)花費(fèi)多少財(cái)力物力來(lái)培訓(xùn)員工。2.先進(jìn)性:本設(shè)計(jì)將充分應(yīng)用現(xiàn)有成熟的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、軟件開(kāi)發(fā)技術(shù),為用戶提供高性能的系統(tǒng)。數(shù)據(jù)庫(kù)采用SQLServer2005,開(kāi)發(fā)平臺(tái)選用MicrosoftVisualStudio2005。3.高可靠性:一個(gè)實(shí)用的系統(tǒng)同時(shí)必須是可靠的,本設(shè)計(jì)通過(guò)合理而先進(jìn)的網(wǎng)絡(luò)設(shè)計(jì)以及軟、硬件的優(yōu)化選型,可保證系統(tǒng)的可靠性與容錯(cuò)性。4.高安全性:在設(shè)計(jì)中,將充分利用網(wǎng)絡(luò)軟、硬件提供的各種安全措施,既可以保證用戶共享資源,同時(shí)也可保證關(guān)鍵數(shù)據(jù)的安全性。系統(tǒng)將運(yùn)用先進(jìn)的B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),為不同用戶設(shè)定不同權(quán)限,便于系統(tǒng)維護(hù)和保密。5.采用標(biāo)準(zhǔn)技術(shù):本系統(tǒng)的所有設(shè)計(jì)遵循國(guó)際上現(xiàn)行的標(biāo)準(zhǔn)進(jìn)行,以提高系統(tǒng)的開(kāi)放性。6.可維護(hù)性:系統(tǒng)的設(shè)計(jì)要求方便維護(hù),包括硬件的維護(hù),軟件的維護(hù)(更改,升級(jí)等)和網(wǎng)絡(luò)的維護(hù)。7.可擴(kuò)展性及靈活性:系統(tǒng)的設(shè)計(jì)以方便未來(lái)業(yè)務(wù)的擴(kuò)展和系統(tǒng)擴(kuò)充為目標(biāo),系統(tǒng)要求能夠方便的升級(jí),充分保護(hù)系統(tǒng)的投資。8.智能性:系統(tǒng)在設(shè)計(jì)時(shí),充分考慮系統(tǒng)運(yùn)行的智能性,盡量的使程序智能化,在使用系統(tǒng)一段時(shí)間后,系統(tǒng)可以和所處部門的業(yè)務(wù)相融合。1.3.5系統(tǒng)設(shè)計(jì)目標(biāo)登錄系統(tǒng)的主要功能要求:1.歡迎頁(yè)面。2.功能登陸頁(yè)面及密碼驗(yàn)證。網(wǎng)上銷售訂單的主要功能實(shí)現(xiàn)目標(biāo):1.利用Session對(duì)象對(duì)用戶進(jìn)行驗(yàn)證工作。2.能夠?qū)蛻?、供?yīng)商、商品進(jìn)行添加與相應(yīng)的管理,并在添加時(shí)對(duì)相應(yīng)字段進(jìn)行格式要求。3.能夠?qū)τ唵芜M(jìn)行分類登記,若庫(kù)存不足時(shí)提示重新輸入值,根據(jù)數(shù)量與單價(jià)自動(dòng)產(chǎn)生應(yīng)付款值,根據(jù)應(yīng)付款與已付款產(chǎn)生未付款值。4.對(duì)于已登記的銷售訂單轉(zhuǎn)入第二步處理:訂單確認(rèn)。主要分為兩種確認(rèn)方法,分別是發(fā)送電子郵件、通知客服。發(fā)送電子郵件時(shí),能夠根據(jù)訂單信息顯示相應(yīng)的郵件內(nèi)容發(fā)送給客戶進(jìn)行確認(rèn)。5.確認(rèn)完的銷售訂單轉(zhuǎn)入第三步處理:貨物發(fā)送。這一步主要是對(duì)銷售訂單發(fā)貨情況進(jìn)行確認(rèn)管理。6.各類訂單可根據(jù)訂單類型進(jìn)行相應(yīng)的付款結(jié)賬,在結(jié)賬時(shí)顯示未付款金額,可通過(guò)訂單號(hào)查看其詳細(xì)信息,每一次結(jié)賬細(xì)節(jié)都可查看其相應(yīng)的結(jié)賬明細(xì),支持多次付款。7.可以對(duì)庫(kù)存商品的剩余量,銷售量進(jìn)行查詢。可根據(jù)不同的條件對(duì)各種訂單進(jìn)行查詢。從上面的分析可以看出:系統(tǒng)設(shè)計(jì)必須從保證系統(tǒng)的可變更性入手,設(shè)計(jì)出一個(gè)易于理解,易于維護(hù)的系統(tǒng)。需要注意以下幾個(gè)問(wèn)題:1.把系統(tǒng)劃分為一些部分,其中每一部分的功能簡(jiǎn)單明確,內(nèi)容簡(jiǎn)明易懂,易于修改,我們把這樣的部分稱為模塊。2.系統(tǒng)分成模塊的工作按層次進(jìn)行。首先把整個(gè)系統(tǒng)看成一個(gè)模塊按功能分解成若干個(gè)第一層模塊,這些模塊相互配合,共同完成整個(gè)系統(tǒng)的功能。然后按功能再分解第一層的各個(gè)模塊。依次下去,直到每一個(gè)模塊都十分簡(jiǎn)單。3.每一個(gè)模塊應(yīng)盡可能獨(dú)立,即盡可能減少模塊間的調(diào)用關(guān)系和數(shù)據(jù)交換關(guān)系。當(dāng)然,系統(tǒng)中的模塊不可能與其它模塊沒(méi)有聯(lián)系,只是要求這種聯(lián)系盡可能少。4.模塊間的關(guān)系要闡明,這樣在修改時(shí)可以追蹤和控制,總之一個(gè)易于修改的系統(tǒng)應(yīng)該有一些相對(duì)獨(dú)立、功能單一的模塊按照層次結(jié)構(gòu)組成。這些模塊之間不必要的聯(lián)系都已去掉,而且它們的功能及其相互關(guān)系都已闡明。這就是結(jié)構(gòu)化設(shè)計(jì)的基本思想。第2章需求分析2.1需求分析重要性所謂管理信息系統(tǒng)(ManagementInformationSystem)系統(tǒng),是一個(gè)由人、計(jì)算機(jī)及其他外圍設(shè)備等組成的能進(jìn)行信息的收集、傳遞、存貯、加工、維護(hù)和使用的系統(tǒng),是一門新興的科學(xué),其主要任務(wù)是最大限度的利用現(xiàn)代計(jì)算機(jī)及網(wǎng)絡(luò)通訊技術(shù)加強(qiáng)企業(yè)的信息管理,通過(guò)對(duì)企業(yè)擁有的人力、物力、財(cái)力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資料及時(shí)提供給管理人員,以便進(jìn)行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟(jì)效益。無(wú)論采用何種方法開(kāi)發(fā)管理信息系統(tǒng),系統(tǒng)分析工作都是十分重要的環(huán)節(jié)。軟件的需求分析是軟件生存周期中重要的一步,也是最為關(guān)鍵的一步。只有通過(guò)軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,進(jìn)而建立軟件開(kāi)發(fā)的基礎(chǔ)。需求分析的任務(wù)是分析員通過(guò)需求分析提供一種可轉(zhuǎn)化為數(shù)據(jù)設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)和過(guò)程設(shè)計(jì)的數(shù)據(jù)與功能表示,在軟件完成后,需求分析階段研究的對(duì)象是軟件項(xiàng)目的用戶要求。軟件需求分析工作是軟件計(jì)劃階段完成之后開(kāi)始的,其主要目的是:要綜合分析用戶對(duì)系統(tǒng)提出的一組需求(功能、性能、數(shù)據(jù)等方面)的基礎(chǔ)上,構(gòu)造一個(gè)從抽象到具體的邏輯模型表達(dá)軟件將要實(shí)現(xiàn)的需求,并以“軟件需求規(guī)格說(shuō)明書”的形式作為本階段工作的結(jié)果,為下一階段的軟件設(shè)計(jì)提供設(shè)計(jì)基礎(chǔ)。軟件需求分析階段,結(jié)合所用的開(kāi)發(fā)工具:ASP.NET,SQLSever對(duì)問(wèn)題進(jìn)行了分析和深入的了解,建立了實(shí)現(xiàn)目標(biāo)軟件邏輯模型與物理模型。2.2可行性分析可行性分析的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否可解決??尚行匝芯康哪康牟皇墙鉀Q問(wèn)題,而是確定問(wèn)題是否值得去解決。一般來(lái)說(shuō)至少達(dá)到以下三個(gè)可行性:經(jīng)濟(jì)可行性:本系統(tǒng)所帶來(lái)的經(jīng)濟(jì)利益能否超過(guò)它的開(kāi)發(fā)成本。技術(shù)可行性:使用現(xiàn)有的技術(shù)能否實(shí)現(xiàn)這個(gè)系統(tǒng)。運(yùn)行可行性:系統(tǒng)的操作方式是否為用戶所接受。2.2.1經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性研究主要進(jìn)行成本效益分析,包括估計(jì)項(xiàng)目的開(kāi)發(fā)成本,估算開(kāi)發(fā)成本是否會(huì)高于項(xiàng)目預(yù)期的全部利潤(rùn),同時(shí)還要看此軟件是否能夠?yàn)橛脩魩?lái)經(jīng)濟(jì)效益。由于ASP.NET程序設(shè)計(jì)采用結(jié)構(gòu)化設(shè)計(jì)思想,且具有語(yǔ)言簡(jiǎn)單易學(xué)、開(kāi)發(fā)快捷等特點(diǎn),所以用ASP.NET一些可預(yù)見(jiàn)的風(fēng)險(xiǎn)可降到最低,如技術(shù)問(wèn)題,人員流失等,從而保證了項(xiàng)目的開(kāi)發(fā)周期,節(jié)約了時(shí)間成本,也極大減少了對(duì)程序員的培訓(xùn)資金;ASP.NET開(kāi)發(fā)的應(yīng)用程序易于維護(hù),可降低產(chǎn)品后期的維護(hù)成本,提高項(xiàng)目利潤(rùn)點(diǎn),網(wǎng)上銷售訂單管理系統(tǒng)開(kāi)發(fā)的目的是為了提高用戶工作效率,方便操作與管理而設(shè)計(jì)。開(kāi)發(fā)此軟件并不需要大量的經(jīng)費(fèi),而是個(gè)人獨(dú)立設(shè)計(jì),所以從經(jīng)濟(jì)角度來(lái)講,所以本系統(tǒng)的開(kāi)發(fā)經(jīng)濟(jì)上是完全可行的。2.2.2技術(shù)可行性根據(jù)該系統(tǒng)目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般可從硬軟件的性能要求、環(huán)境條件、操作人員水平和數(shù)量等方面去考慮和分析??紤]到系統(tǒng)技術(shù)可行性,在軟件方面選擇了如今較流行的ASP.NET2.0來(lái)進(jìn)行開(kāi)發(fā)管理平臺(tái)的設(shè)計(jì),使用SQLServer2005數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。 Microsoft的動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè)ASP.NET技術(shù),語(yǔ)法簡(jiǎn)單,很容易被程序員所接受,且調(diào)試起來(lái)也比較容易。從B/S的開(kāi)發(fā)模式,ASP.NET技術(shù)的先進(jìn)性方面考慮,ASP.NET無(wú)非是一個(gè)最好的技術(shù)。微軟公司提供了豐富的ASP.NET技術(shù)資源庫(kù),供程序員及用戶查詢,同時(shí)也有強(qiáng)大的技術(shù)服務(wù)中心,使技術(shù)風(fēng)險(xiǎn)降到最低,這是任何一門WEB語(yǔ)言在目前形勢(shì)下不可比擬的。與ASP.NET1.X相比,ASP.NET2.0中加入了更多的新特性,使得開(kāi)發(fā)人員在工作效率、管理、擴(kuò)展性和性能等方面均有了大幅度的提高。ASP.NET2.0引入了許多新的服務(wù)器控件,從而能夠?yàn)閿?shù)據(jù)訪問(wèn)、登錄安全、向?qū)?dǎo)航、菜單、樹(shù)視圖及門戶等提供功能強(qiáng)大的聲明性支持。因此在軟件方面,此系統(tǒng)是可行的。在硬件方面,則選擇空間較大,只要是P4系列及以上的計(jì)算機(jī),內(nèi)存在256M以上,硬盤在10G以上,都可以滿足系統(tǒng)的開(kāi)發(fā)需要。當(dāng)然,硬件的配置越高,系統(tǒng)的開(kāi)發(fā)與運(yùn)行會(huì)更流暢??紤]到如今的家用或商用電腦硬件的整體配置水平,系統(tǒng)在硬件方面是完全可行的。2.2.3運(yùn)行可行性管理形式的計(jì)算機(jī)網(wǎng)絡(luò)化是社會(huì)發(fā)展的必然趨勢(shì),各種智能化的軟件層出不窮。本系統(tǒng)直接面向用戶,界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。對(duì)于初次使用本系統(tǒng)的用戶,不必經(jīng)過(guò)復(fù)雜的培訓(xùn)和學(xué)習(xí)就可以掌握系統(tǒng)的操作流程。由此可見(jiàn),開(kāi)發(fā)此軟件在運(yùn)行上是可行的。利用網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù),基于B/S模式開(kāi)發(fā)了網(wǎng)上銷售訂單管理系統(tǒng)這一ASP.NET應(yīng)用程序。本系統(tǒng)開(kāi)發(fā)平臺(tái)采用VisualStudio2005,開(kāi)發(fā)語(yǔ)言采用C#,后臺(tái)數(shù)據(jù)庫(kù)采用SQLServer2005。它運(yùn)用方便,操作簡(jiǎn)單,效率很高,實(shí)現(xiàn)了對(duì)銷售訂單登記、訂單確認(rèn)、貨物發(fā)送、訂單查詢及退貨結(jié)賬等功能。它取代了傳統(tǒng)的手工對(duì)訂單管理,從而減少了銷售數(shù)據(jù)誤差并實(shí)現(xiàn)了數(shù)據(jù)規(guī)范化,能夠滿足銷售單位高效管理要求,本系統(tǒng)具有一定的實(shí)際開(kāi)發(fā)價(jià)值和使用價(jià)值。2.3業(yè)務(wù)流程圖管理業(yè)務(wù)流程圖是一種描述系統(tǒng)內(nèi)各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表,通過(guò)它可以幫助分析人員找出業(yè)務(wù)流程中的不合理的流向。在業(yè)務(wù)流程圖中圓形代表系統(tǒng)中人員,矩形代表系統(tǒng)外實(shí)體,箭頭代表數(shù)據(jù)、報(bào)表賬目的流向。本系統(tǒng)主要是對(duì)銷售訂單進(jìn)行管理,但在銷售這一環(huán)節(jié)的管理上與庫(kù)存有密切的聯(lián)系,所以對(duì)庫(kù)存的進(jìn)貨訂單也有相應(yīng)的管理。總體業(yè)務(wù)流程描述如下:1.銷售訂單登記:將每一筆銷售信息進(jìn)行登記,以便財(cái)務(wù)進(jìn)行賬款上的處理并且也便于對(duì)銷售統(tǒng)計(jì)的查詢。2.訂單確認(rèn):根據(jù)客戶的聯(lián)系方式將所接受的訂單具體信息與其進(jìn)行確認(rèn)。使客戶及時(shí)了解訂單處理狀態(tài),也便于對(duì)訂單進(jìn)行流程化管理。3.貨物發(fā)送:將與客戶確認(rèn)過(guò)的訂單進(jìn)行貨物上的發(fā)送。4.賬款結(jié)算:對(duì)于訂單賬款進(jìn)行管理,對(duì)于每張訂單應(yīng)付款、已付款、未付款及每次付款記錄都有詳細(xì)記載。其過(guò)程是:訂單管理員要對(duì)庫(kù)管部門的進(jìn)貨訂單與進(jìn)貨退貨訂單進(jìn)行登記,再將訂單送財(cái)務(wù)部門供其賬款結(jié)算使用,財(cái)務(wù)部門將訂單賬款信息送訂單管理員,由訂單管理員對(duì)訂單付款信息進(jìn)行更新。對(duì)于客戶的退貨信息由售后部門做出相關(guān)處理制定銷售退貨單送訂單管理員進(jìn)行登記,再由財(cái)務(wù)部門對(duì)賬款進(jìn)行管理。本系統(tǒng)業(yè)務(wù)流程圖如圖2-1所示。圖2-1系統(tǒng)業(yè)務(wù)流程圖當(dāng)接收到客戶銷售訂單時(shí),訂單操作人員要根據(jù)客戶相關(guān)信息來(lái)確認(rèn)此訂單是否有效,若訂單有效則要判斷庫(kù)存量是否充足,對(duì)于不充足的情況要即時(shí)通知庫(kù)管部門,充足的情況下要通過(guò)相應(yīng)聯(lián)系方式通知客戶其訂單已被受理。對(duì)于銷售出庫(kù)或銷售退貨要進(jìn)行相關(guān)的減庫(kù)存或加庫(kù)存作業(yè)。銷售訂單處理步驟如圖2-2所示。圖2-2銷售訂單處理步驟2.4數(shù)據(jù)流圖在詳細(xì)描述系統(tǒng)功能時(shí),使用數(shù)據(jù)流圖能清晰的描繪數(shù)據(jù)的流向以及整個(gè)系統(tǒng)工作的流程。數(shù)據(jù)流圖是表示系統(tǒng)邏輯模型的常用工具,圖中不存在任何具體的物理元素,只表示信息在系統(tǒng)中流動(dòng)和處理的情況。數(shù)據(jù)流圖是邏輯系統(tǒng)的圖形化表示,因此,它是系統(tǒng)分析員與用戶進(jìn)行交流的極好工具。同時(shí)也是系統(tǒng)分析員與系統(tǒng)設(shè)計(jì)人員之間的交流工具。在數(shù)據(jù)流圖中矩形代表數(shù)據(jù)輸入的源點(diǎn)和數(shù)據(jù)的匯點(diǎn)。圓形代表加工,輸入數(shù)據(jù)在此進(jìn)行變換產(chǎn)生輸出數(shù)據(jù)。箭頭代表數(shù)據(jù)流,被加工的數(shù)據(jù)與流向。對(duì)于新客戶的銷售訂單先要向公司信息表中添加此客戶的相關(guān)基本信息如公司名稱、聯(lián)系方式等。對(duì)于所銷售的各類商品信息若沒(méi)有其相關(guān)記錄則要先進(jìn)行添加如商品名稱、供應(yīng)商、產(chǎn)地等信息。接收到客戶的銷售訂單時(shí),訂單操作人員根據(jù)用戶的相關(guān)信息如聯(lián)系方式、預(yù)付款等條件判斷是否接受此訂單,即確定訂單是否有效,對(duì)于有效的訂單要將其轉(zhuǎn)入訂單流程化管理。訂單查詢支持多條件查詢?nèi)绨凑展?yīng)商、客戶、時(shí)間等,同時(shí)也將從結(jié)賬信息表中檢索其有關(guān)的結(jié)賬信息。賬務(wù)管理支持多次的結(jié)賬處理,每次結(jié)賬金額與時(shí)間有明確記錄。根據(jù)以上分析系統(tǒng)數(shù)據(jù)流圖如圖2-3所示。圖2-3系統(tǒng)數(shù)據(jù)流圖2.5數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中的所有元素的定義的集合。數(shù)據(jù)字典的作用是在軟件分析和設(shè)計(jì)的過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。它主要是對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)流、處理邏輯、外部實(shí)體、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)項(xiàng)等方面進(jìn)行具體的定義。數(shù)據(jù)流程圖配以數(shù)據(jù)字典,就可以從圖形和文字兩個(gè)方面對(duì)系統(tǒng)的邏輯模型進(jìn)行完整的描述。1.?dāng)?shù)據(jù)項(xiàng)定義:對(duì)于本系統(tǒng)中所用到的數(shù)據(jù)項(xiàng)如表2-1所示。表2-1系統(tǒng)數(shù)據(jù)項(xiàng)定義編號(hào)名稱別名類型長(zhǎng)度I01-01CompanyName公司名稱varchar50字節(jié)I01-02CompanyType公司類型varchar50字節(jié)I01-03CompanyShort公司簡(jiǎn)稱varchar50字節(jié)I01-04CompanyAddress公司地址varchar50字節(jié)I01-05Postalcode郵政編碼varchar50字節(jié)I01-06Tel聯(lián)系電話varchar50字節(jié)I01-07Fax傳真varchar50字節(jié)I01-08Linkman聯(lián)系人varchar50字節(jié)I01-09Email電子郵件varchar50字節(jié)I01-10Bank開(kāi)戶銀行varchar50字節(jié)I01-11BandAccounts銀行賬戶varchar50字節(jié)I01-12Username操作人varchar50字節(jié)I01-13AddTime添加日期varchar50字節(jié)I01-14CommodityName商品名稱varchar100字節(jié)I01-15ShortName商品簡(jiǎn)稱varchar50字節(jié)I01-16ProducePlace產(chǎn)地varchar100字節(jié)I01-17Unit單位varchar20字節(jié)I01-18Specs規(guī)格varchar50字節(jié)I01-19PassNumber批號(hào)varchar50字節(jié)I01-20PassList批準(zhǔn)文號(hào)varchar50字節(jié)I01-21CompanyId供應(yīng)商IDint4字節(jié)續(xù)表2-1I01-22Remark備注varchar500字節(jié)I01-23total數(shù)量int4字節(jié)I01-24CommodityId商品IDint4字節(jié)I01-25Number數(shù)量int4字節(jié)I01-26Price單價(jià)decimal5字節(jié)I01-27StockDate日期datetime8字節(jié)I01-28SettlementType付款方式varchar50字節(jié)I01-29Payment應(yīng)付金額decimal5字節(jié)I01-30FactPayment實(shí)付金額decimal5字節(jié)I01-31NotPayment未付金額decmial5字節(jié)2.?dāng)?shù)據(jù)流定義:系統(tǒng)數(shù)據(jù)流定義:數(shù)據(jù)流編號(hào):D1-02數(shù)據(jù)流名稱:商品信息數(shù)據(jù)流來(lái)源:P1-01數(shù)據(jù)流去向:F1-02簡(jiǎn)述:公司所銷售商品信息數(shù)據(jù)流組成:I01-14+I01-15+I01-16+I01-17+I01-18+I01-19+I01-20+I01-21+I01-22+I01-23數(shù)據(jù)流編號(hào):D1-06數(shù)據(jù)流名稱:銷售訂單詳細(xì)信息數(shù)據(jù)流來(lái)源:P1-06數(shù)據(jù)流去向:F1-03簡(jiǎn)述:有效的銷售訂單詳細(xì)信息數(shù)據(jù)流組成:I01-24+I01-21+I01-25+I01-26+I01-27+I01-28+I01-29+I01-30+I01-31+I01-32+I01-13+I01-21數(shù)據(jù)流編號(hào):D1-15數(shù)據(jù)流名稱:訂單結(jié)賬信息數(shù)據(jù)流來(lái)源:P1-05數(shù)據(jù)流去向:F1-04簡(jiǎn)述:各類訂單賬款支付信息數(shù)據(jù)流組成:I01-24+I01-35+I01-32+I01-36+I01-12+I01-132.6本章小結(jié)本章主要對(duì)網(wǎng)上銷售訂單管理系統(tǒng)進(jìn)行了需求分析。需求分析是在可行性研究基礎(chǔ)上進(jìn)行的,同時(shí)又描繪了本系統(tǒng)的業(yè)務(wù)流圖,在業(yè)務(wù)流圖的基礎(chǔ)上對(duì)銷售訂單處理步驟進(jìn)行了分析。通過(guò)本系統(tǒng)數(shù)據(jù)字典與數(shù)據(jù)流圖的配合描述了系統(tǒng)邏輯模型。通過(guò)對(duì)本系統(tǒng)進(jìn)行需求分析得到了用戶所要求實(shí)現(xiàn)的功能,也對(duì)后面將要進(jìn)行的概要設(shè)計(jì)打下了良好的基礎(chǔ)。第3章概要設(shè)計(jì)問(wèn)題定義、可行性研究和需求分析構(gòu)成了了軟件分析階段,在這個(gè)階段確定了需要做什么和系統(tǒng)需求規(guī)格。而軟件開(kāi)發(fā)階段的任務(wù)是概括地回答系統(tǒng)如何實(shí)現(xiàn)的問(wèn)題。軟件開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試等。概要設(shè)計(jì)從概念上分為結(jié)構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。結(jié)構(gòu)設(shè)計(jì)又稱為總體設(shè)計(jì),其主要的任務(wù)是制訂系統(tǒng)實(shí)現(xiàn)方案和設(shè)計(jì)規(guī)范并合理確定軟件系統(tǒng)整體模塊結(jié)構(gòu)及接口關(guān)系。詳細(xì)設(shè)計(jì),也稱為模塊設(shè)計(jì),其主要任務(wù)是詳細(xì)規(guī)定每個(gè)模塊功能的實(shí)現(xiàn)算法。本章將主要對(duì)軟件總體設(shè)計(jì)進(jìn)行了相關(guān)描述。本軟件設(shè)計(jì)遵循以下幾個(gè)原則:1.將軟件劃分成若干個(gè)獨(dú)立成分的依據(jù)。2.表示不同的成分內(nèi)的功能細(xì)節(jié)和數(shù)據(jù)結(jié)構(gòu)。3.統(tǒng)一衡量軟件設(shè)計(jì)的技術(shù)質(zhì)量。3.1系統(tǒng)功能設(shè)計(jì)利用層次方框圖來(lái)表示系統(tǒng)中各模塊之間的關(guān)系。層次方框圖用樹(shù)型結(jié)構(gòu)一系列多層次的矩形框描述數(shù)據(jù)的層次結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素。隨著結(jié)構(gòu)化的精細(xì)化,層次方框圖對(duì)數(shù)據(jù)結(jié)構(gòu)也描繪得越來(lái)越細(xì),這種模式非常適合于需求分析階段的需要。本系統(tǒng)一共分為五個(gè)模塊,每個(gè)模塊之間雖然在表面上是相互獨(dú)立的,但是在對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)上是緊密相連的,各個(gè)模塊訪問(wèn)的是同一個(gè)數(shù)據(jù)庫(kù),只是所訪問(wèn)的表不同而已。每個(gè)模塊的功能都是按照在調(diào)研中搜集的資料進(jìn)行編排制作的。依據(jù)上述功能的分析,系統(tǒng)中模塊分別為:基本信息管理、商品進(jìn)貨管理、銷售訂單管理、查詢統(tǒng)計(jì)、賬務(wù)管理。各功能模塊的具體功能如下:1.基本信息管理:主要是對(duì)供應(yīng)商、客戶、商品進(jìn)行添加與管理。2.商品進(jìn)貨管理:針對(duì)各類商品的進(jìn)貨單進(jìn)行登記,并對(duì)商品進(jìn)貨中進(jìn)貨退貨進(jìn)行處理。3.銷售訂單管理:針對(duì)銷售訂單進(jìn)行訂單登記、訂單確認(rèn)、貨物發(fā)送及銷售退貨進(jìn)行登記與處理,完成訂單一系列流程化的處理過(guò)程。4.查詢統(tǒng)計(jì):可選擇不同的查詢條件,輸入不同的查詢值,主要是對(duì)商品庫(kù)存量及各類訂單信息進(jìn)行查詢。5.賬務(wù)管理:主要是對(duì)各類訂單進(jìn)行貨款上的結(jié)算,可支持多次付款結(jié)算,并可進(jìn)行付款詳細(xì)信息查看。系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。圖3-1系統(tǒng)功能結(jié)構(gòu)圖3.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是建立在數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開(kāi)發(fā)和建設(shè)中的核心技術(shù),具體說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用環(huán)境,使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。大型數(shù)據(jù)庫(kù)的開(kāi)發(fā)是一項(xiàng)龐大的工程,其開(kāi)發(fā)周期長(zhǎng),耗資多、涉及到多科學(xué)的綜合性技術(shù)。對(duì)于從事數(shù)據(jù)庫(kù)設(shè)計(jì)的人員來(lái)講應(yīng)具備以下幾點(diǎn):1.?dāng)?shù)據(jù)庫(kù)的基本知識(shí)和數(shù)據(jù)庫(kù)設(shè)計(jì)論述。2.計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的方法和技術(shù)。3.軟件工程的原理和方法。4.應(yīng)用領(lǐng)域的知識(shí)。3.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫(kù)技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生的。早期的數(shù)據(jù)庫(kù)設(shè)計(jì)中數(shù)據(jù)不具備獨(dú)立性而且不能共享,而且數(shù)據(jù)需要由應(yīng)用程序自己管理,沒(méi)有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理工作。早期人工管理階段,程序與數(shù)據(jù)之間是一對(duì)一的關(guān)系。傳統(tǒng)的軟件工程忽視對(duì)應(yīng)用程序中數(shù)據(jù)語(yǔ)義的分析和抽象。數(shù)據(jù)模式是各應(yīng)用程序共享的結(jié)構(gòu),是穩(wěn)定的,永久的,不像以文件系統(tǒng)為基礎(chǔ)的應(yīng)用系統(tǒng),文件是某一應(yīng)用程序私用的。數(shù)據(jù)庫(kù)設(shè)計(jì)的成功與否直接影響著系統(tǒng)中個(gè)處理過(guò)程的性能和質(zhì)量。在進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí),數(shù)據(jù)具有了結(jié)構(gòu)化、獨(dú)立性高的特點(diǎn)。在此階段數(shù)據(jù)與程序的獨(dú)立,把數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取又由DBMS負(fù)責(zé),從而簡(jiǎn)化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改??紤]應(yīng)用環(huán)境要求與數(shù)據(jù)庫(kù)結(jié)構(gòu)的關(guān)系,因此結(jié)構(gòu)設(shè)計(jì)與行為設(shè)計(jì)是分離的。3.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)基本步驟由于信息結(jié)構(gòu)復(fù)雜,應(yīng)用環(huán)境多樣,在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)數(shù)據(jù)庫(kù)設(shè)計(jì)主要采用手工湊法。由于這種方法受到設(shè)計(jì)人員經(jīng)驗(yàn)和水平的影響,數(shù)據(jù)庫(kù)的設(shè)計(jì)成為了一種技藝而不是工程技術(shù),缺乏科學(xué)理論和工程方法的支持,工程的質(zhì)量難以保證,常常是數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后出現(xiàn)不同程度問(wèn)題,增加了系統(tǒng)維護(hù)的代價(jià)。所以人們提出了各種數(shù)據(jù)庫(kù)設(shè)計(jì)方法、設(shè)計(jì)準(zhǔn)則和規(guī)程。按照規(guī)范設(shè)計(jì)的方法,考慮數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開(kāi)發(fā)全過(guò)程,將數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)階:1.需求分析階段進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗時(shí)間的一步。作為基礎(chǔ)的需求分析是否做得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。2.概念結(jié)構(gòu)設(shè)計(jì)階段概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。3.邏輯結(jié)構(gòu)設(shè)計(jì)階段邏輯結(jié)構(gòu)設(shè)計(jì)階段是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。4.?dāng)?shù)據(jù)庫(kù)物理設(shè)計(jì)階段數(shù)據(jù)庫(kù)的物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。5.?dāng)?shù)據(jù)庫(kù)實(shí)施階段數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。6.?dāng)?shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是不可能一蹴而就的,它往往是上述六個(gè)階段的不斷反復(fù)。需要指出的是,這個(gè)設(shè)計(jì)步驟既是數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程,也包括了數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)過(guò)程。在設(shè)計(jì)過(guò)程中把數(shù)據(jù)庫(kù)的設(shè)計(jì)和對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來(lái),將這兩方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)。事實(shí)上,如果不了解應(yīng)用環(huán)境對(duì)數(shù)據(jù)的處理要求,或者沒(méi)有考慮如何去實(shí)現(xiàn)這些處理要求,是不可能設(shè)計(jì)一個(gè)良好的數(shù)據(jù)庫(kù)結(jié)構(gòu)的。因此本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)嚴(yán)格按以上步驟進(jìn)行,以確保數(shù)據(jù)庫(kù)設(shè)計(jì)的合理性與完善性。3.2.3數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)(E-R圖)實(shí)體聯(lián)系模型反映的是現(xiàn)實(shí)世界中的事物及其相互關(guān)系。是一種用來(lái)在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中表示數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的方法,它的主導(dǎo)思想是用實(shí)體,實(shí)體的屬性以及實(shí)體之間的關(guān)系來(lái)表示數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)?!皩?shí)體”指現(xiàn)實(shí)世界中存在的對(duì)象或事物?!皩傩浴敝笇?shí)體具有的某種特性。為了簡(jiǎn)化E-R圖的處置,現(xiàn)實(shí)世界的事物能作為屬性的對(duì)待的,盡量作為屬性對(duì)待。但實(shí)體與屬性之間并沒(méi)有形式上可以截然劃分的界限,所以對(duì)屬性的劃分遵循以下兩個(gè)原則:1.作為“屬性”,不能再具有需要描述的性質(zhì)。“屬性”必須是不可分的數(shù)據(jù)項(xiàng),不能包含其他的屬性。2.“屬性”不能與其他實(shí)體具有聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體之間的聯(lián)系。每張訂單只能由一個(gè)管理員進(jìn)行管理所以是一對(duì)一關(guān)系;每張訂單中商品有唯一的記錄與之對(duì)應(yīng)所以是一對(duì)一關(guān)系;一個(gè)公司有多張訂單,多張訂單可屬于同一公司所以是多對(duì)多關(guān)系;每張訂單有多次支付記錄所以是一對(duì)多關(guān)系。根據(jù)以上分析本系統(tǒng)的E-R圖如圖3-2所示。圖3-2數(shù)據(jù)庫(kù)E-R圖3.2.4數(shù)據(jù)庫(kù)表結(jié)構(gòu)根據(jù)本系統(tǒng)基本功能和所涉及人員對(duì)數(shù)據(jù)庫(kù)建立了若干表,其具體表結(jié)構(gòu)如下所示。AdminInfo表用于存放系統(tǒng)管理員信息,其結(jié)構(gòu)如表3-1所示。表3-1AdminInfo表結(jié)構(gòu)字段名稱數(shù)據(jù)類型說(shuō)明AdminNamevarchar(50)管理員ID(PK)AdminPwdvarchar(20)密碼TypeNamevarchar(50)昵稱Flagvarchar(50)級(jí)別標(biāo)志Company表用于存放公司信息,其結(jié)構(gòu)如表3-2所示。表3-2Company表結(jié)構(gòu)字段名稱數(shù)據(jù)類型說(shuō)明idint(4)公司ID(PK)CompanyNamevarchar(50)公司名稱CompanyTypevarchar(50)公司類型CompanyShortvarchar(50)公司簡(jiǎn)稱CompanyAddressvarchar(50)公司地址Postalcodevarchar(50)郵政編碼Telvarchar(50)聯(lián)系電話Faxvarchar(50)傳真Linkmanvarchar(50)聯(lián)系人Emailvarchar(50)電子郵件Bankvarchar(50)開(kāi)戶銀行BandAccountsvarchar(50)銀行賬戶Usernamevarchar(50)操作人AddTimevarchar(50)添加日期Commodity表用于存放所銷售商品信息,其結(jié)構(gòu)如表3-3所示。表3-3Commodity表結(jié)構(gòu)字段名稱數(shù)據(jù)類型說(shuō)明idInt(4)商品ID(PK)CommodityNamevarchar(100)商品名稱ShortNamevarchar(50)商品簡(jiǎn)稱ProducePlacevarchar(100)產(chǎn)地Unitvarchar(20)單位續(xù)表3-3Specsvarchar(50)規(guī)格PassNumbervarchar(50)批號(hào)PassListvarchar(50)批準(zhǔn)文號(hào)CompanyIdint(4)供應(yīng)商IDRemarkvarchar(500)備注Usrnamevarchar(50)操作人AddTimevarchar(50)添加日期Totalint(4)數(shù)量Stock表用于存放各種訂單信息,其結(jié)構(gòu)如表3-4所示。表3-4Stock表結(jié)構(gòu)字段名稱字段類型說(shuō)明Idint(4)訂單ID(PK)CommodityIdint(4)商品IDCompanyIdint(4)公司IDNumberint(4)數(shù)量Pricedecimal(5)單價(jià)StockDatedatetime(8)日期SettlementTypevarchar(50)付款方式Paymentdecimal(5)應(yīng)付金額FactPaymentdecimal(5)實(shí)付金額NotPaymentdecimal(5)未付金額ManageManvarchar(5)經(jīng)手人Usernamevarchar(50)操作人AddTimevarchar(20)添加日期ClientIdint(4)客戶IDTypevarchar(10)訂單類型SendMailint(4)電子郵件標(biāo)志Reckoning表用于存放訂單所付款信息,其結(jié)構(gòu)如表3-5所示。表3-5Reckoning表結(jié)構(gòu)字段名稱字段類型說(shuō)明Idint(4)單據(jù)IDCommodityIdint(4)商品IDSettlementint(4)付款金額ManageManvarchar(50)經(jīng)手人Datetimedatetime(8)結(jié)賬日期Usernamevarchar(50)操作人Addtimevarchar(50)添加日期3.3本章小結(jié)本章主要對(duì)概要計(jì)中涉及到的知識(shí)進(jìn)行了分析,包括層次方框圖、數(shù)據(jù)庫(kù)E-R圖及表關(guān)系。同時(shí)對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)進(jìn)行了描述,本系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)嚴(yán)格按照數(shù)據(jù)庫(kù)設(shè)計(jì)標(biāo)準(zhǔn)的六個(gè)步驟來(lái)完成,以便更好的實(shí)現(xiàn)系統(tǒng)功能。由于數(shù)據(jù)庫(kù)在設(shè)計(jì)中有非常重要的作用,所以在開(kāi)發(fā)過(guò)程中,在考慮數(shù)據(jù)庫(kù)上的時(shí)間較多。第4章詳細(xì)設(shè)計(jì)4.1系統(tǒng)主界面設(shè)計(jì)本系統(tǒng)的主界面整體結(jié)構(gòu)為上左右結(jié)構(gòu),上面部分顯示當(dāng)前登錄用戶名以及系統(tǒng)當(dāng)前時(shí)間,左面部分采用了樹(shù)型層次結(jié)構(gòu)羅列了系統(tǒng)的全部功能,右面部分為客戶區(qū),顯示當(dāng)前操作的使用窗口。系統(tǒng)主界面如圖4-1所示。圖4-1系統(tǒng)主界面1.實(shí)現(xiàn)目標(biāo):當(dāng)選擇相應(yīng)的菜單項(xiàng)時(shí)能夠正確的進(jìn)入相應(yīng)的界面,對(duì)于“返回首頁(yè)”與“注銷登錄”可成功轉(zhuǎn)到相應(yīng)界面。2.實(shí)現(xiàn)過(guò)程:其主要功能是通過(guò)自定義控件實(shí)現(xiàn),對(duì)控件中菜單層的展開(kāi)、彈回及相應(yīng)鏈接頁(yè)面進(jìn)行了相應(yīng)功能編碼。4.2基本信息管理功能設(shè)計(jì)1.實(shí)現(xiàn)目標(biāo):對(duì)于輸入的各種基本信息數(shù)據(jù)系統(tǒng)要對(duì)其進(jìn)行驗(yàn)證如格式、類型、長(zhǎng)度。同時(shí)對(duì)于修改后的值要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新。這樣輸出的數(shù)據(jù)將是規(guī)范化的,記錄都是最即時(shí)的。此模塊的界面如圖4-2所示。圖4-2基本信息管理2.實(shí)現(xiàn)過(guò)程:窗體名:Add_UserInfo.aspxAdd_Product.aspxMaster_UserInfo.aspxMaster_Product.aspx對(duì)于基本信息管理頁(yè)面中所用到各控件及其主要屬性設(shè)置如表4-1所示。表4-1基本信息管理主要控件信息列表控件名稱主要屬性設(shè)置作用Tableborder=1顯示邊框cellspacing=0單元格的距離為0Requirefieldvalidator1controltovalidator=CommodityName驗(yàn)證的文本框名稱errormessage=商品名稱不能為空顯示的錯(cuò)誤信息forecolor=red字體顏色為紅色display=Static靜態(tài)顯示Text1TextMode=SingleLine單行文本框Button1Click=Button1_Click()編寫單擊事件對(duì)于一家公司來(lái)說(shuō)供應(yīng)商與客戶都是工作時(shí)所要面對(duì)的對(duì)象,因此在記錄這些數(shù)據(jù)時(shí)使用一張表來(lái)記錄,只用字段Type來(lái)區(qū)分類型。對(duì)于供應(yīng)商與客戶的添加使用同一界面樣式,為了區(qū)別是何種對(duì)象的添加,在程序設(shè)計(jì)中使設(shè)計(jì)的用戶自定義控件所鏈接的頁(yè)面地址添加了標(biāo)志Flag,利用標(biāo)志賦予不同的值區(qū)分是何種公司的添加。在CS文件中獲得當(dāng)前頁(yè)面Flag值來(lái)確定記錄存入庫(kù)中時(shí)Type的值。利用Return_Title函數(shù)讓頁(yè)面標(biāo)題顯示相應(yīng)文字。4.3商品進(jìn)貨管理功能設(shè)計(jì)1.實(shí)現(xiàn)目標(biāo):通過(guò)下拉列表框選擇商品名稱,在供應(yīng)商文本框中自動(dòng)顯示出其供應(yīng)商,根據(jù)輸入的數(shù)量與單價(jià)自動(dòng)生成應(yīng)付金額,并且能夠根據(jù)已付金額自動(dòng)生成未付金額。操作人員是當(dāng)前系統(tǒng)登錄者姓名。結(jié)款方式有兩種分別是現(xiàn)金與支票,可通過(guò)下拉列表框進(jìn)行選擇。各數(shù)據(jù)的格式錯(cuò)誤時(shí)都有相應(yīng)的提示信息,當(dāng)訂單的添加成功時(shí)有相應(yīng)的提示框彈出。此模塊界面如圖4-3所示。圖4-3商品進(jìn)貨管理2.實(shí)現(xiàn)過(guò)程:窗體名:Add_Stock.aspxBack_Stock.aspx對(duì)于商品進(jìn)貨管理頁(yè)面中所用到各控件及其主要屬性設(shè)置如表4-2所示。表4-2商品進(jìn)貨管理主要控件信息列表控件名稱主要屬性設(shè)置作用Tableborder=1顯示邊框cellspacing=0單元格的距離為0Requirefieldvalidator1controltovalidator=CommodityName驗(yàn)證的文本框名稱errormessage=商品名稱不能為空顯示的錯(cuò)誤信息forecolor=red字體顏色為紅色display=Static靜態(tài)顯示CompareValidator1controltovalidator=Price驗(yàn)證的文本框名稱forecolor=red字體顏色為紅色errormessage=單價(jià)格式添寫錯(cuò)誤顯示的錯(cuò)誤信息display=Dynamic動(dòng)態(tài)顯示Text1TextMode=SingleLine單行文本框Button1Click=Button1_Click()編寫單擊事件對(duì)于各數(shù)據(jù)的值采用驗(yàn)證控件進(jìn)行格式控制,例如數(shù)量只能輸入為整數(shù),當(dāng)輸入為其他范圍的值系統(tǒng)都會(huì)提示錯(cuò)誤?!疤砑印卑粹o單擊事件主要是對(duì)文件框中數(shù)據(jù)的讀取,再通過(guò)SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)操作,此操作的成功與否主要是通過(guò)SqlDataBase.cs類來(lái)實(shí)現(xiàn)。4.4銷售訂單管理功能設(shè)計(jì)1.實(shí)現(xiàn)目標(biāo):對(duì)于輸入的銷售訂單信息進(jìn)行驗(yàn)證如應(yīng)付款、未付款、已付款進(jìn)行格式上與數(shù)值上的驗(yàn)證,然后將銷售訂單轉(zhuǎn)入一系列流程化的處理。包括對(duì)訂單的確認(rèn),通知客戶我公司已接收并同意訂單生意,發(fā)貨將訂單轉(zhuǎn)入下一個(gè)階段,等待對(duì)方的賬款信息。輸出的數(shù)據(jù)將以規(guī)范化格式顯示,并且在每一階段只顯示相應(yīng)完成階段的訂單。銷售訂單管理模塊如圖4-4所示。圖4-4銷售訂單管理2.實(shí)現(xiàn)過(guò)程:窗體名:Add_Sell.aspxSend_Sell.aspxSend_Goods.aspxBack_Sell.aspx對(duì)于銷售訂單管理頁(yè)面中所用到各控件及其主要屬性設(shè)置如表4-3所示。表4-3銷售訂單管理主要控件信息列表控件名稱主要屬性設(shè)置作用Tableborder=1顯示邊框cellspacing=0單元格的距離為0Requirefieldvalidator1controltovalidator=CommodityName驗(yàn)證的文本框名稱errormessage=商品名稱不能為空顯示的錯(cuò)誤信息forecolor=red字體顏色為紅色display=Static靜態(tài)顯示CompareValidator1controltovalidator=Price驗(yàn)證的文本框名稱forecolor=red字體顏色為紅色errormessage=單價(jià)格式添寫錯(cuò)誤顯示的錯(cuò)誤信息display=Dynamic動(dòng)態(tài)顯示Text1TextMode=SingleLine單行文本框Button1Click=Button1_Click()編寫單擊事件SqlDataSource1Select語(yǔ)句編寫GridView顯示滿足條件記錄在訂單登記時(shí)需要添寫的項(xiàng)有商品名稱、客戶名稱、單價(jià)、數(shù)量、應(yīng)付金額等。其中各數(shù)據(jù)的格式與不能為空的限制都用ASP.NET驗(yàn)證控件來(lái)進(jìn)行限制。對(duì)于商品名稱與客戶的添寫都使用下拉列表框進(jìn)行選擇,當(dāng)選擇商品時(shí)自動(dòng)顯示其供應(yīng)商。操作人員的值是通過(guò)使用函數(shù)獲取當(dāng)前操作人員名稱并將其值賦給文本標(biāo)簽,在將文本標(biāo)簽的值寫到庫(kù)中。銷售訂單的登記完成后將轉(zhuǎn)入下一個(gè)步驟訂單確認(rèn)。這一步顯示了相關(guān)訂單信息,對(duì)于記錄的選擇通過(guò)SqlDataSource中Select語(yǔ)句檢索出所有Mail
值為“1”的即“未被確認(rèn)”的訂單。對(duì)于訂單的確認(rèn)方法有兩種,一種是發(fā)送郵件確認(rèn)另一種是人工通知確認(rèn)。對(duì)于郵件的確認(rèn)相關(guān)代碼編寫在類中與相應(yīng)的CS文件中。當(dāng)點(diǎn)擊發(fā)送郵件確認(rèn)時(shí)讓Panel_SendMail控件處于可見(jiàn)狀態(tài)。通過(guò)類中函數(shù)QueryString.Get_Id、QueryString.Get_Flag、與相應(yīng)sql語(yǔ)句檢索出要發(fā)送郵件訂單的具體信息,并將這些信息顯示在郵件控件上,作為郵件內(nèi)容發(fā)送,郵件的發(fā)送主要是通過(guò)組件實(shí)現(xiàn)的。兩個(gè)組件分別是Interop.ADODB.dll與Interop.CDO.dll。對(duì)于組件相應(yīng)調(diào)用代碼及基本變量設(shè)計(jì)都在SendMail.cs中進(jìn)行了設(shè)置。對(duì)于發(fā)送郵件成功完成確認(rèn)的訂單通過(guò)函數(shù)將其在數(shù)據(jù)庫(kù)中Mail值更新。發(fā)送貨物一經(jīng)確認(rèn)過(guò)的銷售訂單的狀態(tài)也將被更新。由于銷售出的貨物存在著不同原因上的銷售退貨情況,因此也設(shè)定了銷售退貨登記這一處理。4.5查詢統(tǒng)計(jì)功能設(shè)計(jì)1.實(shí)現(xiàn)目標(biāo):在查詢模塊中各查詢界面基本功能相同,只是各查詢條件的選擇不同而已,但基本操作一致。當(dāng)進(jìn)入查詢頁(yè)面后先對(duì)查詢條件進(jìn)行選擇,查詢條件的選擇只需在相應(yīng)復(fù)選框前打?qū)μ?hào)即可,再輸入相應(yīng)查詢條件的值,對(duì)于相應(yīng)值的輸入也進(jìn)行了驗(yàn)證。對(duì)于各類信息的檢索都用CS中的代碼來(lái)實(shí)現(xiàn),輸出正確的顯示結(jié)果。查詢統(tǒng)計(jì)界面如圖4-5所示。圖4-5查詢統(tǒng)計(jì)2.實(shí)現(xiàn)過(guò)程:窗體名:Stock_Search.aspxSell_Search.aspxStockpile_Search.aspx對(duì)于查詢統(tǒng)計(jì)頁(yè)面中所用到各控件及其主要屬性設(shè)置如表4-4所示。表4-4查詢統(tǒng)計(jì)主要控件信息列表控件名稱主要屬性設(shè)置作用Tableborder=1顯示邊框cellspacing=0單元格的距離為0CompareValidator1controltovalidator=Price驗(yàn)證的文本框名稱forecolor=red字體顏色為紅色errormessage=開(kāi)始時(shí)間格式添寫錯(cuò)誤顯示的錯(cuò)誤信息display=Dynamic動(dòng)態(tài)顯示CheckBox1Check=false初始化時(shí)為未選中狀態(tài)Text1TextMode=SingleLine單行文本框Button1Click=Button1_Click()編寫單擊事件查詢主要分為:商品庫(kù)存查詢、商品進(jìn)貨查詢、進(jìn)貨退貨查詢、商品銷售查詢、銷售退貨查詢。其中商品進(jìn)貨查詢與進(jìn)貨退貨查詢采用同一aspx界面,商品銷售查詢與銷售退貨查詢采用同一aspx界面。對(duì)于相應(yīng)何種查詢的確定采用在鏈接頁(yè)后面加type,根據(jù)賦予type不同的值來(lái)確定是何種信息的查詢。用戶可選擇不同的查詢條件,如供應(yīng)商、經(jīng)手人、商品名稱、起止日期進(jìn)行查詢。對(duì)于查詢條件的選擇采用復(fù)選框的形式,用戶只需要復(fù)選框前打上對(duì)號(hào)后再輸入相應(yīng)條件的值點(diǎn)擊“查詢”按鈕即可顯示出滿足條件的所有訂單記錄。并且可通過(guò)GridView中“詳細(xì)信息”這一鏈接字段查看訂單的詳細(xì)內(nèi)容。對(duì)于起止日期采用了ASP.NET中的驗(yàn)證控件:CompareValidator、ValidationSummary進(jìn)行格式上的限制與提示。4.6賬務(wù)管理功能設(shè)計(jì)1.實(shí)現(xiàn)目標(biāo):選擇相應(yīng)的訂單,點(diǎn)擊其結(jié)賬按鈕彈出對(duì)應(yīng)結(jié)賬窗口。在窗口中輸入此訂單相應(yīng)的結(jié)賬金額信息,對(duì)于本次結(jié)賬的金額要進(jìn)行其未付款金額上的更新處理,同時(shí)對(duì)于該訂單付款記錄將進(jìn)行更新。輸出的將是訂單更新后準(zhǔn)確的結(jié)賬信息。此模塊的界面如圖4-6所示。圖4-6賬務(wù)管理2.實(shí)現(xiàn)過(guò)程:窗體名:Recokoning.aspx主要運(yùn)用控件
GridView,對(duì)其各列所要顯示的字段進(jìn)行編碼,并對(duì)具有鏈接功能的列進(jìn)行了設(shè)置,通過(guò)代碼與控件屬性相結(jié)合實(shí)現(xiàn)。對(duì)于所有的結(jié)賬頁(yè)面都采用同一個(gè)Reckonig.aspx頁(yè)面。根據(jù)獲取不同結(jié)賬類型值來(lái)使標(biāo)題顯示相應(yīng)的結(jié)賬類型??牲c(diǎn)擊單據(jù)編號(hào)查看訂單詳細(xì)信息并且可顯示其相應(yīng)的付款細(xì)節(jié)如第幾次付款、付款金額、付款時(shí)間等。當(dāng)點(diǎn)擊GridView中的“結(jié)賬”按鈕將調(diào)用Jscript.cs類中OpenWebFormSize函數(shù)使結(jié)賬窗口按適當(dāng)大小彈出。在結(jié)賬窗口中自動(dòng)顯示未付金額,若付款大于未付款將給出提示“結(jié)款金額輸入錯(cuò)誤”。同時(shí)各種數(shù)據(jù)的輸入與格式此頁(yè)面也用驗(yàn)證控件進(jìn)行控制。4.7本章小結(jié)本章從模塊具體功能上設(shè)計(jì)了網(wǎng)上銷售訂單管理系統(tǒng)。主要的模塊即基本信息管理、銷售訂單管理、查詢統(tǒng)計(jì)、賬務(wù)管理等模塊。在詳細(xì)設(shè)計(jì)中分析了各模塊的功能并對(duì)各模塊做了編程思路的闡述??梢詫⑾到y(tǒng)分解成幾個(gè)功能模塊來(lái)分別設(shè)計(jì),以模塊的設(shè)計(jì)和框架結(jié)構(gòu)的思想來(lái)貫穿整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程。本系統(tǒng)的設(shè)計(jì)完全按照以上的設(shè)計(jì)來(lái)進(jìn)行,相信能夠完成功能上的需求。第5章系統(tǒng)實(shí)現(xiàn)與測(cè)試5.1各個(gè)模塊功能實(shí)現(xiàn)在程序設(shè)計(jì)時(shí)考慮到有許多代碼是需要重復(fù)編寫的,并且有些函數(shù)被多次調(diào)用,考慮到程序代碼的編輯量與程序的運(yùn)行速度,決定對(duì)于重復(fù)編寫的代碼與多次被調(diào)用的函數(shù)都用類的形勢(shì)封裝。其中HeaderTextInfo.cs類主要功能是運(yùn)行程序時(shí)窗口標(biāo)題信息文字的顯示與相關(guān)函數(shù)的編寫。Jscript.cs主要是對(duì)程序運(yùn)行中各類小的窗口,及轉(zhuǎn)向到相應(yīng)URL地址的代碼編寫。PersonInfo.cs主要是對(duì)管理員登錄與管理管理員操作進(jìn)行代碼與相關(guān)函數(shù)的編寫,包括添加新管理員判斷其用戶ID是否已存在與登錄時(shí)自動(dòng)顯示其昵稱函數(shù)。QueryString.cs主要是對(duì)一些程序中用到的信息如Flag、Cid獲取函數(shù)的編寫。SendMail.cs主要功能是當(dāng)訂單確認(rèn)時(shí)發(fā)送電子郵件所需代碼編寫。SqlDataBase.cs主要是對(duì)數(shù)據(jù)庫(kù)各種操作其相應(yīng)代碼的編寫,如DataSet表,DataView數(shù)據(jù)視圖代碼。stock.cs用于對(duì)庫(kù)存商品數(shù)量一些操作代碼的編寫,如計(jì)算進(jìn)貨數(shù)量,計(jì)算銷售數(shù)量,計(jì)算當(dāng)前庫(kù)存量函數(shù)。StringUtil.cs是對(duì)輸入的數(shù)據(jù)進(jìn)行過(guò)濾如去掉其空格、按要求長(zhǎng)度顯示代碼的編制。為了達(dá)到界面美觀統(tǒng)一,程序采用了樣式表、自定義控件與母版技術(shù)。5.1.1基本信息管理模塊實(shí)現(xiàn)首先對(duì)于輸入的基本信息數(shù)據(jù)程序要進(jìn)行格式、類型、長(zhǎng)度等的驗(yàn)證,對(duì)于不正確的要重新輸入,正確時(shí)要讀取各數(shù)據(jù)的值存入相應(yīng)的表中,對(duì)于存入時(shí)顯示失敗的數(shù)據(jù)要進(jìn)行重新的讀取。基本信息管理模塊程序流程如圖5-1所示。圖5-1基本信息管理程序流程圖本模塊中各界面主要用到了文件框控件、驗(yàn)證控件、按鈕控件及表格。其中取出各文本框所輸入的值并存到數(shù)據(jù)庫(kù)中表的代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){//取出對(duì)應(yīng)的文本框stringCompanyType=Return_Title();stringCompanyName=this.CompanyName.Text.ToString();stringCompanyShort=this.CompanyShort.Text.ToString();stringCompanyAddress=this.CompanyAddress.Text.ToString();stringPostalcode=this.Postalcode.Text.ToString();stringTel=this.Tel.Text.ToString();stringFax=this.Fax.Text.ToString();stringLinkman=this.Linkman.Text.ToString();stringEmail=this.Email.Text.ToString();boolYesNo=newSqlDataBase().RunSql_Return_Bool(CmdTxt);//判斷添加后返回結(jié)果,如果正確則返回的是1if(YesNo){JScript.AlertAndRedirect("添加成功!","Add_UserInfo.aspx?Flag="+QueryString.Get_Flag+"");}else{JScript.GoHistory("添加失敗",-1);}}5.1.2商品進(jìn)貨管理模塊實(shí)現(xiàn)首先輸入訂單數(shù)據(jù),當(dāng)驗(yàn)證其格式等為正確時(shí)則要讀取所輸入的數(shù)據(jù)值,當(dāng)保存成功時(shí)程序結(jié)束,否則程序重新讀取所輸入的值。商品進(jìn)貨管理模塊程序流程圖如圖5-2所示。
圖5-2商品進(jìn)貨管理程序流程圖本模塊的界面主要用到驗(yàn)證控件、文本框控件、日歷控件、按鈕等。其主要代碼如下://計(jì)算輸入的金額是否正確if(Number*Pirce<Payment){Response.Write("<script>alert('應(yīng)付金額填寫錯(cuò)誤');history.back()</script>");Response.End();}stringCmdTxt="insertintoStock(CommodityId,CompanyId,Number,Pirce,StockDate,SettlementType,Payment,FactPayment,NotPayment,ManageMan,Username,AddTime,Type)values('"+CommodityId+"','"+CompanyId+"','"+Number+"','"+Pirce+"','"+StockDate+"','"+SettlementType+"','"+Payment+"','"+FactPayment+"','"+NotPayment+"','"+ManageMan+"','"+Username+"','"+AddTime+"','"+Type+"')";boolYesNo=newSqlDataBase().RunSql_Return_Bool(CmdTxt);//判斷添加后返回結(jié)果,如果正確則返回的是1if(YesNo){JScript.AlertAndRedirect("添加成功!","Add_Stock.aspx");}else{JScript.GoHistory("添加失敗",-1);}5.1.3銷售訂單管理模塊實(shí)現(xiàn)程序首先從訂單表中讀取相應(yīng)的銷售訂單數(shù)據(jù),然后再?gòu)墓拘畔⒈碇凶x取客戶信息,根據(jù)客戶聯(lián)系方式發(fā)送電子郵件進(jìn)行確認(rèn),對(duì)于發(fā)送完郵件確認(rèn)的訂單進(jìn)行貨物上發(fā)送處理并及時(shí)更新訂單狀態(tài)。銷售訂單管理模塊程序流程如圖5-3所示。圖5-3銷售訂單管理程序流程圖本模塊的界面主要用到了SqlDataSource控件、GridView控件、文本框控件,在電子郵件的發(fā)送上調(diào)用了組件Interop.ADODB.dll與Interop.CDO.dll。主要實(shí)現(xiàn)代碼如下:publicvoidIsPage_Bind(){if(QueryString.Get_Id!=null&&QueryString.Get_Flag!=null){if(QueryString.Get_Flag.ToString()=="1"){Panel_SendMail.Visible=true;stringCmdTxt="SELECTCommodityName,Number,Pirce,StockDate,SettlementType,Payment,FactPayment,NotPayment,EmailFROMsellWhereid="+QueryString.Get_Id+"";SqlDataReadersdr=newSqlDataBase().GetDataReader(CmdTxt);if(sdr.Read()){txt_Title.Text="關(guān)于貴公司購(gòu)買我司“"+sdr["CommodityName"].ToString()+"”的確認(rèn)通知";txt_Email.Text=sdr["Email"].ToString();txt_Body.Text="貴方于"+sdr["StockDate"].ToString()+",采購(gòu)我司“"+sdr["CommodityName"].ToString()+"”,付款方式:"+sdr["SettlementType"].ToString()+",數(shù)量"+sdr["Number"].ToString()+",單價(jià):"+sdr["Pirce"].ToString()+",應(yīng)付:"+sdr["Payment"].ToString()+",已支付:"+sdr["FactPayment"].ToString()+",未支付:"+sdr["NotPayment"].ToString()+"。\n請(qǐng)貴公司核對(duì)!\n恭祝商祺!";}sdr.Close();sdr.Dispose();}else{newSendMail().Update_Stock_Email(QueryString.Get_Id);//更新訂單狀態(tài)}}}publicvoidToSend(){SendMailSM=newSendMail();SM.To=txt_Title.Text.Trim();SM.Subject=txt_Title.Text.Trim();SM.Body=txt_Body.Text.Trim().Replace("\n","<br/>");SM.Id=QueryString.Get_Id;SM.GoSend(SM);}protectedvoidbtnAdd_Click(objectsender,EventArgse){ToSend();}5.1.4查詢統(tǒng)計(jì)模塊實(shí)現(xiàn)輸入查詢條件,當(dāng)查詢條件值輸入正確時(shí)則輸出所有滿足條件記錄。查詢統(tǒng)計(jì)模塊程序流程如圖5-4所示。圖5-4查詢統(tǒng)計(jì)程序流程圖查詢統(tǒng)計(jì)界面設(shè)計(jì)主要用到了復(fù)選框控件、文本框控件及SqlDataSourcet等控件。其主要實(shí)現(xiàn)代碼如下:publicvoidbind(){stringstrsql,type;if(Request["type"]=="se"){type="銷售信息";}else{type="銷售退貨";}Label1.Text=type;strsql="select*fromsellwheretype='"+type+"'"+Session["sql"]+"orderbyiddesc";SqlConnectionstrcon=newSqlConnection(ConfigurationManager.ConnectionStrings["SellOrder_ConnectionString"].ConnectionString);strcon.Open();SqlDataAdaptersda=newSqlDataAdapter(strsql,strcon);DataSetds=newDataSet();sda.Fill(ds,"search");GridView1.DataSource=ds.Tables["search"];GridView1.DataKeyNames=newstring[]{"id"};GridView1.DataBind();}5.1.5賬務(wù)管理模塊實(shí)現(xiàn)從訂單表中讀取相應(yīng)訂單記錄,再對(duì)其結(jié)款信息進(jìn)行輸入,最后進(jìn)行賬款上的更新。賬務(wù)管理模塊程序流程如圖5-5所示。圖5-5賬務(wù)管理程序流程圖此模塊界面主要用了GridView控件,在其各單元顯示相應(yīng)單據(jù)編號(hào)及結(jié)賬按鈕的代碼如下:stringid=e.Row.Cells[3].Text.ToString();stockClasssc=newstockClass();intnot=sc.not(id);if(not==0){e.Row.Cells[3].Text="<fontcolor=red>已結(jié)款</font>";((Button)(e.Row.Cells[6].Controls[0])).Enabled=false;}else{e.Row.Cells[3].Text=Convert.ToString(not);}//單據(jù)編號(hào)stringmonth=Convert.ToDateTime(((HyperLink)(e.Row.Cells[5].Controls[0])).Text).Month.ToString();if(month.Length<2){
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 路邊廣告位轉(zhuǎn)讓合同
- 美國(guó)自費(fèi)出國(guó)留學(xué)咨詢服務(wù)合同年
- 居間合同傭金承諾書
- 事故車買賣合同協(xié)議
- 連車帶人租賃合同
- 荒山承包合同范本
- 叉車租賃合同協(xié)議書范本大全
- 工地材料運(yùn)輸合同
- 借款合同答辯狀范本范本
- 個(gè)人工作總結(jié)范文20篇
- 2024-2030年中國(guó)香菇行業(yè)銷售狀況及供需前景預(yù)測(cè)報(bào)告
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及解析
- 高中英語(yǔ)必背3500單詞表(完整版)
- 2024年版《輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(cè)》
- 2024年高考數(shù)學(xué)試卷(北京)(空白卷)
- 2024從洞見(jiàn)到生意:阿里健康特色人群消費(fèi)趨勢(shì)報(bào)告-阿里健康x一財(cái)商學(xué)院
- 人教版2024年新教材七年級(jí)上冊(cè)英語(yǔ)starter unit 1 -unit7重點(diǎn)短語(yǔ)句型清單
- 護(hù)理服務(wù)在產(chǎn)科中的應(yīng)用課件
- 2024年小升初語(yǔ)文入學(xué)分班測(cè)試卷四(統(tǒng)編版)
- 流行文化對(duì)青少年價(jià)值觀的影響研究
- 中國(guó)保險(xiǎn)行業(yè)協(xié)會(huì)官方-2023年度商業(yè)健康保險(xiǎn)經(jīng)營(yíng)數(shù)據(jù)分析報(bào)告-2024年3月
評(píng)論
0/150
提交評(píng)論