小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(計(jì)算機(jī)專業(yè))_第1頁(yè)
小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(計(jì)算機(jī)專業(yè))_第2頁(yè)
小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(計(jì)算機(jī)專業(yè))_第3頁(yè)
小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(計(jì)算機(jī)專業(yè))_第4頁(yè)
小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(計(jì)算機(jī)專業(yè))_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上學(xué)號(hào) 畢業(yè)設(shè)計(jì)題目:小型超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 作 者 屆 別 院 別 專 業(yè) 指導(dǎo)教師 職 稱 完成時(shí)間 專心-專注-專業(yè)摘 要隨著銷售行業(yè)競(jìng)爭(zhēng)日益激烈,小型超市收銀系統(tǒng)的引入顯得極其重要。它不但可以提高進(jìn)銷存管理的工作效率,而且可以有效減少盲目采購(gòu)、降低采購(gòu)成本、合理控制庫(kù)存、減少資金占用并提高市場(chǎng)靈敏度,從根本上提升超市的市場(chǎng)競(jìng)爭(zhēng)力。本系統(tǒng)運(yùn)用計(jì)算機(jī)管理信息技術(shù),建立數(shù)據(jù)庫(kù),對(duì)超市的進(jìn)銷存過(guò)程進(jìn)行詳細(xì)的分析,實(shí)現(xiàn)了對(duì)超市的進(jìn)貨、銷售和庫(kù)存的科學(xué)管理。它主要包括以下幾大模塊:登錄模塊、商品入庫(kù)模塊、商品銷售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信息模塊、供應(yīng)商信息模塊、用戶信

2、息模塊。各模塊相許獨(dú)立,同時(shí)又構(gòu)成統(tǒng)一的整體。 本文主要介紹了小型超市收銀系統(tǒng)的環(huán)境、所用到的開發(fā)語(yǔ)言、功能作用、設(shè)計(jì)的方案等各方面的內(nèi)容,其目的在于讓使用者了解此系統(tǒng),使他們能更好的運(yùn)用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。另外在文中還予以指出了系統(tǒng)開發(fā)有待于進(jìn)一步完善發(fā)展的方向。關(guān)鍵詞:收銀系統(tǒng);控件;窗體;.net平臺(tái)ABSTRACTWith the increasingly fierce competition in sales industry, the introduction of small supermarket cashier system is very important.

3、 It can not only improve the working efficiency of the purchase-sell-stock management, but also can effectively reduce the blind procurement, reduce procurement cost, have the reasonable control of inventory, reduce capital that takes up and improve market sensitivity, fundamentally ascending superm

4、arket market competitiveness.This system uses computer-information-management technology, establish the database of supermarket. With a detailed analysis of the supermarket, it achieves the functions of purchasing and the scientific management of sales and stock. It includes the following major modu

5、les: login module, storage module of goods, merchandise sales module, operating statistics module, product information module, the module supplier information, user information module. Phase allowed to independently of each module, at the same time constitute a unified whole.In this paper, a small s

6、upermarket cash register system environment, the language used in the development, function, design and other aspects of the program, which aims to allow users to understand this system so they can better use the system, so that This system play its due role. Also in the article we pointed out that

7、the system should be with further improved development.Key words: the cashier system; Control; Form; T platform目 錄1 緒 論隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,人們的生活方式正發(fā)生著巨大的變化。計(jì)算機(jī)技術(shù)已經(jīng)滲透到各個(gè)領(lǐng)域,成為各個(gè)行業(yè)必不可少的工具。特別是Internet技術(shù)的推廣和信息高速公路的建立,使得IT產(chǎn)業(yè)在市場(chǎng)競(jìng)爭(zhēng)中越發(fā)顯示出其獨(dú)特的優(yōu)勢(shì)??茖W(xué)技術(shù)是第一生產(chǎn)力,科學(xué)技術(shù)的發(fā)展讓人類更加受益。各類信息系統(tǒng)應(yīng)用于各行各業(yè),不但給管理上帶來(lái)了極大的便利,而且還提高了工作效率。中小型超

8、市在我國(guó)經(jīng)濟(jì)發(fā)展中具有重要地位,目前我國(guó)的中小型超市數(shù)量多,地區(qū)分布廣泛,行業(yè)分布跨度大。隨著全球經(jīng)濟(jì)一體化的發(fā)展和電子商務(wù)的興起,中小型超市之間的競(jìng)爭(zhēng)將越來(lái)越激烈。網(wǎng)絡(luò)及電子商務(wù)的迅猛發(fā)展突破了時(shí)間、空間的局限性,給中小型超市帶來(lái)了更多的發(fā)展機(jī)會(huì),同時(shí)也增大了超市行業(yè)間的競(jìng)爭(zhēng)強(qiáng)度。這就要求中小型超市必須改變營(yíng)業(yè)管理模式,提高運(yùn)營(yíng)效率。目前,我國(guó)中小型超市的信息化水平還很低。隨著技術(shù)的發(fā)展,電腦操作及管理日趨簡(jiǎn)化,電腦知識(shí)日趨普及,同時(shí)市場(chǎng)經(jīng)濟(jì)快速多變,競(jìng)爭(zhēng)激烈,超市行業(yè)采用電腦管理進(jìn)貨、庫(kù)存、銷售等諸多環(huán)節(jié)也已成為必然趨勢(shì)。1.1 研究課題的目的社會(huì)生活的現(xiàn)代化,使得市場(chǎng)的走向發(fā)生巨大變化,

