銷售管理與智能分析系統(tǒng)畢業(yè)論文_第1頁
銷售管理與智能分析系統(tǒng)畢業(yè)論文_第2頁
銷售管理與智能分析系統(tǒng)畢業(yè)論文_第3頁
銷售管理與智能分析系統(tǒng)畢業(yè)論文_第4頁
銷售管理與智能分析系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE編號:大學(xué)本科畢業(yè)論文銷售管理與智能分析系統(tǒng)PAGE35畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:

學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名: 日期:年月日導(dǎo)師簽名:日期:年月日

銷售管理與分析系統(tǒng)摘要:本文銷售管理與分析系統(tǒng),研究了銷售的統(tǒng)計和智能分析,設(shè)計并開發(fā)了一套管理系統(tǒng)。該系統(tǒng)的優(yōu)勢在于:打破常規(guī)表格瀏覽數(shù)據(jù)方式,采用新的直方圖的方式,將數(shù)據(jù)以直方圖的形式顯示出來,能幫助管理者更直觀,更方便的觀察銷售數(shù)據(jù)的變化;能根據(jù)已有的銷售記錄預(yù)測未來一段時間內(nèi)的銷售情況。關(guān)鍵詞:銷售數(shù)據(jù)管理;倉庫管理;數(shù)據(jù)統(tǒng)計;數(shù)據(jù)預(yù)測1引言銷售數(shù)據(jù)管理系統(tǒng)隨著信息化時代的到來和企業(yè)不斷發(fā)展的需要,在國內(nèi)外都有很大的市場和研究空間。現(xiàn)有的銷售數(shù)據(jù)管理系統(tǒng)主要是對于大型數(shù)據(jù)倉庫和中小型數(shù)據(jù)倉庫的研究。有關(guān)大型數(shù)據(jù)倉庫的管理系統(tǒng)大多為企業(yè)內(nèi)部自己開發(fā),其針對性比較強(qiáng),功能也比較完善,但是他的數(shù)據(jù)模型也很難運(yùn)用到其他行業(yè)數(shù)據(jù)倉庫的管理,其通用性很差,并且開發(fā)成本也比較昂貴。對于中小型數(shù)據(jù)倉庫的管理系統(tǒng),市場上有很多。他們的大部分功能都相差不遠(yuǎn)。這些管理系統(tǒng)只具備常規(guī)的數(shù)據(jù)管理,維護(hù)功能。對于更有價值的數(shù)據(jù)統(tǒng)計,數(shù)據(jù)預(yù)測功能,這些系統(tǒng)通常是不具備的。即使有少數(shù)的系統(tǒng)可能做過這些方面的研究,但是其數(shù)據(jù)顯示模式也是常規(guī)的表格形式。這種表格數(shù)據(jù)讓企業(yè)決策者很難從中找到潛在的市場價值。相對于中小型企業(yè)來說,數(shù)據(jù)統(tǒng)計和數(shù)據(jù)預(yù)測功能,直觀的數(shù)據(jù)顯示形式,常常都是很受歡迎的。而具有這些功能的比較完善的系統(tǒng)市場上少之又少。這些企業(yè)為了生存不會開發(fā)針對其自身行業(yè)領(lǐng)域的專門系統(tǒng)。而為了在行業(yè)內(nèi)競爭中獲利,這些中小型企業(yè)非常需要廉價的功能完善的系統(tǒng)。顯然這些與市場上的產(chǎn)品空白形成了矛盾。針對國內(nèi)外研究現(xiàn)狀的分析,對于中小型銷售數(shù)據(jù)倉庫管理的研究,本系統(tǒng)提出了新的開發(fā)模型。2系統(tǒng)需求分析需求分析在系統(tǒng)中占有重要地位。需求分析就是通過與用戶的廣泛交流,得到未來系統(tǒng)必須具備的功能,即了解未來系統(tǒng)必須做什么,定義系統(tǒng)功能和用戶界面,使客戶了解系統(tǒng),開發(fā)人員了解系統(tǒng)需求,同時作為制定項目計劃的基礎(chǔ)。所以說只有好的系統(tǒng)分析才能做出一個好的系統(tǒng)。2.1業(yè)務(wù)需求分析基本的需求主要包括:對數(shù)據(jù)基本信息的管理,對銷售明細(xì)的查詢,統(tǒng)計,基本業(yè)務(wù)報表的輸出和打印,數(shù)據(jù)維護(hù),對未來銷售狀況的預(yù)測,等。主要聯(lián)系是:管理員管理員人事信息員工工資商品信息銷售記錄數(shù)據(jù)維護(hù)報表打印數(shù)據(jù)查詢信息管理智能預(yù)測圖2-1系統(tǒng)需求聯(lián)系圖2.2功能需求分析根據(jù)以上業(yè)務(wù)需求分析,在加上相關(guān)的系統(tǒng)用戶注冊,密碼找回,幫助系統(tǒng),可以總結(jié)出功能需求。如下圖所示:銷銷售管理系統(tǒng)登錄模塊基本信息管理信息查詢數(shù)據(jù)統(tǒng)計報表打印智能分析幫助注冊密碼找回人事信息員工工資商品信息銷售記錄商品信息銷售情況員工名單商品訂單銷售記錄圖2-2系統(tǒng)模塊聯(lián)系圖2.3系統(tǒng)性能分析1.系統(tǒng)必須穩(wěn)定,具有較高的可靠性和容錯性整個系統(tǒng)必須具備很高的安全性,達(dá)到可靠穩(wěn)定,不易出錯,容易修復(fù),并且不能影響正常使用。2.系統(tǒng)軟件功能必須完善,便于管理和維護(hù)整套銷售管理系統(tǒng)必須能滿足用戶的需求,便于操作,界面簡潔,且易于維護(hù)。3.系統(tǒng)需預(yù)留與其他系統(tǒng)的接口為了適應(yīng)業(yè)務(wù)增長的需求,系統(tǒng)需要考慮以后功能的擴(kuò)充,以及與其他系統(tǒng)的連接等問題。3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是存放數(shù)據(jù)及相關(guān)信息的倉庫,是事務(wù)處理,信息管理等應(yīng)用系統(tǒng)的基礎(chǔ)。數(shù)據(jù)庫設(shè)計的意義關(guān)系到系統(tǒng)開發(fā)的成敗。本系統(tǒng)采用關(guān)系模型建立數(shù)據(jù)庫。關(guān)系模型以二維表格的形勢組織數(shù)據(jù)庫中的數(shù)據(jù)。3.1數(shù)據(jù)采集系統(tǒng)的原始數(shù)據(jù)主要來源于網(wǎng)絡(luò)上的中小型企業(yè)。這些數(shù)據(jù)只是企業(yè)內(nèi)部數(shù)據(jù)的一部分。由于論文的目的主要是提供給開發(fā)者一個可以借鑒的模型,并與傳統(tǒng)的模型形成對比,一發(fā)現(xiàn)其優(yōu)點(diǎn)所在。對于系統(tǒng)的研究開發(fā)這些數(shù)據(jù)已經(jīng)足夠了。3.2E-R數(shù)據(jù)圖人事信息和員工工資的E-R模型:員工員工員工號姓名出生日期學(xué)歷職位聯(lián)系方式地址身份證號工資總額獎金基本工資屬于圖3-1人事信息和員工工資的E-R圖商品信息和銷售記錄的E-R模型:商品類別商品類別數(shù)量進(jìn)入價格商品名稱商品代碼庫存量賣出價格銷售日期銷售年月銷售記錄號商品銷售記錄銷售圖3-2商品信息和銷售記錄的E-R圖管理員信息包括:員工號,密碼,權(quán)限,密保問題,密保答案。3.3數(shù)據(jù)表劃分及邏輯結(jié)構(gòu)根據(jù)E-R模型,可以對數(shù)據(jù)表劃分及確定邏輯結(jié)構(gòu)。人事信息表(Workers):列名數(shù)據(jù)類型主鍵允許空員工號varchar(30)是否姓名varchar(30)否否性別varchar(50)否否出生日期datetime否否身份證號varchar(30)否否地址varchar(30)否否聯(lián)系方式varchar(30)否否職位varchar(30)否否學(xué)歷varchar(30)否否員工工資表(Salary):列名數(shù)據(jù)類型主鍵允許空員工號varchar(30)是否姓名varchar(30)否否身份證號varchar(30)否否工資float否否獎金float否否總額float否否商品信息表(Products):列名數(shù)據(jù)類型主鍵允許空商品代碼varchar(30)是否商品名稱varchar(30)否否商品類別varchar(30)否否進(jìn)入價格float否否賣出價格float否否庫存量float否否銷售記錄表(ProductDetails):列名數(shù)據(jù)類型主鍵允許空銷售記錄號bigint是否商品代碼varchar(30)否否商品名稱varchar(30)否否商品類別varchar(30)否否銷售數(shù)量float否否銷售年月datetime否否管理登錄表(Users):列名數(shù)據(jù)類型主鍵允許空員工號varchar(30)是否密碼varchar(30)否否權(quán)限varchar(30)否否密保問題varchar(30)否否密保答案varchar(30)否否4總體設(shè)計總體設(shè)計主要解決在系統(tǒng)設(shè)計中,所涉及到的前臺數(shù)據(jù)流程控制,后臺數(shù)據(jù)庫,視圖的創(chuàng)建,以及Matlab建模程序設(shè)計。4.1總體分析前面已經(jīng)分析過功能需求,在其中的數(shù)據(jù)統(tǒng)計,報表打印等模塊要用到大量的視圖。接著上一章的數(shù)據(jù)庫創(chuàng)建后,接下來主要說明系統(tǒng)中所用到的視圖的創(chuàng)建,智能分析模塊的理論基礎(chǔ),以及相關(guān)的matlab程序設(shè)計。4.2前臺數(shù)據(jù)流程統(tǒng)計模塊:包含,商品信息統(tǒng)計,銷售記錄統(tǒng)計。由于統(tǒng)計模塊的顯示模式有兩種(常規(guī)表格,圖形顯示),所以為了減少編程負(fù)擔(dān),精簡程序,使商品信息統(tǒng)計和銷售記錄統(tǒng)計都采用一個處理模型。針對常規(guī)表格模式,采取調(diào)用數(shù)據(jù)庫命令的形式;對于圖形顯示模型,主要是將統(tǒng)計條件存儲到視圖中,然后打開圖形繪制窗體,讀取視圖中的數(shù)據(jù)并以圖形的形式顯示出來。智能分析模塊:包括,商品盈虧分析,商品銷售預(yù)測,總盈虧分析。商品盈虧分析和總盈虧分析的數(shù)據(jù)流程主要是,視圖統(tǒng)計,然后計算,最后顯示結(jié)果。商品銷售預(yù)測的數(shù)據(jù)流程比較復(fù)雜,在預(yù)測數(shù)據(jù)時需要把將要預(yù)測的商品信息存儲到視圖中,然后由程序讀取,傳遞給已經(jīng)編制好的matlab程序生成的組件,有這些組件計算要預(yù)測的信息。4.3后臺數(shù)據(jù)庫和視圖支持下面是各個模塊中所用到的數(shù)據(jù)視圖,輔助視圖,及各視圖的創(chuàng)建代碼://生成商品訂單數(shù)據(jù)源的輔助視圖createviewProductDD2asselect商品代碼,max(銷售年月)as銷售年月fromProductDD1groupby商品代碼go//生成商品訂單數(shù)據(jù)源的輔助視圖createviewProductDD3asselecta.[商品代碼],a.[商品名稱],a.[銷售總量],b.[銷售年月]fromProductDD1a,ProductDD2bwherea.[商品代碼]=b.[商品代碼]anda.[銷售年月]=b.[銷售年月]go//生成商品訂單數(shù)據(jù)源createviewProductDDasselecta.[商品代碼],a.[商品名稱],a.[商品類別],a.[庫存量],b.[銷售總量]as總銷售量,b.[銷售總量]-a.[庫存量]as訂購量,b.[銷售年月]fromProductsa,ProductDD3bwherea.[商品代碼]=b.[商品代碼]go智能預(yù)測模塊://智能預(yù)測所用視圖//用于輔助計算--求總銷售額createviewZNFXZasselect商品名稱,sum(銷售額)as總銷售額fromProductDetailsgroupby商品名稱go//用于輔助計算--求凈利潤createviewZNFXZ1asselecta.[商品名稱],a.[總銷售額]*(b.[賣出價格]-b.[進(jìn)入價格])/b.[賣出價格]as凈利潤fromZNFXZa,Productsbwherea.[商品名稱]=b.[商品名稱]go--驗(yàn)證是否可預(yù)測用的輔助模塊視圖createviewviewZNasselect商品代碼,商品名稱,銷售年月,sum(銷售額)as月銷售額fromProductDetailsgroupby商品代碼,商品名稱,銷售年月go//驗(yàn)證是否可預(yù)測用的模塊視圖//如果記錄條數(shù)小于8,則不能預(yù)測銷售數(shù)據(jù)createviewviewZNJLasselect商品代碼,商品名稱,count(*)as記錄條數(shù)fromviewZNgroupby商品代碼,商品名稱go//分析模塊用的視圖alterviewviewZNFXasselect商品名稱,(Datediff(month,cast('1996-1-1'asdatetime),cast(銷售年月asdatetime)))as月數(shù),sum(銷售額)as月銷售額,銷售年月fromProductDetailswhere商品名稱='牛奶'groupby商品名稱,銷售年月go4.4Matlab程序設(shè)計在智能分析的數(shù)據(jù)預(yù)測功能中,要使用到最小二乘法。在已有銷售記錄的基礎(chǔ)上使用最小二乘法可以預(yù)定制定時間的銷售額。下面詳細(xì)說明最小二乘法擬合的matlab實(shí)現(xiàn)。最小二乘法擬合:在這里系統(tǒng)選用最小二乘法擬合多項式函數(shù),次數(shù)去2。下面是系統(tǒng)中用到的matlab程序:functionresult=tnh(A,B,X)K=polyfit(A,B,2);result=polyval(K,X);end在程序中A為某個商品的最近8個銷售記錄時間距離1996-01-01的月數(shù);B為對應(yīng)A中每個月的銷售額;X為要預(yù)測的日期距離1996-01-01的月數(shù)。以上模型為最小二乘法,針對不同的企業(yè)和銷售模式其數(shù)據(jù)預(yù)測可能需要不同的模型,本系統(tǒng)是調(diào)用matlab生成的組件,傳遞給模型數(shù)據(jù),然后得出結(jié)果。為了給系統(tǒng)提供更好的適應(yīng)性,如果需要不同的預(yù)測模型,可以直接建模后用matlab程序生成組件,更換掉原來的組件即可運(yùn)行。5詳細(xì)設(shè)計詳細(xì)設(shè)計將描述系統(tǒng)中各個模塊的操作流程,界面設(shè)計,以及實(shí)現(xiàn)程序代碼。5.1登錄模塊登錄模塊通過用戶名和密碼檢查用戶是否合法,同時使用驗(yàn)證信息防止惡意登錄。下面是登錄窗體(Logn)的顯示界面:圖5-1登錄窗體界面圖其中員工號和密碼是用戶在注冊中填寫的信息,驗(yàn)證信息為隨即生成的兩個1-9的整數(shù)組成的運(yùn)算式,只有用戶輸入正確的員工號,密碼,并且在驗(yàn)證框中輸入正確的結(jié)果后方能進(jìn)入系統(tǒng)。5.2注冊模塊在登錄窗體(Logn)中點(diǎn)擊注冊用戶就可以啟動注冊用戶窗體。下面描述用戶注冊流程:輸入信息數(shù)據(jù)合法?輸入信息數(shù)據(jù)合法?更新Users注冊成功關(guān)閉注冊,顯示登錄是否已注冊?是否為公司員工?二次密碼是否一致?重新輸入否是否否是是是否圖5-2用戶注冊模塊數(shù)據(jù)流程圖圖5-3用戶注冊窗體界面圖5.3密碼找回模塊在登錄窗體(Logn)中點(diǎn)擊密碼找回就可以啟動密碼找回窗體。下面描述密碼找回流程:輸入員工號是否有此人輸入員工號是否有此人顯示密保問題輸入答案答案是否正確輸入密碼兩次密碼一致保存密碼否是是是否否重新輸入圖5-4密碼找回模塊數(shù)據(jù)流程圖圖5-5密碼找回窗體界面圖5.4主菜單模塊主菜單模塊主要是為其他各個功能模塊提供操作界面,其界面如下:圖5-6主菜單窗體界面圖主菜單模塊代碼比較簡單,此處不再詳述。5.5基本信息管理模塊該模塊包括人事信息管理,員工工資管理,商品信息管理,其代碼大致相同,此處只對人事信息管理列出代碼: 人事信息管理界面:圖5-7人事信息管理窗體界面圖人事信息管理主要代碼: //flag變量用于控制新建按鈕是否可用//為防止出現(xiàn)異常//每次插入新的行后都要保存一次后才能再次插入intflag=1;privatevoidworkersBindingNavigatorSaveItem_Click(objectsender,EventArgse){try{this.Validate();this.workersBindingSource.EndEdit();this.tableAdapterManager.UpdateAll(this.ePDateDataSet);flag=1;MessageBox.Show("保存成功!");}catch(Exceptionerr){MessageBox.Show(err.Message);}} //保存PrivatevoidworkersBindingNavigatorSaveItem_Click_1(objectsender,EventArgse){if(YzNotNull()){try{this.Validate();this.workersBindingSource.EndEdit();this.tableAdapterManager.UpdateAll(this.ePDateDataSet);flag=1;MessageBox.Show("保存成功!");}catch(Exceptionerr){MessageBox.Show(err.Message);}}else{MessageBox.Show("有數(shù)據(jù)項為空,請?zhí)顚懲暾臄?shù)據(jù)后再保存!");return;}}privateboolYzNotNull(){if(出生日期DateTimePicker.Value==null||地址TextBox.Text==""||聯(lián)系方式TextBox.Text==""||身份證號TextBox.Text==""||姓名TextBox.Text==""||性別TextBox.Text==""||學(xué)歷

