超市收銀系統(tǒng)設(shè)計說明書_第1頁
超市收銀系統(tǒng)設(shè)計說明書_第2頁
超市收銀系統(tǒng)設(shè)計說明書_第3頁
超市收銀系統(tǒng)設(shè)計說明書_第4頁
超市收銀系統(tǒng)設(shè)計說明書_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄1 可行性分析11.1問題描述11.2可行性研究的主要內(nèi)容11.2.1技術(shù)可行性11.2.2經(jīng)濟可行性11.2.3操作可行性21.3結(jié)論意見22項目開發(fā)計劃32.1編寫目的32.2項目背景32.3項目概述32.4項目開發(fā)計劃42.5交付期限43需求分析53.1任務(wù)需求分析53.2系統(tǒng)流程圖63.3系統(tǒng)構(gòu)架圖63.4數(shù)據(jù)流圖、數(shù)據(jù)字典及實體聯(lián)系圖73.4.1數(shù)據(jù)流圖83.4.2數(shù)據(jù)字典83.4.3實體聯(lián)系E-R圖94系統(tǒng)概要設(shè)計124.1總體設(shè)計134.2系統(tǒng)功能模塊圖134.3數(shù)據(jù)庫概念設(shè)計134.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計145詳細設(shè)計175.1系統(tǒng)的主要功能185.2人機界面設(shè)計185.2

2、.1一般交互設(shè)計185.2.2信息顯示設(shè)計195.2.3數(shù)據(jù)輸入設(shè)計195.3程序設(shè)計過程205.3.1登陸界面205.3.2后臺管理操作246軟件測試296.1系統(tǒng)測試306.1.1單元測試316.1.2集成測試316.2測試步驟316.3測試數(shù)據(jù)的常用技術(shù)326.3.1白盒測試技術(shù)326.3.2黑盒測試技術(shù)337設(shè)計總結(jié)337.1心得與體會347.2存在的問題及建議34參考文獻35摘 要隨著經(jīng)濟的發(fā)展,人們的生活越來越好。日常用品的種類越來越多,超市的規(guī)模也越來越大,超市收銀員的工作量也越來越大。為了適應(yīng)超市規(guī)模的不斷變化,減輕收銀員的工作負擔,根據(jù)超市的實際需要設(shè)計了一個具有開放體系結(jié)構(gòu)

3、的、易擴充的、易維護的、具有良好人機交互界面的超市收銀系統(tǒng),為超市的決策者和管理者提供超市的各種數(shù)據(jù)信息、方便的查詢和高效便捷的管理。該超市收銀系統(tǒng)包括前臺操作和后臺數(shù)據(jù)庫,后臺數(shù)據(jù)庫包括入庫記錄、銷售記錄、商品信息、用戶信息和會員信息,前臺操作是收銀、查詢和修改商品信息。該系統(tǒng)采用C#實現(xiàn),系統(tǒng)開發(fā)工具是VS2013。關(guān)鍵詞:C#;VS2013;數(shù)據(jù)庫;超市收銀1 可行性分析1.1問題描述本次課程設(shè)計實訓要求在計算機網(wǎng)絡(luò),數(shù)據(jù)庫和先進的開發(fā)平臺上,利用現(xiàn)有的軟件,配置一定的硬件,分析和設(shè)計一個具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機交互界面的超市收銀系統(tǒng),為超市的決策者和管理者提

