《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 連鎖超市管理信息系統(tǒng)分析與設(shè)計(jì)

連鎖超市管理信息系統(tǒng)分析與設(shè)計(jì)

2009-08-28
作者:黃清序 盧玉蓉

  摘? 要: 介紹了一種基于面向?qū)ο?/a>方法和原型法的系統(tǒng)設(shè)計(jì)思想在連鎖超市管理信息系統(tǒng)設(shè)計(jì)中的應(yīng)用。

  關(guān)鍵詞: 連鎖超市? MIS系統(tǒng)? 面向?qū)ο? 原型法? 系統(tǒng)分析

?

  在進(jìn)入21世紀(jì)的今天,信息資源已成為現(xiàn)代生產(chǎn)和經(jīng)營(yíng)管理中一項(xiàng)至關(guān)重要的經(jīng)濟(jì)資源。連鎖超市企業(yè)采用計(jì)算機(jī)、收款機(jī)、條形碼、網(wǎng)絡(luò)等先進(jìn)技術(shù)和設(shè)備,通過商業(yè)管理信息系統(tǒng)的開發(fā)與應(yīng)用,克服了連鎖超市管理中的盲目性和決策中的隨意性,有利于對(duì)超市進(jìn)行科學(xué)和規(guī)范的現(xiàn)代化管理,提高工作效率。更重要的是連鎖超市通過信息管理軟件能將收集到的信息及時(shí)迅速地為生產(chǎn)廠家所共享,使產(chǎn)、供、銷之間信息反饋的時(shí)間差、地區(qū)差幾乎縮小到零。如:生產(chǎn)和流通中的庫(kù)存規(guī)模在不斷縮小,甚至不再需要庫(kù)存;相關(guān)的運(yùn)輸工具由大變小、運(yùn)輸頻率加快,資金占用由多變少,消除了信息在傳統(tǒng)生產(chǎn)、流通等諸多環(huán)節(jié)中的浪費(fèi)。信息可以代替庫(kù)存、資本、勞動(dòng)力。因此建立一套完善合理的連鎖超市綜合信息管理系統(tǒng),不但有助于增強(qiáng)連鎖超市的市場(chǎng)競(jìng)爭(zhēng)力,而且對(duì)超市的管理產(chǎn)生深遠(yuǎn)的影響。

1?系統(tǒng)分析

  大型連鎖超市MIS系統(tǒng)不同于一般的單超市MIS系統(tǒng),它的用戶需求是復(fù)雜而且多變的,系統(tǒng)分析人員很難在設(shè)計(jì)初期將所有的用戶需求考慮周到。同時(shí)用戶需求的變化將造成系統(tǒng)設(shè)計(jì)的反復(fù)變更修改,可能導(dǎo)致軟件產(chǎn)品達(dá)不到預(yù)期的目標(biāo)。這些都是傳統(tǒng)的系統(tǒng)分析方法難以解決的問題。而面向?qū)ο蠓治龇椒ńY(jié)合原型法可以很好地解決這些問題。因?yàn)椴徽撚脩粜枨笕绾巫兓?系統(tǒng)的核心業(yè)務(wù)是基本不變的,核心業(yè)務(wù)中的對(duì)象也是基本不變的。所以系統(tǒng)分析員可以先對(duì)核心業(yè)務(wù)進(jìn)行分析,從中提取基本的業(yè)務(wù)對(duì)象,實(shí)現(xiàn)相應(yīng)的對(duì)象組件,在此基礎(chǔ)上構(gòu)建原型系統(tǒng)。隨后,用戶參與開發(fā)過程,同開發(fā)人員一起逐步對(duì)系統(tǒng)進(jìn)行功能擴(kuò)展和修改。由于使用了面向?qū)ο蟮姆治龇椒ê突趯?duì)象組件的開發(fā)方法,原型系統(tǒng)功能的擴(kuò)展可通過添加新類、派生原有類或者修改原有類方法和屬性等方式達(dá)到目的。在這個(gè)過程中只要保證類與類間的接口不變,就可以避免需求變化導(dǎo)致的整體反復(fù)修改。這樣開發(fā)出的系統(tǒng)的可重用性、可修改性、可擴(kuò)充性較好,開發(fā)周期也較短。