9、由于經(jīng)濟(jì)的發(fā)展,人民對(duì)生活的需求已經(jīng)不再滿足于豐衣足食的低度要求,許多人們往往不是單純?yōu)闈M足生活必須去購(gòu)買,而是憑著喜歡、意欲和感官去購(gòu)買。如果一個(gè)商店能夠打動(dòng)顧客、吸引顧客,自然會(huì)顧客盈門,而近幾年新興產(chǎn)業(yè)中超級(jí)市場(chǎng)(supermarket)的現(xiàn)代化管理方式和便捷的購(gòu)物方式,尤其是它輕松的購(gòu)物環(huán)境,往往是打動(dòng)顧客,吸引顧客的最主要的原因,且良好的周密的銷售服務(wù)更是贏得信譽(yù)、吸引的顧客的優(yōu)勢(shì)所在。商品經(jīng)濟(jì)的高速現(xiàn)代化發(fā)展也促進(jìn)了競(jìng)爭(zhēng),使一切不甘落后的商家都爭(zhēng)先恐后地采用最新的管理方法來(lái)加強(qiáng)自己的競(jìng)爭(zhēng)地位。因?yàn)椋薪?jīng)營(yíng)者如果不掌握當(dāng)今市場(chǎng)發(fā)展的這一走向,不能將超市現(xiàn)代化經(jīng)營(yíng)作為奴努力開拓的目標(biāo)

10、,就無(wú)法使經(jīng)營(yíng)活絡(luò)、財(cái)源茂盛。現(xiàn)代化事業(yè)的發(fā)展,也使超市的管理數(shù)段發(fā)生前所未有的革命,計(jì)算機(jī)的運(yùn)用正在發(fā)達(dá)國(guó)家的各類商店超市中普及。由于它能夠準(zhǔn)確記載和查詢有關(guān)超市經(jīng)營(yíng)活動(dòng)的大量數(shù)據(jù),幫助超市經(jīng)營(yíng)者掌握和分析營(yíng)銷情況,及時(shí)作出正確決策,并且有利于商店內(nèi)部財(cái)務(wù)、工資、人員、庫(kù)存、銷售情況等管理,因而大大提高了現(xiàn)代超市的管理水平。國(guó)外很多發(fā)達(dá)資本主義國(guó)家的有關(guān)人士都在開發(fā)超市管理系統(tǒng),開發(fā)出很多大型的軟件,由于本人能力有限,開發(fā)一個(gè)小型超市管理系統(tǒng),它可以使我們國(guó)內(nèi)新起小型超市可以更好的操作。此系統(tǒng)的有減少差錯(cuò),節(jié)省人力、減少顧客購(gòu)物時(shí)間,增加客流量,提高顧客滿意度等特點(diǎn)。我通過(guò)開發(fā)這個(gè)簡(jiǎn)單管理信

11、息系統(tǒng),鞏固了以前所學(xué)的知識(shí),提高了應(yīng)用能力。1.2 研究課題的意義21世紀(jì),超市的競(jìng)爭(zhēng)進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)不再是規(guī)模的競(jìng)爭(zhēng),而是技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)、人才的競(jìng)爭(zhēng)。技術(shù)的提升和管理的升級(jí)是超市業(yè)的競(jìng)爭(zhēng)核心。如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷售額、降低經(jīng)營(yíng)成本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市經(jīng)營(yíng)者努力追求的目標(biāo)。為了提高物資管理的水平和工作效率,盡可能杜絕商品流通中各環(huán)節(jié)中可能出現(xiàn)的資金流失不明現(xiàn)象,商品進(jìn)銷存領(lǐng)域迫切需要引進(jìn)信息系統(tǒng)來(lái)加以管理,而商品銷售管理系統(tǒng)是當(dāng)前應(yīng)用于超市或者公司管理系統(tǒng)的典型代表。從消費(fèi)者的角度來(lái)說(shuō),結(jié)帳時(shí)應(yīng)該準(zhǔn)備和快速,畢竟時(shí)間就是金錢。由于傳統(tǒng)的超市收銀管理給顧客和店主帶來(lái)

12、很多不便。針對(duì)這方面的缺陷,開發(fā)這個(gè)系統(tǒng)可以方便快捷地查出顧客結(jié)帳情況,商品信息情況,每天的售貨情況,方便了對(duì)超市商品管理、人員管理,大大提高了超市的售貨速度。進(jìn)而加速了社會(huì)的發(fā)展速度,提高了人民的生活水平。總之,借助于信息系統(tǒng)可以大大提高超市的運(yùn)作效率,通過(guò)全面的信息的采集和處理,不僅輔助提高了超市的決策水平,還可以迅速提高超市的管理水平,為降低經(jīng)營(yíng)成本,提高效率,增強(qiáng)超市擴(kuò)張力,提供有效的技術(shù)保障。2 需求分析2.1 可行性研究系統(tǒng)開始和可行性研究是為系統(tǒng)開發(fā)做前期準(zhǔn)備1。在對(duì)一個(gè)項(xiàng)目的開發(fā)之前,我們總是要對(duì)其進(jìn)行一個(gè)可行性分析與需求分析,通過(guò)和指導(dǎo)老師的共同分析得出了可行性開發(fā)計(jì)劃。對(duì)于

13、需求分析我們作了如下調(diào)查分析的需求。2.1.1 技術(shù)可行性隨著軟件編程技術(shù)的不斷增加,功能的不斷加強(qiáng),和網(wǎng)絡(luò)技術(shù)的不斷成熟,信息安全的不斷完善以及開發(fā)工具的日益進(jìn)步,采用計(jì)算機(jī)系統(tǒng)來(lái)管理超市要求數(shù)據(jù)的采集、更新能夠完整、準(zhǔn)確和及時(shí),所以開發(fā)通用的超市收銀系統(tǒng)已經(jīng)完全可以做到。2.1.2 經(jīng)濟(jì)可行性因?yàn)橥ㄟ^(guò)網(wǎng)絡(luò)傳遞銷售信息,可以不受距離的限制,因此可以節(jié)約許多的人力和物力,方便管理,由此可以減少不必要的開支,同時(shí)該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟(jì)效益,所以從經(jīng)濟(jì)上是完全可行的。2.1.3 操作可行性本系統(tǒng)采用Windows圖形界面,是大家熟悉的操作系統(tǒng),對(duì)于用戶只需要具有一般的計(jì)算

