超市簡易收銀系統(tǒng)_第1頁
超市簡易收銀系統(tǒng)_第2頁
超市簡易收銀系統(tǒng)_第3頁
超市簡易收銀系統(tǒng)_第4頁
超市簡易收銀系統(tǒng)_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、模塊、用戶信息模塊。各模塊相許獨立,同時又構(gòu)成統(tǒng)一的整體。本文主要介紹了小型超市收銀系統(tǒng)的環(huán)境、所用到的開發(fā)語言、功能作用、設(shè)計的方案等各方面的內(nèi)容,其目的在于讓使用者了解此系統(tǒng),使他們能更好的運用本系統(tǒng),使此系統(tǒng)發(fā)揮出應(yīng)有的作用。 另外在文中還予以指出了系統(tǒng)開發(fā)有待于進(jìn)一步完善發(fā)展的方向。關(guān)鍵詞:收銀系統(tǒng);控件;窗體;. net 平臺I目錄摘要IABSTRACT錯誤!未定義書簽。1 緒 論11.1 研究課題的目的11.2 研究課題的意義22 需求分析32.1 可行性研究32.2 需求分析32.3 開發(fā)環(huán)境介紹43 總體設(shè)計73.1 設(shè)計思想73.2 設(shè)計原則73.3 功能模塊和結(jié)構(gòu)設(shè)計73.

3、4 數(shù)據(jù)庫設(shè)計94 系統(tǒng)實現(xiàn)164.1 登陸系統(tǒng)模塊164.2 商品信息模塊184.3 商品入庫模塊194.4 商品銷售模塊204.5 營業(yè)統(tǒng)計模塊244.6 供應(yīng)商模塊254.7 用戶信息模塊275 總結(jié)28參 考 文 獻(xiàn)29致謝30附 錄31V1 緒 論隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,人們的生活方式正發(fā)生著巨大的變化。計算機(jī)技術(shù)已經(jīng)滲透到各個領(lǐng)域,成為各個行業(yè)必不可少的工具。特別是 Internet 技術(shù)的推廣和信息高速公路的建立,使得 IT 產(chǎn)業(yè)在市場競爭中越發(fā)顯示出其獨特的優(yōu)勢??茖W(xué)技術(shù)是第一生產(chǎn)力,科學(xué)技術(shù)的發(fā)展讓人類更加受益。各類信息系統(tǒng)應(yīng)用于各行各業(yè),不但給管理上帶來了極大的便利,而

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

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

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

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

8、竟時間就是金錢。由于傳統(tǒng)的超市收銀管理給顧客和店主帶來很多不便。針對這方面的缺陷,開發(fā)這個系統(tǒng)可以方便快捷地查出顧客結(jié)帳情況,商品信息情況,每天的售貨情況,方便了對超市商品管理、人員管理,大大提高了超市的售貨速度。進(jìn)而加速了社會的發(fā)展速度,提高了人民的生活水平??傊柚谛畔⑾到y(tǒng)可以大大提高超市的運作效率,通過全面的信息的采集和處理,不僅輔助提高了超市的決策水平,還可以迅速提高超市的管理水平,為降低經(jīng)營成本,提高效率,增強(qiáng)超市擴(kuò)張力,提供有效的技術(shù)保障。共 44頁,第2頁2 需求分析2.1 可行性研究系統(tǒng)開始和可行性研究是為系統(tǒng)開發(fā)做前期準(zhǔn)備 1 。在對一個項目的開發(fā)之前,我們總是要對其進(jìn)行

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

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

11、庫存情況進(jìn)行查詢;對用戶進(jìn)行管理,具體為添加用戶、刪除用戶、修改用戶密碼;對供應(yīng)商基本信息的管理;共 44頁,第3頁對贏利狀況分析,進(jìn)行營業(yè)統(tǒng)計,按年月日及商品類別統(tǒng)計;(2) 數(shù)據(jù)精確度產(chǎn)品的進(jìn)貨單和銷售單中, 單價、金額采用浮點數(shù), 數(shù)量都取整數(shù)。(3) 時間特性該系統(tǒng)軟件從啟動到進(jìn)入系統(tǒng)登錄界面的時間正常情況下少于5 秒,錄入并更新數(shù)據(jù)的時間正常情況下少于10 秒。(4) 適用性該管理系統(tǒng)軟件適用于Windows 2000/Windows XP 中文版下運行。2.3 開發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,Management Information System)可以