4、供充足的信息、快捷的查詢和有效的管理方式,減少不必要的損失和浪費,提高超市管理的效率。1.2可行性研究的主要內(nèi)容可行性研究的目的,就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決??尚行匝芯繉嵸|(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計過程,也就是在較高層系上以較抽象的方式進行的系統(tǒng)分析和設(shè)計過程。在進行可行性研究時首先要進一步分析和澄清問題定義。在問題定義階段初步確定系統(tǒng)的規(guī)模和目標,如果正確就進一步加以肯定,如果有錯誤就應(yīng)該及時改正,如果對目標約束和限制,必須把他們一一列出來。從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的主要解法(即系統(tǒng)實現(xiàn)方案)。對于每種解法都應(yīng)該仔細研究它的可行性,

5、一般來說,至少應(yīng)該從下述三個方面研究每種解法的可行性。1.2.1技術(shù)可行性技術(shù)可行性主要分析研究在現(xiàn)有技術(shù)條件的基礎(chǔ)上是否能夠?qū)崿F(xiàn)該系統(tǒng)。目前電腦在中國已經(jīng)得到普及,使用電腦的人數(shù)在快速增長。從事軟件設(shè)計的人員的技術(shù)能力有了很大提高,可以實現(xiàn)該系統(tǒng)。1.2.2經(jīng)濟可行性經(jīng)濟可行性主要研究該系統(tǒng)的經(jīng)濟效益能否超過它的開發(fā)成本。目前在中國,到超市進行購物的人流量是非常龐大的,由于超市提供的商品種類繁多,且大多是人們的日常必需品,所以人們對超市的依賴性非常強。在這樣的背景下,為超市設(shè)計這樣的一個系統(tǒng),其經(jīng)濟效益是十分可觀的。又由于通過網(wǎng)絡(luò)傳遞銷售信息可以不受距離的限制,因此可以節(jié)省大量的人力和物力,

6、方便管理,由此可以減少不必要的開支,同時該系統(tǒng)可以提高超市的銷售效率,即提高了超市的經(jīng)濟效益,所以從經(jīng)濟上完全是可行的。1.2.3操作可行性操作可行性主要研究系統(tǒng)的操作方式在該用戶組織內(nèi)是否可行。在當前的社會條件下,Internet網(wǎng)已經(jīng)在中國全面覆蓋,在中國各地,均可以通過硬件設(shè)備聯(lián)網(wǎng)。而且各商業(yè)組織也擁有屬于自己的內(nèi)部局域網(wǎng),所以該系統(tǒng)可以實現(xiàn)聯(lián)網(wǎng)。該系統(tǒng)在聯(lián)網(wǎng)情況下,可以通過PC機訪問系統(tǒng)的數(shù)據(jù)。所以該系統(tǒng)的操作方式符合該用戶組織。1.3結(jié)論意見經(jīng)過認真地研究,該系統(tǒng)完成了在技術(shù)可行性、經(jīng)濟可行性、操作可行性方面的可行性研究,該系統(tǒng)可以開發(fā)實現(xiàn)。因此,相信全系統(tǒng)的設(shè)計將會按時、高質(zhì)量完成

7、。所以,系統(tǒng)的設(shè)計開發(fā)是可以馬上進行的。2項目開發(fā)計劃2.1編寫目的經(jīng)過項目的可行性分析,得出項目可進一步進行下去的結(jié)論,在軟件繼續(xù)進一步的開發(fā)之前首先給出此軟件項目計劃。 2.2項目背景項目分析單位在接到項目分析員給出的項目可行性分析報告后,在本系統(tǒng),即超市收銀系統(tǒng)開發(fā)主管部門的統(tǒng)一規(guī)劃下制定用于軟件實質(zhì)開發(fā)的軟件項目計劃,以使軟件開發(fā)單位理解軟件開發(fā)要求,進行開發(fā)。 2.3項目概述超市收銀系統(tǒng)主要功能包括:后臺管理和前臺操作,其中:后臺管理主要包括:進貨管理、銷售管理、庫存管理、相關(guān)業(yè)務(wù)的查詢和系統(tǒng)維護等;進貨管理:在數(shù)據(jù)庫中存儲有各種商品的供應(yīng)商信息,當需要進貨時,可以與供應(yīng)商聯(lián)系,同時

8、數(shù)據(jù)庫中會存儲各種商品的每一次進貨信息,并保持數(shù)據(jù)的時效性和完整性。銷售管理主要包括:隨時錄入賣出商品信息,如名稱,數(shù)量,單價等,及時更新數(shù)據(jù)庫數(shù)據(jù)。 貨架上商品賣到一定數(shù)量時,實時生成提貨報告,并提供商品的庫存信息,剩余信息。庫存管理主要包括:生成庫存報告、生成缺貨報告、錄入更新數(shù)據(jù)。在需要時(可每隔一個時間段查詢一次) 生成商品庫存情況報告,實時報告商品庫存情況,如庫存量不足(小于某一自定的數(shù)量) 時,可生成缺貨報告,并提供商品種類,來源等商品屬性信息,方便采購人員進行商品采購。采購員采購商品后,及時錄入商品信息等數(shù)據(jù),在數(shù)據(jù)庫中進行數(shù)據(jù)更新。前臺操作主要包括:前臺收銀員權(quán)限嚴格控制,支持

