標題:小型超市管理系統
1,項目計劃
1.1系統開發目的
(1)大大提高了超市的運營效率;
(2)通過全面的信息收集和處理,協助提高超市的決策水平;
(3)使用該系統可以快速提高超市的管理水平,為降低運營成本、提高效率、增強超市的擴張性提供有效的技術支持。
1.2背景說明
21世紀,超市的競爭也進入了壹個全新的領域。競爭不再是規模的競爭,而是技術、管理和人才的競爭。技術和管理的升級是超市行業競爭的核心。目前,零售領域呈多元化趨勢發展,超市、倉儲式商店、便利店、加盟店、專賣店、倉庫等多種業態並存。如何在激烈的競爭中提高銷售額,降低經營成本,擴大經營規模,成為超市經營者追求的目標。
1.3項目立項
針對超市的特點,為了幫助超市解決現在面臨的問題,提高小超市的競爭力,我們將開發以下系統:前端POS銷售系統和後端管理系統,其中這兩個子系統包含其他子功能。
1.4適用範圍
該系統適用於各種小型超市。
1.5定義
(1)商品條碼:每件商品都有唯壹的條碼。對於壹些價格相同的產品,可以使用自定義條形碼。
(2)交易清單:包括交易流水號,每種商品的商品名和數量,該類商品的總金額,交易時間,負責該收銀的員工號。
(3)貨物積壓:在壹定時期內,遠未完成銷售計劃的貨物會造成積壓。
(4)促銷:在壹定時期內,某些商品會以低於原價的促銷價格出售。
庫存報警提示:當商品的庫存數量低於庫存報警數量時,進行提示。
(5)存貨:計算存貨、銷售、利潤等經營指標。
1.6引用
《數據庫原理與設計》,陶主編,清華大學出版社。
《SQL Server 2000實用教程》範立南主編清華大學出版社。
《SQL Server 2000程序員指南》李主編,北京希望電子出版社出版
《SQL Server 2000的簡易編程》,麗貝卡·m·賴爾丹編輯
《軟件工程代碼》,Watts S.Humphrey主編,清華大學出版社。
《軟件工程理論與實踐》,Shari Lawrence Pfleeger主編,清華大學出版社。
軟件需求分析,Swapna Kishore編輯,機械工業出版社。
芮林主編的軟件工程思想。
2.邏輯分析和詳細分析
2.1系統功能
(1)零售前臺(POS)管理系統,本系統必須具備以下功能:
商品輸入:根據超市業務特點制定相關功能,通過輸入唯壹編號、掃描條形碼、商品名稱等,實現準確或模糊的商品掃描輸入。這種掃描輸入方式可以充分保證各種計算機操作水平的人都能準確、快速地掃描輸入商品。
收銀業務:通過掃描條碼或直接輸入商品名稱(多種同類商品壹次性添加數量),自動計算出本次交易的總金額。客戶付款後,自動計算找零並打印交易清單(包括交易流水號、每種商品的商品名和數量、該類商品的總金額、交易時間、負責該收銀員的員工號)。如果顧客是我店會員,持有自己的會員卡,在交易前掃描會員卡,購買的商品全部打八五折,購買的商品總金額累計到會員的總消費金額中。會員卡的有效期是壹年。壹年後不續卡,會員卡將被註銷。
安全性:OS登錄、退出、換班、操作鎖等權限驗證保護;停電自動保護最大限度防止事故和惡意違章操作。
獨立運行:部分收銀機即使網絡服務器斷開或網絡被阻斷,仍能正常工作。
(2)、後臺管理系統,本系統必須具備以下功能
采購管理:根據銷售情況和庫存情況,自動制定采購計劃(或手工修改),可以避免盲目采購造成的貨物積壓。根據計劃清單有選擇地進行自動入庫登記。全面查詢和打印計劃采購和倉儲記錄及金額。
銷售管理:控制正常銷售,促銷和配額,截止日期和禁止銷售。全面查詢各種明細銷售記錄,全國各地收銀員收銀記錄,支付結算。通過多種方式統計生成銷售排行榜,靈活查看和打印商品銷售日報表、月報、年報。
庫存管理:全面查詢庫存明細記錄。庫存狀態自動報警提示。如積壓、短缺、缺貨等。軟件為您提供預警,避免庫存商品的丟失和短缺。自動庫存盤點計算。
人員管理:員工、會員、供應商、廠商等基本信息的登記和管理。員工操作權限的管理。客戶銷售權限管理。
(3)系統結構
系統總體結構
模塊化子系統結構
功能描述:商品錄入子系統要求快速錄入商品,因此必須支持條碼掃描。
功能描述:收銀業務子系統可以根據會員卡計算交易總額,打印交易清單和折扣。
功能描述:采購管理子系統可以根據庫存自動指定采購計劃,采購時自動分級,並提供計劃采購和入庫記錄的查詢和打印功能。
功能描述:銷售管理子系統可以控制壹種商品是否允許銷售,查詢每種商品的銷售情況,生成年報、月報、日報表,生成銷售圖表。
功能描述:庫存管理子系統提供查詢庫存明細記錄、根據庫存狀況進行報警、自動統計計算的基本功能。
功能描述:人事管理子系統提供基本信息註冊管理、員工操作權限管理、客戶銷售權限管理功能。
2.2、流程圖
前臺管理系統
頂部DFD圖
第0層DFD圖
1層的DFD圖
2.3、家居類型和功能
(1),員工(銷售人員):
通過商品條碼掃描將商品錄入采購清單。
操作軟件計算交易總額。
操作軟件輸出交易清單。
掃描會員卡以獲得折扣。
(2),:超市經理
通過操作軟件輸入貨物、供應商和制造商。
操作軟件制定采購計劃
查詢並打印計劃采購和倉儲記錄
操作軟件控制商品的銷售與否。
詢問印刷品銷售情況
操作軟件生成銷售排行榜
查詢庫存明細記錄
根據軟件發出的庫存報警來輸入商品。
操作庫存計算軟件。
(3)總經理:
基本信息註冊管理
員工操作權限管理
客戶銷售權限管理
2.4、統壹開發步驟
確定參與者和相關用例
為每個用例設計流程
建立序列圖,確定每個腳本中對象的協作。
創建類來標識腳本中的對象。
設計、編碼、測試、集成課程
為流程編寫壹個系統測試用例
運行測試用例並測試系統。
2.5、系統環境要求
系統模型
本系統采用C/S模式作為開發模式。
硬件環境
服務器端:
壹臺高性能計算機,
普通雙絞線用作連接。
客戶機:壹臺普通的計算機或工作站,
普通雙絞線用作連接。
軟件環境
服務器端:安裝SQL Server 2000的服務器版本,
安裝windows 2000 server版本,
已配置諾頓和其他必要的防病毒軟件。
客戶端:安裝SQL Server2000的服務器版本,
安裝VB等可視化開發工具。
安裝windows2000 server版本。
2.6、系統安全問題
信息系統雖然功能強大,技術先進,但由於自身架構、設計思路和運行機制的限制,也包含著許多不安全因素。常見的因素有:數據輸入、輸出、存取和備份,源程序和應用軟件,數據庫、操作系統等漏洞或缺陷,硬件,通信漏洞,內部因素,病毒,“黑客”等因素。因此,為了使這壹系統安全、可靠、穩定地工作,必須考慮以下問題:為了保證安全,系統不應受到事故的損壞,系統應能防止火災、盜竊或其他形式的人為損壞。
系統應該可以重建。
該系統應該是可審計的。
系統應能有效控制,抗幹擾能力強。
系統用戶的權限是可識別的。
3.基於UML的建模。
3.1語義規則
用例視圖的基本組件是用例、參與者和系統。用例用於描述系統的功能,即從外部用戶的角度來看,系統應該支持哪些功能來幫助分析人員理解系統的行為。它是系統功能的宏觀描述。壹個完整的系統通常包含幾個用例,每個用例都指定了要完成的功能,並代表了系統的所有基本功能(集)。角色是與系統交互的外部實體。它可以是系統用戶,也可以是其他系統或硬件設備。簡而言之,任何需要與系統交互的東西都可以稱為角色。系統邊界線內的區域(即用例的活動區域)抽象地表示了系統能夠實現的所有基本功能。在壹個基本功能(集)已經實現的系統中,系統運行的壹般流程是:外部角色先初始化用例,然後用例執行它所代表的功能,執行後用例返回壹些值給角色,可以是角色需要系統提供的任何東西。
UML:它是壹種標準的圖形化建模語言,是面向對象分析和設計的標準表示;它不是可視化編程語言,而是可視化建模語言。它不是工具或知識庫的規範,而是建模語言規範,是表達的標準;它既不是進程,也不是方法,但允許任何進程或方法使用它。
使用案例:
演員:
3.2、UML模型
3.21,系統UML模型
3.22、子系統UML模型
(1)零售前臺(POS)管理系統的用例視圖
(2)後臺管理系統的用例視圖
3.3、系統實現圖
4.超市銷售系統概念設計文件
(1),系統ER圖
(2)系統ER圖描述
1)店內所有用戶(員工)可以銷售多種商品,每種商品可以由不同的用戶(員工)銷售;
2)每個顧客可以購買多種商品,不同的商品可以由不同的顧客購買;
3)每個供應商可以供應多種不同的商品,每種商品可以由多個供應商供應。
(3)視圖設計
1)交易視圖(V _ Dealing)——查詢交易狀態的視圖;
2)計劃采購視圖(v _計劃庫存)-查詢采購計劃的視圖;
3)銷售視圖(V _ SALE)——查詢銷售明細的視圖;
4)入庫視圖(V _ stock)-查詢入庫狀態的視圖。
5.邏輯設計文檔
(1),系統關系模型
a)商品信息表(商品編號、商品名稱、價格、條形碼、促銷價格、促銷開始日期、促銷結束日期、允許折扣、庫存數量、庫存報警數量、計劃采購數量、允許銷售、制造商編號和供應商編號)
b)用戶表(用戶編號、用戶名、用戶密碼和用戶類型)
c)會員名單(會員號、會員卡號、累計消費金額和註冊日期)
d)銷售表(銷售編號、商品編號、銷售數量、銷售金額和銷售日期)
e)交易表(交易號、用戶名、交易金額、會員卡號、交易日期)
f)進貨清單(進貨編號、進貨商品編號、進貨數量、單筆金額、總金額、進貨日期、計劃進貨日期、進貨狀態)
g)供應商列表(供應商編號、供應商名稱、供應商地址和供應商電話號碼)
h)供應商列表(供應商編號、供應商名稱、供應商地址、供應商電話號碼)
(2)、系統數據庫表結構
數據庫表索引
表名的中文名稱
MerchInfo商品信息表
用戶用戶表
會員名單
銷售銷售表
交易交易表
庫存進出清單
提供供應商列表
工廠制造商列表
MerchInfo (Merchinfo)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
MerchID int 4 P Not null商品編號
MerchName Varchar 50非空商品名稱
MerchPrice Money 4非空價格
MerchNum Int 4不為空庫存數量
原因編號int 4不為空庫存警報數量
計劃數量Int 4計劃采購數量為空
條形碼Varchar 50非空條形碼
銷售費用4促銷價格
銷售產品日期時間8促銷開始日期
銷售生產日期時間8促銷結束日期
Allowbate int 4 not null允許折扣。
AllowSale Int 4 Not null允許銷售。
工廠id varchar 10 f非空制造商編號
Provideidvarchar 10 f非空供應商編號
用戶表(用戶)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
UserID varchar 10 P非空用戶號
用戶名Varchar 25非空用戶名
用戶密碼不為空
UserStyle Int 4 Not null用戶類型
成員名單(成員)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
成員varchar 10 p非空成員號
MemberCard Varchar 20 Not null會員卡號
總成本金額4不為空累計消費金額
註冊日期日期時間8不為空註冊日期
銷售表(銷售)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
SaleID Varchar 10 P Not null銷售編號
MerChID Varchar 10 F非空商品編號
銷售日期日期時間8不為空銷售日期
SaleNum Int 4 Not null銷售數量
銷售價格金額4不為空銷售訂單金額
交易表(交易)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
交易id varchar 10 p非空交易號
交易價格金額4不為空交易金額
交易日期貨幣4不為空交易日期
MemberID Varchar 10會員卡號
用戶名varchar10f非空用戶名
庫存記錄表(庫存)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
StockID Varchar 10 P非空倉儲號
MerchID Varchar 10 F Not null入境商品編號
MerchNum Int 4 Not null接收數量
MerchPrice Money 4單筆金額不為空
總價貨幣4合計不為空
庫存日期日期時間8日期時間入庫日期
計劃日期日期時間8日期時間計劃購買日期
庫存狀態Int 4不為空倉儲狀態
供應商列表(提供)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
Provideidvarchar10 p非空供應商編號
ProvideName Varchar 50非空供應商名稱
供應商地址
提供電話Varchar 25供應商電話
供應商列表(提供)
字段名字段類型長度主/外鍵字段值約束對應的中文名稱
工廠id varchar 10 p非空制造商編號
FactoryName Varchar 50非空制造商名稱
FactoryAddress Varchar 250制造商地址
FactoryPhone Varchar 25工廠電話
6、實物設計文件
/*-創建數據庫*/
創建數據庫超級市場
初選時
(
name=SuperMarketdb,
filename = ' C:\ Program Files \ Microsoft SQL Server \ MSSQL \ Data \ supermarketdb . MDF ',
size=100MB,
maxsize=200MB,
文件增長=20MB
)
登錄
(
name=SuperMarketlog,
filename = ' C:\ Program Files \ Microsoft SQL Server \ MSSQL \ Data \ supermarketdb . ldf ',
大小=60MB,
maxsize=200MB,
文件增長=20MB
)
去
/* -創建基本表*/
使用[超級市場數據庫]
去
/*創建交易表*/
創建表格交易(
DealingID int identity(1,1)主鍵,
DealingDate日期時間不為空,
交易價格不為空,
用戶名varchar(25) NULL,
MemberCard varchar(20) NULL
)
去
/*創建供應商表*/
創建表工廠(
FactoryID varchar(10)主鍵,
FactoryName varchar(50)不為空,
FactoryAddress varchar(250) NULL,
FactoryPhone varchar(50) NULL
)
去
/*創建成員資格表*/
創建表成員(
MemberID varchar(10)主鍵,
MemberCard varchar(20)不為空,
總成本金額不為空,
RegDate日期時間不為空
)
去
/*創建商品信息表*/
創建表MerchInfo(
MerchID int identity(1,1)主鍵,
merch name varchar(50)Unique NOT NULL,
商品價格不為空,
MerchNum int不為空,
警告int不為空,
PlanNum int不為空,
條形碼varchar(20)唯壹不為空,
銷售價格為空,
SalesProDateS日期時間為空,
SalesProDateE日期時間為空,
AllowAbate int不為空,
AllowSale int不為空,
FactoryID int不為空,
ProvideID int不為空
)
去
/*創建供應商表*/
創建表格提供(
ProvideID varchar(10)主鍵,
ProvideName varchar(50)不為空,
ProvideAddress varchar(250) NULL,
ProvidePhone varchar(25) NULL
)
去
/*創建銷售表*/
創建表格銷售(
SaleID int identity(1,1)主鍵,
MerChID int不為空,
銷售日期日期時間不為空,
SaleNum int不為空,
銷售價格金額不為空
)
去
/*創建收據表*/
創建表格庫存(
StockID int identity(1,1)主鍵,
MerchID int不為空,
MerchNum int不為空,
商品價格為空,
總價金額為空,
計劃日期日期時間為空,
StockDate日期時間為空,
庫存狀態int不為空
)
去
/*創建用戶表*/
創建表用戶(
UserID varchar(10)主鍵,
用戶名varchar(25)不為空,
UserPW varchar(50)不為空,
UserStyle int不為空,
)
去
/*-在表之間創建約束*/
/*商品信息表中的供應商編號和供應商編號與供應商表和供應商表中的供應商編號之間的外鍵約束*/
更改表MerchInfo添加
約束[FK _ merchin fo _工廠]外鍵
(
[FactoryID]
)引用工廠(
[FactoryID]
),
約束[FK_MerchInfo_Provide]外鍵
(
[提供ID]
)參考資料提供(
[提供ID]
)
去
/*銷售表中商品編號與商品信息表之間的外鍵約束*/
更改表銷售添加
約束[FK _銷售_商業信息]外鍵
(
[默契德]
)引用MerchInfo(
[默契德]
)在刪除層疊時
去
/*收貨表中商品編號和商品信息表之間的外鍵約束*/
更改表格庫存添加
約束[FK股票信息]外鍵
(
[默契德]
)引用MerchInfo(
[默契德]
)在刪除層疊時
去
/* -創建索引。
/*創建非聚集索引,將事務編號和事務日期作為事務表上的索引項*/
在Dealing(DealingID,DealingDate)上創建非聚集索引IX_Dealing
去
/*創建壹個非聚集索引,將商品編號作為商品信息表的索引項*/
在MerchInfo(MerchID)上創建非聚集索引IX_MerchInfo
去
/*創建壹個非聚集索引,將銷售編號和日期作為銷售表的索引項*/
創建非聚集索引IX_Sale ON Sale(SaleID,SaleDate)
去
/*創建壹個非聚集索引,將倉儲號、倉儲日期和商品號作為倉儲表上的索引項*/
在Stock(StockID,StockDate,MerchID)上創建非聚集索引IX_Stock
去
/* -創建視圖。
/*創建用於查詢交易狀態的視圖*/
創建視圖v_Dealing
如同
選擇交易日期作為交易日期,
用戶名作為員工姓名,
MemberCard作為會員卡號,
交易價格作為交易金額
來自交易
去
/*創建用於查詢采購計劃的視圖*/
創建視圖v_PlanStock
如同
選擇股票。StockID為SID,
MerchInfo。MerchName作為商品名稱,
MerchInfo。條形碼作為條形碼,
工廠。工廠名稱作為制造商,
提供。提供供應商名稱,
股票。汞作為計劃采購數量,
股票。計劃日期作為計劃采購日期
來自庫存、MerchInfo、供應商、工廠
股票在哪裏。MerchID = MerchInfo。默希德
並提供。ProvideID=MerchInfo。ProvideID
和工廠。FactoryID=MerchInfo。FactoryID
和股票。庫存狀態=0
去
/*創建用於查詢銷售明細記錄的視圖*/
創建視圖v_Sale
如同
選擇MerchInfo。MerchName作為商品名稱,
MerchInfo。條形碼作為條形碼,
MerchInfo。商品價格作為商品價格,
銷售。銷售價格作為銷售價格,
銷售。salenumas銷售數量,
銷售。銷售日期作為銷售日期
來自銷售內部連接
MerchInfo打折。MerChID = MerchInfo。默希德
去
/*創建用於查詢收據狀態的視圖*/
創建視圖v_Stock
如同
選擇MerchInfo。MerchName作為商品名稱,
MerchInfo。條形碼作為條形碼,
工廠。工廠名稱作為制造商,
提供。提供供應商名稱,
股票。作為倉儲價格,
股票。mershnumas入庫數量,
庫存總額。總價為:
股票。庫存日期作為入庫日期
來自庫存、MerchInfo、供應商、工廠
股票在哪裏。MerchID = MerchInfo。默希德
並提供。ProvideID=MerchInfo。ProvideID
和工廠。FactoryID=MerchInfo。FactoryID
和股票。庫存狀態=1
去
7.摘要
與傳統管理模式相比,該系統的使用無疑將大大提高超市的運營效率,有助於提高超市的決策水平和管理水平,為降低運營成本、提高效率、減少差錯、節省人力、減少顧客購物時間、增加客流、提高顧客滿意度、增強超市擴容能力提供有效的技術支持。
由於開發人員能力有限,時間又短,這個系統不可避免地會有壹些缺點,如:
這個系統只適用於小型超市,不適用於中大型超市。
超市管理系統涉及面廣,需要解決的問題多,功能復雜,實現難度大,但由於時間的限制,本系統只能做到其部分功能;
對於以上問題,我們深表歉意。如果發現其他問題,希望老師批評指正。