1.1 核心業(yè)務(wù)需求描述

  連鎖配送模式是當(dāng)前許多大型連鎖超市所采用的經(jīng)營(yíng)管理模式,它的機(jī)構(gòu)設(shè)置和業(yè)務(wù)流如圖1所示(圖中方框表示機(jī)構(gòu),橢圓表示業(yè)務(wù),箭頭表示數(shù)據(jù)的流向)。

?

  (1)機(jī)構(gòu)設(shè)置:連鎖超市由連鎖總部、配送中心、下屬多個(gè)分店等機(jī)構(gòu)組成。

  (2)總部職能:總部中設(shè)置采購(gòu)部和財(cái)務(wù)部。采購(gòu)部負(fù)責(zé)和供貨商簽訂合同,采購(gòu)商品。財(cái)務(wù)部負(fù)責(zé)每月結(jié)算,向供貨商付款和向分店收款。

  (3)分店職能:各分店負(fù)責(zé)銷售商品。分店通過收款機(jī)(POS機(jī))和掃描槍等設(shè)備完成收銀工作。每次交易由掃描槍讀取顧客購(gòu)買商品條碼,由收款機(jī)記錄商品銷售單并且打印出收銀條交給顧客。

  (4)配送處理:分店沒有進(jìn)貨權(quán),配送中心可以主動(dòng)向分店配送商品,或者在分店缺貨時(shí),根據(jù)分店向配送中心發(fā)出的配送請(qǐng)求(稱之為“點(diǎn)菜”),由配送中心開配送單,隨貨物一起運(yùn)送到分店。

  (5)要貨處理:當(dāng)配送中心庫(kù)存中沒有分店所要的貨物或者數(shù)額不足時(shí),由分店直接向采購(gòu)部發(fā)出要貨請(qǐng)求。

  (6)采購(gòu)業(yè)務(wù):采購(gòu)部根據(jù)采購(gòu)計(jì)劃或者分店的要貨請(qǐng)求,填寫采購(gòu)訂單,然后傳真給簽訂過合同的供貨商,要求供貨商送貨。

  (7)送貨業(yè)務(wù):供貨商填寫送貨單,隨采購(gòu)訂單傳真和貨物一起送到配送中心。

  (8)商品入庫(kù):對(duì)照采購(gòu)訂單和送貨單內(nèi)容驗(yàn)收,開驗(yàn)收入庫(kù)單將商品入庫(kù)。

  (9)月末結(jié)算:財(cái)務(wù)部每月對(duì)當(dāng)月的配送中心驗(yàn)收入庫(kù)單和各分店銷售單進(jìn)行結(jié)算。根據(jù)供貨商的商品入庫(kù)情況和銷售情況開具付款通知單向廠商付款。根據(jù)各分店銷售收入情況開收款通知單向分店收繳營(yíng)業(yè)收入。

  (10)倉(cāng)庫(kù)構(gòu)成:各個(gè)分店中對(duì)顧客開放的賣場(chǎng)、各個(gè)分店的倉(cāng)庫(kù)、配送中心的倉(cāng)庫(kù)可看作構(gòu)成整個(gè)連鎖超市企業(yè)大倉(cāng)庫(kù)的各個(gè)倉(cāng)位。

1.2 對(duì)象的提取

  根據(jù)核心需求的描述,提取對(duì)象如圖2所示。提取對(duì)象為:連鎖總部、配送中心、分店、采購(gòu)部、財(cái)務(wù)部、供貨商、合同、商品、收款機(jī)、商品銷售單、配送中心、配送請(qǐng)求、配送單、要貨請(qǐng)求、采購(gòu)定單、送貨單、驗(yàn)收入庫(kù)單、付款通知單、收款通知單、倉(cāng)位,連鎖超市的經(jīng)營(yíng)目標(biāo)是銷售商品獲取利潤(rùn),因此將商品劃為目標(biāo)對(duì)象。連鎖超市的每一次進(jìn)銷存活動(dòng)數(shù)據(jù)全都記錄在各種單據(jù)和合同里,因此將這些單據(jù)和合同劃為數(shù)據(jù)對(duì)象。

