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

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué) 士 學(xué) 位 論 文系 別:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 姓 名: 王曉兵 運(yùn) 城 學(xué) 院2013年5月摘 要隨著銷(xiāo)售行業(yè)競(jìng)爭(zhēng)日益激烈,小型超市收銀系統(tǒng)的引入顯得極其重要。它不但可以提高進(jìn)銷(xiāo)存管理的工作效率,而且可以有效減少盲目采購(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)銷(xiāo)存過(guò)程進(jìn)行詳細(xì)的分析,實(shí)現(xiàn)了對(duì)超市的進(jìn)貨、銷(xiāo)售和庫(kù)存的科學(xué)管理。它主要包括以下幾大模塊:登錄模塊、商品入庫(kù)模塊、商品銷(xiāo)售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信息模塊、供應(yīng)商信息模塊、用戶(hù)信息模塊。各模塊相許獨(dú)立,同時(shí)又構(gòu)

2、成統(tǒng)一的整體。 本文主要介紹了小型超市收銀系統(tǒng)的環(huán)境、所用到的開(kāi)發(fā)語(yǔ)言、功能作用、設(shè)計(jì)的方案等各方面的內(nèi)容,其目的在于讓使用者了解此系統(tǒng),使他們能更好的運(yùn)用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。另外在文中還予以指出了系統(tǒng)開(kāi)發(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. It can not only

3、 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 supermarket market com

4、petitiveness.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 modules: login modul

5、e, 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 supermarket cash

6、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 the system shoul

7、d be with further improved development.Key words: the cashier system; Control; Form; T platformV 目 錄摘 要II1 緒論11.1 研究課題的目的11.2 研究課題的意義12 需求分析32.1 可行性研究32.1.1 技術(shù)可行性32.1.2 經(jīng)濟(jì)可行性32.1.3 操作可行性32.2 需求分析32.3 開(kāi)發(fā)環(huán)境介紹43 總體設(shè)計(jì)53.1 設(shè)計(jì)思想53.2 設(shè)計(jì)原則53.3 功能模塊和結(jié)構(gòu)設(shè)計(jì)53.3.1 系統(tǒng)結(jié)構(gòu)53.3.2 系統(tǒng)各功能模塊定義63.4 數(shù)據(jù)庫(kù)設(shè)計(jì)73.4.1 數(shù)據(jù)庫(kù)的需求分析73.

8、4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)74 系統(tǒng)實(shí)現(xiàn)114.1 登陸系統(tǒng)模塊114.2 商品信息模塊124.3 商品入庫(kù)模塊124.4 商品銷(xiāo)售模塊134.5 營(yíng)業(yè)統(tǒng)計(jì)模塊154.6 供應(yīng)商模塊154.7 用戶(hù)信息模塊165 總結(jié)18參 考 文 獻(xiàn)19致 謝201 緒 論隨著現(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ā)展讓人類(lèi)更加受益。各類(lèi)信息系統(tǒng)應(yīng)用于各行各業(yè),不但給管理上帶來(lái)了極大的便利,而且還提

9、高了工作效率。中小型超市在我國(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ù)存、銷(xiāo)售等諸多環(huán)節(jié)也已成為必然趨勢(shì)。1.1 研究課題的目的商業(yè)零售業(yè)是我國(guó)發(fā)展最快