TextBox.Text==""||員工號TextBox.Text==""||職位TextBox.Text=="")returnfalse;elsereturntrue;} //添加新行privatevoidbindingNavigatorAddNewItem_Click(objectsender,EventArgse){if(flag==0)return;else{flag=0;bindingNavigatorAddNewItem.Enabled=false;}}5.6查詢模塊該模塊包括人事信息查詢,員工工資查詢,商品信息信息,銷售記錄查詢,其代碼大致相同,此處不再詳述。銷售記錄查詢界面:圖5-8銷售記錄查詢窗體界面圖5.7統(tǒng)計模塊統(tǒng)計模塊包括商品信息統(tǒng)計,銷售記錄統(tǒng)計。統(tǒng)計結(jié)果顯示形式有表格形式,直方圖形式。在代碼上商品信息統(tǒng)計,銷售記錄統(tǒng)計大致相同。此處只列出銷售記錄的代碼和圖形。銷售記錄統(tǒng)計界面(表格模式):(圖中為白米的銷售額統(tǒng)計情況)圖5-9銷售情況數(shù)據(jù)統(tǒng)計窗體界面圖銷售記錄統(tǒng)計界面(直方圖模式):(圖中為海苔醬的銷售量直方圖)圖5-10數(shù)據(jù)統(tǒng)計模塊直方圖顯示模式窗體界面圖銷售記錄主要代碼://顯示統(tǒng)計結(jié)果privatevoidbutton1_Click(objectsender,EventArgse){//如果沒有選商品類別,返回if(comboBox1.SelectedIndex==-1||comboBox2.SelectedIndex==-1){MessageBox.Show("請選擇商品類別和商品名稱");return;}stringcmdString;SqlConnectionconn=newSqlConnection(Properties.Settings.Default.EPDateConnectionString);//如果選擇的是直方圖模式,調(diào)整視圖數(shù)據(jù),打開圖形顯示窗體if(radioButtonZFT.Checked==true){C3TJDrawform=newC3TJDraw();C3TJDrawform1=newC3TJDraw();//調(diào)整視圖數(shù)據(jù)cmdString="alterviewviewTJasselect銷售年月,sum(銷售額)as月銷售額fromProductDetailswhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'groupby銷售年月";SqlCommandcmd=newSqlCommand(cmdString,conn);try{conn.Open();cmd.ExecuteNonQuery();}catch(Exceptionerr){MessageBox.Show(err.Message);return;}finally{conn.Close();}form.Close();form1.Show();return;}//如果是常規(guī)模式,則在表中顯示數(shù)據(jù)cmdString="select商品代碼,商品名稱,銷售年月,sum(銷售額)as月銷售額fromProductDetailswhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'groupby商品代碼,商品名稱,銷售年月";SqlDataAdapteradapter=newSqlDataAdapter(cmdString,conn);DataTabletable=newDataTable();try{adapter.Fill(table);dataGridView1.DataSource=table;}catch(Exceptionerr){MessageBox.Show(err.Message);}}圖形繪制模塊的主要代碼:SqlDataAdapteradapter=newSqlDataAdapter();DataTabletable=newDataTable();privatevoidC3TJDraw_Load(objectsender,EventArgse){//讀取視圖到表table中,供后續(xù)調(diào)用SqlConnectionconn=newSqlConnection(Properties.Settings.Default.EPDateConnectionString);stringsearch="select*fromviewTJgo";adapter=newSqlDataAdapter(search,conn);adapter.Fill(table);} //繪圖privatevoidC3TJDraw_Paint(objectsender,PaintEventArgse){//設(shè)置變量inth1,h2,w1,w2,wd,hd,yl,xl,yd,xd,rd,clmNB;decimalrk;intmaxValue=1;intc1,c2,cWidth,cHeight;stringxString;stringyString;//給變量賦值h1=20;h2=110;w1=w2=50;wd=30;hd=10;yl=this.Height-h1-h2;xl=this.Width-w1-w2;yd=50;xd=50;clmNB=table.Rows.Count;//查找列中最大值for(inti=0;i<clmNB;i++){if(Convert.ToInt16(table.Rows[i][1])>maxValue)maxValue=Convert.ToInt16(table.Rows[i][1]);}rk=Convert.ToDecimal(Convert.ToDecimal((yl-yd))/Convert.ToDecimal(maxValue));rd=(xl-xd)/(2*clmNB);//繪制坐標(biāo)軸Graphicsg=e.Graphics;Penblackpen=newPen(Color.LightBlue,2.0f);blackpen.StartCap=LineCap.Flat;blackpen.EndCap=LineCap.ArrowAnchor;//畫出直線g.DrawLine(blackpen,newPoint(w1,this.Height-h2),newPoint(this.Width-w2,this.Height-h2));g.DrawLine(blackpen,newPoint(w1,this.Height-h2),newPoint(w1,h1));//x,y坐標(biāo)標(biāo)示g.DrawString(table.Columns[0].ColumnName.ToString(),this.Font,Brushes.Black,this.Width-w2-10,this.Height-h2+5);g.DrawString(table.Columns[1].ColumnName.ToString(),this.Font,Brushes.Black,w1+5,h1);//繪制圖形SolidBrushblueBrush=newSolidBrush(Color.LightBlue);for(inti=1;i<=clmNB;i++){cHeight=Convert.ToInt16(Convert.ToDecimal(table.Rows[i-1][1])*rk);c1=w1+2*i*rd;c2=this.Height-h2-cHeight;cWidth=rd;xString=table.Rows[i-1][0].ToString();yString=table.Rows[i-1][1].ToString();if(yString.Length>=4)yString=yString.Substring(0,4);//繪制,填充直方圖g.DrawRectangle(blackpen,c1,c2,cWidth,cHeight);g.FillRectangle(blueBrush,c1,c2,cWidth,cHeight);//繪制標(biāo)示//直方圖標(biāo)示g.DrawString(yString,this.Font,Brushes.Black,c1,c2-wd);System.Drawing.StringFormatdrawFormat=newSystem.Drawing.StringFormat(StringFormatFlags.DirectionVertical);g.DrawString(xString,this.Font,Brushes.Black,c1,this.Height-h2+hd,drawFormat);}}其中部分變量的意義請看下圖:h1ydh1ydwdw1h2hdxdw2圖5-11直方圖顯示窗體程序變量示意圖5.8報表打印模塊報表打印模塊包括員工名單,商品訂單,銷售記錄情況。關(guān)于報表的制作,三者基本相同,此處不再累述。下面只顯示商品訂單的信息。商品訂單報表界面:圖5-12商品訂單報表窗體界面圖5.9數(shù)據(jù)維護(hù)模塊數(shù)據(jù)維護(hù)主要是通過調(diào)用數(shù)據(jù)庫命令將數(shù)據(jù)庫中的數(shù)據(jù)備份到指定的位置,以供數(shù)據(jù)恢復(fù)是使用。用戶單擊數(shù)據(jù)備份后選擇保存位置后就可以將數(shù)據(jù)庫的備份保存到指定位置。數(shù)據(jù)恢復(fù)工作可以在SQLServer2005中通過還原數(shù)據(jù)庫完成。5.10智能分析模塊該模塊有三個功能商品盈虧分析,商品銷售預(yù)測,總銷售盈虧分析。商品盈虧分析的運(yùn)行結(jié)果如下:(下圖為系統(tǒng)對番茄醬的銷售情況的分析)圖5-13智能預(yù)測商品盈虧分析窗體界面圖從圖中可以看出番茄醬的目前總盈利7835.835元,凈利潤占銷售額的百分比為:40.05692%,可見已達(dá)到目標(biāo)銷售范圍,系統(tǒng)建議繼續(xù)銷售。商品銷售預(yù)測的運(yùn)行結(jié)果如下:(下圖為對番茄醬的銷售情況的分析)圖5-14智能預(yù)測商品銷售預(yù)測窗體界面圖從圖中可以看出番茄醬在1999年4月的銷售額預(yù)計為326.2292??備N售盈虧的運(yùn)行結(jié)果如下:圖5-15智能預(yù)測總銷售盈虧分析窗體界面圖到目前為止,公司銷售額為1258488元,凈利潤為545404.9元,凈利潤占銷售額百分比為43.33811%。以上模塊的主要實(shí)現(xiàn)代碼如下://商品盈虧分析privatevoidbutton1_Click(objectsender,EventArgse){if(comboBox2.SelectedIndex==-1){MessageBox.Show("請選擇要分析的商品!");return;}richTextBox2.Text="";stringpd;floatzxse;floatjj;floatmj;floatjlr;floatjlb;try{//求商品的總銷售額SqlConnectionconn=newSqlConnection(Properties.Settings.Default.EPDateConnectionString);stringsearch="selectsum(銷售額)as'銷售額'fromProductDetailswhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'groupby商品名稱";SqlDataAdapteradapter=newSqlDataAdapter(search,conn);DataTabletable=newDataTable();adapter.Fill(table);zxse=(float)Convert.ToDouble(table.Rows[0][0]);//求進(jìn)入價格,賣出價格search="select進(jìn)入價格,賣出價格fromProductswhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'";SqlDataAdapteradapter1=newSqlDataAdapter(search,conn);DataTabletable1=newDataTable();adapter1.Fill(table1);jj=(float)Convert.ToDouble(table1.Rows[0][0]);mj=(float)Convert.ToDouble(table1.Rows[0][1]);//顯示結(jié)果jlr=zxse*(mj-jj);jlb=(mj-jj)/mj*100;if(jlb<10)pd="該商品已處于虧損狀態(tài),應(yīng)當(dāng)立即調(diào)整價格或停止出售!";elseif(jlb<40)pd="不在目標(biāo)盈利范圍,建議調(diào)整價格!";elsepd="達(dá)到目標(biāo)銷售范圍,建議繼續(xù)保持銷售!";richTextBox2.Text=""+comboBox2.SelectedItem.ToString()+"商品目前總盈利:"+jlr.ToString()+"凈利潤占銷售額百分比:"+jlb.ToString()+"%";richTextBox2.Text=richTextBox2.Text+pd;}catch(Exceptionerr){MessageBox.Show(err.Message);}}//總盈虧分析privatevoidbutton3_Click(objectsender,EventArgse){richTextBox2.Text="";floatzxse;floatjlr;floatjlb;stringpd;try{//求總銷售額SqlConnectionconn=newSqlConnection(Properties.Settings.Default.EPDateConnectionString);stringsearch="selectsum(總銷售額)fromZNFXZ";SqlDataAdapteradapter=newSqlDataAdapter(search,conn);DataTabletable=newDataTable();adapter.Fill(table);zxse=(float)Convert.ToDouble(table.Rows[0][0]);//求凈利潤search="selectsum(凈利潤)fromZNFXZ1";SqlDataAdapteradapter1=newSqlDataAdapter(search,conn);DataTabletable1=newDataTable();adapter1.Fill(table1);jlr=(float)Convert.ToDouble(table1.Rows[0][0]);//顯示結(jié)果jlb=jlr*100/zxse;if(jlb<40)pd="商店處于低盈利狀態(tài),應(yīng)當(dāng)調(diào)整銷售策略!";elsepd="達(dá)到目標(biāo)盈利范圍,建議繼續(xù)保持銷售!";richTextBox2.Text="銷售總額為:"+zxse.ToString()+"凈利潤為:"+jlr.ToString()+"凈利潤占銷售總額比例為:"+jlb.ToString()+"%!";richTextBox2.Text=richTextBox2.Text+""+pd;}catch(Exceptionerr){MessageBox.Show(err.Message);}}//智能預(yù)測privatevoidbutton2_Click(objectsender,EventArgse){Cursor.Current=Cursors.WaitCursor;richTextBox2.Text="";if(comboBox2.SelectedIndex==-1||dateTimePicker1.Value==null){MessageBox.Show("請選擇完整的分析條件!");return;}//定義變量float[]A={0,0,0,0,0,0,0,0};float[]B={0,0,0,0,0,0,0,0};intX;stringsearch;intJlCount;//提取數(shù)據(jù)//求商品的銷售記錄數(shù)SqlConnectionconn=newSqlConnection(Properties.Settings.Default.EPDateConnectionString);try{search="select*fromviewZNJLwhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'";SqlDataAdapteradapter=newSqlDataAdapter(search,conn);DataTabletable=newDataTable();adapter.Fill(table);JlCount=(int)Convert.ToDouble(table.Rows[0][2]);}catch(Exceptionerr){MessageBox.Show(err.Message);return;}finally{conn.Close();}//驗(yàn)證是否可以預(yù)測if(JlCount<8){MessageBox.Show("該商品銷售時間太短,系統(tǒng)不予預(yù)測!");return;}//修改后保存到視圖search="alterviewviewZNFXasselect商品名稱,(Datediff(month,cast('1996-1-1'asdatetime),cast(銷售年月asdatetime)))as月數(shù),sum(銷售額)as月銷售額,銷售年月fromProductDetailswhere商品名稱='"+comboBox2.SelectedItem.ToString()+"'groupby商品名稱,銷售年月";SqlCommandcmd=newSqlCommand(search,conn);try{conn.Open();cmd.ExecuteNonQuery();}catch(Exceptionerr){MessageBox.Show(err.Message);return;}try//從視圖中提取數(shù)據(jù),賦值給數(shù)組{search="select*fromviewZNFXorderby銷售年月desc";SqlDataAdapteradapter1=newSqlDataAdapter(search,conn);DataTabletable1=newDataTable();adapter1.Fill(table1);for(inti=0;i<8;i++){A[i]=(float)Convert.ToDouble(table1.Rows[i][1]);B[i]=(float)Convert.ToDouble(table1.Rows[i][2]);}}catch(Exceptionerr){MessageBox.Show(err.Message);return;}//計算預(yù)測時間距離1996-01-01的月數(shù)DateTimet1=dateTimePicker1.Value;DateTimet2=Convert.ToDateTime("1996-01-01");TimeSpants1=newTimeSpan(t1.Ticks);TimeSpants2=newTimeSpan(t2.Ticks);TimeSpants=ts1.Subtract(ts2).Duration();//stringa=ts.Days.ToString()+"天"+ts.Hours.ToString()+"小時"+ts.Minutes.ToString()+"分鐘"+ts.Seconds.ToString()+"秒";X=ts.Days/30;if(X<=0)//判斷預(yù)測時間是否合法{MessageBox.Show("預(yù)測時間非法,請重新輸入!");return;}//調(diào)用matlabtnh.tnhclassc=newtnhclass();MWArrayresult=c.tnh((MWNumericArray)A,(MWNumericArray)B,(MWNumericArray)X);//顯示結(jié)果richTextBox2.Text=comboBox2.SelectedItem.ToString()+"在"+dateTimePicker1.Value+"的銷售額將達(dá)到";richTextBox2.Text=richTextBox2.Text+result.ToString();Cursor.Current=Cursors.Default;}結(jié)論本文主要論述了銷售管理與智能分析系統(tǒng),實(shí)現(xiàn)了管理系統(tǒng)常規(guī)的表格瀏覽數(shù)據(jù)方式向圖形顯示方式的轉(zhuǎn)換。并研究了運(yùn)用數(shù)據(jù)擬合技術(shù)對銷售記錄進(jìn)行智能分析和預(yù)測。系統(tǒng)的好處在于:將數(shù)據(jù)以直方圖的形式顯示出來,幫助管理者更直觀,更方便的觀察銷售數(shù)據(jù)的變化;根據(jù)已有的銷售記錄和銷售模式,用戶可以采用不同的預(yù)測模型,以組件的形式添加到系統(tǒng),實(shí)現(xiàn)對未來銷售情況的預(yù)測;該系統(tǒng)部署方便成本低,低錯誤率,易用性強(qiáng)。參考文獻(xiàn)[1]馬駿主編.C#網(wǎng)絡(luò)應(yīng)用編程基礎(chǔ)[M].人民郵電出版社,2007.[2]薩師煊主編.數(shù)據(jù)庫系統(tǒng)概論(第四版)[M].高等教育出版社,2006.[3]盧瀟.軟件工程[M].清華大學(xué)出版社[M].北京交通大學(xué)出版社,2005.[4]姜啟源.數(shù)學(xué)模型(第三版)[M].高等教育出版社,2005.[5]馬駿主編.C#網(wǎng)絡(luò)應(yīng)用編程實(shí)驗(yàn)指導(dǎo)與開發(fā)實(shí)例[M].人民郵電出版社,2008.基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動控制系統(tǒng)設(shè)計Pico專用單片機(jī)核的可測性設(shè)計研究基于MCS-51單片機(jī)的熱量計基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用HYPERLINK"/detail.htm?35

溫馨提示

  • 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

提交評論