12、保存用戶信息,通過對信息進(jìn)行分析和處理,可以幫助用戶制定計劃、規(guī)范管理或提供決策依據(jù)。超市收銀系統(tǒng)具有其特殊性,通常采用C/S結(jié)構(gòu),考慮到其為小型超市,所以在架構(gòu)上面選擇兩層。介紹C sharp(又被簡稱為 ”C#”)是微軟公司在 2000 年 6 月發(fā)布的一種新的編程語言。C#看起來與 Java有著驚人的相似;它包括了諸如單一繼承,界面,與 Java 幾乎同樣的語法,和編譯成中間代碼再運行的過程。 但是 C#與 Java有著明顯的不同,它借鑒了 Delphi 的一個特點,與 COM(組件對象模型) 是直接集成的, 而且它是微軟公司 . NET windows 網(wǎng)絡(luò)框架的主角 3 。C#在帶來

13、對應(yīng)用程序的快速開發(fā)能力的同時, 并沒有犧牲 C 與 C+程序員所關(guān)心的各種特性。它忠實地繼承了 C 和 C+的優(yōu)點。如果你對 C 或 C+有所了解, 你會發(fā)現(xiàn)它是那樣的熟悉。即使你是一位新手, C#也不會給你帶來任何其它的麻煩,快速應(yīng)用程序開發(fā) (Rapid Application Development ,RAD) 的思想與簡潔的語法將會使你迅速成為一名熟練的開發(fā)人員。C#是專門為 . NET 應(yīng)用而開發(fā)出的語言。這從根本上保證了 C#與. NET 框架的完美結(jié)合。在 . NET 運行庫的支持下, . NET 框架的各種優(yōu)點在 C#中表現(xiàn)得淋漓盡致。 C#具有如下幾個特點:(1) 簡潔的語

14、法在缺省的情況下, C#的代碼在 . NET 框架提供的“可操縱”環(huán)境下運行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。C#只支持一個 “.”,對于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。(2) 精心地面向?qū)ο笤O(shè)計共 44頁,第4頁C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計,從高級商業(yè)對象到系統(tǒng)級應(yīng)用,C#建造廣泛組件的絕對選擇。在 C# 的類型系統(tǒng)中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱( unboxing)的機(jī)制來完成這種操作, 而不給使用者帶來麻煩。C#只允許單繼承,即一

15、個類不會有多個基類, 從而避免了類型定義的混亂。 C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。(3) 與 Web 的緊密結(jié)合C#組件將能夠方便地為 Web 服務(wù),并允許它們通過 Internet 被運行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉個例子, 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) 完整的安全性與錯誤處理語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。C#的先進(jìn)設(shè)計思想可以消

16、除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。內(nèi)存管理中的垃圾收集機(jī)制減輕了開發(fā)人員對內(nèi)存管理的負(fù)擔(dān)。 . NET 平臺提供的垃圾收集器( Garbage Collection,GC)將負(fù)責(zé)資源的釋放與對象撤銷時的內(nèi)存清理工作。(5) 版本處理技術(shù)C#提供內(nèi)置的版本支持來減少開發(fā)費用,使用 C#將會使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。(6) 靈活性和兼容性如果需要, C#允許你將某些類或者類的某些方法聲明為非安全的。如此就能使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組。此外,它還引進(jìn)了模擬指針功能的-delegates,指代。 C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這

17、一功能。介紹Microsoft 公司的 SQL Server 是關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng),它的工作環(huán)境為 Microsoft Windows NT 系列或 Microsoft Windows98 。SQL Server 與 Microsoft 公司的其它軟件,如 Microsoft office 和 Microsoft Visual Studio 設(shè)計風(fēng)格一致,并能相互配合。 SQL Server具有分布式數(shù)據(jù)庫和倉庫管理功能, 支持客戶機(jī) /服務(wù)器結(jié)構(gòu), 并能進(jìn)行分布式事務(wù)處理和聯(lián)機(jī)分析處理。 SQL Server具有強(qiáng)大的數(shù)據(jù)庫管理功能,它提供豐富的管理工共 44頁,第5頁具以支持?jǐn)?shù)據(jù)庫的