10、的行業(yè)之一,該行業(yè)內(nèi)的企業(yè)產(chǎn)品銷(xiāo)售周期短,盈利比較穩(wěn)定,現(xiàn)金流動(dòng)快,是業(yè)界普遍看好的行業(yè),尤其是大型連鎖類(lèi)超市的營(yíng)業(yè)模式,被大眾迅速接受,發(fā)展速度很快。隨著超市規(guī)模的不斷擴(kuò)大,收銀系統(tǒng)在大型連鎖超市中已經(jīng)代替了傳統(tǒng)的人工收費(fèi),而且大型超市的收銀系統(tǒng)發(fā)展到今天也已日趨成熟。相反中小型超市因?yàn)槭浙y系統(tǒng)成本太高或因規(guī)模太小覺(jué)得沒(méi)必要配備收銀系統(tǒng)以及一些其他的原因,還是使用傳統(tǒng)的人工收費(fèi)。因而此次我選題的目的就是開(kāi)發(fā)出一款安全、穩(wěn)定、經(jīng)濟(jì),適合中小型超市的收銀系統(tǒng),幫助中小型超市經(jīng)營(yíng)者掌握和分析營(yíng)銷(xiāo)情況,及時(shí)做出正確決策,并且有利于超市內(nèi)部的財(cái)務(wù)、工資、人員、庫(kù)存、銷(xiāo)售情況等管理,從而提高超市的管理水

11、平和運(yùn)作效率,并且將使用收銀系統(tǒng)的成本降到最低,讓每一個(gè)中小型超市都使用上收銀系統(tǒng)。1.2 研究課題的意義 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中都離不開(kāi)信息處理,而使用計(jì)算機(jī)處理信息,不僅提高了工作效率,而且大大提高了信息的安全性,尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。系統(tǒng)開(kāi)發(fā)是系統(tǒng)管理的前提,通過(guò)開(kāi)發(fā)信息管理系統(tǒng),從而可以利用計(jì)算機(jī)進(jìn)行信息管理,實(shí)現(xiàn)管理工作的智能化、高效化。 中小型超市在我國(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ā)

12、展突破了時(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ù)存、銷(xiāo)售等諸多環(huán)節(jié)也已成為必然趨勢(shì)。因此,開(kāi)發(fā)出一款安全,穩(wěn)定,低成本的中小型收銀系統(tǒng),必然具有很好的研究?jī)r(jià)值和社會(huì)意義。2 需求分析2.1 可行性研究系統(tǒng)開(kāi)始和可行性研究是為系統(tǒng)開(kāi)發(fā)做前期準(zhǔn)備1。在對(duì)一個(gè)項(xiàng)目的開(kāi)發(fā)之前,我們總是要對(duì)其進(jìn)行一個(gè)可行性分析與需求分析,通過(guò)和指導(dǎo)老師的共同分析得

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

14、用戶(hù)只需要具有一般的計(jì)算機(jī)知識(shí)的人員都可以輕松上手。而且整個(gè)銷(xiāo)售系統(tǒng)采用最友好的交互界面,簡(jiǎn)潔明了,不需要對(duì)數(shù)據(jù)庫(kù)非常了解。 由此,該系統(tǒng)的操作是可行的,有必要推廣該系統(tǒng)。綜合以上三方面,該系統(tǒng)具有很高的開(kāi)發(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)品的銷(xiāo)售單進(jìn)行錄入管理和統(tǒng)計(jì);對(duì)進(jìn)貨、銷(xiāo)售、庫(kù)存情況進(jìn)行查詢(xún);對(duì)用戶(hù)進(jìn)

15、行管理,具體為添加用戶(hù)、刪除用戶(hù)、修改用戶(hù)密碼;對(duì)供應(yīng)商基本信息的管理;對(duì)贏利狀況分析,進(jìn)行營(yíng)業(yè)統(tǒng)計(jì),按年月日及商品類(lèi)別統(tǒng)計(jì);(2) 數(shù)據(jù)精確度產(chǎn)品的進(jìn)貨單和銷(xiāo)售單中,單價(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 開(kāi)發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,Management Information System)可以保存用戶(hù)信息,通過(guò)對(duì)信息進(jìn)行分析和處理,可以幫助用戶(hù)制