14、機(jī)知識(shí)的人員都可以輕松上手。而且整個(gè)銷售系統(tǒng)采用最友好的交互界面,簡(jiǎn)潔明了,不需要對(duì)數(shù)據(jù)庫(kù)非常了解。 由此,該系統(tǒng)的操作是可行的,有必要推廣該系統(tǒng)。綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無(wú)論是從技術(shù)上經(jīng)濟(jì)上還是操作上。故此,可以設(shè)計(jì)該系統(tǒng)流程圖,建立數(shù)據(jù)字典。2.2 需求分析對(duì)于大型超市信息管理系統(tǒng)來(lái)說(shuō),通常它會(huì)把員工人事管理系統(tǒng)也包括在內(nèi)。由于現(xiàn)考慮的是小型超市,其可承擔(dān)的研發(fā)支費(fèi)也有限2。所以在這個(gè)系統(tǒng)中,要實(shí)現(xiàn)的功能主要如下:(1) 功能要求對(duì)庫(kù)存產(chǎn)品進(jìn)行資料管理和統(tǒng)計(jì);對(duì)產(chǎn)品的進(jìn)貨單和產(chǎn)品的銷售單進(jìn)行錄入管理和統(tǒng)計(jì);對(duì)進(jìn)貨、銷售、庫(kù)存情況進(jìn)行查詢;對(duì)用戶進(jìn)行管理,具體為添加用戶、

15、刪除用戶、修改用戶密碼;對(duì)供應(yīng)商基本信息的管理;對(duì)贏利狀況分析,進(jìn)行營(yíng)業(yè)統(tǒng)計(jì),按年月日及商品類別統(tǒng)計(jì);(2) 數(shù)據(jù)精確度產(chǎn)品的進(jìn)貨單和銷售單中,單價(jià)、金額采用浮點(diǎn)數(shù),數(shù)量都取整數(shù)。(3) 時(shí)間特性該系統(tǒng)軟件從啟動(dòng)到進(jìn)入系統(tǒng)登錄界面的時(shí)間正常情況下少于5秒,錄入并更新數(shù)據(jù)的時(shí)間正常情況下少于10秒。(4) 適用性該管理系統(tǒng)軟件適用于Windows 2000/Windows XP中文版下運(yùn)行。2.3 開發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,Management Information System)可以保存用戶信息,通過(guò)對(duì)信息進(jìn)行分析和處理,可以幫助用戶制定計(jì)劃、規(guī)范管理或提供決

16、策依據(jù)。超市收銀系統(tǒng)具有其特殊性,通常采用C/S結(jié)構(gòu),考慮到其為小型超市,所以在架構(gòu)上面選擇兩層。2.3.1 C#介紹C sharp(又被簡(jiǎn)稱為”C#”)是微軟公司在2000年6月發(fā)布的一種新的編程語(yǔ)言。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過(guò)程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角3。C#在帶來(lái)對(duì)應(yīng)用程序的快速開發(fā)能力的同時(shí),并沒(méi)有犧牲C與C+程序員所關(guān)心的各種特性。它忠實(shí)地繼承了C和C+的優(yōu)點(diǎn)。

17、如果你對(duì)C或C+有所了解,你會(huì)發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手,C#也不會(huì)給你帶來(lái)任何其它的麻煩,快速應(yīng)用程序開發(fā)(Rapid Application Development,RAD)的思想與簡(jiǎn)潔的語(yǔ)法將會(huì)使你迅速成為一名熟練的開發(fā)人員。C#是專門為.NET應(yīng)用而開發(fā)出的語(yǔ)言。這從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫(kù)的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。C#具有如下幾個(gè)特點(diǎn):(1) 簡(jiǎn)潔的語(yǔ)法在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。它所帶來(lái)的最大的特色是沒(méi)有了指針。C#只支持一個(gè)“.”,對(duì)于我們來(lái)說(shuō),

18、現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。(2) 精心地面向?qū)ο笤O(shè)計(jì)C#具有面向?qū)ο蟮恼Z(yǔ)言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過(guò)精心地面向?qū)ο笤O(shè)計(jì),從高級(jí)商業(yè)對(duì)象到系統(tǒng)級(jí)應(yīng)用,C#建造廣泛組件的絕對(duì)選擇。在C#的類型系統(tǒng)中,每種類型都可以看作一個(gè)對(duì)象。C#提供了一個(gè)叫做裝箱(boxing)與拆箱(unboxing)的機(jī)制來(lái)完成這種操作,而不給使用者帶來(lái)麻煩。C#只允許單繼承,即一個(gè)類不會(huì)有多個(gè)基類,從而避免了類型定義的混亂。C#中沒(méi)有了全局函數(shù),沒(méi)有了全局變量,也沒(méi)有了全局常數(shù)。一切的一切,都必須封裝在一個(gè)類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。(

19、3) 與Web的緊密結(jié)合C#組件將能夠方便地為Web服務(wù),并允許它們通過(guò)Internet被運(yùn)行在任何操作系統(tǒng)上的任何語(yǔ)言所調(diào)用。舉個(gè)例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。(4) 完整的安全性與錯(cuò)誤處理語(yǔ)言的安全性與錯(cuò)誤處理能力,是衡量一種語(yǔ)言是否優(yōu)秀的重要依據(jù)。C#的先進(jìn)設(shè)計(jì)思想可以消除軟件開發(fā)中的許多常見錯(cuò)誤,并提供了包括類型安全在內(nèi)的完整的安全性能。內(nèi)存管理中的垃圾收集機(jī)制減輕了開發(fā)人員對(duì)內(nèi)存管理的負(fù)擔(dān)。.NET平臺(tái)提供的垃圾收集器(Garbage Collection,GC)將負(fù)責(zé)資源的釋放與對(duì)象撤