?

  其中,對(duì)象泛化是指對(duì)各種單據(jù)抽象出“單據(jù)”對(duì)象。除了收款通知單和付款通知單外,其他單據(jù)中單據(jù)明細(xì)欄均記錄了流通的一種或多種商品的編碼、數(shù)量和價(jià)格等信息,因此可以抽象出單據(jù)明細(xì)項(xiàng)對(duì)象。對(duì)文員、收銀員、業(yè)務(wù)員、各級(jí)經(jīng)理等這些人員對(duì)象可抽象出用戶對(duì)象。

1.3 系統(tǒng)類圖

  根據(jù)對(duì)象提取的結(jié)果結(jié)合核心業(yè)務(wù)描述設(shè)計(jì)原型系統(tǒng)類圖如圖3所示。

?

2 ?系統(tǒng)設(shè)計(jì)

2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)

  因?yàn)榇蠖鄶?shù)數(shù)據(jù)管理庫(kù)系統(tǒng)使用的是關(guān)系型數(shù)據(jù)庫(kù),所以需將上述的對(duì)象模型映射到關(guān)系模型中,即將類映射為數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,將類的某些屬性映射為相應(yīng)數(shù)據(jù)表中的字段。機(jī)構(gòu)類、商品類和用戶類不存在上層父類,可以直接將類圖中的屬性映射為相應(yīng)的各機(jī)構(gòu)表、商品表和用戶表的各字段。對(duì)于存在繼承關(guān)系的數(shù)據(jù)類如單據(jù)超類和各單據(jù)類,采用只將子類轉(zhuǎn)換成表的辦法,父類的屬性由各子類對(duì)應(yīng)表收集,這樣就得到了配送單表、銷售單表等單據(jù)主表和保存各單據(jù)項(xiàng)的配送單明細(xì)表、銷售單明細(xì)表等單據(jù)明細(xì)表。

2.2 對(duì)象組件的實(shí)現(xiàn)

  連鎖超市MIS系統(tǒng)采用了表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層三層結(jié)構(gòu)體系。其中業(yè)務(wù)層是整個(gè)系統(tǒng)的核心,體現(xiàn)了整個(gè)系統(tǒng)的功能,業(yè)務(wù)層通常由基于組件技術(shù)構(gòu)建的業(yè)務(wù)組件構(gòu)成。在類圖和數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)完成后,下一步就是將類圖中的封裝業(yè)務(wù)邏輯的類編程實(shí)現(xiàn)為組件。在實(shí)際表現(xiàn)層和業(yè)務(wù)層的開發(fā)中,采用了Visual C#作為開發(fā)工具。因?yàn)閂isual C#的優(yōu)勢(shì)在于既有助于快速的應(yīng)用程序開發(fā),又允許大量的控制權(quán)。它包含了最新的數(shù)據(jù)訪問技術(shù)ADO.NET,而且能很好地與Web應(yīng)用開發(fā)、XML和多重新興技術(shù)集成。選擇Visual C#可以極大地提高開發(fā)效率。

2.3 客戶端的開發(fā)

  連鎖超市的專用收款機(jī)的硬件配置一般較低,不適合運(yùn)行Windows系統(tǒng),但是如果為此而更換大量POS機(jī)也是不現(xiàn)實(shí)的。因此開發(fā)運(yùn)行在DOS平臺(tái)上的POS機(jī)軟件是必要的。POS機(jī)軟件開發(fā)的技術(shù)難點(diǎn)是如何在16位DOS下與Sql Server通信。SQL Server提供了DB-Library庫(kù)函數(shù)可供在標(biāo)準(zhǔn)C下調(diào)用。程序員也可以更方便地在C程序中嵌入SQL語(yǔ)句,在程序編譯前使用nsqlprep.exe程序進(jìn)行預(yù)編譯,將源代碼中SQL語(yǔ)句轉(zhuǎn)換為對(duì)應(yīng)的DB-Library函數(shù)語(yǔ)句。POS程序運(yùn)行時(shí)必須有dbnmpipe.exe駐留內(nèi)存才能保證DOS客戶端與數(shù)據(jù)服務(wù)器正常連接。

2.4 網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的分布式設(shè)計(jì)

  連鎖超市的總部、分店、配送中心往往處于一個(gè)城市不同的地理位置,它們各自的局域網(wǎng)需通過幀中繼、電話線撥號(hào)或Internet等方式方式實(shí)現(xiàn)遠(yuǎn)程互聯(lián)。系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。在遠(yuǎn)程連接帶寬有限的情況下,若各分店的收款機(jī)客戶端程序直接讀寫總部數(shù)據(jù)服務(wù)器的數(shù)據(jù),將導(dǎo)致收款機(jī)客戶端程序響應(yīng)緩慢,增加顧客的排隊(duì)等待時(shí)間。更嚴(yán)重的是,如果遠(yuǎn)程連接出現(xiàn)故障,分店的收款機(jī)客戶端程序?qū)o法工作,造成不必要的銷售損失。