18、安全性管理、完整性管理和作業(yè)管理。SQL Server 還具有強(qiáng)大的網(wǎng)絡(luò)功能,支持發(fā)布 Web 頁面和接收電子郵件。 SQL Server 支持 ANSI SQL (標(biāo)準(zhǔn) SQL),并將標(biāo)準(zhǔn) SQL 擴(kuò)展成為更加實用的 Transact-SQL4 。使用 SQL Server 2005,開發(fā)人員通過使用相似的語言,例如微軟的 Visual C# . NET和微軟的 Visual Basic,將能夠創(chuàng)立數(shù)據(jù)庫對象。開發(fā)人員還將能夠建立兩個新的對象 用戶定義的類和集合。在使用本地網(wǎng)絡(luò)和互聯(lián)網(wǎng)的情況下,在不同應(yīng)用軟件之間散步數(shù)據(jù)的時候,可擴(kuò)展標(biāo)記語言(XML )是一個重要的標(biāo)準(zhǔn)。 SQL Serve

19、r 2005 將會自身支持存儲和查詢可擴(kuò)展標(biāo)記語言文件。從對SQL 類的新的支持,到多活動結(jié)果集(MARS ),SQL Server 2005中的 ADO . NET 將推動數(shù)據(jù)集的存取和操縱, 實現(xiàn)更大的可升級性和靈活性。介紹在網(wǎng)絡(luò)連接模式中,除對等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶機(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ù)器都是指通信中所涉及的兩個應(yīng)用進(jìn)程(軟件),所以有時要根據(jù)上下文判斷 client 與 server 是指軟件還是硬

20、件。 C/S 可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到 Client 端和 Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷 5 。最簡單的 C/S 體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用,由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,稱為應(yīng)用服務(wù)器,一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶程序運行在用戶自己的電腦上,對應(yīng)于服務(wù)器電腦,可稱為客戶電腦。當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。在典型的 C/S 數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功

21、能,是由服務(wù)器程序獨立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實現(xiàn),例如訪問者的權(quán)限,編號不準(zhǔn)重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)這背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序可以變的非?!笆菪 ?,麻煩的事情,都交給了服務(wù)器和網(wǎng)絡(luò)。在 C/S 體系的下,數(shù)據(jù)庫真正變成了公共、 專業(yè)化的倉庫, 受到獨立的專門管理。共 44頁,第6頁3 總體設(shè)計3.1 設(shè)計思想(1) 系統(tǒng)分成幾個相對獨立的模塊, 但這些模塊都進(jìn)行集中式管理。

22、(2) 分層的模塊化程序設(shè)計思想, 整個系統(tǒng)采用模塊化機(jī)構(gòu)設(shè)計。 作為應(yīng)用程序有較強(qiáng)的可操作性和擴(kuò)展性。(3) 合理的數(shù)據(jù)流設(shè)計, 在應(yīng)用系統(tǒng)設(shè)計中, 相對獨立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運行,提高系統(tǒng)安全性。3.2 設(shè)計原則為了使本系統(tǒng)功能齊全完備,操作簡便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的實際需要,在設(shè)計開發(fā)過程中遵循了,如下原則:(1) 合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實際的工作情況,進(jìn)行諸如商品進(jìn)貨、銷售等工作。(2) 實用性原則:適合產(chǎn)品信息管理工作的實際需求,并能夠處理一些特殊情況的要求,此外,盡可能預(yù)留空間,以便擴(kuò)充功

23、能。(3) 準(zhǔn)確性原則:對輸入的相關(guān)資料建立檢錯機(jī)制,及時報錯,使用戶能夠及時準(zhǔn)確的輸入合法資料(如類型匹配,長度不超限等) 。(4) 易操作原則:要求設(shè)計的系統(tǒng)功能齊全,接口友好,操作方便,必要的地方進(jìn)行提示。(5) 源程序可讀性原則: 為了便于其它設(shè)計, 維護(hù)人員讀懂代碼或以后的代碼修改,軟件升級維護(hù),既可能做好代碼注釋工作。(6) 優(yōu)化原則:為了達(dá)到優(yōu)化的目的,合理的運用窗口,菜單,對象等的繼承,自定義用戶對象,事件,函數(shù),減少不必要的重復(fù)性代碼,使程序簡潔明了,也方便了將來的維護(hù)。(7) 安全性原則:該系統(tǒng)的管理員具有可設(shè)置登陸密碼,修改密碼的權(quán)限。經(jīng)過前面的設(shè)計,我們對整個系統(tǒng)有了一