20、銷時(shí)的內(nèi)存清理工作。(5) 版本處理技術(shù)C#提供內(nèi)置的版本支持來(lái)減少開發(fā)費(fèi)用,使用C#將會(huì)使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。(6) 靈活性和兼容性如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。如此就能使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組。此外,它還引進(jìn)了模擬指針功能的-delegates,指代。C#不支持類的多繼承,但是通過(guò)對(duì)接口的繼承,你將獲得這一功能。2.3.2 SQL Server2005介紹Microsoft公司的SQL Server是關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng),它的工作環(huán)境為Microsoft Windows NT 系列或Microsoft Windows98。SQL Se

21、rver與Microsoft公司的其它軟件,如Microsoft office和Microsoft Visual Studio設(shè)計(jì)風(fēng)格一致,并能相互配合。SQL Server具有分布式數(shù)據(jù)庫(kù)和倉(cāng)庫(kù)管理功能,支持客戶機(jī)/服務(wù)器結(jié)構(gòu),并能進(jìn)行分布式事務(wù)處理和聯(lián)機(jī)分析處理。SQL Server具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,它提供豐富的管理工具以支持?jǐn)?shù)據(jù)庫(kù)的安全性管理、完整性管理和作業(yè)管理。SQL Server還具有強(qiáng)大的網(wǎng)絡(luò)功能,支持發(fā)布Web頁(yè)面和接收電子郵件。SQL Server支持ANSI SQL(標(biāo)準(zhǔn)SQL),并將標(biāo)準(zhǔn)SQL擴(kuò)展成為更加實(shí)用的Transact-SQL4。使用SQL Server

22、2005,開發(fā)人員通過(guò)使用相似的語(yǔ)言,例如微軟的Visual C# .NET和微軟的Visual Basic,將能夠創(chuàng)立數(shù)據(jù)庫(kù)對(duì)象。開發(fā)人員還將能夠建立兩個(gè)新的對(duì)象用戶定義的類和集合。在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時(shí)候,可擴(kuò)展標(biāo)記語(yǔ)言(XML)是一個(gè)重要的標(biāo)準(zhǔn)。SQL Server 2005將會(huì)自身支持存儲(chǔ)和查詢可擴(kuò)展標(biāo)記語(yǔ)言文件。從對(duì)SQL類的新的支持,到多活動(dòng)結(jié)果集(MARS),SQL Server 2005中的ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。2.3.3 C/S介紹 在網(wǎng)絡(luò)連接模式中,除對(duì)等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶

23、機(jī)/服務(wù)器網(wǎng),Client/Server。在客戶機(jī)/服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機(jī)是網(wǎng)絡(luò)的基礎(chǔ),客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。這里客戶和服務(wù)器都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程(軟件),所以有時(shí)要根據(jù)上下文判斷client與server是指軟件還是硬件。C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷5。 最簡(jiǎn)單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用,由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別稱為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,稱為應(yīng)用服務(wù)器,一旦服務(wù)器

24、程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來(lái)的請(qǐng)求;客戶程序運(yùn)行在用戶自己的電腦上,對(duì)應(yīng)于服務(wù)器電腦,可稱為客戶電腦。當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動(dòng)地尋找服務(wù)器程序,并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。在典型的C/S數(shù)據(jù)庫(kù)應(yīng)用中,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序獨(dú)立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺(tái)應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如訪問(wèn)者的權(quán)限,編號(hào)不準(zhǔn)重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對(duì)于工作在前臺(tái)程序上的最終用戶,是“透明”的,他們無(wú)須過(guò)問(wèn)(通常也無(wú)法干涉)這背后的過(guò)程,就可以完成自己的一切工作

25、。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序可以變的非?!笆菪 ?,麻煩的事情,都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫(kù)真正變成了公共、專業(yè)化的倉(cāng)庫(kù),受到獨(dú)立的專門管理。3 總體設(shè)計(jì)3.1 設(shè)計(jì)思想(1) 系統(tǒng)分成幾個(gè)相對(duì)獨(dú)立的模塊,但這些模塊都進(jìn)行集中式管理。(2) 分層的模塊化程序設(shè)計(jì)思想,整個(gè)系統(tǒng)采用模塊化機(jī)構(gòu)設(shè)計(jì)。作為應(yīng)用程序有較強(qiáng)的可操作性和擴(kuò)展性。(3) 合理的數(shù)據(jù)流設(shè)計(jì),在應(yīng)用系統(tǒng)設(shè)計(jì)中,相對(duì)獨(dú)立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運(yùn)行,提高系統(tǒng)安全性。3.2 設(shè)計(jì)原則為了使本系統(tǒng)功能齊全完備,操作簡(jiǎn)便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的實(shí)際需要,在設(shè)計(jì)開

26、發(fā)過(guò)程中遵循了,如下原則:(1) 合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實(shí)際的工作情況,進(jìn)行諸如商品進(jìn)貨、銷售等工作。(2) 實(shí)用性原則:適合產(chǎn)品信息管理工作的實(shí)際需求,并能夠處理一些特殊情況的要求,此外,盡可能預(yù)留空間,以便擴(kuò)充功能。(3) 準(zhǔn)確性原則:對(duì)輸入的相關(guān)資料建立檢錯(cuò)機(jī)制,及時(shí)報(bào)錯(cuò),使用戶能夠及時(shí)準(zhǔn)確的輸入合法資料(如類型匹配,長(zhǎng)度不超限等)。(4) 易操作原則:要求設(shè)計(jì)的系統(tǒng)功能齊全,接口友好,操作方便,必要的地方進(jìn)行提示。(5) 源程序可讀性原則:為了便于其它設(shè)計(jì),維護(hù)人員讀懂代碼或以后的代碼修改,軟件升級(jí)維護(hù),既可能做好代碼注釋工作。(6) 優(yōu)化原則:為了達(dá)