9、斷網(wǎng)銷售、連網(wǎng)銷售兩種模式,預留對條碼掃描、票據(jù)打印機、顧顯、錢箱、磁卡刷卡機、IC卡讀寫器、條碼打印機、盤點機等POS外設(shè)的支持,可直接修改銷售數(shù)量、單價、折扣等(權(quán)限控制),支持贈送(權(quán)限控制),會員卡、儲值卡消費,收款抹零(權(quán)限控制),掛單/取單,前臺查詢商品、庫存,刪單、刪行、查單(權(quán)限控制),特殊操作記錄(防止前臺作弊),支持電子稱散裝商品銷售,前臺支持業(yè)務(wù)員錄入計提,商品促銷銷售(按時間段),會員價、儲值卡價銷售,支持無庫存商品銷售,銷售小票格式自定義(標題、腳注、明細格式等)。2.4項目開發(fā)計劃1任務(wù)分解分三個大的階段進行開發(fā)第一階段完成本系統(tǒng)的數(shù)據(jù)流圖跟E-R圖。第二階段完成概

10、要設(shè)計跟詳細設(shè)計。第三階段書寫文檔。2關(guān)鍵問題各模塊之間的聯(lián)系和后臺數(shù)據(jù)庫的完成。使用目前的設(shè)備與現(xiàn)有開發(fā)技術(shù)完全可以開發(fā)出該系統(tǒng),總的來說該項目沒有較大的技術(shù)難點與其他的一些風險因素。對于出現(xiàn)的一些小難點總都能得到解決。2.5交付期限本系統(tǒng)的開發(fā)時限為兩個星期,該系統(tǒng)的交付期限為2015年7月3日。3需求分析3.1任務(wù)需求分析前臺操作包括:商品錄入:根據(jù)超巿業(yè)務(wù)特點制定相關(guān)功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現(xiàn)精確的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準確快速地進行商品掃描錄入。收銀業(yè)務(wù):通過掃描條形碼或者直接輸入商品名稱(對于同類多件商品

11、采用一次錄入加數(shù)量的方式)自動計算本次交易的總金額。在顧客付款后,自動計算找零,同時打印交易清單(包括交易的流水賬號、每類商品的商品名、數(shù)量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員并持有本人會員卡,則在交易前先掃描會員卡,并對所購物品全部實行95折優(yōu)惠,并將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續(xù)卡者,該會員卡將被注銷。后臺管理操作:進貨管理: 根據(jù)銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢打印計劃進貨與入庫記錄及金額。銷售管理

12、: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結(jié)賬情況等。 按多種方式統(tǒng)計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表。庫存管理: 綜合查詢庫存明細記錄。 庫存狀態(tài)自動告警提示。如庫存過剩、少貨、缺貨等。軟件為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。人員管理:員工、會員、供貨商、廠商等基本信息登記管理。員工操作權(quán)限權(quán)利、客戶銷售權(quán)限管理。3.2系統(tǒng)流程圖商品庫存程序收銀員收銀商品銷售程序進貨報告生成程序商品庫存信息文件進貨報告輸入購物信息顯示銷售信息顯示訂貨信息圖3.1系統(tǒng)流程圖3.3系統(tǒng)構(gòu)架圖收銀POS機查詢數(shù)據(jù)

13、/員工管理PC機打印機稱裝電子秤管理商品信息 PC機SQl Server服務(wù)器進貨PC機超市前臺管理者SQl Server服務(wù)器進貨PC機圖3.2系統(tǒng)構(gòu)架圖超市工作人員前臺收銀員管理部門進貨部門數(shù)據(jù)庫服務(wù)器進貨PC機3.4數(shù)據(jù)流圖、數(shù)據(jù)字典及實體聯(lián)系圖3.4.1數(shù)據(jù)流圖產(chǎn)生銷售記錄產(chǎn)生進貨單倉庫管理員收銀員更新庫存信息進貨員前臺經(jīng)理更新商品信息D1 商品信息表D3 銷售記錄銷售信息銷售信息銷售信息事務(wù)庫存信息進貨信息D2 進貨信息進貨單圖3.3數(shù)據(jù)流圖商品信息商品信息事務(wù)D4 商品信息表3.4.2數(shù)據(jù)字典 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典的

14、作用是在軟件分析和設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。名稱:銷售清單別名:銷售報表描述:對超市商品銷售情況的描述定義:貨物編號+名稱+銷售日期+數(shù)量+售價位置:輸出到打印機 保存到磁盤名稱:商品信息別名:商品單描述:超市銷售商品的信息定義:商品編號+類型編號+商品名稱+庫存量+售價+報警值+商品規(guī)格+計量單位位置:輸出到打印機 保存到磁盤名稱:用戶信息別名:描述:該系統(tǒng)的使用者的信息定義:用戶編號+姓名+密碼+權(quán)限位置:輸出到打印機 保存到磁盤名稱:入庫記錄別名:進貨報表描述:每次進貨的貨物描述定義:入庫編號+貨物編號+供應(yīng)商編號+操作員+進價+數(shù)量位置:輸出到打印機 保存到磁盤名稱:會員

15、信息信息表別名:商品編號描述:該超市所屬會員的信息定義:會員編號+會員名+會員積分+會員等級+會員電話+會員起始日期位置:輸出到打印機 保存到磁盤名稱:供應(yīng)商信息別名:供應(yīng)商描述:和超市合作的供應(yīng)商的信息定義:供應(yīng)商編號+名稱+聯(lián)系人+地址+聯(lián)系電話+傳真+合作起始時間位置:輸出到打印機 保存到磁盤3.4.3實體聯(lián)系E-R圖入庫記錄銷售記錄供應(yīng)商商品編號商品名稱庫存量計量單位報警值商品規(guī)格類別編號名稱電話聯(lián)系人供應(yīng)地址商品名稱數(shù)量售價總金額進價商品名稱商品數(shù)量供應(yīng)商編號進貨銷售供應(yīng)商編號合作時間傳真入庫編號商品編號售價11111圖3.4部分實體聯(lián)系(E-R)圖nn商品用戶用戶用戶編號密碼用戶名

16、權(quán)限會員用戶會員編號會員名會員積分會員等級 電話會員起始日期圖3.6會員實體ER圖圖3.5用戶實體ER圖4系統(tǒng)概要設(shè)計4.1總體設(shè)計經(jīng)過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時候了??傮w設(shè)計的基本目標就是回答“概括地說,系統(tǒng)應(yīng)該如何實現(xiàn)”的問題。所以總體設(shè)計又稱為概要設(shè)計。通過這個階段的工作將劃分出組成系統(tǒng)的物理元素程序、文件、數(shù)據(jù)庫、人工過程和文檔等??傮w設(shè)計的另一項任務(wù)是設(shè)計軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中的每個程序是由那些模塊組成的,以及這些模塊相互間的關(guān)系。4.2系統(tǒng)功能模塊圖超市收銀系統(tǒng)查詢修改商品信息收銀進貨管理銷售管理庫存管理前臺操作后臺數(shù)據(jù)庫營業(yè)

17、統(tǒng)計會員信息管理 圖4.1系統(tǒng)功能模塊圖 4.3數(shù)據(jù)庫概念設(shè)計 數(shù)據(jù)庫一般分為三級模式:外模式、模式和內(nèi)模式。外模式也就是不同用戶所對的數(shù)據(jù)視圖,它將數(shù)據(jù)庫內(nèi)部抽象的數(shù)據(jù)及其互相之間的關(guān)系表示為簡單、直觀的應(yīng)用界面。模式是數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,通常以某種數(shù)據(jù)模型為基礎(chǔ)。內(nèi)模式是對數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式的描述。在該系統(tǒng)中具體的模式有:商品(商品編號,類型編號,商品名稱,規(guī)格,計量單位,售價,庫存量,報警值)用戶(用戶編號,用戶名,密碼,權(quán)限)入庫記錄(入庫編號,商品編號,供應(yīng)商編號,聯(lián)系人,進價,數(shù)量)銷售記錄(商品編號,售價,銷售數(shù)量,總金額)供應(yīng)商(供應(yīng)商編號,供應(yīng)商名稱,

18、聯(lián)系人,供應(yīng)商電話,傳真,地址,合作時間)會員(會員編號,會員名,會員積分,會員等級,電話,會員起始日期)4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在數(shù)據(jù)庫設(shè)計中相當重要的一步就是將概念模型轉(zhuǎn)化為計算機上DBMS所支持的數(shù)據(jù)模型,例如,將E-R圖轉(zhuǎn)化為關(guān)系模型,我們設(shè)計概念模型基本上都是一些抽象的關(guān)系,再在數(shù)據(jù)庫設(shè)計的實現(xiàn)過程中,在計算機上有效地表示出這些關(guān)系就成了數(shù)據(jù)庫設(shè)計的關(guān)鍵。根據(jù)超市收銀系統(tǒng)的功能要求,選取MySQL作為后臺數(shù)據(jù)庫。在上面的實體和實體之間的E-R圖設(shè)計基礎(chǔ)上,形成數(shù)據(jù)庫中的表格及表格之間的關(guān)系。該數(shù)據(jù)庫包括系統(tǒng)登錄用戶的基本信息保存在用戶信息表里,其中對于用戶編號,通過自增方式實現(xiàn),無需

19、用戶手動編號,編號從1000起始。具體內(nèi)容如下表所示:用戶信息表包括:用戶編號、用戶名、密碼和用戶權(quán)限,具體如下: 表4.1用戶信息表屬性名 字段名類型長度Null備注編號UserIDInt20否主鍵姓名UserNamevarchar50否密碼UserPasswordvarchar50否權(quán)限UserRightvarchar50否 會員信息表包括了在該超市申請會員的消費者的信息,會員信息表包括:會員編號、會員名、積分、權(quán)限、聯(lián)系電話和會員起始日期,具體內(nèi)容如下: 表4.2會員信息表屬性名字段名類型長度Null備注會員編號VipIdInt20否主鍵會員姓名VipNamevarchar50否積分Vi

20、pScorevarchar50否等級VipRankvarchar50否電話VipNumbervarchar50否成為會員時間VipDatavarchar50否銷售信息表包括:商品編號、售價、數(shù)量、總金額以及備注,具體內(nèi)容如下:屬性名字段名類型長度Null備注商品編號GoodsIdInt20否主鍵單價SellPricevarchar50否數(shù)量GoodsNumvarchar50否總價zongsellvarchar50否備注Remarkvarchar50否銷售時間DataTimevarchar50否 表4.3銷售信息表商品信息表包括:商品編號、商品名稱、商品類型、計量單位、規(guī)格、售價、庫存 量、報警

21、值和備注,具體內(nèi)容如下表: 表4.4商品信息表 屬性名字段名類型長度Null備注商品編號GoodsIdInt20否主鍵類型號TypeIdvarchar50否商品名稱GoodsNamevarchar50否計量單位GoodsUnitvarchar50是規(guī)格GoodsNormvarchar50否售價GoodsSellpricevarchar50否庫存量GoodsNumvarchar50否報警值A(chǔ)larmNumvarchar50否備注GoodsRemardkvarchar50是入庫記錄表包括:入庫編號、商品編號、供應(yīng)商編號、聯(lián)系人、進價、數(shù)量以及備注,具體內(nèi)容如下: 表4.5入庫記錄表屬性名字段名類型

22、長度Null備注入庫編號StockIdInt20否主鍵商品編號GoodsIdvarchar50否外鍵供應(yīng)商編號CompanyIdvarchar50否操作員Operatorvarchar50否進價GoodsPricevarchar50否入庫時間DataTimevarchar50否數(shù)量GoodsNumvarchar50否備注Remarkvarchar50是 供應(yīng)商信息表包括:供應(yīng)商編號、供應(yīng)商名稱、聯(lián)系人、電話、傳真、地址、合作起始時間,具體內(nèi)容如下表:表4.6供應(yīng)商信息表屬性名字段名類型長度Null備注供應(yīng)商編號CompanyIdInt20否主鍵供應(yīng)商名稱CompanyNamevarchar50

23、否聯(lián)系人CompanyDirectorvarchar50否電話CompanyPhonevarchar50否傳真CompanyFaxvarchar50否地址CompanyAddvarchar50否合作時間HzDataTimevarchar50否5詳細設(shè)計詳細設(shè)計階段的根本目標是確定應(yīng)該如何具體地實現(xiàn)所要求的系統(tǒng),包括用戶界面設(shè)計、程序過程設(shè)計等步驟。也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成某種設(shè)計語言書寫的程序。詳細設(shè)計階段的任務(wù)不是具體的編寫程序,而是要設(shè)計出程序的“藍圖”,以后程序員將根據(jù)這個“藍圖”寫出實際的程序代碼。5.1系統(tǒng)

24、的主要功能該系統(tǒng)采用C/S結(jié)構(gòu),超市收銀系統(tǒng)的主要功能包括:后臺管理和前臺操作。前臺的主要功能是:(1)記錄超市前臺收銀員的收銀信息;(2)查詢、修改商品信息;后臺的主要功能是:(1)記錄商品的入庫記錄;(2)管理商品的庫存、價格等具體信息(3)記錄商品的銷售記錄;(4)管理超市會員的會員信息;(5)管理登陸用戶的信息。5.2人機界面設(shè)計5.2.1一般交互設(shè)計一般交互設(shè)計涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制。(1) 保持一致性。為客戶交互界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用一致的格式。(2) 提供信息的反饋。向用戶及時提供視覺和聽覺的信息反饋,以保證在用戶和系統(tǒng)之間及時

25、地建立雙向通信。在本系統(tǒng)設(shè)計過程中,基本做到了信息的及時反饋,當用戶操作完一步后系統(tǒng)會對數(shù)據(jù)庫中的數(shù)據(jù)進行及時地顯示。(3) 執(zhí)行有較大影響的操作前提示用戶確認。在設(shè)計過程中,如果用戶要執(zhí)行刪除操作,以及對數(shù)據(jù)庫的讀寫操作時,都會有窗體彈出詢問繼續(xù)操作或者予以提示。(4) 減少兩次操作間需要記憶的內(nèi)容。為了避免用戶為下一步操作而記憶大量數(shù)據(jù),所以在設(shè)計過程中在需要數(shù)據(jù)傳遞的窗體中設(shè)置全局變量,來傳遞數(shù)據(jù)。(5) 提高對話、移動和思考的效率。盡量減少用戶擊鍵的次數(shù),在設(shè)計時考慮用戶屏幕的布局以減少用戶鼠標移動的距離,盡量避免用戶在操作中發(fā)生疑問的情況。(6) 允許犯錯誤。允許用戶的誤操作盡量不對

26、系統(tǒng)造成傷害。(7) 按功能對動作分類,并據(jù)此設(shè)計屏幕布局。屏幕布局盡量將軟件所具有的所有功能在主頁面展示,界面一目了然。5.2.2信息顯示設(shè)計系統(tǒng)在顯示用戶所需要的信息時應(yīng)該盡量完整、清晰和易于理解。這樣才能滿足用戶的需求。使用不同的方式顯示信息:用文字、圖形、聲音,按位置、移動和大小,使用顏色和省略等方式傳達信息。(1) 只顯示與當前工作有關(guān)的信息。在用戶操作有關(guān)系統(tǒng)的特定功能的信息時,不必看到與之無關(guān)的數(shù)據(jù)、菜單和圖形。(2) 使用便于用戶迅速吸收數(shù)據(jù)的方式來表示數(shù)據(jù)。(3) 使用一致的標記、標準的縮寫和可預知的顏色。顯示的含義應(yīng)該非常準確,用戶無須參照其他信息源就能理解。(4) 產(chǎn)生有

27、意義的錯誤信息。對于系統(tǒng)在運行過程中產(chǎn)生的錯誤盡量給用戶返回一個容易理解的錯誤信息,以使用戶保持對系統(tǒng)的信任,和系統(tǒng)的可用性。(5) 使用窗口分隔不同類型的信息。使用不同的窗口顯示、保存不同類型的信息。(6) 高效率的使用顯示屏。當使用多窗口時,應(yīng)該有足夠的空間使得每個窗口至少都能顯示出一部分。5.2.3數(shù)據(jù)輸入設(shè)計用戶的大部分時間用在選擇菜單命令、鍵入數(shù)據(jù)和向系統(tǒng)提供輸入。在系統(tǒng)中,鍵盤是主要的輸入介質(zhì),但是鼠標等設(shè)備的也是重要的輸入手段,所以,對于他們的數(shù)據(jù)輸入操作有如下約定:(1) 盡量減少用戶的輸入動作。為了方便用戶的使用,鼠標應(yīng)當盡量減少操作的幅度。(2) 保持顯示信息和輸入信息之間

28、的一致性。對于用戶來說,要保證其輸入的數(shù)據(jù)在顯示上與其他顯示的視覺特征(例如:文字大小、顏色、位置等)要一致。(3) 允許用戶自定義輸入。用戶可能希望定義自己專用的命令或略去某些類型的警告信息和動作確認,人機界面應(yīng)該為用戶提供這樣做的機制。(4) 交互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式。用戶類型與喜歡的輸入方式有關(guān),不同的用戶喜歡不同的輸入方式。(5) 使用當前動作語境中不適用的命令不起作用。這可使得用戶不去做那些肯定會導致錯誤的動作。(6) 讓用戶控制交互流。用戶應(yīng)該能跳過不必要的動作,改變所需做的動作的順序,以及在不退出程序的情況下從錯誤狀態(tài)中恢復正常。(7) 消除冗余的輸入。

29、除非可能發(fā)生誤解,否則不要要求用戶指定輸入數(shù)據(jù)的單位;盡可能提供默認值,絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。對于不同類型的用戶在登錄到系統(tǒng)后,由于有不同的權(quán)限,所以在主界面中會有一些項目受到限制而無法使用,所以要使這些項目不發(fā)生作用,以保證系統(tǒng)安全。5.3程序設(shè)計過程程序過程設(shè)計主要是在借助過程設(shè)計工具的情況下,對程序的具體實現(xiàn)過程進行設(shè)計。程序的主要部分設(shè)計在這個環(huán)節(jié)完成。在這個任務(wù)說明書中我們采用盒圖的形式來表達程序的具體的設(shè)計過程,我們的系統(tǒng)設(shè)計為C/S結(jié)構(gòu),所以是客戶端登陸系統(tǒng)的形式,盒圖沒有箭頭,所以不允許隨意轉(zhuǎn)移控制,堅持使用盒圖可以使程序員養(yǎng)成用用結(jié)構(gòu)化的方式來

30、思考問題。5.3.1登陸界面在用戶登錄時,在輸入用戶名和密碼及用戶類型的前提下將其與數(shù)據(jù)庫中的數(shù)據(jù)進行比對,若一致,則打開主窗體;若不一致提示錯誤,并要求重新輸入。注冊后保存用戶信息,登陸界面的的程序盒圖如圖5.1所示:/登陸界面的程序代碼 private void button1_Click(object sender, EventArgs e) string MyConnectionString = "Server=localhost; Database=chaoshi; Uid=root; Pwd=123456; Persist Security Info=True;Chars

31、et=utf8;" string username = tbxUsr.Text.Trim(); string passwd = tbxPwr.Text.Trim(); string rol = comboBox1.Text.Trim(); string loginsql = "SELECT * FROM user Where UserID='" + username + "'and UserPassword='" + passwd + "' and UserRight='" + rol

32、 + "'" MySqlConnection connection = new MySqlConnection(MyConnectionString); connection.Open(); MySqlCommand mycmd = new MySqlCommand(loginsql, connection); MySqlDataReader myread = mycmd.ExecuteReader(); try if (myread.HasRows) if (myread.Read() /MessageBox.Show("登錄成功"); if

33、(myread"UserID".ToString() = tbxUsr.Text && myread"UserPassword".ToString() = tbxPwr.Text && myread"UserRight".ToString() = "管理員") user = username; Form8 f3; f3 = new Form8(); f3.Show(); else if (myread"UserID".ToString() = tbxUsr.Tex

34、t && myread"UserPassword".ToString() = tbxPwr.Text && myread"UserRight".ToString() = "員工") user = username; Form2 f2; f2 = new Form2(); f2.Show(); else MessageBox.Show("Please enter the correct user name and password!"); catch (Exception ex) Me

35、ssageBox.Show(string.Format("出錯,出錯原因0"), ex.Message); finally connection.Close(); connection.Dispose(); mycmd.Dispose(); private void button2_Click(object sender, EventArgs e) this.Close(); private void textBox1_TextChanged(object sender, EventArgs e) private void Form1_Load(object sender,

36、 EventArgs e) 連接數(shù)據(jù)庫否是用戶名和密碼輸入提示輸入否是賬戶是否存在提示錯誤顯示提示框“登錄成功”圖5.1登陸界面程序盒圖5.3.2后臺管理操作對于系統(tǒng)的各項信息的管理屬于后臺管理,管理程序盒圖如圖5.2所示: private void button2_Click_1(object sender, EventArgs e) string spbh = textBox2.Text.Trim(); string lx = textBox3.Text.Trim(); string mc = textBox4.Text.Trim(); string jldw = textBox5.Tex

37、t.Trim(); string gg = textBox6.Text.Trim(); string sj = textBox7.Text.Trim(); string kcl = textBox9.Text.Trim(); string bjz = textBox10.Text.Trim(); string bz = textBox11.Text.Trim(); MySqlParameter sp = new MySqlParameter9; sp0 = new MySqlParameter("spbh", MySqlDbType.VarChar); sp0.Value

38、= spbh; sp1 = new MySqlParameter("lx", MySqlDbType.VarChar); sp1.Value = lx; sp2 = new MySqlParameter("mc", MySqlDbType.VarChar); sp2.Value = mc; sp3 = new MySqlParameter("jldw", MySqlDbType.VarChar); sp3.Value = jldw; sp4 = new MySqlParameter("gg", MySqlDbTyp

39、e.VarChar); sp4.Value = gg; sp5 = new MySqlParameter("sj", MySqlDbType.VarChar); sp5.Value = sj; sp6 = new MySqlParameter("kcl", MySqlDbType.VarChar); sp6.Value = kcl; sp7 = new MySqlParameter("bjz", MySqlDbType.VarChar); sp7.Value = bjz; sp8 = new MySqlParameter("

40、bz", MySqlDbType.VarChar); sp8.Value = bz; using (MySqlConnection connection = new MySqlConnection(MyConnectionString) try connection.Open(); string sql = "update goodsinfo set GoodsId=spbh,TypeId=lx,GoodsName=mc,GoodsUnit=jldw,GoodsNorm=gg,GoodsSellprice=sj,GoodsNum=kcl,AlarmNum=bjz,Goods

41、Remardk=bz where GoodsId=spbh" MySqlCommand cmd = new MySqlCommand(); cmd.Connection = connection; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; cmd.Parameters.AddRange(sp); cmd.ExecuteNonQuery(); MessageBox.Show("修改成功"); catch (Exception ex) MessageBox.Show(string.Format

42、("出錯,出錯原因0"), ex.Message); private void button4_Click(object sender, EventArgs e) string GoodsId = textBox2.Text.Trim(); string TypeId = textBox3.Text.Trim(); string GoodsName = textBox4.Text.Trim(); string GoodsUnit = textBox5.Text.Trim(); string GoodsNorm = textBox6.Text.Trim(); string G

43、oodsSellprice = textBox7.Text.Trim(); string GoodsNum = textBox9.Text.Trim(); string AlarmNum = textBox10.Text.Trim(); string GoodsRemardk = textBox11.Text.Trim(); MySqlParameter sp = new MySqlParameter9; sp0 = new MySqlParameter("ab", MySqlDbType.VarChar); sp0.Value = GoodsId; sp1 = new M

44、ySqlParameter("ac", MySqlDbType.VarChar); sp1.Value = TypeId; sp2 = new MySqlParameter("ad", MySqlDbType.VarChar); sp2.Value = GoodsName; sp3 = new MySqlParameter("ae", MySqlDbType.VarChar); sp3.Value = GoodsUnit; sp4 = new MySqlParameter("aa", MySqlDbType.Var

45、Char); sp4.Value = GoodsNorm; sp5 = new MySqlParameter("bb", MySqlDbType.VarChar); sp5.Value = GoodsSellprice; sp6 = new MySqlParameter("vv", MySqlDbType.VarChar); sp6.Value = GoodsNum; sp7 = new MySqlParameter("dd", MySqlDbType.VarChar); sp7.Value = AlarmNum; sp8 = new

46、 MySqlParameter("gg", MySqlDbType.VarChar); sp8.Value = GoodsRemardk; using (MySqlConnection connection = new MySqlConnection(MyConnectionString) try connection.Open(); string sql = "insert into goodsinfo(GoodsId,TypeId,GoodsName,GoodsUnit,GoodsNorm,GoodsSellprice,GoodsNum,AlarmNum,GoodsRemardk) values(ab,ac,ad,ae

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論