第一篇:小型超市管理系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)
小型超市管理系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)
系統(tǒng)概述
小型超市管理系統(tǒng)的設(shè)計(jì)對(duì)一個(gè)超市的運(yùn)轉(zhuǎn)是十分重要的。改革開(kāi)放以來(lái),我國(guó)逐步進(jìn)入市場(chǎng)經(jīng)濟(jì),外國(guó)企業(yè)的進(jìn)入,給我國(guó)的本土經(jīng)濟(jì)帶來(lái)巨大的沖擊。因此,為了使我們自身的企業(yè)更好地應(yīng)對(duì)外來(lái)競(jìng)爭(zhēng)的壓力,我們的企業(yè)迫切地需要管理制度的完善。
小型超市管理系統(tǒng)是現(xiàn)存信息系統(tǒng)中較為復(fù)雜的一類,這是由超市自身的目標(biāo)、任務(wù)和性質(zhì)所決定的。它應(yīng)用于用戶權(quán)限管理、進(jìn)貨管理、銷售管理、顧客管理和用戶注冊(cè)管理等幾個(gè)方面,牽涉的信息種類較多。這也同時(shí)是一款信息查詢系統(tǒng),體現(xiàn)出超市當(dāng)前的庫(kù)存商品數(shù)量、價(jià)格以及銷售情況。方便了顧客購(gòu)買商品,而且對(duì)超市的管理、銷售、進(jìn)貨以及經(jīng)理決策起著至關(guān)重要的作用。依靠現(xiàn)代化信息處理技術(shù)來(lái)管理超市,大大節(jié)省了人力、物力,改善了員工的工作條件,方便了廣大消費(fèi)者,提高了企業(yè)的效率,增加其收益。
超市管理的信息化建設(shè)工作具有長(zhǎng)期性、復(fù)雜性和多變性,所以超市管理系統(tǒng)也不是一個(gè)簡(jiǎn)單的、封閉的、靜止的系統(tǒng),它是會(huì)隨時(shí)間推移在應(yīng)用廣度和深度上逐步變化和發(fā)展的系統(tǒng)。需求分析
需求分析分為三個(gè)部分:需求的文字表述、數(shù)據(jù)流圖、數(shù)據(jù)字典。
一、需求分析:
小型超市管理系統(tǒng)的設(shè)計(jì)的服務(wù)對(duì)象是廣大顧客及超市的管理人員。它涉及的面廣、數(shù)據(jù)量大,如果對(duì)整個(gè)系統(tǒng)不能很好的
設(shè)計(jì),將會(huì)給超市的效益帶來(lái)巨大壓力,如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷售額、降低經(jīng)營(yíng)成本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市努力追求的目標(biāo)。下面是我們隊(duì)該系統(tǒng)所做的詳細(xì)分析:
1、用戶工作流程
與超市運(yùn)轉(zhuǎn)相關(guān)的群體主要有顧客、銷售員和超市工作人員。圍繞著三大群體,我們?cè)O(shè)計(jì)了以下流程。進(jìn)貨或銷售商品時(shí),用戶要對(duì)訂單或銷售單進(jìn)行核對(duì)審查,這時(shí)不同的用戶需要填寫(xiě)與各自身份相對(duì)應(yīng)的信息,經(jīng)系統(tǒng)默認(rèn),進(jìn)入到相應(yīng)的界面,通過(guò)指導(dǎo)查詢所需信息,如進(jìn)貨信息、銷售信息和商品信息等。
2、用戶業(yè)務(wù)需求
(1)、該軟件將為不同的用戶提供不同的操作權(quán)限,當(dāng)用戶不同時(shí),根據(jù)對(duì)用戶權(quán)限的判斷,決定該用戶進(jìn)入哪一界面;(2)、該管理軟件將對(duì)商品進(jìn)行資料統(tǒng)計(jì)和管理,提供詳細(xì)的商品信息,方便顧客查詢;
(3)、該軟件將對(duì)商品的訂貨單和銷售單進(jìn)行錄入管理和統(tǒng)計(jì),使銷售員和超市管理人員及時(shí)了解超市的銷售情況;(4)、該軟件將為用戶提供賬號(hào)管理工具,以便對(duì)用戶賬號(hào)進(jìn)行管理,包括用戶的添加、修改、編輯和刪除等操作。
3、系統(tǒng)的設(shè)計(jì)目標(biāo)
實(shí)現(xiàn)超市數(shù)據(jù)的信息化管理,提高超市在運(yùn)作中的效率,減少人力的消耗,提高管理質(zhì)量,將超市信息管理環(huán)節(jié)簡(jiǎn)單化。
4、用戶對(duì)系統(tǒng)的要求
1)、信息要求
由于系統(tǒng)的使用主體是顧客和銷售員,因此對(duì)系統(tǒng)的信息要求可分為以下幾個(gè)方面: a.用戶信息
用戶的基本信息,主要包括用戶的名稱,密碼,住址,權(quán)限,姓名及年齡信息; b.商品信息
商品的基本信息,主要包括商品的名稱,數(shù)量,產(chǎn)地,價(jià)格,大小等信息; c.訂貨信息
訂貨的基本信息,包括商品的名稱和數(shù)量,顧客姓名,銷售日期,商品的大小和價(jià)格等; d.進(jìn)貨信息
進(jìn)貨的基本信息,主要包括所訂購(gòu)商品的名稱和數(shù)量,訂購(gòu)生產(chǎn)廠家,訂購(gòu)日期,訂購(gòu)狀態(tài)和訂購(gòu)人姓名等。
2)、處理要求
a.用戶注冊(cè)或登錄
用戶通過(guò)這個(gè)功能,可以注冊(cè)成為會(huì)員或員工,也可以進(jìn)入到系統(tǒng)主界面進(jìn)行操作,用戶可以是系統(tǒng)管理員,顧客,或銷售員;
b.商品查詢與購(gòu)買
顧客通過(guò)這個(gè)功能,可以瀏覽所有的商品,或者通過(guò)商品的某種信息,分項(xiàng)查詢找到需要的商品后進(jìn)行訂貨購(gòu)買;
c.訂貨單查詢
通過(guò)這個(gè)功能,顧客可以根據(jù)自己的需求修改訂單或下訂單; d.銷售情況查詢
通過(guò)這個(gè)功能,銷售員可以查詢到商品的所有銷售信息,了解超市的銷售情況。安全性與完整性要求 1)、安全性要求
a.系統(tǒng)應(yīng)設(shè)置訪問(wèn)用戶的標(biāo)識(shí)以鑒別用戶是否合法,并要求合法用戶設(shè)置密碼,保證用戶身份不被盜用;
b.系統(tǒng)應(yīng)對(duì)不同的數(shù)據(jù)設(shè)置不同的訪問(wèn)級(jí)別,限制訪問(wèn)用戶可以查詢和處理的數(shù)據(jù)的類別和內(nèi)容;
c.系統(tǒng)應(yīng)對(duì)不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如顧客,超市管理人員和銷售員;
顧客:查詢某種或全部商品,下訂單購(gòu)買商品; 超市管理人員:進(jìn)行用戶管理,增加、刪除或修改用戶; 銷售員:查詢?nèi)可唐沸畔?,或分享查詢銷售情況。2)、完整性要求
a.各種信息記錄的完整性,信息記錄內(nèi)容不能為空; b.各種數(shù)據(jù)間相互的聯(lián)系的正確性; c.相同的數(shù)據(jù)在不同記錄中的一致性。
5、確定系統(tǒng)的邊界
經(jīng)過(guò)前面的需求分析,確定有計(jì)算機(jī)完成的工作時(shí)對(duì)數(shù)據(jù)進(jìn)行各種管
理和處理,具體的工作內(nèi)容見(jiàn)第二部分,由手工完成的工作主要有對(duì)原始數(shù)據(jù)的錄入;不能由計(jì)算機(jī)生成的,各種數(shù)據(jù)的更新,包括數(shù)據(jù)變化后的修改,數(shù)據(jù)的增加,失效數(shù)據(jù)或無(wú)用數(shù)據(jù)的刪除等;系統(tǒng)的日常維護(hù)。
二、系統(tǒng)功能的設(shè)計(jì)和劃分
根據(jù)如上的需求分析,我們可將本系統(tǒng)按照所完成的功能劃分成以下幾個(gè)子系統(tǒng): 用戶權(quán)限管理子系統(tǒng) 進(jìn)貨管理子系統(tǒng) 銷售管理子系統(tǒng) 顧客管理子系統(tǒng) 用戶注冊(cè)管理子系統(tǒng) 后臺(tái)管理子系統(tǒng) 各子系統(tǒng)完成的功能如下:
1、用戶權(quán)限管理子系統(tǒng)
(1)系統(tǒng)管理員具有所有的數(shù)據(jù)和功能權(quán)限,能查看進(jìn)貨管理表單、銷售管理表單,能管理普通用戶;
(2)普通用戶具有查詢商品、訂購(gòu)商品和修改個(gè)人信息等功能;(3)銷售員除了具有一般用戶的權(quán)限外,還可以進(jìn)行銷售報(bào)表的查詢等;
2、進(jìn)貨管理子系統(tǒng)
(1)用戶查詢或分項(xiàng)查詢訂貨單;
(2)下訂單或更改訂單狀態(tài);
3、銷售管理子系統(tǒng)
讓銷售員能夠進(jìn)行銷售信息的查詢,及時(shí)了解超市的銷售情況;
4、顧客管理子系統(tǒng)
(1)顧客可以瀏覽所有的商品信息;(2)可以通過(guò)分項(xiàng)功能查詢,找到所需商品;(3)直接訂貨或購(gòu)買商品;
5、用戶注冊(cè)管理子系統(tǒng)
(1)填寫(xiě)個(gè)人信息,注冊(cè)成為會(huì)員;(2)根據(jù)不同的目的取得不同的商品權(quán)限。
第二篇:小型超市管理系統(tǒng)
小型超市管理系統(tǒng)一:需求分析
1.超市信息管理系統(tǒng)是一個(gè)面向超市用來(lái)進(jìn)行超市日常信息處理的管理信息系統(tǒng)(MIS)。該信息系統(tǒng)能夠方便的為超市的售貨員提供各種日常售貨功能,也能夠?yàn)槌械墓芾碚咛峁└鞣N管理功能,如進(jìn)貨、統(tǒng)計(jì)商品等。
(1)超市信息管理系統(tǒng)能夠支持售貨員日常售貨功能。每一個(gè)售貨員通過(guò)自己的用戶名稱和密碼登錄到售貨系統(tǒng)中,為顧客提供服務(wù)。在售貨員為顧客提供售貨服務(wù)時(shí),售貨員接收顧客購(gòu)買商品,根據(jù)系統(tǒng)的定價(jià)計(jì)算出商品的總價(jià),顧客付款并接受售貨員打印的貨物清單,系統(tǒng)自動(dòng)保存顧客購(gòu)買商品記錄。
(2)超市信息管理系統(tǒng)能夠?yàn)槌械墓芾碚咛峁┕芾砉δ堋3械墓芾戆◣?kù)存管理、訂貨管理、報(bào)表管理和售貨人員管理和系統(tǒng)維護(hù)等。庫(kù)存管理員負(fù)責(zé)超市的庫(kù)存管理;訂貨員負(fù)責(zé)超市的訂貨管理;統(tǒng)計(jì)分析員負(fù)責(zé)超市的統(tǒng)計(jì)分析管理;系統(tǒng)管理員負(fù)責(zé)超市的售貨人員管理和系統(tǒng)維護(hù)。每種管理者都通過(guò)自己的用戶名稱和密碼登錄到各自的管理系統(tǒng)中。
(3)庫(kù)存管理包括商品入庫(kù)管理、處理盤(pán)點(diǎn)信息、處理報(bào)銷商品信息和一些信息的管理設(shè)置信息。這些設(shè)置信息包括供應(yīng)商信息、商品信息和特殊商品信息。庫(kù)存管理員每天對(duì)商品進(jìn)行一次盤(pán)點(diǎn),當(dāng)發(fā)現(xiàn)庫(kù)存商品有損壞時(shí),及時(shí)處理報(bào)損信息。當(dāng)商品到貨時(shí),庫(kù)存管理員檢查商品是否合格后并將合格的商品進(jìn)行入庫(kù)。當(dāng)商品進(jìn)入賣場(chǎng)時(shí),商品進(jìn)行出庫(kù)處理。
(4)訂貨管理是對(duì)超市所缺貨物進(jìn)行的訂貨處理,包括統(tǒng)計(jì)訂貨商品和制作訂單等步驟。當(dāng)訂貨員發(fā)現(xiàn)庫(kù)存商品低于庫(kù)存下限時(shí),根據(jù)系統(tǒng)供應(yīng)商信息,制作訂單進(jìn)行商品訂貨處理。
(5)統(tǒng)計(jì)分析管理包括查詢商品信息、查詢銷售信息、查詢供應(yīng)商信息、查詢?nèi)必浶畔?、查詢?bào)表信息和查詢特殊商品信息,并制作報(bào)表。統(tǒng)計(jì)分析員使用系統(tǒng)的統(tǒng)計(jì)分析功能,了解商品信息、銷售信息、供應(yīng)商信息、庫(kù)存信息和特殊商品信息,以便能夠制定出合理的銷售計(jì)劃。
(6)系統(tǒng)管理包括維護(hù)員工信息、維護(hù)會(huì)員信息和系統(tǒng)維護(hù)。系統(tǒng)管理員通過(guò)系統(tǒng)管理功能,能夠了解公司員工信息、會(huì)員信息,還能夠?qū)ο到y(tǒng)進(jìn)行維護(hù)工作。二:創(chuàng)建系統(tǒng)用例模型 1.員工用例圖
? 員工是超市售貨員和超市管理者的抽象,它所包含的行為是超市售貨員和超市管理者共同的行為。員工在本系統(tǒng)中通過(guò)合法的身份驗(yàn)證;能夠修改自身信息和密碼。
2.售貨員用例圖
? 售貨員能夠通過(guò)該系統(tǒng)進(jìn)行銷售商品活動(dòng)。當(dāng)售貨員銷售商品時(shí),首先獲取商品信息,然后將銷售信息更新,如果顧客需要打印購(gòu)物清單,則需要打印購(gòu)物清單,在購(gòu)物清單中需要對(duì)商品信息進(jìn)行計(jì)價(jià)處理。
3.庫(kù)存管理員用例圖
? 庫(kù)存管理員能夠通過(guò)該系統(tǒng)進(jìn)行如下活動(dòng):
(1)處理盤(pán)點(diǎn)。超市庫(kù)存管理員每天需要對(duì)超市商品信息進(jìn)行盤(pán)點(diǎn)。(2)處理報(bào)銷。超市庫(kù)存管理員對(duì)超市損壞商品進(jìn)行報(bào)銷處理。(3)商品入庫(kù)。當(dāng)商品到貨時(shí),庫(kù)存管理員檢查商品是否合格后并將合格的商品進(jìn)行入庫(kù)。
(4)商品出庫(kù)。當(dāng)商品進(jìn)入賣場(chǎng)時(shí),商品進(jìn)行出庫(kù)處理。(5)管理設(shè)置。庫(kù)存管理員負(fù)責(zé)供應(yīng)商信息、商品基本信息和特殊商品信息的管理設(shè)置。
4.訂貨員用例圖
? 訂貨員能夠通過(guò)該系統(tǒng)進(jìn)行訂貨管理活動(dòng)。訂貨員首先根據(jù)商品缺貨信息統(tǒng)計(jì)訂貨商品,根據(jù)需要訂貨商品信息制定出訂單。
5.統(tǒng)計(jì)分析員用例圖
? 統(tǒng)計(jì)分析員負(fù)責(zé)超市的統(tǒng)計(jì)分析管理,它能夠通過(guò)該系統(tǒng)進(jìn)行如下活動(dòng):
(1)查詢基本信息。統(tǒng)計(jì)分析員能夠查詢商品的基本信息,根據(jù)商品的基本信息,制定出相應(yīng)的方案。
(2)查詢銷售信息。統(tǒng)計(jì)分析員根據(jù)銷售情況,制定合理的銷售方案。
(3)查詢供應(yīng)商信息。統(tǒng)計(jì)分析員能夠查詢供應(yīng)商信息。
(4)查詢?nèi)必浶畔?。統(tǒng)計(jì)分析員能夠查詢?nèi)必浶畔ⅰ?/p>
(5)查詢報(bào)損信息。統(tǒng)計(jì)分析員能夠查詢報(bào)損信息。
(6)查詢特殊商品信息。統(tǒng)計(jì)分析員能夠查詢特殊商品信息
6.系統(tǒng)管理員用例圖
? 系統(tǒng)管理員能夠通過(guò)該系統(tǒng)進(jìn)行如下活動(dòng):
(1)維護(hù)會(huì)員信息。系統(tǒng)管理員能夠維護(hù)超市會(huì)員的信息,如添加會(huì)員、刪除會(huì)員和修改會(huì)員信息等。
(2)維護(hù)員工信息。系統(tǒng)管理員能夠維護(hù)超市員工的信息,如添加員工、刪除員工和修改員工信息等。
(3)系統(tǒng)設(shè)置。系統(tǒng)管理員能夠根據(jù)一些需要進(jìn)行必要的系統(tǒng)設(shè)置。
三:創(chuàng)建系統(tǒng)靜態(tài)模型
? 在獲得系統(tǒng)的基本需求用例模型以后,我們通過(guò)考察系統(tǒng)對(duì)象的各種屬性,創(chuàng)建系統(tǒng)靜態(tài)模型。
(1)首先,我們先確定系統(tǒng)的參與者的屬性。每一個(gè)超市員工在登錄系統(tǒng)時(shí),都需要提供員工的用戶名稱和密碼,因此每一個(gè)超市員工應(yīng)該擁有用戶名稱和密碼屬性。超市員工還擁有在超市中的唯一標(biāo)識(shí)——員工編號(hào)。此外,員工屬性中還包含員工的年齡、頭銜和照片等信息。超市的售貨員和管理者都繼承自員工,擁有員工的屬性。在系統(tǒng)中記錄的顧客包括顧客的名稱、顧客的編號(hào)、顧客地址、顧客級(jí)別和顧客的總消費(fèi)金額等記錄。
(2)其次,我們確定在系統(tǒng)中的主要業(yè)務(wù)實(shí)體類,這些類通常需要在數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ)。例如,我們需要存儲(chǔ)商品的信息,因此需要一個(gè)商品類,同樣,根據(jù)供應(yīng)商信息我們可以確定供應(yīng)商類。(2)其次,我們確定在系統(tǒng)中的主要業(yè)務(wù)實(shí)體類,這些類通常需要在數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ)。例如,我們需要存儲(chǔ)商品的信息,因此需要一個(gè)商品類,同樣,根據(jù)供應(yīng)商信息我們可以確定供應(yīng)商類。
四:創(chuàng)建系統(tǒng)動(dòng)態(tài)模型
1.售貨員銷售商品序列圖和交互圖 工作流程如下:
(1)顧客希望通過(guò)售貨員購(gòu)買商品,售貨員希望通過(guò)售貨管理子系統(tǒng)處理商品銷售。
(2)顧客將購(gòu)買商品提交給售貨員。
(3)售貨員通過(guò)銷售管理子系統(tǒng)中的管理商品界面獲取商品信息。
(4)管理商品界面根據(jù)商品的編號(hào)將商品類實(shí)例化并請(qǐng)求該商品信息。
(5)商品類實(shí)例化對(duì)象根據(jù)商品的編號(hào)加載商品信息并提供給管理商品界面。(6)管理商品界面對(duì)商品進(jìn)行計(jì)價(jià)處理。
(7)管理商品界面更新銷售商品信息。
(8)管理商品界面顯示處理商品。
(9)售貨員將貨物提交給顧客。
2.統(tǒng)計(jì)分析員查詢商品信息序列圖和交互圖 工作流程如下:
(1)統(tǒng)計(jì)分析員希望通過(guò)統(tǒng)計(jì)分析子系統(tǒng)查詢商品信息。
(2)統(tǒng)計(jì)分析員通過(guò)統(tǒng)計(jì)分析子系統(tǒng)中的查詢商品信息界面獲取商品信息。
(3)查詢商品信息界面根據(jù)商品的屬性或特征將商品類實(shí)例化并請(qǐng)求該類商品信息。
(4)商品類實(shí)例化對(duì)象加載商品信息,并提供給管理商品界面。
(5)查詢商品信息界面顯示該類商品信息。
(6)統(tǒng)計(jì)分析員請(qǐng)求查詢商品信息界面制定出該類商品報(bào)表。
(7)查詢商品信息界面制定該類商品報(bào)表。
(8)查詢商品信息界面將該類商品報(bào)表顯示給統(tǒng)計(jì)分析員。
3.庫(kù)存管理員處理商品入庫(kù)
工作流程如下:
(1)庫(kù)存管理員希望通過(guò)庫(kù)存管理子系統(tǒng)將購(gòu)買的貨物處理入庫(kù)(2)庫(kù)存管理員通過(guò)庫(kù)存管理子系統(tǒng)中的商品入庫(kù)界面獲取商品信息。
(3)商品入庫(kù)界面根據(jù)商品的編號(hào)將商品類實(shí)例化并請(qǐng)求該類商品信息。
(4)商品類實(shí)例化對(duì)象根據(jù)商品的編號(hào)加載商品信息并提供給商品入庫(kù)界面。
(5)庫(kù)存管理員通過(guò)商品入庫(kù)界面增加商品數(shù)目。(6)商品入庫(kù)界面通過(guò)商品類實(shí)例化對(duì)象修改商品信息。(7)商品類實(shí)例化對(duì)象向商品入庫(kù)界面返回修改信息。(8)商品入庫(kù)界面向庫(kù)存管理員顯示添加成功信息。
4.訂貨員進(jìn)行訂貨管理 工作流程如下:
(1)訂貨員希望通過(guò)訂貨管理子系統(tǒng)處理商品訂貨管理。(2)訂貨員通過(guò)訂貨管理子系統(tǒng)中的訂貨管理界面獲取待訂貨商品信息。
(3)訂貨管理界面將商品類實(shí)例化并根據(jù)商品的數(shù)量應(yīng)當(dāng)滿足的條件請(qǐng)求有關(guān)商品信息。
(4)商品類實(shí)例化對(duì)象根據(jù)商品的數(shù)量應(yīng)當(dāng)滿足的條件加載商品信息并提供給訂貨管理界面。
(5)訂貨員通過(guò)訂貨管理子系統(tǒng)中的訂貨管理界面獲取待訂貨廠商信息。
(6)訂貨管理界面將供應(yīng)商類實(shí)例化并根據(jù)商品的類型請(qǐng)求有關(guān)供應(yīng)商信息。
(7)供應(yīng)商類實(shí)例化對(duì)象加載供應(yīng)商信息并提供給訂貨管理界面。(8)訂貨員通過(guò)訂貨管理子系統(tǒng)中的訂貨管理界面制作相關(guān)訂單。(9)訂貨管理界面制作相關(guān)訂單并顯示給訂貨員。
5.商品狀態(tài)圖
? 在超市信息管理系統(tǒng)中,我們將有明確狀態(tài)轉(zhuǎn)換的類進(jìn)行描述,以下我們以商品的狀態(tài)圖為例,簡(jiǎn)單進(jìn)行說(shuō)明。? 商品包含以下的狀態(tài):剛被購(gòu)買還未入庫(kù)后的商品、被添加能夠出售的商品、商品被出售、商品被回收。它們之間的轉(zhuǎn)化規(guī)則是:
(1)剛被購(gòu)買后的商品可以通過(guò)庫(kù)存管理員添加成為入庫(kù)的商品。(2)當(dāng)入庫(kù)商品被出售,商品處于被銷售狀態(tài)。(3)當(dāng)商品由于過(guò)期、損壞等因素造成的不合格時(shí),商品被剔除。
6.員工驗(yàn)證登錄活動(dòng)圖
? 在利用系統(tǒng)的活動(dòng)圖來(lái)描述在超市信息管理系統(tǒng)中的參與者如何協(xié)同工作時(shí),我們還可以建立相關(guān)參與者的活動(dòng)圖進(jìn)行說(shuō)明。以下我們以員工驗(yàn)證密碼為例進(jìn)行說(shuō)明。? 我們可以通過(guò)以下的方式描述員工驗(yàn)證登錄的活動(dòng):(1)員工需要通過(guò)身份驗(yàn)證后進(jìn)入相關(guān)子系統(tǒng)才能夠進(jìn)行相關(guān)操作。
(2)首先,系統(tǒng)運(yùn)行后系統(tǒng)進(jìn)入初始化登錄界面。(3)員工輸入自己的用戶名稱和密碼。
(4)登錄界面對(duì)用戶輸入的用戶名稱和密碼進(jìn)行判斷。(5)如果是合法的用戶,則系統(tǒng)對(duì)用戶的權(quán)限進(jìn)行判斷,員工進(jìn)入相關(guān)的管理界面,登錄成功。
(6)如果是非法的用戶,系統(tǒng)提示用戶名稱或密碼錯(cuò)誤,登錄失敗。
五:創(chuàng)建系統(tǒng)部署模型 1.系統(tǒng)構(gòu)件圖
在超市信息管理系統(tǒng)中,我們通過(guò)構(gòu)件映射到系統(tǒng)的實(shí)現(xiàn)類中,說(shuō)明該構(gòu)件物理實(shí)現(xiàn)的邏輯類。例如,在超市信息管理系統(tǒng)中,我們可以對(duì)商品類和供應(yīng)商類分別創(chuàng)建對(duì)應(yīng)的構(gòu)件進(jìn)行映射。
2.系統(tǒng)部署圖
在超市信息管理系統(tǒng)中,系統(tǒng)包括四種節(jié)點(diǎn),分別是:前臺(tái)售貨節(jié)點(diǎn),售貨員使用,負(fù)責(zé)貨物銷售;庫(kù)存管理節(jié)點(diǎn),庫(kù)存管理員通過(guò)該節(jié)點(diǎn)進(jìn)行庫(kù)存管理和維護(hù);訂貨管理節(jié)點(diǎn),訂貨管理員通過(guò)該節(jié)點(diǎn)進(jìn)行訂貨管理;統(tǒng)計(jì)分析節(jié)點(diǎn),統(tǒng)計(jì)分析員通過(guò)該節(jié)點(diǎn)進(jìn)行統(tǒng)計(jì)分析;系統(tǒng)管理節(jié)點(diǎn),系統(tǒng)管理員通過(guò)該節(jié)點(diǎn)進(jìn)行系統(tǒng)維護(hù)和員工信息維護(hù)。
第三篇:基于java小型超市管理系統(tǒng)
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Arrays;import java.util.Scanner;
public class Mytest { static int sign=0;//goodname數(shù)組第一個(gè)空下標(biāo)號(hào)
static int sign1=0;//cname數(shù)組第一個(gè)空下標(biāo)號(hào)
static String[] cpass=new String[20];//存放售貨員名稱
static String[] cname=new String[20];//存放售貨員登入密碼
static String[] goodname=new String[20];//存放商品名稱
static double[] goodprice=new double[20];//存放商品價(jià)格
static int[] goodout=new int[20];//存放商品銷售量
static int[] goodnum=new int[20];//存放商品數(shù)量
public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售貨員名稱
cpass[0]=“723”;//初始的售貨員密碼 createArrays();readArrays(“goodname”);//將文件中的內(nèi)容讀入到相應(yīng)的數(shù)組里
readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加載的主菜單
} /** * 加載登入菜單
*/ private static void menu(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt歡迎使用商超購(gòu)物管理系統(tǒng) n”);
System.out.println(“tttt1.登錄系統(tǒng)n”);
System.out.println(“tttt2.退出 ”);
System.out.println(“*************************************************”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字: ”);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“退出!”);//按0不登入
case 1:
System.out.println(“請(qǐng)輸入用戶名:”);// 查找售貨員姓名是否存在,與所對(duì)應(yīng)的密碼是否匹配
String name = scan.next();
System.out.println(“請(qǐng)輸入密碼:”);
String pass = scan.next();
int flage = 0;
int ff = 0;
for(int i = 0;i < cname.length;i++){
if(name.equals(cname[i])){
flage = 1;//售貨員的名稱匹配flage=1;
ff = i;
break;
}
}
if(flage == 1){//名稱匹配之后再匹配密碼
if(pass.equals(cpass[ff])){
loadmenu1();//密碼也匹配之后再允許登入
} else {
System.out.println(“密碼錯(cuò)誤!”);
}
} else {
System.out.println(“該用戶名不具有權(quán)限”);
}
break;
case 2:
System.out.println(“謝謝您的使用!”);
break;
default:
break;
} }
/** * ,創(chuàng)建文件,將數(shù)組信息存入到各文件中, */ static void createArrays(){
BufferedWriter bw = null;
try {
File file1 = new File(“d:gname.txt”);
if(!file1.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content1);//寫(xiě)入
bw.close();
}
File file2 = new File(“d:gprice.txt”);
if(!file2.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content2);//寫(xiě)入
bw.close();
}
File file3 = new File(“d:gnum.txt”);
if(!file3.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content3);//寫(xiě)入
bw.close();
}
File file4 = new File(“d:cname.txt”);
if(!file4.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content4);//寫(xiě)入
bw.close();
}
File file5 = new File(“d:cpass.txt”);
if(!file5.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content5);//寫(xiě)入
bw.close();
}
File file6 = new File(“d:gout.txt”);
if(!file6.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content5 = intToString(goodout);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content5);//寫(xiě)入
bw.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
/** * 登入之后加載商超購(gòu)物管理系統(tǒng)
*/ static void loadmenu1(){
System.out.println(“歡迎進(jìn)入商超購(gòu)物管理系統(tǒng)!”);
System.out.println(“tttt商超購(gòu)物管理系統(tǒng)”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.商品維護(hù)”);
System.out.println(“tttt2.前臺(tái)收銀”);
System.out.println(“tttt3.商品管理”);
System.out.println(“tttt4.退出”);
System.out.println(“********************************************************************************”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字或按0退出:”);
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“謝謝您的使用!”);
break;
case 1:
System.out.println(“執(zhí)行顯示商品維護(hù)菜單”);
loadmenu2();
break;
case 2:
System.out.println(“執(zhí)行前臺(tái)收銀”);
loadmenu6();
break;
case 3:
System.out.println(“執(zhí)行商品管理”);
loadmenu7();
break;
default:
break;
} } /* * 在商超購(gòu)物管理系統(tǒng)中按1鍵時(shí) */ static void loadmenu2(){
System.out.println(“tttt商超購(gòu)物管理系統(tǒng) 商品維護(hù)”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.添加商品t”);
System.out.println(“tttt2.更改商品t”);
System.out.println(“tttt3.刪除商品t”);
System.out.println(“tttt4.顯示所有商品t”);
System.out.println(“tttt5.查詢商品t”);
System.out
.println(“********************************************************************************”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字或按0返回上一級(jí)菜單:”);
Scanner scan = new Scanner(System.in);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu1();
break;
case 1:
addgoods();
break;
case 2:
System.out.println(“執(zhí)行更改商品操作”);
loadmenu3();// 修改商品
break;
case 3:
System.out.println(“執(zhí)行商品刪除操作”);
loadmenu4();// 商品刪除
break;
case 4:
System.out.println(“顯示所有商品”);
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt”
+ “備注”);
showgoods();
break;
case 5:
System.out.println(“執(zhí)行查詢商品操作”);
loadmenu5();
break;
default:
break;
} } /* * 在商超購(gòu)物管理系統(tǒng)中按2鍵時(shí)
*/ static void loadmenu6(){
System.out.println(“tttt商超購(gòu)物管理系統(tǒng) 前臺(tái)收銀”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.購(gòu)物結(jié)算”);
Scanner scan = new Scanner(System.in);
int ch = scan.nextInt();
switch(ch){
case 0:
loadmenu1();
break;
case 1:
pay();
break;
default:
break;
}
} /* * 在商超購(gòu)物管理系統(tǒng)中按3鍵時(shí)
*/ static void loadmenu7(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt商超購(gòu)物管理系統(tǒng) 商品管理”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.庫(kù)存查詢”);
System.out.println(“tttt2.已出售商品”);
System.out.println(“tttt3.售貨員管理”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字或按0返回上一級(jí)菜單:”);
int ch = scan.nextInt();
switch(ch){
case 0: loadmenu1();
break;
case 1:
System.out.println(“執(zhí)行庫(kù)存查詢操作:”);
kusear();
break;
case 2:
System.out.println(“執(zhí)行已出售商品查詢操作”);
besold();
break;
case 3:
System.out.println(“執(zhí)行售貨員管理操作”);
salesman();
break;
default:
break;
}
} /* * 對(duì)售貨員信息的增添,修改 */ static void salesman()
{
Scanner scan = new Scanner(System.in);
System.out.println(“
1、添加售貨員”);
System.out.println(“
2、修改售貨員信息”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字或按0返回上一級(jí)菜單:”);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu7();//返回上一級(jí)
break;
case 1:
addsale();//選擇1鍵,添加售貨員
break;
case 2:
modifysale();//更改售貨員的信息
break;
default:
break;
} } /* 添加售貨員 * */ static void addsale(){
Scanner scan = new Scanner(System.in);
String f;
// sign1 = sign1 + 1;
do {
System.out.println(“添加售貨員姓名:”);
String addname = scan.next();
add(cname, addname, sign1);//將新信息添加到相應(yīng)數(shù)組中
System.out.println(“添加售貨員登陸密碼:”);
String addpass = scan.next();
add(cpass, addpass, sign1);//將新信息添加到相應(yīng)數(shù)組中
// writeArray();
sign1++;//新信息添加后數(shù)組下標(biāo)加1
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
// writeArray();
} while(f.equals(“y”));
salesman();} /* * 更改售貨員的信息 */ static void modifysale(){
String f;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改員工名稱:”);
String newname = scan.next();
int k = searmember(newname);//查詢需要改的售貨員的信息,并返回其在數(shù)組中的下標(biāo)
if(k >= 0){//判斷售貨員是否存在
System.out.println(“員工姓名” + “ttt密碼”);
System.out.println(cname[k] + “ttt” + cpass[k]);
System.out.println(“選擇您要更改的內(nèi)容:”);
System.out.println(“
1、更改員工姓名:”);
System.out.println(“
2、更改登錄密碼:”);
int kk = scan.nextInt();
switch(kk){
case 1:
System.out.println(“請(qǐng)輸入已更改員工姓名:”);
String newnname = scan.next();
cname[k] = newnname;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
} else {
salesman();
}
break;
case 2:
System.out.println(“請(qǐng)輸入已更改密碼:”);
String newpass = scan.next();
cpass[k] = newpass;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
// System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
}
salesman();
break;
default:
break;
}
} } /* * 查詢ename姓名的售貨員在數(shù)組中的下標(biāo) */ static int searmember(String ename){
for(int i = 0;i < cname.length;i++){
if(cname[i].equals(ename)){
return i;
}
}
return-1;// 不存在時(shí)
} /* * 查詢已出售的商品信息 */ static void besold()
{
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt” + “備注”);
for(int i = 0;i < goodout.length;i++){
if(goodout[i]!= 0){
System.out.println(goodname[i] + “ttt” + goodprice[i]
+ “ttt” + goodout[i]);
}
}
loadmenu7();} /* * 查詢庫(kù)存中售的商品信息
*/ static void kusear(){
Scanner scan = new Scanner(System.in);
String f;
do {
System.out.println(“輸入要查詢的商品名稱:”);
String sname = scan.next();
int t = ndimsear(sname);//按確切的商品名稱進(jìn)行查詢,即非模糊查詢,找出商品名稱信息的下標(biāo)
if(t >= 0){
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt”
+ “備注”);
System.out.println(goodname[t] + “ttt” + goodprice[t]
+ “ttt” + goodnum[t] + “ttt”);//按下標(biāo)輸出商品相應(yīng)的信息
} else {
System.out.println(“沒(méi)有此商品”);
}
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
} while(f.equals(“y”));
loadmenu7();
} /* * 按確切的商品名稱進(jìn)行查詢,即非模糊查詢,找出商品名稱信息的下標(biāo)
*/ static int ndimsear(String s){
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(s)){
return i;
}
}
return-1;//沒(méi)查詢到時(shí)
}
/* * 商品結(jié)算
*/ static void pay(){
Scanner scan = new Scanner(System.in);
double sum = 0;
String f;
do {
dimsearch1();//按關(guān)鍵字進(jìn)行模糊查詢,查找可能需要的商品
System.out.println(“請(qǐng)選擇商品:”);
String bnam = scan.next();//按查詢到的相關(guān)商品中選擇要購(gòu)買的商品
System.out.println(“請(qǐng)輸入購(gòu)買數(shù)量:”);
int bnum = scan.nextInt();
int fl = seargood(bnam);
System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”
+ “購(gòu)買數(shù)量” + bnum + “ttt” + bnum * goodprice[fl]);
goodnum[fl] = goodnum[fl]sum));
writeArray();//將對(duì)數(shù)組的更改寫(xiě)入到文件中
loadmenu1();//結(jié)束購(gòu)買返回
} /* * 查找商品返回下標(biāo) */ static int seargood(String bbnam){
for(int i = 0;i <= goodname.length;i++){
if(goodname[i].equals(bbnam)){
return i;
}
}
return-1;}
/* * 對(duì)商品進(jìn)行各種查找
*/
static void loadmenu5(){
Scanner scan = new Scanner(System.in);
System.out.println(“
1、按商品數(shù)量升序查詢”);
System.out.println(“
2、按商品價(jià)格升序查詢”);
System.out.println(“
3、輸入關(guān)鍵字查詢商品”);
System.out.println(“請(qǐng)選擇,輸入數(shù)字或按0返回上一級(jí)菜單:”);
int choice = scan.nextInt();
switch(choice){
case 0:
loadmenu2();//返回上一級(jí)
break;
case 1:
numshenxu();//按商品數(shù)量升序進(jìn)行查找
break;
case 2:
priceshenxu();//按商品價(jià)格升序進(jìn)行查找
break;
case 3:
dimsearch();//按商品的關(guān)鍵字進(jìn)行查找
break;
default:
break;
}
}
static void dimsearch1(){
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品關(guān)鍵字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt” + “備注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]
+ “ttt” + goodnum[k[i]] + “ttt”);
}
}
} /* * 按商品的關(guān)鍵字進(jìn)行查找
*/ static void dimsearch()
+ {
String f;
do {
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品關(guān)鍵字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt”
+ “備注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt”
+ goodnum[k[i]]
+ “ttt”);
}
goodprice[k[i]]
+
“ttt”
+
}
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
countt++;
} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
location[counttt] = i;
counttt++;
}
}
return location;} /* * 按商品數(shù)量升序進(jìn)行查找
*/ static void numshenxu(){
int[] newnum = Arrays.copyOf(goodnum, goodnum.length);
double[]
newprice
=
Arrays.copyOf(goodprice, goodprice.length);
String[] goodname.length);
for(int i = 0;i < newnum.lengthi1;i++){
for(int j = 0;j < newprice.length1;j++){
if(newprice[j] < newprice[j + 1]){
int temp = newnum[j];
newnum[j] = newnum[j + 1];
newnum[j + 1] = temp;
double temp1 = newprice[j];
newprice[j] = newprice[j + 1];
newprice[j + 1] = temp1;
String temp2 = newname[j];
newname[j] = newname[j + 1];
newname[j + 1] = temp2;//相應(yīng)的下標(biāo)在不同的數(shù)
newname
=
Arrays.copyOf(goodname, 組里進(jìn)行挑換,商品的信息才能保持一致
}
}
}
System.out.println(“商品名稱ttt” + “商品價(jià)格ttt” + “商品數(shù)量ttt” + “備注”);
for(int k = 0;k < newnum.length;k++){
if(newprice[k]!= 0){
System.out.println(newname[k] + “ttt” + newprice[k]
+ “ttt” + newnum[k] + “ttt”);
}
}
loadmenu5();} /* *更改商品信息的操作
*/ static void loadmenu3(){
Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱:”);
String nam = scan.next();
int b = showflage(nam);
print(b);
System.out.println(“選擇您要更改的內(nèi)容:”);
System.out.println(“
1、更改商品名稱::”);
System.out.println(“
2、更改商品價(jià)格:”);
System.out.println(“
3、更改商品數(shù)量:”);
int ch = scan.nextInt();
switch(ch){
case 0:
break;
case 1:
int counnt = 0;
String f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱:”);
nam = scan.next();
b = showflage(nam);//查找需要更改商品的下標(biāo)
print(b);//輸出這個(gè)商品的各種信息
}
System.out.println(“請(qǐng)輸入已更改商品名稱”);
String cname = scan.next();
goodname[b] = cname;//更改名稱
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 2:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“請(qǐng)輸入已更改商品價(jià)格”);
double cprice = scan.nextDouble();
goodprice[b] = cprice;//新價(jià)格寫(xiě)入數(shù)組
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 3:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“請(qǐng)輸入已更改商品數(shù)量”);
int cnum = scan.nextInt();
goodnum[b] = cnum;
counnt++;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
}
loadmenu2();
break;
default:
break;
}
} /* * 查詢nama這個(gè)商品在goodname中的下標(biāo)
*/ static int showflage(String nama){
int flag = 0;
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(nama)){
flag = i;
break;
}
}
return flag;}
static void print(int b){
System.out.println(“商品名稱 tt” + “商品價(jià)格 tt” + “商品數(shù)量 tt” + “備注”);
System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”
+ goodnum[b] + “ tt”);
} /* * 刪除商品菜單
*/ static void loadmenu4(){
String f;
int d;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“請(qǐng)輸入要?jiǎng)h除的商品名稱:
String dname = scan.next();
d = showflage(dname);
delete(d);
System.out.println(”是否繼續(xù)(y/n)“);
f = scan.next();
writeArray();//刪除之后重新寫(xiě)入文件
} while(f.equals(”y“));
loadmenu2();}
”);/* * 刪除商品 */ static void delete(int dd){
for(int i = dd;i < goodname.length1] = null;
goodprice[goodprice.length1] = 0;
} /* * 查詢所有商品
*/ static void showgoods(){
int i = 0;
while(goodprice[i]!= 0){
System.out.print(goodname[i] +
“ttt” goodprice[i] + “ttt”
+
+ goodnum[i] + “ttt”);
if(goodnum[i] < 10){
System.out.println(“ttt*該商品已不足10件!”);
}
System.out.println();
i++;
}
loadmenu2();
} /* * 商品添加操作 */ static void addgoods(){
System.out.println(“執(zhí)行添加商品操作:t”);
String a;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品名稱:”);
String na = scan.next();
add(goodname, na, sign);
System.out.println(“輸入添加商品價(jià)格:”);
double pr = scan.nextDouble();
add(goodprice, pr, sign);
System.out.println(“輸入添加商品數(shù)量:”);
int c = scan.nextInt();
add(goodnum, c, sign);
sign++;
System.out.println(“是否繼續(xù)(y/n)”);
a = scan.next();
writeArray();
} while(a.equals(“y”));
loadmenu2();
} /* * 將數(shù)組信息寫(xiě)入到相應(yīng)的文件里,啟動(dòng)程序時(shí)就要調(diào)用這個(gè)函數(shù) */ static void writeArray(){
BufferedWriter bw = null;
try {
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);
bw.write(content1);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);
bw.write(content2);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);
bw.write(content3);
bw.close();
bw = new BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);
bw.write(content4);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);
bw.write(content5);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content6 = intToString(goodout);
bw.write(content6);
bw.close();
} catch(IOException e){
e.printStackTrace();
} } /* * 添加商品名稱 */ static void add(String[] aa, String n, int b){
if(b == aa.length){
aa =(String[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = n;} /* * 添加商品價(jià)格
*/ static void add(double[] aa, double pr, int b){
if(b == aa.length){
aa =(double[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = pr;} /* * 添加商品數(shù)量
*/ static void add(int[] aa, int cc, int b){
if(b == aa.length){
aa =(int[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = cc;
}
/** * 從文件中讀取信息到相應(yīng)的數(shù)組里
*/ static void readArrays(String name)throws Exception {
BufferedReader br = null;
try {
if(“goodname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gname.txt”));
String content1 = br.readLine();
String[] arr = strToString(content1);
goodname arr.length);
for(int i = 0;i < goodname.length;i++){
if(!goodname[i].equals(“null”)){
sign++;
=
(String[])
Arrays.copyOf(arr,}
}
} else if(“goodprice”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gprice.txt”));
String content2 = br.readLine();
double[] arr = doubleToString(content2);
goodprice arr.length);
} else if(“goodnum”.equals(name)){
br
=
new
BufferedReader(new
=
(double[])
Arrays.copyOf(arr, FileReader(“d:gnum.txt”));
String content3 = br.readLine();
int[] arr = intToString(content3);
goodnum =(int[])Arrays.copyOf(arr, arr.length);
} else if(“cname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cname.txt”));
String content4 = br.readLine();
String[] arr = strToString(content4);
cname arr.length);
=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){
if(!cname[i].equals(“null”)){
sign1++;
}
}
} else if(“cpass”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cpass.txt”));
String content5 = br.readLine();
String[] arr = strToString(content5);
cpass arr.length);
} else {
br
=
new
BufferedReader(new
=
(String[])
Arrays.copyOf(arr, FileReader(“d:gout.txt”));
String content6 = br.readLine();
int[] arr = intToString(content6);
goodout =(int[])Arrays.copyOf(arr, arr.length);
}
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
} /* * 將字符串轉(zhuǎn)換成字符串?dāng)?shù)組 */ static String strToString(String[] arry){
// String arrys=“";
// for(int i=0;i // { // arrys=arry+arry[i]+”,“; // } // //arrys=arrys+arry[arry.length-1]; // System.out.println(arrys); // return arrys; StringBuilder sb = new StringBuilder(); for(int i = 0;i < arry.length;i++){ sb.append(arry[i]).append(”,“); } sb.deleteCharAt(sb.length()-1); // System.out.println(sb.toString()); return sb.toString();} /* * 將字符串轉(zhuǎn)換成字符串?dāng)?shù)組 */ static String[] strToString(String ar){ String[] arry = ar.split(”,“);return arry;} /* * 將int型數(shù)組轉(zhuǎn)換成字符串 */ static String intToString(int[] arrr){ String ss = ”“; ss = Arrays.toString(arrr); String sss = ss.replace(”[“,”“).replace(”]“, ”“).replace(” “, ”"); 《小型超市管理系統(tǒng)》需求分析報(bào)告 小型超市管理系統(tǒng)需求分析 1.引言 1.1 編寫(xiě)目的 自改革開(kāi)放以來(lái),社會(huì)市場(chǎng)經(jīng)濟(jì)不斷發(fā)展,人們生活水平不端提高,由小型小賣部、小型零售商等小而雜的商店逐漸演變成今天市區(qū)里我們無(wú)處不在東西品種繁多的價(jià)格便宜的大小中型流行超市。超市之流行是以顧客自選方式經(jīng)營(yíng)的大型綜合性零售商場(chǎng)。又稱為自選商場(chǎng),大大方便了人們購(gòu)物,為大量忙碌的工作人員節(jié)省了大量的時(shí)間。 本系統(tǒng)采用microsoft visual C# 2010程序設(shè)計(jì)及SQL Sever 2005數(shù)據(jù)庫(kù)管理知識(shí)進(jìn)行功能的實(shí)現(xiàn)。能夠提高超市信息管理系統(tǒng)各項(xiàng)工作地效率和質(zhì)量,改善經(jīng)營(yíng)管理,減輕各類事務(wù)性工作的工作量,使超市的職員能夠更輕松并且更好地服務(wù)于顧客,保證顧客的購(gòu)物需求,同時(shí)也間接地為超市帶來(lái)更多的盈利。最終達(dá)到為超市服務(wù)的效果。 1.2 項(xiàng)目風(fēng)險(xiǎn) 具體說(shuō)明本軟件開(kāi)發(fā)項(xiàng)目的全部風(fēng)險(xiǎn)承擔(dān)者,以及各自在本階段所需要承擔(dān)的主要風(fēng)險(xiǎn),首要風(fēng)險(xiǎn)承擔(dān)者包括: 任務(wù)提出者: 軟件開(kāi)發(fā)者: 產(chǎn)品使用者:面向小型超市、小型零售店 本系統(tǒng)無(wú)風(fēng)險(xiǎn),為學(xué)生作品。 1.3 預(yù)期讀者和閱讀建議 列舉本軟件產(chǎn)品需求分析報(bào)告所針對(duì)的各種不同的預(yù)期讀者,例如,可能包括: 用戶; 1.開(kāi)發(fā)人員; 2.銷售經(jīng)理; 3.庫(kù)存管理員;4.商品錄入人員。 5.系統(tǒng)使用者(經(jīng)營(yíng)中小型超市法律主體)6.收銀人員; 并且描述了文檔中,其余部分的內(nèi)容及其組織結(jié)構(gòu),并且針對(duì)每一類讀者提出最適合的文檔閱讀建議。 《小型超市管理系統(tǒng)》需求分析報(bào)告 1.4 產(chǎn)品范圍 本軟件適合于中小型超市管理用于采購(gòu)管理、銷售管理,庫(kù)存管理及財(cái)務(wù)管理及商品數(shù)據(jù)錄入,修改、查詢。我們不僅能夠快而準(zhǔn)的知道我們的一天的進(jìn)出貨及銷售情況,又能夠準(zhǔn)確無(wú)誤的生成知道我們想要擁有的銷售報(bào)表、季銷售報(bào)表、年銷售報(bào)表。通過(guò)一些基本查詢功能,查詢自己想要的結(jié)果,知道自己的盈利情況。通過(guò)此系統(tǒng),我們能夠及時(shí)查詢到我們的存貨情況,通過(guò)系統(tǒng)警報(bào)及時(shí)補(bǔ)缺商品。 1.5 參考文獻(xiàn)(具體開(kāi)發(fā)過(guò)程中外加參考資料) 列舉編寫(xiě)軟件產(chǎn)品需求分析報(bào)告時(shí)所用到的參考文獻(xiàn)及資料,可能包括: 1.百度文庫(kù)(小型超市管理系統(tǒng)) 本項(xiàng)目的合同書(shū); 上級(jí)機(jī)關(guān)有關(guān)本項(xiàng)目的批文; 本項(xiàng)目已經(jīng)批準(zhǔn)的計(jì)劃任務(wù)書(shū); 用戶界面風(fēng)格指導(dǎo); 開(kāi)發(fā)本項(xiàng)目時(shí)所要用到的標(biāo)淮; 系統(tǒng)規(guī)格需求說(shuō)明; 使用實(shí)例文檔; 屬于本項(xiàng)目的其它己發(fā)表文件; 本軟件產(chǎn)品需求分析報(bào)告中所引用的文件、資料; 相關(guān)軟件產(chǎn)品需求分析報(bào)告; 為了方便讀者查閱,所有參考資料應(yīng)該按一定順序排列。如果可能,每份資料都應(yīng)該給出: 標(biāo)題名稱; 作者或者合同簽約者; 文件編號(hào)或者版本號(hào); 發(fā)表日期或者簽約日期; 出版單位或者資料來(lái)源。 2.綜合描述 這一部分概述了正在定義的軟件產(chǎn)品的作用范圍以及該軟件產(chǎn)品所運(yùn)行的環(huán)境、使用該軟件產(chǎn)品的用戶、對(duì)該軟件產(chǎn)品己知的限制、有關(guān)該軟件產(chǎn)品的假設(shè)和依賴。 本系統(tǒng)采用microsoft visual C# 2010程序設(shè)計(jì)及SQL Sever 2005數(shù)據(jù)庫(kù)管理知識(shí)進(jìn)行功能的實(shí)現(xiàn)。能夠提高超市信息管理系統(tǒng)各項(xiàng)工作地效率和質(zhì)量,改善經(jīng)營(yíng)管理,減輕各類事務(wù)性工作的工作量,使超市的職員能夠更輕松并且更好地服務(wù)于顧客,保證顧客的購(gòu)物需求,同時(shí)也間接地為超市帶來(lái)更多的盈利。最終達(dá)到為超市服務(wù)的效果。 《小型超市管理系統(tǒng)》需求分析報(bào)告 2.1 產(chǎn)品的狀況 超市管理系統(tǒng),該系統(tǒng)是現(xiàn)有應(yīng)用軟件的替代品(升級(jí)產(chǎn)品);是新一代新型的,自主型的產(chǎn)品。它是一個(gè)大系統(tǒng)的組成部分,它與POS機(jī)連接在一起收銀及會(huì)員及時(shí)消費(fèi)。能夠達(dá)到快速提升的收銀效率和一系列的管理有機(jī)的結(jié)合起來(lái)。 2.2 產(chǎn)品的功能 該系統(tǒng)包括:前臺(tái)管理(普通收銀部分和會(huì)員收銀包括與后臺(tái)折扣情況結(jié)合起來(lái),達(dá)到高效率結(jié)算)和后臺(tái)管理(銷售管理,存貨管理,財(cái)務(wù)管理,基本資料管理,每日提醒)。 一.前臺(tái)管理: 1.登陸人員管理:使用人員賬號(hào)密碼登陸 2.銷售信息管理:添加商品的單價(jià)價(jià)格以及銷售數(shù)量等 二.后臺(tái)管理: 1.存貨管理:主要是了解某一類商品的庫(kù)存情況,并對(duì)商品進(jìn)行添加、修改、刪除; 2.供貨商管理:記錄供貨商的個(gè)人資料(姓名,地址,聯(lián)系方式等); 3.基本資料管理:里面包含產(chǎn)品的概況、人員管理、商品管理等。 2.3 運(yùn)行環(huán)境 描述了本軟件的運(yùn)行環(huán)境,一般包括: 硬件平臺(tái); 操作系統(tǒng)和版本:Windows XP 支撐環(huán)境(例如:數(shù)據(jù)庫(kù)等)和版本:Microsoft VisualC#和Microsoft SQL Server2005 其它與該軟件有關(guān)的軟件組件; 與該軟件共存的應(yīng)用程序。 2.4 設(shè)計(jì)和實(shí)現(xiàn)上的限制 確定影響開(kāi)發(fā)人員自由選擇的問(wèn)題,并且說(shuō)明這些問(wèn)題為什么成為一種限制??赡艿南拗瓢ㄏ铝袃?nèi)容: 必須使用的特定技術(shù)、工具、編程語(yǔ)言和數(shù)據(jù)庫(kù); 避免使用的特定技術(shù)、工具、編程語(yǔ)言和數(shù)據(jù)庫(kù); 要求遵循的開(kāi)發(fā)規(guī)范和標(biāo)準(zhǔn); 例如,如果由客戶的公司或者第三方公司負(fù)責(zé)軟件維護(hù),就必須定義轉(zhuǎn)包者所使用的設(shè)計(jì)符號(hào)表示和編碼標(biāo)準(zhǔn); 硬件的限制 例如,定時(shí)需求或存儲(chǔ)器限制; 《小型超市管理系統(tǒng)》需求分析報(bào)告 數(shù)據(jù)轉(zhuǎn)換格式標(biāo)淮的限制。 2.5 假設(shè)和約束(依賴)列舉出對(duì)軟件產(chǎn)品需求分析報(bào)告中,影響需求陳述的假設(shè)因素(與己知因素相對(duì)立)。如果這些假設(shè)因素不正確、不一致或者被修改,就會(huì)使軟件產(chǎn)品開(kāi)發(fā)項(xiàng)目受到影響。這些假設(shè)的因素可能包括: 計(jì)劃使用的商業(yè)組件,或者其它軟件中的某個(gè)部件; 假定產(chǎn)品中某個(gè)用戶界面將符合一個(gè)特殊的設(shè)計(jì)約定; 有關(guān)本軟件用戶的若干假定(例如:假定用戶會(huì)熟練使用SQL語(yǔ)言。); 有關(guān)本軟件開(kāi)發(fā)工作的若干假定(例如:用戶承諾的優(yōu)惠、方便、上級(jí)部門(mén)給予的特殊政策和支持等。); 有關(guān)本軟件運(yùn)行環(huán)境的一些問(wèn)題; 此外,確定本軟件開(kāi)發(fā)項(xiàng)目對(duì)外部約束因素所存在的依賴。有關(guān)的約束可能包括: 1.工期約束; 2.人員約束; 3.設(shè)備約束; 4.地理位置約束; 其它有關(guān)項(xiàng)目約束; 3.外部接口需求 3.1 用戶界面 3.1.1 用戶登錄界面 用戶名 密碼 組件:文本框、標(biāo)準(zhǔn)按鈕 快捷鍵:Enter鍵 《小型超市管理系統(tǒng)》需求分析報(bào)告 3.1.2商品信息管理 商品的增、刪、查、改 存貨管理界面 庫(kù)存錄入 《小型超市管理系統(tǒng)》需求分析報(bào)告 存貨查詢 組件:文本框、標(biāo)準(zhǔn)按鈕、消息框、數(shù)據(jù)網(wǎng)格 基本資料管理界面 產(chǎn)品概況 人員管理 供應(yīng)商管理 商品管理 組件:標(biāo)準(zhǔn)按鈕、文本框、數(shù)據(jù)網(wǎng)格、下拉列表框 《小型超市管理系統(tǒng)》需求分析報(bào)告 3.2 軟件接口 描述該軟件產(chǎn)品與其它外部組件的連接,這些外部組件必須明確它們的名稱和版本號(hào)以資識(shí)別,可能的外部組件包括: 操作系統(tǒng):Windows XP; 數(shù)據(jù)庫(kù):Microsoft SQL Server2005; 工具:Microsoft Visual C# 2010; 函數(shù)庫(kù); 集成的商業(yè)組件:中間件; 4.系統(tǒng)功能需求 4.1 用戶登錄 用戶登錄界面主要提供用戶的登錄。 4.2 前臺(tái)管理 4.2.1 人員管理 提供用戶的注冊(cè)、注銷、修改以及刪除。 《小型超市管理系統(tǒng)》需求分析報(bào)告 4.2.1 銷售管理 提供商品銷售的信息,以便及時(shí)補(bǔ)貨。 4.3 后臺(tái)管理 4.3.1 存貨管理 存貨管理提供了庫(kù)存的錄入、查詢、修改登錄功能,還包括缺貨提醒的提醒功能。 1.庫(kù)存錄入,包括庫(kù)存的添加、刪除、修改等功能提供添加舊商品或添加新商品的選擇功能。 2.存貨查詢,主要提供庫(kù)存的查詢功能 4.3.2 銷售信息管理 《小型超市管理系統(tǒng)》可行性報(bào)告 曹劍濤李成軍 目錄 一、前言...................................................................................................................................3 二、系統(tǒng)建立的背景及意義:...............................................................................................3 三、項(xiàng)目開(kāi)發(fā)目標(biāo)、系統(tǒng)功能...............................................................................................4 1.開(kāi)發(fā)目標(biāo):............................................................................................................................4 2.系統(tǒng)功能................................................................................................................................4 四、ER圖................................................................................................................................5 五、數(shù)據(jù)流程圖.......................................................................................................................5 六、系統(tǒng)可行性分析...............................................................................................................6 (1)可行性研究.....................................................................................................................6(2)系統(tǒng)實(shí)施運(yùn)行的可行性:.............................................................................................7(3)、技術(shù)可行性分析...........................................................................................................7(4)、社會(huì)可行性、法律可行性分析...................................................................................7(5)、用戶操作可行性...........................................................................................................7(6)、經(jīng)濟(jì)可行性分析...........................................................................................................8 七、結(jié)論意見(jiàn)...........................................................................................................................8 一、前言 如今我們的生活越來(lái)越離不開(kāi)超市,超市已經(jīng)是我們的生活的一部分。超市需要處理大量的庫(kù)存信息,還要時(shí)刻更新產(chǎn)品的銷售信息,不斷添加商品信息。面對(duì)不同種類的信息,需要合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)來(lái)保存數(shù)據(jù)信息,需要有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。讓管理人員對(duì)超市的進(jìn)貨情況、銷售情況和庫(kù)存情況了如指掌,進(jìn)而能更好的對(duì)商品進(jìn)行調(diào)度??梢约哟笕肆ぷ鞯男屎蜕唐返倪M(jìn)出貨效率并且可以減輕使用者繁雜的工作。 可行性研究的目的是為了對(duì)問(wèn)題進(jìn)行研究,以最小的代價(jià)在最短的時(shí)間內(nèi)確定問(wèn)題是否可解。再經(jīng)過(guò)對(duì)此項(xiàng)目進(jìn)行詳細(xì)調(diào)查研究,初步擬定系統(tǒng)的實(shí)現(xiàn)報(bào)告,對(duì)軟件開(kāi)發(fā)中將要面臨的問(wèn)題及其解決方案進(jìn)行初步設(shè)計(jì)及合理安排。明確開(kāi)發(fā)風(fēng)險(xiǎn)及其所帶來(lái)的經(jīng)濟(jì)效益。通過(guò)可行性研究,該計(jì)劃是否應(yīng)該執(zhí)行,便顯而易見(jiàn)。 二、系統(tǒng)建立的背景及意義: 超市是一個(gè)我們很熟悉的詞語(yǔ),在我們生活中經(jīng)??梢钥吹剑?1世紀(jì),全球市場(chǎng)經(jīng)濟(jì)和現(xiàn)代信息技術(shù)的不斷發(fā)展,人民的生活不斷提高,以及人們消費(fèi)需求的不斷豐富,商品種類多樣化日漸增多。消費(fèi)水平提高,超市這樣的零售商之間的競(jìng)爭(zhē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)核心。商家不斷采取各種銷售手段吸引顧客眼球,也因而工作量增大,增多。在價(jià)格懸殊不大,商品種類類似,規(guī)模實(shí)力等同的情況下,高效率,高質(zhì)量,低成本,低損失等等則成為了競(jìng)爭(zhēng)的優(yōu)勢(shì)。而超市的進(jìn)貨、銷售、存貨、數(shù)量、種類、商品出庫(kù)以及員工等等都是影響這些的重要因素。然后,這些信息,量大而復(fù)雜,想要得到合理安排處理需要有很大的工作量,靠傳統(tǒng)的人工管理方式效率低,而且容易出錯(cuò),并且經(jīng)常會(huì)導(dǎo)致重復(fù)工作,浪費(fèi)時(shí)間,在人力資源上來(lái)說(shuō)也是一種浪費(fèi)。影響了超市的工作效率,錯(cuò)誤率高,浪費(fèi)成本。在此情況下如何使用現(xiàn)代化的工具,使企業(yè)和經(jīng)營(yíng)者個(gè)人在最小的投入下獲取最大的回報(bào)。成為每一個(gè)人的夢(mèng)想。因此,在超市管理中引進(jìn)現(xiàn)代化的辦公軟件,就成為時(shí)下最好的解決辦法。超市銷售管理信息系統(tǒng)的開(kāi)發(fā)和應(yīng)用是非常必要的,它能夠簡(jiǎn)便快速的記錄倉(cāng)庫(kù)存貨、銷售以及進(jìn)貨情況;及時(shí)了解庫(kù)存商品種類、數(shù)量,和所售商品種類、價(jià)格、數(shù)量;它還可以統(tǒng)計(jì)核算日常的不斷變化的數(shù)據(jù),并登記有關(guān)文件;在當(dāng)天匯總時(shí)修改相應(yīng)文件,如總金額、總數(shù)量等;并且可以根據(jù)日常統(tǒng)計(jì),制作月統(tǒng)計(jì),并制作月報(bào)表;并且利用它,我們可以了解人員的調(diào)配使用狀況,避免人員閑置或者人員緊張的狀況;另外可以通過(guò)它合理安排商品出庫(kù)順序及日期,避免商品過(guò)期浪費(fèi)的情況發(fā)生。這一切都大大提高超市的經(jīng)濟(jì)效益。 三、項(xiàng)目開(kāi)發(fā)目標(biāo)、系統(tǒng)功能 1.開(kāi)發(fā)目標(biāo): 為超市提供方便,快捷的結(jié)賬體系; 為超市提供準(zhǔn)確,高效的庫(kù)存和財(cái)務(wù)管理系統(tǒng); 為超市管理人員提供強(qiáng)大的管理和統(tǒng)計(jì)商品,資金的功能。 2.系統(tǒng)功能 A功能 ① 記錄倉(cāng)庫(kù)存貨、銷售以及進(jìn)貨情況 ② 了解超市進(jìn)貨渠道、商品單價(jià)、數(shù)量 ③ 了解庫(kù)存商品種類數(shù)量,所售商品種類、價(jià)格、數(shù)量 ④ 統(tǒng)計(jì)核算日常的不斷變化的數(shù)據(jù),并登記有關(guān)文件 ⑤ 分項(xiàng)顯示銷售商品后開(kāi)出的發(fā)票的內(nèi)容,并且詳細(xì)顯示商品價(jià)格數(shù)額 ⑥ 在當(dāng)天匯總時(shí)修改相應(yīng)文件,如總金額、總數(shù)量 ⑦ 根據(jù)日常統(tǒng)計(jì),制作月統(tǒng)計(jì),并制作月報(bào)表 四、ER圖 用戶名密碼商品總額銷售價(jià)格商品名稱員工銷售日期銷售顧客商品編號(hào)銷售數(shù)量庫(kù)存管理供貨價(jià)格銷售價(jià)格庫(kù)存數(shù)量商品名稱商品進(jìn)貨供應(yīng)商商品編號(hào)進(jìn)貨價(jià)格商品編號(hào)商品名稱供應(yīng)商電話供應(yīng)商編號(hào)供應(yīng)商名稱 五、數(shù)據(jù)流程圖 預(yù)售商品付款訂貨單供貨單小型超市管理系統(tǒng)與訂貨單不符的供貨單購(gòu)貨款顧客商品發(fā)票供貨廠商 六、系統(tǒng)可行性分析 (1)可行性研究 超市需要一套管理信息系統(tǒng),能夠從進(jìn)貨開(kāi)始,實(shí)現(xiàn)進(jìn)貨,上架,銷售,庫(kù)存,財(cái)務(wù),人力資源等等一系列信息的全面管理。通過(guò)系統(tǒng)實(shí)現(xiàn)各部門(mén)的分工合作,信息共享。是原來(lái)管理更加系統(tǒng),更全面,更快捷。 根據(jù)超市的狀況,迫切需要一套超市銷售管理系統(tǒng)。主要有兩個(gè)選擇: 1.購(gòu)置商品化的系統(tǒng) 2.根據(jù)自身實(shí)際情況,自行開(kāi)發(fā)軟(2)系統(tǒng)實(shí)施運(yùn)行的可行性: 各部門(mén)人員都已熟練掌握計(jì)算機(jī)的基本使用方法和操作技能,可以對(duì)新的系統(tǒng)進(jìn)行管理,和操作。 (3)、技術(shù)可行性分析 1.信息系統(tǒng)開(kāi)發(fā)方法。在開(kāi)發(fā)小組中有熟練掌握面向?qū)ο箝_(kāi)發(fā)軟件系統(tǒng)的資深系統(tǒng)分析員和程序員,在信息系統(tǒng)開(kāi)發(fā)方法上不存在任何問(wèn)題。 2.網(wǎng)絡(luò)和通訊技術(shù)開(kāi)發(fā)小組有專門(mén)的網(wǎng)絡(luò)技術(shù)人員,有N年的大型網(wǎng)絡(luò)組網(wǎng)經(jīng)驗(yàn)。3.C/S結(jié)構(gòu)規(guī)劃和設(shè)計(jì)技術(shù)開(kāi)發(fā)小組有豐富的C/S開(kāi)發(fā)經(jīng)驗(yàn)。4.數(shù)據(jù)庫(kù)技術(shù)有專業(yè)開(kāi)發(fā)數(shù)據(jù)庫(kù)的團(tuán)隊(duì)。 5.Java開(kāi)發(fā)技術(shù)開(kāi)發(fā)小組的所有成員均可熟練使用Java編程。綜上,在技術(shù)方面本系統(tǒng)開(kāi)發(fā)完全可行。 (4)、社會(huì)可行性、法律可行性分析 本團(tuán)隊(duì)開(kāi)發(fā)的超市管理信息系統(tǒng)符合社會(huì)需求,社會(huì)的發(fā)展也需要超市管理的現(xiàn)代化和信息化。且本團(tuán)隊(duì)開(kāi)發(fā)的系統(tǒng)與國(guó)家的法律法規(guī)不存在任何的抵觸之處。且符合工作人員的操作習(xí)慣。 (5)、用戶操作可行性 超市的經(jīng)營(yíng)者大多具備電腦基本操作知識(shí),對(duì)于必要的專業(yè)操作經(jīng)短期培訓(xùn)即可;管理基礎(chǔ)工作和各項(xiàng)管理制度比較健全,執(zhí)行嚴(yán)格,原始數(shù)據(jù)采集完整,保存良好。 ● 操作簡(jiǎn)單:簡(jiǎn)單的操作規(guī)則使操作人員能輕松掌握。● 查詢方便:用戶可設(shè)定任意條件和任意的查詢項(xiàng)目進(jìn)行檢索。 ● 統(tǒng)計(jì)靈活:任意條件下任意項(xiàng)目的產(chǎn)品入庫(kù)時(shí)間、數(shù)量等的統(tǒng)計(jì)及查詢項(xiàng)目均可進(jìn)行交叉統(tǒng)計(jì)。(6)、經(jīng)濟(jì)可行性分析 傳統(tǒng)的人工管理方式效率低,而且容易出錯(cuò),并且經(jīng)常會(huì)導(dǎo)致重復(fù)工作,浪費(fèi)時(shí)間,在人力資源上來(lái)說(shuō)也是一種浪費(fèi)。影響了超市的工作效率,錯(cuò)誤率高,浪費(fèi)成本。在此情況下使用超市管理系統(tǒng),超市管理系統(tǒng)的投入,能夠提高工作效率,減少工作人員,從而減少人力資本的投入,使企業(yè)和經(jīng)營(yíng)者個(gè)人在最小的投入下獲取最大的回報(bào),小型超市網(wǎng)絡(luò)設(shè)施健全,各部門(mén)電腦配置齊全,硬件投入不需要很大,只需要在技術(shù)上投資。大型連鎖超市的資金雄厚,總部積極支持系統(tǒng)開(kāi)發(fā),由此可見(jiàn),在超市使用此系統(tǒng)所獲得的收入遠(yuǎn)大于項(xiàng)目開(kāi)發(fā)所需要的費(fèi)用,也就是超市盈利遠(yuǎn)大于開(kāi)發(fā)費(fèi)用,以最小的代價(jià)獲得最高的收益。,從經(jīng)濟(jì)角度來(lái)說(shuō),本系統(tǒng)開(kāi)發(fā)完全必要,在經(jīng)濟(jì)上可行。 七、結(jié)論意見(jiàn) 經(jīng)過(guò)一系列的各個(gè)不同方面的可行性分析,從經(jīng)濟(jì),操作,技術(shù),和社會(huì)等各方面的可行性分析,可以確定本系統(tǒng)是完全有必要的,且是可行的,應(yīng)當(dāng)立項(xiàng)開(kāi)發(fā)。第四篇:小型超市管理系統(tǒng)需求分析
第五篇:小型超市管理系統(tǒng)可行性報(bào)告