27、到優(yōu)化的目的,合理的運(yùn)用窗口,菜單,對(duì)象等的繼承,自定義用戶對(duì)象,事件,函數(shù),減少不必要的重復(fù)性代碼,使程序簡(jiǎn)潔明了,也方便了將來(lái)的維護(hù)。(7) 安全性原則:該系統(tǒng)的管理員具有可設(shè)置登陸密碼,修改密碼的權(quán)限。經(jīng)過(guò)前面的設(shè)計(jì),我們對(duì)整個(gè)系統(tǒng)有了一個(gè)初步的認(rèn)識(shí),并對(duì)各個(gè)模塊進(jìn)行了功能分化。 3.3 功能模塊和結(jié)構(gòu)設(shè)計(jì) 小型超市管理系統(tǒng)包括系統(tǒng)管理員、庫(kù)存管理員、商品銷售員三大角色,對(duì)應(yīng)本系統(tǒng)中的權(quán)限,根據(jù)權(quán)限的不同,可操作的業(yè)務(wù)不同。本節(jié)將對(duì)小型超市收銀系統(tǒng)進(jìn)行總體設(shè)計(jì),介紹系統(tǒng)的總體功能和模塊劃分。3.3.1 系統(tǒng)結(jié)構(gòu)小型超市收銀系統(tǒng)所包含的功能模塊有:商品入庫(kù)模塊、商品銷售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、

28、商品信息模塊、供應(yīng)商信息模塊、用戶信息模塊。系統(tǒng)功能結(jié)構(gòu)圖見圖3-1。小型超市收銀系統(tǒng)商品入庫(kù)商品銷售營(yíng)業(yè)統(tǒng)計(jì)商品信息供應(yīng)商信息用戶信息圖3-1 系統(tǒng)功能結(jié)構(gòu)圖超市收銀系統(tǒng)的業(yè)務(wù)流程圖,如圖3-2所示。圖3-2 系統(tǒng)業(yè)務(wù)流程圖3.3.2 系統(tǒng)各功能模塊定義(1) 商品入庫(kù)模塊該模塊用于實(shí)現(xiàn)商品的入庫(kù)管理,當(dāng)供應(yīng)商所供商品出現(xiàn)問(wèn)題需退貨時(shí)可以實(shí)現(xiàn)退貨管理。另外用戶還可以根據(jù)條件查詢相關(guān)的入庫(kù)記錄。(2) 商品銷售模塊該模塊用于實(shí)現(xiàn)商品售出、收銀功能。顧客倘若對(duì)商品不滿意還可以進(jìn)行退貨處理。(3) 營(yíng)業(yè)統(tǒng)計(jì)模塊該模塊實(shí)現(xiàn)商品銷售情況及入庫(kù)情況統(tǒng)計(jì)分析,讓系統(tǒng)用戶可以根據(jù)時(shí)間查詢統(tǒng)計(jì)信息。(4) 商

29、品信息模塊該模塊實(shí)現(xiàn)商品基本信息的管理,如商品的添加、修改、刪除操作、條件查詢。對(duì)于低于庫(kù)存報(bào)警值的商品會(huì)顯示出來(lái)。(5) 用戶信息模塊該模塊實(shí)現(xiàn)用戶基本信息的管理,含用戶的添加、修改、刪除,用戶信息記錄的瀏覽。(6) 供應(yīng)商信息模塊該模塊實(shí)現(xiàn)供應(yīng)商基本信息的管理,系統(tǒng)用戶可以實(shí)現(xiàn)供應(yīng)商信息的添加、刪除、修改,條件查詢以及查看供應(yīng)商可提供的相關(guān)商品。3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)管理信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致,同時(shí),合理的數(shù)據(jù)庫(kù)也將有利于程序的實(shí)現(xiàn)6。設(shè)計(jì)數(shù)據(jù)庫(kù)

30、系統(tǒng)時(shí)應(yīng)該充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。3.4.1 數(shù)據(jù)庫(kù)的需求分析SQL Server數(shù)據(jù)庫(kù)的建立方法可以分成兩個(gè)階段,第一個(gè)階段是根據(jù)要輸入的數(shù)據(jù)性質(zhì),新增表并設(shè)置表的字段名稱、數(shù)據(jù)類型和語(yǔ)句,第二個(gè)階段是在表內(nèi)輸入數(shù)據(jù)。根據(jù)上述系統(tǒng)功能的分析,得出系統(tǒng)有如下需求信息:(1) 系統(tǒng)必須能夠區(qū)別各種用戶,如庫(kù)存員、收銀員。(2) 系統(tǒng)支持用戶的增加、登陸。(3) 系統(tǒng)必須能夠顯示各種商品的信息,并允許用戶使用搜索功能來(lái)查找自己所需要的商品。(4) 系統(tǒng)必須能將所有商品信息進(jìn)行分類。(5) 系統(tǒng)能支持用戶將商品入庫(kù)、退貨。(6) 系統(tǒng)能支持用戶將商品售出、退貨。