24、個初步的認(rèn)識,并對各個模塊進(jìn)行了功能分化。3.3 功能模塊和結(jié)構(gòu)設(shè)計小型超市管理系統(tǒng)包括系統(tǒng)管理員、庫存管理員、商品銷售員三大角色,對應(yīng)本系統(tǒng)中的權(quán)限,根據(jù)權(quán)限的不同,可操作的業(yè)務(wù)不同。本節(jié)將對小型超市收銀系統(tǒng)進(jìn)行總共 44頁,第7頁體設(shè)計,介紹系統(tǒng)的總體功能和模塊劃分。系統(tǒng)結(jié)構(gòu)小型超市收銀系統(tǒng)所包含的功能模塊有:商品入庫模塊、商品銷售模塊、營業(yè)統(tǒng)計模塊、商品信息模塊、 供應(yīng)商信息模塊、 用戶信息模塊。 系統(tǒng)功能結(jié)構(gòu)圖見圖3-1。小型超市收銀系統(tǒng)商商營商用供品品業(yè)品戶應(yīng)入銷統(tǒng)信信商庫售計息息信息圖 3-1 系統(tǒng)功能結(jié)構(gòu)圖超市收銀系統(tǒng)的業(yè)務(wù)流程圖,如圖3-2 所示。圖 3-2 系統(tǒng)業(yè)務(wù)流程圖系統(tǒng)

25、各功能模塊定義(1) 商品入庫模塊該模塊用于實現(xiàn)商品的入庫管理,當(dāng)供應(yīng)商所供商品出現(xiàn)問題需退貨時可以實現(xiàn)共 44頁,第8頁6 。退貨管理。另外用戶還可以根據(jù)條件查詢相關(guān)的入庫記錄。(2) 商品銷售模塊該模塊用于實現(xiàn)商品售出、收銀功能。顧客倘若對商品不滿意還可以進(jìn)行退貨處理。(3) 營業(yè)統(tǒng)計模塊該模塊實現(xiàn)商品銷售情況及入庫情況統(tǒng)計分析,讓系統(tǒng)用戶可以根據(jù)時間查詢統(tǒng)計信息。(4) 商品信息模塊該模塊實現(xiàn)商品基本信息的管理,如商品的添加、修改、刪除操作、條件查詢。對于低于庫存報警值的商品會顯示出來。(5) 用戶信息模塊該模塊實現(xiàn)用戶基本信息的管理,含用戶的添加、修改、刪除,用戶信息記錄的瀏覽。(6)

26、 供應(yīng)商信息模塊該模塊實現(xiàn)供應(yīng)商基本信息的管理,系統(tǒng)用戶可以實現(xiàn)供應(yīng)商信息的添加、刪除、修改,條件查詢以及查看供應(yīng)商可提供的相關(guān)商品。3.4 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫在一個管理信息系統(tǒng)中占有非常重要的地位, 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。 合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致,同時,合理的數(shù)據(jù)庫也將有利于程序的實現(xiàn)設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該充分了解用戶各個方面的需求, 包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫的需求分析SQL Server 數(shù)據(jù)庫的建立方法可以分成兩個階段,第一個階段是根據(jù)要輸入的數(shù)據(jù)性質(zhì),新增表并設(shè)置表的字段名稱、數(shù)據(jù)類型和語

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

28、,商品名稱。(3) 商品,包括數(shù)據(jù)項:商品編號 (條形碼 ) ,商品名稱,類別,庫存量、報警值,計量單位,規(guī)格,售價。(4) 供應(yīng)商,包括數(shù)據(jù)項:名稱,聯(lián)系人,聯(lián)系電話,傳真,地址,合作起始時間。(5) 銷售記錄,包括數(shù)據(jù)項:編號,操作人,商品編號,售價,售出數(shù)量,售出時間。(6) 進(jìn)貨記錄,包括數(shù)據(jù)項:商品,供應(yīng)商,操作人,進(jìn)價,進(jìn)貨數(shù)量,進(jìn)貨時間。(7) 供貨,包括數(shù)據(jù)項:供應(yīng)商,商品,最新進(jìn)價。數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計出系統(tǒng)中的各個實體以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本系統(tǒng)根據(jù)上面功能分析和需求總結(jié)設(shè)計出的實體共有下面幾個,下面分別列出