16、定計(jì)劃、規(guī)范管理或提供決策依據(jù)。超市收銀系統(tǒng)具有其特殊性,通常采用C/S結(jié)構(gòu),考慮到其為中小型超市,所以在架構(gòu)上面選擇兩層。使用SQL Server 2005,開(kāi)發(fā)人員通過(guò)使用相似的語(yǔ)言,例如微軟的Visual C# .NET和微軟的Visual Basic,將能夠創(chuàng)立數(shù)據(jù)庫(kù)對(duì)象。開(kāi)發(fā)人員還將能夠建立兩個(gè)新的對(duì)象用戶(hù)定義的類(lèi)和集合。在使用本地網(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ǔ)和查詢(xún)可擴(kuò)展標(biāo)記語(yǔ)言文件。從對(duì)SQL類(lèi)的新的支持,到多活動(dòng)結(jié)果集(MARS),SQL Server 2005中的

17、ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。 使用C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)5。其中,數(shù)據(jù)的儲(chǔ)存管理功能,是由服務(wù)器程序獨(dú)立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺(tái)應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如訪(fǎng)問(wèn)者的權(quán)限,編號(hào)不準(zhǔn)重復(fù)、必須有客戶(hù)才能建立定單這樣的規(guī)則。所有這些,對(duì)于工作在前臺(tái)程序上的最終用戶(hù),是“透明”的,他們無(wú)須過(guò)問(wèn)(通常也無(wú)法干涉)這背后的過(guò)程,就可以完成自己的一切工作。在客戶(hù)服務(wù)器架構(gòu)的應(yīng)用中,前臺(tái)程序可以變的非?!笆菪 ?,麻煩的事情,都

18、交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫(kù)真正變成了公共、專(zhuān)業(yè)化的倉(cāng)庫(kù),受到獨(dú)立的專(zhuān)門(mén)管理。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ì)量,從而滿(mǎn)足用戶(hù)的實(shí)際需要,在設(shè)計(jì)開(kāi)發(fā)過(guò)程中遵循了,如下原則:(1) 合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定

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

20、函數(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ù)存管理員、商品銷(xiāo)售員三大角色,對(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ù)模塊、商品銷(xiāo)售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信息模塊、供應(yīng)商信息模塊、用戶(hù)信息模塊。系統(tǒng)功能結(jié)構(gòu)圖見(jiàn)圖3-1。超

21、市收銀系統(tǒng)商品入庫(kù)商品銷(xiāo)售營(yíng)業(yè)統(tǒng)計(jì)商品信息供應(yīng)商信息用戶(hù)信息圖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)退貨管理。另外用戶(hù)還可以根據(jù)條件查詢(xún)相關(guān)的入庫(kù)記錄。(2) 商品銷(xiāo)售模塊該模塊用于實(shí)現(xiàn)商品售出、收銀功能。顧客倘若對(duì)商品不滿(mǎn)意還可以進(jìn)行退貨處理。(3) 營(yíng)業(yè)統(tǒng)計(jì)模塊該模塊實(shí)現(xiàn)商品銷(xiāo)售情況及入庫(kù)情況統(tǒng)計(jì)分析,讓系統(tǒng)用戶(hù)可以根據(jù)時(shí)間查詢(xún)統(tǒng)計(jì)信息。(4) 商品信息模塊該模塊實(shí)現(xiàn)商品基本信息的管理,如商品的添加、修改、刪除操作、條件查