31、(7) 系統(tǒng)支持供應(yīng)商信息的管理。(8) 系統(tǒng)支持營(yíng)業(yè)情況的查詢。經(jīng)過(guò)上述功能分析和需求總結(jié),設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1) 用戶,包括數(shù)據(jù)項(xiàng):編號(hào),用戶名,密碼,權(quán)限。(2) 商品類別,包括數(shù)據(jù)項(xiàng):編號(hào),商品名稱。(3) 商品,包括數(shù)據(jù)項(xiàng):商品編號(hào)(條形碼),商品名稱,類別,庫(kù)存量、報(bào)警值,計(jì)量單位,規(guī)格,售價(jià)。(4) 供應(yīng)商,包括數(shù)據(jù)項(xiàng):名稱,聯(lián)系人,聯(lián)系電話,傳真,地址,合作起始時(shí)間。(5) 銷售記錄,包括數(shù)據(jù)項(xiàng):編號(hào),操作人,商品編號(hào),售價(jià),售出數(shù)量,售出時(shí)間。(6) 進(jìn)貨記錄,包括數(shù)據(jù)項(xiàng):商品,供應(yīng)商,操作人,進(jìn)價(jià),進(jìn)貨數(shù)量,進(jìn)貨時(shí)間。(7) 供貨,包括數(shù)據(jù)項(xiàng):供應(yīng)商,商品,最新

32、進(jìn)價(jià)。3.4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計(jì)出系統(tǒng)中的各個(gè)實(shí)體以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。本系統(tǒng)根據(jù)上面功能分析和需求總結(jié)設(shè)計(jì)出的實(shí)體共有下面幾個(gè),下面分別列出本系統(tǒng)所使用到的各基本實(shí)體和各實(shí)體之間的聯(lián)系。如圖3-3所示: 圖3-3 實(shí)體聯(lián)系(E-R)圖3.4.3 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)(1) 表設(shè)計(jì)將數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)換成關(guān)系模型,就得到了以下的幾張數(shù)據(jù)庫(kù)中的表7:下面分別介紹這些表。系統(tǒng)登錄用戶的基本信息保存在用戶信息表里,其中對(duì)于用戶編號(hào),通過(guò)自增方式實(shí)現(xiàn),無(wú)需用戶手動(dòng)編號(hào),編號(hào)從1000起始。詳細(xì)說(shuō)明如表3-1所示。表3-1 用戶信息表

33、(Users)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)UserIDint4×主鍵自增,標(biāo)識(shí)種子10002真實(shí)名字UserNamevarchar10×3密碼UserPasswordvarchar50×MD5加密存儲(chǔ)4權(quán)限UserRightvarchar10×商品種類繁多,可以劃分為大范圍的不同種類。對(duì)于這些種類,已事先劃分并存儲(chǔ)于數(shù)據(jù)庫(kù)中,不需要用戶自動(dòng)添加。商品類別信息表如下表3-2。表3-2 商品類別信息表(GoodsType)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1類別編號(hào)TypeIDtinyint×主鍵自增2名稱TypeNamen

34、varchar10×商品信息表記載的是商品的詳細(xì)信息,含商品編號(hào)、名稱、類別、計(jì)量單位、規(guī)格、售價(jià)、庫(kù)存量等等。具體的各字段屬性說(shuō)明和類型如下表3-3。表3-3 商品信息表(GoodsInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20×主鍵2類型號(hào)TypeIDtinyint×3名稱GoodsNamenvarchar50×4計(jì)量單位GoodsUnitnvarchar5×5規(guī)格GoodsNormnvarchar206售價(jià)GoodsSellPricesmallmoney×7庫(kù)存量GoodsNumi

35、nt4×08報(bào)警值A(chǔ)larmNumint4×09備注GoodsRemarknvarchar100描述信息入庫(kù)記錄表包含商品入庫(kù)的相關(guān)信息,入庫(kù)信息有入庫(kù)時(shí)間、操作人、進(jìn)庫(kù)商品、商品數(shù)量等。每一筆商品的入庫(kù)都對(duì)應(yīng)一個(gè)編號(hào),具有唯一性。在這里,對(duì)編號(hào)的處理就是用入庫(kù)時(shí)的時(shí)間做編號(hào)。具體的各字段的屬性說(shuō)明和類型如下表3-4所示。表3-4 入庫(kù)記錄表(StockInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)StockIDvarchar20×主鍵,與時(shí)間相關(guān)2商品編號(hào)GoodsIDnvarchar20×外鍵3供應(yīng)商編號(hào)CompanyIDint4×

36、;外鍵4操作員Operatorint4×外鍵5進(jìn)價(jià)GoodsPricesmallmoney×6數(shù)量GoodsNumint4×17備注Remarknvarchar100商品銷售信息存儲(chǔ)在銷售記錄表中,流水編號(hào)也采用時(shí)間作為編號(hào),具有唯一性。各字段的詳細(xì)情況見下表3-5。表3-5 銷售記錄表(SellInfo)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)SellIDvarchar20×主鍵,與時(shí)間相關(guān)2商品編號(hào)GoodsIDnvarchar20×外鍵3操作者Operatorint4×外鍵4售價(jià)SellPricesmallmoney

37、15;5數(shù)量GoodsNumint4×6備注Remarknvarchar100退貨原因供應(yīng)商供貨價(jià)格表中記載的是供應(yīng)商所可商品的信息,含商品編號(hào)、供貨商編號(hào)、最新進(jìn)價(jià)。各字段的詳細(xì)信息見下表3-6。表3-6 供應(yīng)商供貨價(jià)格表(StockPrice)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20×組合主鍵2供應(yīng)商編號(hào)CompanyIDint4×組合主鍵3最新進(jìn)價(jià)GoodsSellPricesmallmoney×供應(yīng)商信息表記錄的是供應(yīng)商的基本信息,其中編號(hào)由系統(tǒng)自動(dòng)編號(hào),采取主鍵自增方式,編號(hào)始于1000。各字段的詳細(xì)