?

  因此連鎖超市信息管理系統(tǒng)有必要采用分布式數(shù)據(jù)庫(kù)結(jié)構(gòu):即一級(jí)數(shù)據(jù)服務(wù)器設(shè)在總部,二級(jí)數(shù)據(jù)服務(wù)器設(shè)在各分店。在總部和分店分別安裝SQL Server2000數(shù)據(jù)服務(wù)器,整體上構(gòu)成一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng)。

  數(shù)據(jù)的分配如下:總部數(shù)據(jù)服務(wù)器保存整個(gè)企業(yè)所有的業(yè)務(wù)數(shù)據(jù),采購(gòu)部、財(cái)務(wù)部、配送中心和各分店店長(zhǎng)的管理業(yè)務(wù)處理均在總部數(shù)據(jù)服務(wù)器上進(jìn)行,分店只保存與收銀業(yè)務(wù)密切相關(guān)的數(shù)據(jù)。由于POS機(jī)工作時(shí)僅讀取商品的條碼、名稱、價(jià)格等信息和保存每筆銷售的數(shù)據(jù),因此在各個(gè)分店的數(shù)據(jù)庫(kù)服務(wù)器上只需要保存總部數(shù)據(jù)服務(wù)器上的商品表副本和本分店的銷售單表。這樣一方面保證了POS機(jī)的響應(yīng)速度,另一方面又保證了分店在與遠(yuǎn)程總部斷開后收銀工作仍能正常進(jìn)行。

  數(shù)據(jù)的同步與更新方法:(1)在總部商品表修改時(shí)(如總部對(duì)某商品統(tǒng)一調(diào)價(jià))引發(fā)一個(gè)觸發(fā)器,利用SQL Server2000的復(fù)制機(jī)制在觸發(fā)器的處理過程中設(shè)置總部為發(fā)布者,分店為訂閱者,由總部向分店更新商品表。(2)在每日交班后的非營(yíng)業(yè)期間,由分店作為發(fā)布者向總部訂閱者上傳各個(gè)分店的當(dāng)日銷售單表數(shù)據(jù)。(3)各分店數(shù)據(jù)上傳完畢后,由總部服務(wù)器集中對(duì)各倉(cāng)位庫(kù)存、各商品銷售金額等統(tǒng)計(jì)數(shù)據(jù)進(jìn)行重新計(jì)算。雖然這種數(shù)據(jù)同步方式使得總部不能實(shí)時(shí)地監(jiān)控各個(gè)分店的銷售情況,但在連鎖配送模式下,分店有一定的經(jīng)營(yíng)自主權(quán),分店可以實(shí)時(shí)地根據(jù)本地的銷售記錄作出相應(yīng)的決策。因此這種同步方式在不影響業(yè)務(wù)的情況下可適應(yīng)分店與總部距離較遠(yuǎn)網(wǎng)絡(luò)帶寬較低的情況。

  實(shí)踐證明,在連鎖超市MIS軟件開發(fā)中采用分析核心業(yè)務(wù)→提取對(duì)象→設(shè)計(jì)類圖→設(shè)計(jì)數(shù)據(jù)表→編寫組件和用戶界面→架設(shè)原型系統(tǒng)→需求分析深化→擴(kuò)充系統(tǒng)功能這樣一個(gè)反復(fù)迭代過程是行之有效的。

?

參考文獻(xiàn)

1? Normanr J.面向?qū)ο笙到y(tǒng)分析與設(shè)計(jì).北京:清華大學(xué)出版社,1998

2? 陳世鴻,彭蓉.面向?qū)ο筌浖こ?北京:電子工業(yè)出版社,1999

3? 薛華成.管理信息系統(tǒng)(第2版).北京:清華大學(xué)出版社,1993

4? 李慶發(fā).完全探索Microsoft.net技術(shù)戰(zhàn)略.北京:中國(guó)青年出版社,2002

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。