22、詢(xún)。對(duì)于低于庫(kù)存報(bào)警值的商品會(huì)顯示出來(lái)。(5) 用戶(hù)信息模塊該模塊實(shí)現(xiàn)用戶(hù)基本信息的管理,含用戶(hù)的添加、修改、刪除,用戶(hù)信息記錄的瀏覽。(6) 供應(yīng)商信息模塊該模塊實(shí)現(xiàn)供應(yīng)商基本信息的管理,系統(tǒng)用戶(hù)可以實(shí)現(xiàn)供應(yīng)商信息的添加、刪除、修改,條件查詢(xún)以及查看供應(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。3.4.1 數(shù)據(jù)庫(kù)的需求分析SQL Server數(shù)據(jù)庫(kù)的建立方法可以分成兩個(gè)階段,第一

23、個(gè)階段是根據(jù)要輸入的數(shù)據(jù)性質(zhì),新增表并設(shè)置表的字段名稱(chēng)、數(shù)據(jù)類(lèi)型和語(yǔ)句,第二個(gè)階段是在表內(nèi)輸入數(shù)據(jù)。根據(jù)上述系統(tǒng)功能的分析,得出系統(tǒng)有如下需求信息:(1) 系統(tǒng)必須能夠區(qū)別各種用戶(hù),如庫(kù)存員、收銀員。(2) 系統(tǒng)支持用戶(hù)的增加、登陸。(3) 系統(tǒng)必須能夠顯示各種商品的信息,并允許用戶(hù)使用搜索功能來(lái)查找自己所需 要的商品。 (4) 系統(tǒng)必須能將所有商品信息進(jìn)行分類(lèi)。(5) 系統(tǒng)能支持用戶(hù)將商品入庫(kù)、退貨。(6) 系統(tǒng)能支持用戶(hù)將商品售出、退貨。(7) 系統(tǒng)支持供應(yīng)商信息的管理。(8) 系統(tǒng)支持營(yíng)業(yè)情況的查詢(xún)。經(jīng)過(guò)上述功能分析和需求總結(jié),設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1) 用戶(hù),包括數(shù)據(jù)項(xiàng):編號(hào),

24、用戶(hù)名,密碼,權(quán)限。(2) 商品類(lèi)別,包括數(shù)據(jù)項(xiàng):編號(hào),商品名稱(chēng)。(3) 商品,包括數(shù)據(jù)項(xiàng):商品編號(hào)(條形碼),商品名稱(chēng),類(lèi)別,庫(kù)存量、報(bào)警值,計(jì)量單位,規(guī)格,售價(jià)。(4) 供應(yīng)商,包括數(shù)據(jù)項(xiàng):名稱(chēng),聯(lián)系人,聯(lián)系電話(huà),傳真,地址,合作起始時(shí)間。(5) 銷(xiāo)售記錄,包括數(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)商,商品,最新進(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)根

25、據(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)登錄用戶(hù)的基本信息保存在用戶(hù)信息表里,其中對(duì)于用戶(hù)編號(hào),通過(guò)自增方式實(shí)現(xiàn),無(wú)需用戶(hù)手動(dòng)編號(hào),編號(hào)從1000起始。詳細(xì)說(shuō)明如表3-1所示。表3-1 用戶(hù)信息表(Users)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1編號(hào)UserIDint4×主鍵自增,標(biāo)識(shí)種子10002真實(shí)名字UserNamevarc

26、har10×3密碼UserPasswordvarchar50×MD5加密存儲(chǔ)4權(quán)限UserRightvarchar10×商品種類(lèi)繁多,可以劃分為大范圍的不同種類(lèi)。對(duì)于這些種類(lèi),已事先劃分并存儲(chǔ)于數(shù)據(jù)庫(kù)中,不需要用戶(hù)自動(dòng)添加。商品類(lèi)別信息表如下表3-2。表3-2 商品類(lèi)別信息表(GoodsType)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1類(lèi)別編號(hào)TypeIDtinyint×主鍵自增2名稱(chēng)TypeNamenvarchar10×商品信息表記載的是商品的詳細(xì)信息,含商品編號(hào)、名稱(chēng)、類(lèi)別、計(jì)量單位、規(guī)格、售價(jià)、庫(kù)存量等等。具體的各字段屬性說(shuō)明和類(lèi)型如下