38、信息見下表3-7。表3-7 供應(yīng)商信息表(Company)序號(hào)屬性名字段名類型長(zhǎng)度NULL默認(rèn)備注1編號(hào)CompanyIDint4×主鍵自增,標(biāo)識(shí)種子10002名稱CompanyNamenvarchar50×3聯(lián)系人CompanyDirectornvarchar10×4電話CompanyPhonenvarchar20×5傳真CompanyFaxnvarchar206地址CompanyAddnvarchar50×7合作時(shí)間HzDataTimedatetime×(2) 視圖設(shè)計(jì)根據(jù)邏輯模型所設(shè)計(jì)出的各種數(shù)據(jù)表構(gòu)成了完整的物理數(shù)據(jù)庫(kù)。由于業(yè)

39、務(wù)范圍的限制,每一個(gè)用戶不可能訪問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)中的所有數(shù)據(jù)表,所訪問(wèn)的只是數(shù)據(jù)表的一個(gè)子集。我們把一個(gè)用戶能訪問(wèn)到的數(shù)據(jù)表集合稱為一個(gè)視圖(View)8。視圖是以一致和直觀的方式提供給用戶的數(shù)據(jù)形式。視圖以這種形式給用戶提供數(shù)據(jù),一方面為了滿足用戶對(duì)數(shù)據(jù)訪問(wèn)的方便性、簡(jiǎn)潔性需要,使數(shù)據(jù)在視圖中以更符合用戶要求和喜好的形式展現(xiàn)出來(lái),另一方面,為了保證數(shù)據(jù)的一致性,最好不要把數(shù)據(jù)表直接提供給最終用戶。該數(shù)據(jù)庫(kù)中涉及到的視圖有兩個(gè):視圖QuerySell,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECT dbo.SellInfo.SellID, dbo.SellInfo.GoodsID, dbo.Go

40、odsInfo.GoodsName, dbo.GoodsType.TypeName, dbo.Users.UserName, dbo.SellInfo.SellPrice, dbo.SellInfo.GoodsNum, dbo.SellInfo.RemarkFROM dbo.GoodsInfo INNER JOIN dbo.SellInfo ON dbo.GoodsInfo.GoodsID = dbo.SellInfo.GoodsID INNER JOIN dbo.Users ON dbo.SellInfo.Operator = dbo.Users.UserID INNER JOIN dbo.

41、GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID視圖QueryStock,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECT dbo.StockInfo.StockID, dbo.StockInfo.GoodsID, dbo.GoodsInfo.GoodsName, dbo.GoodsType.TypeName, dbo.Company.CompanyName, dbo.Users.UserName, dbo.StockInfo.GoodsPrice, dbo.StockInfo.GoodsNum, dbo.StockInfo.Re

42、markFROM dbo.StockInfo INNER JOIN dbo.GoodsInfo ON dbo.StockInfo.GoodsID = dbo.GoodsInfo.GoodsID INNER JOIN dbo.Users ON dbo.StockInfo.Operator = dbo.Users.UserID INNER JOIN dbo.Company ON dbo.StockInfo.CompanyID = dbo.Company.CompanyID INNER JOIN dbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsTyp

43、e.TypeID4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)用SQL Server2005做后臺(tái)數(shù)據(jù)庫(kù),進(jìn)行基于.net發(fā)平臺(tái)的WinForm應(yīng)用程序開發(fā),基本實(shí)現(xiàn)其功能。以下將描述系統(tǒng)幾個(gè)主要功能模塊的運(yùn)行和測(cè)試的結(jié)果。4.1 登陸系統(tǒng)模塊當(dāng)我們建立了一個(gè)完整的系統(tǒng)時(shí),尤其對(duì)于管理系統(tǒng),對(duì)于進(jìn)入每個(gè)系統(tǒng)的人員我們都要對(duì)他進(jìn)行身份驗(yàn)證,我們當(dāng)然不希望有任何人進(jìn)入該系統(tǒng)進(jìn)行惡意的破壞,對(duì)系統(tǒng)中的數(shù)據(jù)進(jìn)行修改,維護(hù)該系統(tǒng)的系統(tǒng)管理員也不希望有任何麻煩,所以對(duì)系統(tǒng)進(jìn)行安全保護(hù)顯的很重要,無(wú)論對(duì)于誰(shuí),系統(tǒng)的安全問(wèn)題是首要的9。為了解決這個(gè)問(wèn)題,有一個(gè)簡(jiǎn)單、實(shí)用,但是老套的方法,就是口令加密。在該小型超市收銀系統(tǒng)中對(duì)口令的加密采取

44、的是常用的MD5加密算法。在新增或修改用戶信息時(shí),存入數(shù)據(jù)庫(kù)的是用戶密碼的MD5哈希值,在登錄驗(yàn)證時(shí)根據(jù)用戶輸入的密碼計(jì)算相應(yīng)的MD5哈希值進(jìn)行比較。加密方法: public static string EncryptMD5(string oldData) /將字符串轉(zhuǎn)化為字節(jié)序列 Byte clearBytes = new UnicodeEncoding().GetBytes(oldData); /計(jì)算字節(jié)序列對(duì)應(yīng)的Hash值 Byte hashedBytes = (HashAlgorithm)CryptoConfig.CreateFromName("MD5").Comp

45、uteHash(clearBytes); /返回經(jīng)MD5加密后的字符串 return BitConverter.ToString(hashedBytes); 在用戶登錄系統(tǒng)時(shí),用戶只需要輸入分配的用戶ID,只要ID號(hào)正確就可以自動(dòng)顯示出相應(yīng)的用戶名。為了防止他人獲知用戶的密碼,增強(qiáng)系統(tǒng)的安全性,我們將待輸入密碼的文本框的PasswordChar設(shè)為*,當(dāng)用戶輸入密碼后,系統(tǒng)將對(duì)所輸入的密碼進(jìn)行檢查,只有當(dāng)密碼正確才可進(jìn)入到系統(tǒng)主界面,否則系統(tǒng)會(huì)提示錯(cuò)誤。登錄界面如圖4-1所示。圖4-1 登錄界面圖用戶登錄成功后,會(huì)記下登錄該系統(tǒng)的用戶的權(quán)限,權(quán)限的不同,進(jìn)入主界面后可進(jìn)行的操作而異,體現(xiàn)在控件

