版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 緒 論由于現(xiàn)在的科學(xué)技術(shù)發(fā)展非常之快,而計(jì)算機(jī)技術(shù)在各個(gè)領(lǐng)域都有相應(yīng)的應(yīng)用,是各行各業(yè)的一個(gè)實(shí)用的工具。特別是Internet網(wǎng)的推廣和信息高速公路的建立,使IT產(chǎn)業(yè)在市場(chǎng)競(jìng)爭(zhēng)中越發(fā)顯示出其獨(dú)特的優(yōu)勢(shì),步入信息化時(shí)代,有巨大的數(shù)據(jù)信息等待加工處理和傳輸,這使得對(duì)書(shū)數(shù)據(jù)庫(kù)的進(jìn)一步開(kāi)發(fā)和利用顯得尤為迫切。作為國(guó)內(nèi)市場(chǎng)的燕熙超市,它在信息化過(guò)程中的步伐要落后于其他大型的超市,而對(duì)于這些企業(yè)的資源管理,信息的存儲(chǔ)和處理也顯得非常需要,要適應(yīng)市場(chǎng)競(jìng)爭(zhēng),就需要有高效的處理方式和管理方法,因此加快超市的信息化進(jìn)程是非常必要的。1.1研究課題的目的現(xiàn)代化的社會(huì)生活,使得市場(chǎng)的走向發(fā)生巨大變化,由于經(jīng)濟(jì)
2、的發(fā)展,人民對(duì)生活的需求已經(jīng)不再滿(mǎn)足于豐衣足食的低度要求,許多人們往往不是單純?yōu)闈M(mǎn)足生活必須去購(gòu)買(mǎi),而是憑著喜歡、意欲和感官去購(gòu)買(mǎi)。如果一個(gè)商店能夠打動(dòng)顧客、吸引顧客,自然會(huì)顧客盈門(mén),而近幾年新興產(chǎn)業(yè)中超級(jí)市場(chǎng)的現(xiàn)代化管理方式和便捷的購(gòu)物方式,尤其是它輕松的購(gòu)物環(huán)境,往往是打動(dòng)顧客,吸引顧客的最主要的原因,且良好的周密的銷(xiāo)售服務(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)作為奴努力開(kāi)拓的目標(biāo),就無(wú)法成功的經(jīng)營(yíng)超市,獲得豐厚的
3、利潤(rùn)。現(xiàn)代化事業(yè)的發(fā)展,也使超市的管理數(shù)段發(fā)生前所未有的革命,計(jì)算機(jī)的運(yùn)用正在發(fā)達(dá)國(guó)家的各類(lèi)商店超市中普及。由于它能夠準(zhǔn)確記載和查詢(xún)有關(guān)超市經(jīng)營(yíng)活動(dòng)的大量數(shù)據(jù),幫助超市經(jīng)營(yíng)者掌握和分析營(yíng)銷(xiāo)情況,及時(shí)作出正確決策,并且有利于商店內(nèi)部財(cái)務(wù)、工資、人員、庫(kù)存、銷(xiāo)售情況等管理,因而大大提高了現(xiàn)代超市的管理水平。國(guó)外很多發(fā)達(dá)資本主義國(guó)家的有關(guān)人士都在開(kāi)發(fā)超市管理系統(tǒng),開(kāi)發(fā)出很多大型的軟件,由于本人能力有限,開(kāi)發(fā)一個(gè)小型超市管理系統(tǒng),它可以使我們國(guó)內(nèi)新起小型超市可以更好的操作。此系統(tǒng)的有減少差錯(cuò),節(jié)省人力、減少顧客購(gòu)物時(shí)間,增加客流量,提高顧客滿(mǎn)意度等特點(diǎn)。我通過(guò)開(kāi)發(fā)這個(gè)簡(jiǎn)單管理信息系統(tǒng),鞏固了以前所學(xué)的
4、知識(shí),提高了應(yīng)用能力。1.2 研究課題的意義在我國(guó),超市形成在20世紀(jì)90年代初期,現(xiàn)在已經(jīng)成為我國(guó)零售業(yè)的一種重要形態(tài),為國(guó)民經(jīng)濟(jì)的發(fā)展發(fā)揮了重要的作用。隨著超市高速的發(fā)展,其經(jīng)營(yíng)管理也變得愈加復(fù)雜,早期的售貨員站柜臺(tái)的形式早已不能滿(mǎn)足現(xiàn)有銷(xiāo)售也的發(fā)展,這樣就迫切地需要引入新的管理技術(shù)。超市形態(tài)具有種種優(yōu)點(diǎn),但在目前狀況下,它仍存在零售業(yè)企業(yè)所共有的落后的一面,如:不能有效地管理每種商品,收款結(jié)算速度慢,容易出現(xiàn)營(yíng)業(yè)差錯(cuò),不宜進(jìn)行商品調(diào)價(jià),盤(pán)點(diǎn)效率低等,而且在超市日常管理中,商品的進(jìn)、銷(xiāo)、存等決策以經(jīng)驗(yàn)為主,缺乏實(shí)時(shí)分析功能,管理人員對(duì)及時(shí)傳遞資料的要求始終得不到滿(mǎn)足。蘇轍超市形態(tài)的高速發(fā)展
5、,其經(jīng)營(yíng)管理也變得愈加復(fù)雜,日常所需要處理的數(shù)據(jù)量也逐漸增大,商業(yè)運(yùn)轉(zhuǎn)的中間環(huán)節(jié)也越來(lái)越多,原始的人工管理已無(wú)法應(yīng)對(duì)這復(fù)雜的市場(chǎng)。為此,在選題過(guò)程中,我選擇了超市管理系統(tǒng)設(shè)計(jì)題目,依靠現(xiàn)代化的計(jì)算機(jī)信息處理技術(shù)來(lái)管理超市,從而節(jié)省了大量的人力、物力,改善了員工的工作條件,減輕了勞動(dòng)強(qiáng)度,并且能夠快速反映出商品的進(jìn)、銷(xiāo)、存等狀況和各種反饋信息分析,使管理人員快速對(duì)市場(chǎng)的變化做出相應(yīng)的決策,加快超市經(jīng)營(yíng)管理效率。第二章 可行性分析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)老師的共同分析得出了可行性開(kāi)
6、發(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ì)于用戶(hù)只需要具
7、有一般的計(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 開(kāi)發(fā)環(huán)境介紹該系統(tǒng)屬于管理信息系統(tǒng),管理信息系統(tǒng)(MIS,Management Information System)可以保存用戶(hù)信息,通過(guò)對(duì)信息進(jìn)行分析和處理,可以幫助用戶(hù)制定計(jì)劃、規(guī)范管理或提供決策依據(jù)。超市收銀系統(tǒng)具有其特殊性,通常采用C/S結(jié)構(gòu),考慮到其為小型超市,所以在架構(gòu)上面選擇兩層。2.2.1 SQ
8、L Server2005介紹Microsoft公司的SQL Server是關(guān)系型網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng),它的工作環(huán)境為Microsoft Windows NT 系列或Microsoft Windows98。SQL Server與Microsoft公司的其它軟件,如Microsoft office和Microsoft Visual Studio設(shè)計(jì)風(fēng)格一致,并能相互配合。SQL Server具有分布式數(shù)據(jù)庫(kù)和倉(cāng)庫(kù)管理功能,支持客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu),并能進(jìn)行分布式事務(wù)處理和聯(lián)機(jī)分析處理。SQL Server具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,它提供豐富的管理工具以支持?jǐn)?shù)據(jù)庫(kù)的安全性管理、完整性管理和作業(yè)管理。SQ
9、L 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 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)的新的支持
10、,到多活動(dòng)結(jié)果集(MARS),SQL Server 2005中的ADO.NET將推動(dòng)數(shù)據(jù)集的存取和操縱,實(shí)現(xiàn)更大的可升級(jí)性和靈活性。2.2.2 C/S介紹在網(wǎng)絡(luò)連接模式中,除對(duì)等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶(hù)機(jī)/服務(wù)器網(wǎng),Client/Server。在客戶(hù)機(jī)/服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶(hù)機(jī)是網(wǎng)絡(luò)的基礎(chǔ),客戶(hù)機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶(hù)機(jī)提供網(wǎng)絡(luò)必須的資源。這里客戶(hù)和服務(wù)器都是指通信中所涉及的兩個(gè)應(yīng)用進(jìn)程(軟件),所以有時(shí)要根據(jù)上下文判斷client與server是指軟件還是硬件。C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 Client端和Serv
11、er端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。最簡(jiǎn)單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用,由兩部分組成,即客戶(hù)應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器程序。二者可分別稱(chēng)為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫(kù)服務(wù)器程序的機(jī)器,稱(chēng)為應(yīng)用服務(wù)器,一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶(hù)程序發(fā)來(lái)的請(qǐng)求;客戶(hù)程序運(yùn)行在用戶(hù)自己的電腦上,對(duì)應(yīng)于服務(wù)器電腦,可稱(chēng)為客戶(hù)電腦。當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶(hù)程序就自動(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ù)
12、器程序中集中實(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)程序可以變的非?!笆菪 保闊┑氖虑?,都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫(kù)真正變成了公共、專(zhuān)業(yè)化的倉(cāng)庫(kù),受到獨(dú)立的專(zhuān)門(mén)管理。第三章系統(tǒng)需求分析3.1需求分析現(xiàn)在,計(jì)算機(jī)正以一種前所未有的沖擊力在影響著人類(lèi)的活動(dòng),包括人類(lèi)的生產(chǎn)和日常生活。計(jì)算機(jī)的誕生和發(fā)展,顛覆了傳統(tǒng)的工作和管理方式,極大地改變了人類(lèi)從生產(chǎn)到生活的各種活動(dòng),并且給人類(lèi)帶來(lái)了新的機(jī)遇
13、和挑戰(zhàn)。通過(guò)計(jì)算機(jī)的應(yīng)用,社會(huì)勞動(dòng)生產(chǎn)率大幅度提高,并推動(dòng)經(jīng)濟(jì)結(jié)構(gòu)革新和產(chǎn)業(yè)結(jié)構(gòu)的升級(jí)。為了提高超市的工作效率,節(jié)約成本等,本課題的任務(wù)是開(kāi)發(fā)一適應(yīng)中型超市收銀管理系統(tǒng)。實(shí)現(xiàn)C/S結(jié)構(gòu)的分布式系統(tǒng),支持多個(gè)終端進(jìn)行收銀管理,共享一個(gè)數(shù)據(jù)庫(kù)。對(duì)用戶(hù)的權(quán)限有明確劃分。商品入庫(kù)商品銷(xiāo)售營(yíng)業(yè)統(tǒng)計(jì)商品信息供應(yīng)商信息用戶(hù)信息再有,界面設(shè)計(jì)必須清晰醒目,使用戶(hù)可以一目了然地知道系統(tǒng)有哪些功能。希望該系統(tǒng)在實(shí)踐的同時(shí),能盡快的發(fā)現(xiàn)其不足,并盡快的改正,盡可能滿(mǎn)足用戶(hù)的要求。 (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í)間正常情
14、況下少于5秒,錄入并更新數(shù)據(jù)的時(shí)間正常情況下少于10秒。該管理系統(tǒng)軟件適用于Windows 2000/Windows XP中文版下運(yùn)行。3.2軟件功能的劃分與概述(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)行管理,具體為添加用戶(hù)、刪除用戶(hù)、修改用戶(hù)密碼;對(duì)供應(yīng)商基本信息的管理;對(duì)贏利狀況分析,進(jìn)行營(yíng)業(yè)統(tǒng)計(jì),按年月日及商品類(lèi)別統(tǒng)計(jì);3.3模型建立實(shí)體聯(lián)系圖(E-R圖)實(shí)體聯(lián)系圖清楚、準(zhǔn)確的描述了用戶(hù)數(shù)據(jù),以數(shù)據(jù)模型方式反映用戶(hù)的現(xiàn)實(shí)環(huán)境,形象描繪了數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系。數(shù)據(jù)模型包含三種信息:數(shù)據(jù)對(duì)象、
15、數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象的彼此之間的相互連接的關(guān)系實(shí)體聯(lián)系圖符號(hào)說(shuō)明:超市管理系統(tǒng)E-R圖實(shí)現(xiàn)小票小票應(yīng)付金額商品名稱(chēng)商品數(shù)目商品單價(jià)實(shí)付金額找零mnmmnmnmn供應(yīng)商供應(yīng)商品m倉(cāng)庫(kù)n庫(kù)存管理地址供應(yīng)商名電話(huà)供應(yīng)種類(lèi)數(shù)量單價(jià)商品名管理員姓名類(lèi)型密碼品類(lèi)編號(hào)條形碼庫(kù)存量操作權(quán)限銷(xiāo)售小票mnmnmn供應(yīng)商供應(yīng)商品m倉(cāng)庫(kù)n庫(kù)存管理地址供應(yīng)商名電話(huà)供應(yīng)種類(lèi)數(shù)量單價(jià)商品名管理員姓名類(lèi)型密碼品類(lèi)條形碼庫(kù)存量銷(xiāo)售小票操作權(quán)限編號(hào)3.4數(shù)據(jù)流圖數(shù)據(jù)流程圖是在對(duì)系統(tǒng)調(diào)研階段繪制的業(yè)務(wù)流程圖進(jìn)行分析的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實(shí)際取得的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下、逐層分解
16、,從邏輯上精確地描述新系統(tǒng)應(yīng)該有的數(shù)據(jù)加工、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)的來(lái)源和去向,綜合的反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況。也就是說(shuō),數(shù)據(jù)流程圖是分層次的,繪制時(shí),先將整個(gè)系統(tǒng)作為一個(gè)加工環(huán)節(jié)畫(huà)出系統(tǒng)頂層的流程圖,然后再逐層細(xì)分,畫(huà)出各個(gè)處理功能的第一層流程圖、第二層流程圖等,直至整個(gè)系統(tǒng)不能再分,分解結(jié)束。本節(jié)將列出并講解幾個(gè)數(shù)據(jù)流圖。3.4.1數(shù)據(jù)流圖的符號(hào)說(shuō)明數(shù)據(jù)流(程)圖由以下四種基本元素組成,它們的符號(hào)。加工(處理邏輯)加工(處理邏輯)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流外部項(xiàng)(外部實(shí)體) 數(shù)據(jù)流圖的主要符號(hào)3.4.2數(shù)據(jù)流圖的實(shí)現(xiàn)根據(jù)超市收銀管理系統(tǒng)的實(shí)際運(yùn)行情況,劃分出了以下管理功能
17、塊,并且明確了各個(gè)功能塊之間的聯(lián)系,根據(jù)這些關(guān)系繪出數(shù)據(jù)流圖的最頂層,即第0層,:用戶(hù)用戶(hù)(管理員)P1商品管理D1 商品信息數(shù)據(jù)P2營(yíng)業(yè)統(tǒng)計(jì)P3供貨商管理P5用戶(hù)管理P6系統(tǒng)管理D3 銷(xiāo)售信息數(shù)據(jù)D2 進(jìn)貨信息數(shù)據(jù)D4 盤(pán)點(diǎn)信息數(shù)據(jù)D5 供貨商信息數(shù)據(jù)D7 用戶(hù)信息數(shù)據(jù)D8 系統(tǒng)信息數(shù)據(jù)商品信息商品信息F8 系統(tǒng)信息系統(tǒng)信息銷(xiāo)售信息進(jìn)貨信息盤(pán)點(diǎn)信息供貨商信息銷(xiāo)售信息進(jìn)貨信息盤(pán)點(diǎn)信息用戶(hù)信息用戶(hù)信息用戶(hù)信息統(tǒng)計(jì)信息供貨商信息供貨商信息D9 備份信息數(shù)據(jù)備份信息進(jìn)貨信息盤(pán)點(diǎn)信息商品信息供貨商信息銷(xiāo)售信息0層數(shù)據(jù)流圖0層數(shù)據(jù)流圖僅從總體上反映了超市收銀管理系統(tǒng)的各信息之間的聯(lián)系,為了對(duì)整個(gè)項(xiàng)目信息
18、管理系統(tǒng)有一個(gè)全面、詳細(xì)的了解,應(yīng)按照自頂向下、逐層分解的分析方法,對(duì)頂層圖進(jìn)行進(jìn)一步細(xì)化。以下就是對(duì)系統(tǒng)管理這個(gè)功能模塊進(jìn)行細(xì)化后所得到的一層數(shù)據(jù)流圖。下面是對(duì)“系統(tǒng)管理(P6)”功能模塊進(jìn)一步細(xì)化而得到的“系統(tǒng)管理”第一層DFD圖3.5數(shù)字字典:為了對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)說(shuō)明,我們建立了數(shù)據(jù)字典。用數(shù)據(jù)字典描述數(shù)據(jù)庫(kù)的設(shè)計(jì),便于維護(hù)和修改。數(shù)據(jù)字典的內(nèi)容主要是對(duì)數(shù)據(jù)流程圖中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理邏輯等五個(gè)方面進(jìn)行具體的定義。名稱(chēng):系統(tǒng)管理描述:超市收銀系統(tǒng)的登錄、用戶(hù)操作、設(shè)置等操作定義:系統(tǒng)管理=登錄系統(tǒng)+系統(tǒng)設(shè)置+關(guān)于系統(tǒng)+退出系統(tǒng)登錄系統(tǒng)=輸入用戶(hù)名+輸
19、入密碼用戶(hù)名=4數(shù)字4密碼=6數(shù)字6數(shù)字=0|1|2|3|4|5|6|7|8|9退出系統(tǒng)=退出收銀系統(tǒng)系統(tǒng)設(shè)置=系統(tǒng)參數(shù)的設(shè)置+數(shù)據(jù)庫(kù)初始化+數(shù)據(jù)庫(kù)備份與恢復(fù)+修改當(dāng)前用戶(hù)密碼+商店信息的設(shè)置+小票打印格式的設(shè)置關(guān)于系統(tǒng)=系統(tǒng)幫助+系統(tǒng)功能描述名稱(chēng):商品管理描述:對(duì)超市內(nèi)商品進(jìn)行操作定義:商品管理=商品添加+商品修改+商品刪除+商品查找+盤(pán)點(diǎn)商品+調(diào)整商品+商品的數(shù)據(jù)導(dǎo)出到EXCEL文件+EXCEL文件導(dǎo)入到系統(tǒng)名稱(chēng):營(yíng)業(yè)統(tǒng)計(jì)描述:對(duì)超市的營(yíng)業(yè)額進(jìn)行統(tǒng)計(jì),以報(bào)表形式顯示定義:營(yíng)業(yè)統(tǒng)計(jì)=年銷(xiāo)售統(tǒng)計(jì)+月銷(xiāo)售統(tǒng)計(jì)+日銷(xiāo)售統(tǒng)計(jì)+明細(xì)管理+銷(xiāo)售信息導(dǎo)出年銷(xiāo)售統(tǒng)計(jì)=超市一年?duì)I業(yè)額和月銷(xiāo)售統(tǒng)計(jì)=超市一個(gè)月?tīng)I(yíng)
20、業(yè)額和日銷(xiāo)售統(tǒng)計(jì)=超市一天營(yíng)業(yè)額和明細(xì)管理=信息瀏覽+信息刪除+信息導(dǎo)出營(yíng)業(yè)額=收銀錢(qián)數(shù)和名稱(chēng): 供貨商管理描述:對(duì)超市供應(yīng)商的一些操作定義:供貨商管理=供貨商添加+供貨商修改+供貨商刪除名稱(chēng):供貨商信息描述:供貨商的說(shuō)明定義:供貨商信息=供貨商號(hào)+供應(yīng)商名+聯(lián)系電話(huà)供貨商號(hào)=4數(shù)字4供貨商名=5字母15聯(lián)系電話(huà)=4數(shù)字15數(shù)字=0|1|2|3|4|5|6|7|8|9字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z名稱(chēng): 用戶(hù)管理描述:超市用戶(hù)信息設(shè)定與修改等操作定義:用戶(hù)管理=用戶(hù)信息管理用戶(hù)信息管理=修改用戶(hù)+添加用戶(hù)+刪除用戶(hù)名
21、稱(chēng): 商品信息描述:商品的說(shuō)明定義:商品信息=商品代號(hào)+商品名+商品售價(jià)+庫(kù)存量+商品進(jìn)價(jià)+保質(zhì)期+供應(yīng)商+使用說(shuō)明名稱(chēng):進(jìn)貨信息 描述:超市每個(gè)一段時(shí)間對(duì)貨物的補(bǔ)給定義:進(jìn)貨信息=貨物種類(lèi)+貨物名稱(chēng)+貨物數(shù)量+貨物價(jià)格+貨物供應(yīng)廠家名稱(chēng)+貨物供應(yīng)廠家聯(lián)系方式3.6狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖指明了作為外部事件結(jié)果的系統(tǒng)行為,描繪了系統(tǒng)各種行為模式和在不同狀態(tài)間轉(zhuǎn)換的方式,狀態(tài)轉(zhuǎn)換圖主要包括兩方面;狀態(tài)與事件;狀態(tài)是任何可以被觀察到的系統(tǒng)模式,狀態(tài)分為初態(tài)(初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài);事件是在某個(gè)特定時(shí)刻發(fā)生的事情情,它是對(duì)引起系統(tǒng)做動(dòng)作或從一個(gè)狀態(tài)換到另一狀態(tài)的外界事件的抽象。狀態(tài)轉(zhuǎn)換
22、圖符號(hào)說(shuō)明:初態(tài)實(shí)心圓終態(tài)一對(duì)同心圓中間態(tài)圓形矩形,分上(狀態(tài)名稱(chēng))、中(狀態(tài)變量的名字和值)、下(活動(dòng)表)三部分主要符號(hào)可如下圖表示狀態(tài)變量1狀態(tài)變量1 狀態(tài)1活動(dòng)表1活動(dòng)表2 狀態(tài)1初始事件事件結(jié)束事件 狀態(tài)變量2第四章 總體設(shè)計(jì)4.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)安全性。4.2 設(shè)計(jì)原則為了使本系統(tǒng)功能齊全完備,操作簡(jiǎn)便,最
23、大限度的提高軟件的質(zhì)量,從而滿(mǎn)足用戶(hù)的實(shí)際需要,在設(shè)計(jì)開(kāi)發(fā)過(guò)程中遵循了,如下原則:(1) 合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實(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ù)人員讀懂代碼或以后的代碼修改,軟件升
24、級(jí)維護(hù),既可能做好代碼注釋工作。(6) 優(yōu)化原則:為了達(dá)到優(yōu)化的目的,合理的運(yùn)用窗口,菜單,對(duì)象等的繼承,自定義用戶(hù)對(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)行了功能分化。 4.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)的總體功能和模塊劃分。4.3.1 系統(tǒng)結(jié)構(gòu)小型超市收銀系統(tǒng)所包含的功
25、能模塊有:商品入庫(kù)模塊、商品銷(xiāo)售模塊、營(yíng)業(yè)統(tǒng)計(jì)模塊、商品信息模塊、供應(yīng)商信息模塊、用戶(hù)信息模塊。系統(tǒng)功能結(jié)構(gòu)圖見(jiàn)圖3-1。燕熙超市收銀系統(tǒng)燕熙超市收銀系統(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ù)流程圖4.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)售情
26、況及入庫(kù)情況統(tǒng)計(jì)分析,讓系統(tǒng)用戶(hù)可以根據(jù)時(shí)間查詢(xún)統(tǒng)計(jì)信息。(4)商品信息模塊:該模塊實(shí)現(xiàn)商品基本信息的管理,如商品的添加、修改、刪除操作、條件查詢(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)商品。4.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ù)
27、據(jù)的完整和一致,同時(shí),合理的數(shù)據(jù)庫(kù)也將有利于程序的實(shí)現(xiàn)6。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該充分了解用戶(hù)各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。4.4.1 數(shù)據(jù)庫(kù)的需求分析SQL Server數(shù)據(jù)庫(kù)的建立方法可以分成兩個(gè)階段,第一個(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ù)
28、將商品入庫(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),用戶(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
29、)供貨,包括數(shù)據(jù)項(xiàng):供應(yīng)商,商品,最新進(jìn)價(jià)。4.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)圖4.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ō)
30、明如表3-1所示。表3-1 用戶(hù)信息表(Users)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1編號(hào)UserIDint4主鍵自增,標(biāo)識(shí)種子10002真實(shí)名字UserNamevarchar103密碼UserPasswordvarchar50MD5加密存儲(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商品
31、信息表記載的是商品的詳細(xì)信息,含商品編號(hào)、名稱(chēng)、類(lèi)別、計(jì)量單位、規(guī)格、售價(jià)、庫(kù)存量等等。具體的各字段屬性說(shuō)明和類(lèi)型如下表3-3。表3-3 商品信息表(GoodsInfo)序號(hào)屬性名字段名類(lèi)型長(zhǎng)度NULL默認(rèn)備注1商品編號(hào)GoodsIDnvarchar20主鍵2類(lèi)型號(hào)TypeIDtinyint3名稱(chēng)GoodsNamenvarchar504計(jì)量單位GoodsUnitnvarchar55規(guī)格GoodsNormnvarchar206售價(jià)GoodsSellPricesmallmoney7庫(kù)存量GoodsNumint408報(bào)警值A(chǔ)larmNumint409備注GoodsRemarknvarchar100描
32、述信息入庫(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ō)明和類(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à)GoodsPricesmallmoney6數(shù)量GoodsNumint417備注Remarknvarchar
33、100商品銷(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à)SellPricesmallmoney5數(shù)量GoodsNumint46備注Remarknvarchar100退貨原因供應(yīng)商供貨價(jià)格表中記載的是供應(yīng)商所可商品的信息,含商品編號(hào)、供貨商編號(hào)、最新進(jìn)價(jià)。各字段的詳細(xì)信息見(jiàn)下表3-6。表3-6 供應(yīng)商供貨價(jià)格表(StockPr
34、ice)序號(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主鍵自增2名稱(chēng)CompanyNamenvarchar503聯(lián)系人CompanyDirectornvarchar104電話(huà)CompanyPhonenvarch
35、ar205傳真CompanyFaxnvarchar206地址CompanyAddnvarchar507合作時(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。視圖是以一致和直觀的方式提供給用戶(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ù)
36、表直接提供給最終用戶(hù)。該數(shù)據(jù)庫(kù)中涉及到的視圖有兩個(gè):視圖QuerySell,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECT dbo.SellInfo.SellID, dbo.SellInfo.GoodsID, dbo.GoodsInfo.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
37、.GoodsID = dbo.SellInfo.GoodsID INNER JOIN dbo.Users ON dbo.SellInfo.Operator = dbo.Users.UserID INNER JOIN dbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID視圖QueryStock,對(duì)應(yīng)的Transact-SQL語(yǔ)句:SELECTdbo.StockInfo.StockID, dbo.StockInfo.GoodsID, dbo.GoodsInfo.GoodsName, dbo.GoodsType.TypeName,
38、dbo.Company.CompanyName, dbo.Users.UserName, dbo.StockInfo.GoodsPrice, dbo.StockInfo.GoodsNum, dbo.StockInfo.RemarkFROM 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
39、dbo.StockInfo.CompanyID = dbo.Company.CompanyID INNER JOINdbo.GoodsType ON dbo.GoodsInfo.TypeID = dbo.GoodsType.TypeID第五章 系統(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é)果。5.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)行
40、修改,維護(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)/將字符串轉(zhuǎn)化為字節(jié)序列Byte clearBytes = new UnicodeEncoding().GetBytes(
41、oldData); /計(jì)算字節(jié)序列對(duì)應(yīng)的Hash值Byte hashedBytes = (HashAlgorithm)CryptoConfig.CreateFromName(MD5).ComputeHash(clearBytes);/返回經(jīng)MD5加密后的字符串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)密碼正
42、確才可進(jìn)入到系統(tǒng)主界面,否則系統(tǒng)會(huì)提示錯(cuò)誤。登錄界面如圖4-1所示。圖5-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)限。圖5-2 系統(tǒng)主界面圖5.2 商品信息模塊商品基本信息管理模塊,用戶(hù)可以對(duì)商品信息加以管理,界面可交互性強(qiáng),運(yùn)行時(shí)的界面圖如下圖4-3。其中紅色顯示為低于庫(kù)存值,需要進(jìn)貨的商品。圖5-3 商品基本信息管理界面圖5.3 商品入庫(kù)模塊具有庫(kù)存管理權(quán)限的用戶(hù)進(jìn)行商品入庫(kù)操作時(shí),需要輸入商品編號(hào),至于供
43、應(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)為新商品則提示先新增商品,進(jìn)貨記錄成功添加出現(xiàn)對(duì)話(huà)框提醒。進(jìn)貨運(yùn)行界面如下圖4-4所示。圖5-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。圖5-5 入庫(kù)查詢(xún)界面圖5.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)的商品
44、不滿(mǎn)意時(shí),在未使用商品的情況下,可以對(duì)商品進(jìn)行退貨。這時(shí)只需將商品數(shù)量的修改置為負(fù)數(shù)即可。另外可以在備注框中輸入退貨原因信息,方便了解退貨原因,反饋給商品廠家。商品銷(xiāo)售運(yùn)行界面圖如下圖4-6所示。圖5-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(obje
45、ct sender, KeyPressEventArgs 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ù)目也跟著改變 if (txtGetMoney.Text != ) if (txtG
46、etMoney.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 = ; 應(yīng)該所收的錢(qián)數(shù)及商品的數(shù)量也由系統(tǒng)自動(dòng)計(jì)算出,當(dāng)網(wǎng)格中待售商品的信息有所改變時(shí)就自動(dòng)計(jì)算。相應(yīng)的系統(tǒng)運(yùn)行界面如下圖4-7所示。實(shí)現(xiàn)代碼如下:privat
47、e 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.Ce
48、lls4.Value); intGoodsNum = Math.Abs(intGoodsNum); lblCount.Text = intGoodsNum.ToString(); lblNeedM.Text = fltMoney.ToString(); 圖5-7 商品銷(xiāo)售結(jié)算結(jié)果圖手動(dòng)輸入商品編號(hào)時(shí),當(dāng)已輸入前七位后系統(tǒng)將自動(dòng)檢索前部相同的商品編號(hào)信息。實(shí)現(xiàn)代碼如下: for (int i = 0; i myTable.Rows.Count; i+) myString.Add(myTable.Rowsi0.ToString(); txtID.AutoCompleteCustomSource =
49、 myString; txtID.AutoCompleteSource = AutoCompleteSource.CustomSource; txtID.AutoCompleteMode = AutoCompleteMode.Suggest; 商品銷(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)提高速度。5.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所示:圖5-8 營(yíng)業(yè)統(tǒng)計(jì)運(yùn)行結(jié)果5.6 供應(yīng)商模塊對(duì)供
50、應(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)該供應(yīng)商所提供的商品信息。相應(yīng)的運(yùn)行界面圖如下圖4-9所示。圖5-9 供應(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)代碼如下:5.7用戶(hù)信息模塊具有系統(tǒng)管理員的用戶(hù)可打開(kāi)用戶(hù)信息模塊對(duì)應(yīng)的窗體,完成對(duì)用戶(hù)信息的管理,運(yùn)行界面如下圖4-10。圖5-10 用戶(hù)信息界面運(yùn)行圖第六章 系統(tǒng)測(cè)試系統(tǒng)開(kāi)發(fā)完成后,在軟件開(kāi)發(fā)階段的最后一步就是對(duì)系統(tǒng)進(jìn)行測(cè)試。測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤。在對(duì)本系統(tǒng)進(jìn)行測(cè)試時(shí),本文作者對(duì)本系統(tǒng)做了以下的測(cè)試計(jì)劃。6.1 測(cè)試計(jì)劃根據(jù)軟件工程的知識(shí),對(duì)本系進(jìn)行了單元測(cè)試,集成測(cè)試。測(cè)試內(nèi)容(1)單元測(cè)試:根據(jù)系統(tǒng)模塊要求分類(lèi),其對(duì)應(yīng)的測(cè)試單元包括:登陸測(cè)試商品入庫(kù)測(cè)試商品信
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋁塑板裝修店面施工方案
- 深州藍(lán)色鐵皮圍擋施工方案
- 窨井改造方案
- 資陽(yáng)異氰酸酯固化劑項(xiàng)目可行性研究報(bào)告
- 2025年變頻電纜項(xiàng)目可行性研究報(bào)告
- 日用化工品塑料行業(yè)深度研究報(bào)告
- 2025年中國(guó)土霉素膠囊市場(chǎng)供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025年中國(guó)復(fù)合材料包裝行業(yè)市場(chǎng)調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 中國(guó)互聯(lián)網(wǎng)+服裝行業(yè)市場(chǎng)調(diào)查研究及投資前景展望報(bào)告
- 2025年攝影師與新媒體平臺(tái)內(nèi)容創(chuàng)作合同3篇
- 蔣詩(shī)萌小品《誰(shuí)殺死了周日》臺(tái)詞完整版
- TB 10010-2008 鐵路給水排水設(shè)計(jì)規(guī)范
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 建筑史智慧樹(shù)知到期末考試答案2024年
- 金蓉顆粒-臨床用藥解讀
- 社區(qū)健康服務(wù)與管理教案
- 2023-2024年家政服務(wù)員職業(yè)技能培訓(xùn)考試題庫(kù)(含答案)
- 2023年(中級(jí))電工職業(yè)技能鑒定考試題庫(kù)(必刷500題)
- 藏歷新年文化活動(dòng)的工作方案
- 果酒釀造完整
- 第4章-理想氣體的熱力過(guò)程
評(píng)論
0/150
提交評(píng)論