27、表3-3。表3-3 商品信息表(GoodsInfo)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20×主鍵2類(lèi)型號(hào)TypeIDtinyint×3名稱(chēng)GoodsNamenvarchar50×4計(jì)量單位GoodsUnitnvarchar5×5規(guī)格GoodsNormnvarchar206售價(jià)GoodsSellPricesmallmoney×7庫(kù)存量GoodsNumint4×08報(bào)警值A(chǔ)larmNumint4×09備注GoodsRemarknvarchar100描述信息入庫(kù)記錄表包含商品入庫(kù)的相關(guān)

28、信息,入庫(kù)信息有入庫(kù)時(shí)間、操作人、進(jìn)庫(kù)商品、商品數(shù)量等。每一筆商品的入庫(kù)都對(duì)應(yīng)一個(gè)編號(hào),具有唯一性。在這里,對(duì)編號(hào)的處理就是用入庫(kù)時(shí)的時(shí)間做編號(hào)。具體的各字段的屬性說(shuō)明和類(lèi)型如下表3-4所示。表3-4 入庫(kù)記錄表(StockInfo)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1編號(hào)StockIDvarchar20×主鍵,與時(shí)間相關(guān)2商品編號(hào)GoodsIDnvarchar20×外鍵3供應(yīng)商編號(hào)CompanyIDint4×外鍵4操作員Operatorint4×外鍵5進(jìn)價(jià)GoodsPricesmallmoney×6數(shù)量GoodsNumint4×

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

30、號(hào)、供貨商編號(hào)、最新進(jìn)價(jià)。各字段的詳細(xì)信息見(jiàn)下表3-6。表3-6 供應(yīng)商供貨價(jià)格表(StockPrice)序號(hào)屬性名字段名類(lèi)型長(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ì)信息見(jiàn)下表3-7。 表3-7 供應(yīng)商信息表(Company)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1編號(hào)CompanyIDint4×主鍵自增

31、,10002名稱(chēng)CompanyNamenvarchar50×3聯(lián)系人CompanyDirectornvarchar10×4電話(huà)CompanyPhonenvarchar20×5傳真CompanyFaxnvarchar206地址CompanyAddnvarchar50×7合作時(shí)間HzDataTimedatetime×(2) 視圖設(shè)計(jì)根據(jù)邏輯模型所設(shè)計(jì)出的各種數(shù)據(jù)表構(gòu)成了完整的物理數(shù)據(jù)庫(kù)。由于業(yè)務(wù)范圍的限制,每一個(gè)用戶(hù)不可能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)中的所有數(shù)據(jù)表,所訪(fǎng)問(wèn)的只是數(shù)據(jù)表的一個(gè)子集。我們把一個(gè)用戶(hù)能訪(fǎng)問(wèn)到的數(shù)據(jù)表集合稱(chēng)為一個(gè)視圖(View)8。視圖是

32、以一致和直觀的方式提供給用戶(hù)的數(shù)據(jù)形式。視圖以這種形式給用戶(hù)提供數(shù)據(jù),一方面為了滿(mǎn)足用戶(hù)對(duì)數(shù)據(jù)訪(fǎng)問(wèn)的方便性、簡(jiǎn)潔性需要,使數(shù)據(jù)在視圖中以更符合用戶(hù)要求和喜好的形式展現(xiàn)出來(lái),另一方面,為了保證數(shù)據(jù)的一致性,最好不要把數(shù)據(jù)表直接提供給最終用戶(hù)。4 系統(tǒng)實(shí)現(xiàn)系統(tǒng)用SQL Server2005做后臺(tái)數(shù)據(jù)庫(kù),進(jìn)行基于.net發(fā)平臺(tái)的WinForm應(yīng)用程序開(kāi)發(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)行

33、修改,維護(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ì)口令的加密采取的是常用的MD5加密算法。在新增或修改用戶(hù)信息時(shí),存入數(shù)據(jù)庫(kù)的是用戶(hù)密碼的MD5哈希值,在登錄驗(yàn)證時(shí)根據(jù)用戶(hù)輸入的密碼計(jì)算相應(yīng)的MD5哈希值進(jìn)行比較。加密方法: public static string EncryptMD5(string oldData) Byte clearBytes = new UnicodeEncoding().GetBytes(oldData);