29、本系統(tǒng)所使用到的各基本實體和各實體之間的聯(lián)系。如圖 3-3 所示:共 44 頁,第10頁圖 3-3 實體聯(lián)系 (E-R) 圖數(shù)據(jù)庫邏輯設(shè)計(1) 表設(shè)計將數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計轉(zhuǎn)換成關(guān)系模型,就得到了以下的幾張數(shù)據(jù)庫中的表7 :下面分別介紹這些表。系統(tǒng)登錄用戶的基本信息保存在用戶信息表里,其中對于用戶編號,通過自增方式實現(xiàn),無需用戶手動編號,編號從1000 起始。詳細(xì)說明如表3-1 所示。共 44 頁,第11頁表 3-1 用戶信息表 (Users)序號屬性名字段名類型長度NULL默認(rèn)備注1編號UserIDint4×主鍵自增,標(biāo)識種子 10002真實名字UserNamevarchar10

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

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

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

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

34、載的是供應(yīng)商所可商品的信息,含商品編號、供貨商編號、最新進(jìn)價。各字段的詳細(xì)信息見下表 3-6。表 3-6 供應(yīng)商供貨價格表 (StockPrice)序號屬性名字段名類型長度NULL默認(rèn)備注1商品編號GoodsIDnvarchar20×組合主鍵2供應(yīng)商編號CompanyIDint4×組合主鍵3最新進(jìn)價GoodsSellPricesmallmoney×供應(yīng)商信息表記錄的是供應(yīng)商的基本信息,其中編號由系統(tǒng)自動編號,采取主鍵自增方式,編號始于 1000。各字段的詳細(xì)信息見下表 3-7。共 44 頁,第13頁表 3-7 供應(yīng)商信息表 (Company)序號屬性名字段名類型長

35、度NULL默認(rèn)備注1編號CompanyIDint4×主鍵自增, 標(biāo)識種子 10002名稱CompanyNamenvarchar50×3聯(lián)系人CompanyDirectornvarchar10×4電話CompanyPhonenvarchar20×5傳真CompanyFaxnvarchar206地址CompanyAddnvarchar50×7合作時間HzDataTimedatetime×(2) 視圖設(shè)計根據(jù)邏輯模型所設(shè)計出的各種數(shù)據(jù)表構(gòu)成了完整的物理數(shù)據(jù)庫。由于業(yè)務(wù)范圍的限制,每一個用戶不可能訪問數(shù)據(jù)庫系統(tǒng)中的所有數(shù)據(jù)表,所訪問的只是數(shù)據(jù)

36、表的一個子集。我們把一個用戶能訪問到的數(shù)據(jù)表集合稱為一個視圖(View) 8 。視圖是以一致和直觀的方式提供給用戶的數(shù)據(jù)形式。視圖以這種形式給用戶提供數(shù)據(jù),一方面為了滿足用戶對數(shù)據(jù)訪問的方便性、簡潔性需要,使數(shù)據(jù)在視圖中以更符合用戶要求和喜好的形式展現(xiàn)出來,另一方面,為了保證數(shù)據(jù)的一致性,最好不要把數(shù)據(jù)表直接提供給最終用戶。該數(shù)據(jù)庫中涉及到的視圖有兩個:視圖 QuerySell,對應(yīng)的 Transact-SQL 語句:SELECTJOIN視圖 QueryStock,對應(yīng)的 Transact-SQL語句:SELECT共 44 頁,第14頁FROMdbo.StockInfo INNER JOINI

37、NNER JOININNER JOIN共 44 頁,第15頁4 系統(tǒng)實現(xiàn)系統(tǒng)用 SQL Server2005做后臺數(shù)據(jù)庫,進(jìn)行基于 .net 發(fā)平臺的 WinForm 應(yīng)用程序開發(fā),基本實現(xiàn)其功能。以下將描述系統(tǒng)幾個主要功能模塊的運行和測試的結(jié)果。4.1 登陸系統(tǒng)模塊當(dāng)我們建立了一個完整的系統(tǒng)時,尤其對于管理系統(tǒng),對于進(jìn)入每個系統(tǒng)的人員我們都要對他進(jìn)行身份驗證,我們當(dāng)然不希望有任何人進(jìn)入該系統(tǒng)進(jìn)行惡意的破壞,對系統(tǒng)中的數(shù)據(jù)進(jìn)行修改,維護(hù)該系統(tǒng)的系統(tǒng)管理員也不希望有任何麻煩,所以對系統(tǒng)進(jìn)行安全保護(hù)顯的很重要,無論對于誰,系統(tǒng)的安全問題是首要的 9 。為了解決這個問題,有一個簡單、實用,但是老套的