46、的可響應(yīng)用戶的鼠標(biāo)點(diǎn)擊事件與否。主界面如圖4-2所示。由于該用戶屬商品銷售中的收銀員,可以看到他只具有商品銷售的權(quán)限。圖4-2 系統(tǒng)主界面圖4.2 商品信息模塊商品基本信息管理模塊,用戶可以對(duì)商品信息加以管理,界面可交互性強(qiáng),運(yùn)行時(shí)的界面圖如下圖4-3。其中紅色顯示為低于庫(kù)存值,需要進(jìn)貨的商品。圖4-3 商品基本信息管理界面圖4.3 商品入庫(kù)模塊具有庫(kù)存管理權(quán)限的用戶進(jìn)行商品入庫(kù)操作時(shí),需要輸入商品編號(hào),至于供應(yīng)商可以從下拉列表中選擇,如果供應(yīng)商記錄未添加至數(shù)據(jù)庫(kù),可先單擊右側(cè)的“添加供應(yīng)商”按鈕。依次輸入進(jìn)貨價(jià)、進(jìn)貨數(shù)量,當(dāng)進(jìn)貨數(shù)量為負(fù)數(shù)時(shí)進(jìn)行就是退貨操作。確認(rèn)進(jìn)貨時(shí)若發(fā)現(xiàn)為新商品則提示先新

47、增商品,進(jìn)貨記錄成功添加出現(xiàn)對(duì)話框提醒。進(jìn)貨運(yùn)行界面如下圖4-4所示。圖4-4 商品入庫(kù)運(yùn)行圖在入庫(kù)查詢中,可以根據(jù)各種條件組合查詢,在輸入商品名稱時(shí)可實(shí)現(xiàn)模糊查詢匹配,滿足條件的入庫(kù)記錄將出現(xiàn)在網(wǎng)格中10。如圖4-5。圖4-5 入庫(kù)查詢界面圖4.4 商品銷售模塊商品銷售模塊能處理商品銷售業(yè)務(wù)過(guò)程,輸入商品編號(hào)后回車確認(rèn)后單擊“確認(rèn)”按鈕就可將商品添加至待售商品列表。根據(jù)快捷鍵操作,修改數(shù)量。當(dāng)顧客對(duì)購(gòu)買的商品不滿意時(shí),在未使用商品的情況下,可以對(duì)商品進(jìn)行退貨。這時(shí)只需將商品數(shù)量的修改置為負(fù)數(shù)即可。另外可以在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠家。商品銷售運(yùn)行界面圖如下圖4

48、-6所示。圖4-6 商品銷售運(yùn)行界面圖開發(fā)商品銷售模塊過(guò)程中,對(duì)輸入的數(shù)據(jù)要進(jìn)行嚴(yán)格控制。此時(shí),用到較多的是TextBox控件的KeyPress事件和TextChange事件,下面對(duì)這兩個(gè)事件進(jìn)行詳細(xì)說(shuō)明。(1) 實(shí)收金額文本框中控制金額的輸入合理,只能是數(shù)字鍵、BackSpace鍵、小數(shù)點(diǎn)鍵被按下時(shí)才接受所按下的鍵,實(shí)現(xiàn)的代碼如下11:private void txtGetMoney_KeyPress(object sender, KeyPressEventArgs e) if (e.KeyChar != 8 && !char.IsDigit(e.KeyChar)&&

49、amp;e.KeyChar!='.'&&e.KeyChar!='-') MessageBox.Show("輸入數(shù)字"); /彈出提示 e.Handled = true; (2) 找零金額由系統(tǒng)自動(dòng)計(jì)算出并顯示在文本框中,實(shí)現(xiàn)代碼如下:private void txtGetMoney_TextChanged(object sender, EventArgs e)/當(dāng)所收付款改變時(shí),所找零錢數(shù)目也跟著改變 if (txtGetMoney.Text != "") if (txtGetMoney.Text != &

50、quot;-") float fltMoney = Convert.ToSingle(txtGetMoney.Text.ToString(); float fltNeedPay = Convert.ToSingle(lblNeedM.Text.ToString(); txtChange.Text = (fltMoney - fltNeedPay).ToString("0.0"); else txtChange.Text = "" 應(yīng)該所收的錢數(shù)及商品的數(shù)量也由系統(tǒng)自動(dòng)計(jì)算出,當(dāng)網(wǎng)格中待售商品的信息有所改變時(shí)就自動(dòng)計(jì)算。相應(yīng)的系統(tǒng)運(yùn)行界面如下圖4

51、-7所示。實(shí)現(xiàn)代碼如下:private void SetCount() /并修改標(biāo)簽中的值,即售出總件數(shù)及售價(jià) int intGoodsNum = 0; float fltMoney = 0.0f; for (int i = 0; i < dataGridView1.Rows.Count; i+) intGoodsNum += Convert.ToInt32(dataGridView1.Rowsi.Cells4.Value); fltMoney += (Convert.ToSingle(dataGridView1.Rowsi.Cells3.Value) * Convert.ToInt32(dataGridView1.Rowsi.Cells4.Value); intGoodsNum = Math.Abs(intGoodsNum); lblCount.Text = intGoodsNum.ToString(); lblNeedM.Text = fltMoney.ToString(); 圖4-7 商品銷售結(jié)算結(jié)果圖手動(dòng)輸入商品編號(hào)時(shí),當(dāng)已輸入前七位后系統(tǒng)將自動(dòng)檢索前部相同的商品編號(hào)信息。實(shí)現(xiàn)代碼如下:private void txtID_TextChanged(object sender, EventArgs e) /

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論