34、Byte hashedBytes = (HashAlgorithm)CryptoConfig.CreateFromName("MD5").ComputeHash(clearBytes); return BitConverter.ToString(hashedBytes); 在用戶(hù)登錄系統(tǒng)時(shí),用戶(hù)只需要輸入分配的用戶(hù)ID,只要ID號(hào)正確就可以自動(dòng)顯示出相應(yīng)的用戶(hù)名。為了防止他人獲知用戶(hù)的密碼,增強(qiáng)系統(tǒng)的安全性,我們將待輸入密碼的文本框的PasswordChar設(shè)為*,當(dāng)用戶(hù)輸入密碼后,系統(tǒng)將對(duì)所輸入的密碼進(jìn)行檢查,只有當(dāng)密碼正確才可進(jìn)入到系統(tǒng)主界面,否則系統(tǒng)會(huì)提示錯(cuò)誤。登錄界

35、面如圖4-1所示。圖4-1 登錄界面圖用戶(hù)登錄成功后,會(huì)記下登錄該系統(tǒng)的用戶(hù)的權(quán)限,權(quán)限的不同,進(jìn)入主界面后可進(jìn)行的操作而異,體現(xiàn)在控件的可響應(yīng)用戶(hù)的鼠標(biāo)點(diǎn)擊事件與否。主界面如圖4-2所示。由于該用戶(hù)屬商品銷(xiāo)售中的收銀員,可以看到他只具有商品銷(xiāo)售的權(quán)限。圖4-2 系統(tǒng)主界面圖4.2 商品信息模塊商品基本信息管理模塊,用戶(hù)可以對(duì)商品信息加以管理,界面可交互性強(qiáng),運(yùn)行時(shí)的界面圖如下圖4-3。其中紅色顯示為低于庫(kù)存值,需要進(jìn)貨的商品。圖4-3 商品基本信息管理界面圖4.3 商品入庫(kù)模塊具有庫(kù)存管理權(quán)限的用戶(hù)進(jìn)行商品入庫(kù)操作時(shí),需要輸入商品編號(hào),至于供應(yīng)商可以從下拉列表中選擇,如果供應(yīng)商記錄未添加至數(shù)

36、據(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)為新商品則提示先新增商品,進(jìn)貨記錄成功添加出現(xiàn)對(duì)話(huà)框提醒。進(jìn)貨運(yùn)行界面如下圖4-4所示。圖4-4 商品入庫(kù)運(yùn)行圖在入庫(kù)查詢(xún)中,可以根據(jù)各種條件組合查詢(xún),在輸入商品名稱(chēng)時(shí)可實(shí)現(xiàn)模糊查詢(xún)匹配,滿(mǎn)足條件的入庫(kù)記錄將出現(xiàn)在網(wǎng)格中10。如圖4-5。圖4-5 入庫(kù)查詢(xún)界面圖4.4 商品銷(xiāo)售模塊商品銷(xiāo)售模塊能處理商品銷(xiāo)售業(yè)務(wù)過(guò)程,輸入商品編號(hào)后回車(chē)確認(rèn)后單擊“確認(rèn)”按鈕就可將商品添加至待售商品列表。根據(jù)快捷鍵操作,修改數(shù)量。當(dāng)顧客對(duì)購(gòu)買(mǎi)的商品不滿(mǎn)意時(shí),在未使用商品的情況下,可以對(duì)商品進(jìn)行退貨

37、。這時(shí)只需將商品數(shù)量的修改置為負(fù)數(shù)即可。另外可以在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠(chǎng)家。商品銷(xiāo)售運(yùn)行界面圖如下圖4-6所示。圖4-6 商品銷(xiāo)售運(yùn)行界面圖開(kāi)發(fā)商品銷(xiāo)售模塊過(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, KeyPressEvent

38、Args e) if (e.KeyChar != 8 && !char.IsDigit(e.KeyChar)&&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í),所找零錢(qián)數(shù)目也