38、方法,就是口令加密。在該小型超市收銀系統(tǒng)中對口令的加密采取的是常用的MD5 加密算法。在新增或修改用戶信息時,存入數(shù)據(jù)庫的是用戶密碼的MD5 哈希值,在登錄驗證時根據(jù)用戶輸入的密碼計算相應(yīng)的 MD5 哈希值進(jìn)行比較。加密方法:public static string EncryptMD5(string oldData)/將字符串轉(zhuǎn)化為字節(jié)序列Byte clearBytes = new UnicodeEncoding().GetBytes(oldData);/計算字節(jié)序列對應(yīng)的Hash 值Byte hashedBytes =(HashAlgorithm)CryptoConfig.CreateFr

39、omName("MD5").ComputeHash(clearBytes);/返回經(jīng) MD5 加密后的字符串return BitConverter.ToString(hashedBytes);在用戶登錄系統(tǒng)時,用戶只需要輸入分配的用戶ID ,只要 ID 號正確就可以自動顯示出相應(yīng)的用戶名。為了防止他人獲知用戶的密碼,增強(qiáng)系統(tǒng)的安全性,我們將待輸入密碼的文本框的PasswordChar設(shè)為 * ,當(dāng)用戶輸入密碼后,系統(tǒng)將對所輸入的密碼進(jìn)行檢查,只有當(dāng)密碼正確才可進(jìn)入到系統(tǒng)主界面,否則系統(tǒng)會提示錯誤。 登錄界面如圖 4-1所示。共 44 頁,第16頁共 44 頁,第17頁圖 4

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

41、錄未添加至數(shù)據(jù)庫,可先單擊右側(cè)的“添加供應(yīng)商”按鈕。依次輸入進(jìn)貨價、進(jìn)貨數(shù)量,當(dāng)進(jìn)貨數(shù)量為負(fù)數(shù)時進(jìn)行就是退貨操作。確認(rèn)進(jìn)貨時若發(fā)現(xiàn)為新商品則提示先新增商品,進(jìn)貨記錄成功添加出現(xiàn)對話框提醒。進(jìn)貨運行界面如下圖 4-4 所示。共 44 頁,第19頁圖 4-4 商品入庫運行圖在入庫查詢中,可以根據(jù)各種條件組合查詢,在輸入商品名稱時可實現(xiàn)模糊查詢匹配,滿足條件的入庫記錄將出現(xiàn)在網(wǎng)格中 10 。如圖 4-5。圖 4-5 入庫查詢界面圖4.4 商品銷售模塊商品銷售模塊能處理商品銷售業(yè)務(wù)過程, 輸入商品編號后回車確認(rèn)后單擊“確認(rèn)”按鈕就可將商品添加至待售商品列表。根據(jù)快捷鍵操作,修改數(shù)量。當(dāng)顧客對購買的商共

42、 44 頁,第20頁品不滿意時,在未使用商品的情況下,可以對商品進(jìn)行退貨。這時只需將商品數(shù)量的修改置為負(fù)數(shù)即可。另外可以在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠家。商品銷售運行界面圖如下圖4-6 所示。圖 4-6 商品銷售運行界面圖開發(fā)商品銷售模塊過程中,對輸入的數(shù)據(jù)要進(jìn)行嚴(yán)格控制。此時,用到較多的是TextBox 控件的 KeyPress事件和 TextChange事件,下面對這兩個事件進(jìn)行詳細(xì)說明。(1) 實收金額文本框中控制金額的輸入合理,只能是數(shù)字鍵、 BackSpace 鍵、小數(shù)點鍵被按下時才接受所按下的鍵,實現(xiàn)的代碼如下 11 :private void txtG

43、etMoney_KeyPress(object sender, KeyPressEventArgs e)if (e.KeyChar != 8&& !char.IsDigit(e.KeyChar)&&e.KeyChar!='.'&&e.KeyChar!='-')MessageBox.Show("輸入數(shù)字 "); / 彈出提示e.Handled = true;(2) 找零金額由系統(tǒng)自動計算出并顯示在文本框中,實現(xiàn)代碼如下:private void txtGetMoney_TextChanged(object sender, EventArgs e)共 44 頁,第21頁/當(dāng)所收付款改變時,所找零錢數(shù)目也跟著改變if (txtGetMoney.Text != "")if (txtGetMoney.Text != "-")float fltMoney =txtChange.Text = (fltMoney - fltNeedPay).ToString("0.0");elsetxtChange.Text = ""應(yīng)該所收的錢數(shù)

溫馨提示

  • 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

提交評論