39、跟著改變 if (txtGetMoney.Text != "") if (txtGetMoney.Text != "-") float fltMoney = Convert.ToSingle(txtGetMoney.Text.ToString(); float fltNeedPay = Convert.ToSingle(lblNeedM.Text.ToString(); txtChange.Text = (fltMoney - fltNeedPay).ToString("0.0"); else txtChange.Text = &qu

40、ot;" 商品銷(xiāo)售的過(guò)程中要與數(shù)據(jù)庫(kù)交涉,與數(shù)據(jù)庫(kù)頻繁傳輸數(shù)據(jù),采用ADO.NET數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)。為了提高效率,對(duì)插入商品銷(xiāo)售記錄實(shí)現(xiàn)時(shí)借助于存儲(chǔ)過(guò)程來(lái)提高速度。4.5 營(yíng)業(yè)統(tǒng)計(jì)模塊用戶(hù)可以根據(jù)時(shí)間段的輸入查看營(yíng)業(yè)情況,本系統(tǒng)對(duì)營(yíng)業(yè)情況的分類(lèi),有依具體明細(xì),有按商品分類(lèi),也有按收銀員統(tǒng)計(jì)。運(yùn)行界面圖如下圖4-8所示:圖4-7 營(yíng)業(yè)統(tǒng)計(jì)運(yùn)行結(jié)果4.6 供應(yīng)商模塊對(duì)供應(yīng)商信息的管理,增刪改查都在該界面完成,工具欄中的增刪改按鈕對(duì)應(yīng)相應(yīng)的操作。初進(jìn)入到該窗體時(shí)所有的供應(yīng)商信息都會(huì)出現(xiàn)在窗體中的網(wǎng)格,用戶(hù)可以輸入查詢(xún)條件定位出某供應(yīng)商,對(duì)其進(jìn)行修改刪除操作。雙擊網(wǎng)格中某供應(yīng)商的記錄,會(huì)出現(xiàn)該

41、供應(yīng)商所提供的商品信息。相應(yīng)的運(yùn)行界面圖如下圖4-9所示。圖4-8 供應(yīng)商管理運(yùn)行圖修改刪除可實(shí)現(xiàn)批量更新,而新增必須在無(wú)改刪操作或者以上操作后已做保存。這得利于數(shù)據(jù)庫(kù)ADO.NET技術(shù)中提供的對(duì)象SqlCommandBuild,將離線(xiàn)數(shù)據(jù)庫(kù)DataSet集中的數(shù)據(jù)更新至數(shù)據(jù)庫(kù),保持二者的同步和一致性。實(shí)現(xiàn)代碼如下:/保持和數(shù)據(jù)庫(kù)的同步更新 public DataSet UpdateDataBase(DataSet changedDataSet,string tableName) this.msqlCon = new SqlConnection(mstrCon); this.msqlDa =

42、new SqlDataAdapter(this.strSQL, this.msqlCon); this.msqlCmdBld = new SqlCommandBuilder(msqlDa); this.msqlDa.Update(changedDataSet, tableName); if (changedDataSet.Tables.Contains(tableName) = true) changedDataSet.TablestableName.Clear(); msqlDa.Fill(changedDataSet, tableName); return changedDataSet;/返回已更新的數(shù)據(jù)庫(kù)表 4.7 用戶(hù)信息模塊具有系統(tǒng)管理員的用戶(hù)可打開(kāi)用戶(hù)信息模塊對(duì)應(yīng)的窗體,完成對(duì)用戶(hù)信息的管理,運(yùn)行界面如下圖4-10。圖4-9 用戶(hù)信息界面運(yùn)行圖5

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論