超市销售管理系统

发布时间:2020-08-11   来源:文档文库   
字号:
精心打造





数据库课程设计



题目:超市销售管理系统
目录
未来
1
精心打造
1、项目计划
1.1系统开发目的 1.2背景说明 1.3项目确立 1.4应用范围 1.5定义 1.6参考资料
2、逻辑分析与详细分析
2.1系统功能 2.2数据流图 2.3用户类型与职能 2.4系统开发步骤 2.5系统环境需求 2.6系统安全问题
4、概要设计文档 5、逻辑设计文档 6、物理设计文档 7、小结 1、项目计划
1.1系统开发目的
1)大大提高超市的运作效率;
2)通过全面的信息采集和处理,辅助提高超市的决策水平;
3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,强超市扩张力, 提供有效的技术保障。
1.2背景说明
未来
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 程序设计》Rebecca M.Riordan 《软件工程规范》Watts S.Humphrey 清华大学出版社
《软件工程理论与实践》 Shari Lawrence Pfleeger 清华大学出版社 《软件需求分析》 Swapna Kishore 机械工业出版社 《软件工程思想》 林锐编

2、逻辑分析与详细分析
2.1系统功能

1)、零售前台(POS)管理系统,本系统必须具有以下功能:
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种3 未来
精心打造
电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。

独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业
(2、后台管理系统,本系统必须具备以下功能
进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改)可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。
销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。
人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。销售权限管理。

2.5、系统环境需求
系统模式

本系统采用C/S模式作为开发模式
硬件环境 服务器端:
未来
4
客户


精心打造
高性能的计算机一台, 普通的双绞线作为连接。 客户端: 普通的计算机或者工作站, 普通的双绞线作为连接。 软件环境 服务器端:安装SQL Server 2000的服务器版本,
安装windows 2000服务器版本,
配置了诺顿等必须的防毒软件。 客户端: 安装SQL Server2000的服务器版本, 安装了VB等可视化开发工具软件, 安装windows2000服务器版本。

2.6、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。 系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强 系统使用者的使用权限是可识别的
4、超市销售系统概念设计文档
1、系统ER

未来
5
精心打造
员工姓名 员工类型
员工ID 员工
m 员工密码
销售ID 销售
销售日期
供货商ID 商品ID
n
n
m 供货
供货商
供货商地址 供货商名称
商品
价格
供货商电话
供货日期
供货金额
n 交易ID 交易
交易金额
交易日期
m 会员
会员号 累计金额 注册时间
未来
6
精心打造
2、系统ER图说明
1
商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;
2 每个顾客可以购买多种商品,不同商品可由不同顾客购买; 3 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。 3、视图设计
1 交易视图(v_Dealing——用于查询交易情况的视图; 2 计划进货视图(v_PlanStock——用于查询进货计划的视图; 3 销售视图(v_Sale——用于查询销售明细记录的视图; 4 入库视图(v_Stock——用于查询入库情况的视图。
5、逻辑设计文档
1、系统关系模型
a
b c d e f
商品信息表(商品编号,商品名称,价格,供货商编号) 员工表(用户编号,用户名称,用户密码,用户类型) 会员表(会员号,累积消费金额,注册日期)
销售表(销售编号,商品编号,销售数量,销售金额,销售日期) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)


2、系统数据库表结构
数据库表索引
表名
MerchInfo User Menber Sale Dealing Provide

商品信息表(MerchInfo 字段名
MerchID 中文名
商品信息表 用户表 会员表 销售表 交易表 供货商表
字段类型 长度
int
4 /外键 字段值约束
P
未来对应中文名
商品编号
Not null 7
精心打造
MerchName MerchPrice ProvideID Varchar Money Varchar 50 4 10
F Not null Not null Not null 商品名称 价格 供货商编号

员工表(User 字段名
UserID UserName UserPW UserStyle 字段类型 长度
varchar Varchar Varchar Int 10 25 50 4 /外键 字段值约束
P

Not null Not null Not null Not null 对应中文名
员工编号 员工名称 员工密码 员工类型

会员表(Menber 字段名
MemberID TotalCost RegDate 字段类型 长度
Varchar Money Datetime 10 4 8 /外键 字段值约束
P

Not null Not null Not null 对应中文名
会员编号 累积消费金额 注册日期

销售表(Sale 字段名
SaleID MerChID SaleDate SaleNum SalePrice 字段类型 长度
Varchar Varchar Datetime Int Money 10 10 8 4 4 /外键 字段值约束
P F

Not null Not null Not null Not null Not null 对应中文名
销售编号 商品编号 销售日期 销售数量 销售单额

交易表(Dealing 字段名
DealingID DealingPrice DealingDate MemberID UserName 字段类型 长度
Varchar Money Money Varchar Varchar 10 4 4 10 10 /外键 字段值约束
P
F Not null Not null Not null
Not null 对应中文名
交易编号 交易金额 交易日期 会员卡号 员工名称

供货商表(Provide 字段名
ProvideID ProvideName ProvidePhone 字段类型 长度
varchar Varchar Varchar 10 50 250 25 /外键 字段值约束
P

Not null Not null

对应中文名
供货商编号 供货商名称 供货商地址 供货商电话
ProvideAddress Varchar

未来
8
精心打造
6、物理设计文档
/*----------创建数据库----------*/ create database SuperMarketdb on primary ( name=SuperMarketdb, filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf', size=100MB, maxsize=200MB, filegrowth=20MB
log on (
name=SuperMarketlog, filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf', size=60MB, maxsize=200MB, filegrowth=20MB go

/*----------创建基本表----------*/ use [SuperMarketdb] go /*创建交易表*/ CREATE TABLE Dealing ( DealingID int identity(1,1 Primary key , DealingDate datetime NOT NULL , DealingPrice money NOT NULL , UserName varchar(25 NULL , MemberCard varchar(20 NULL GO /*创建厂商表*/ CREATE TABLE Factory ( FactoryID varchar(10 Primary key , FactoryName varchar(50 NOT NULL , FactoryAddress varchar(250 NULL , FactoryPhone varchar(50 NULL
GO /*创建会员表*/ 9
未来
精心打造
CREATE TABLE Member ( MemberID varchar(10 Primary key , MemberCard varchar(20 NOT NULL , TotalCost money NOT NULL , RegDate datetime NOT NULL
GO /*创建商品信息表*/ CREATE TABLE MerchInfo ( MerchID int identity(1,1 Primary key , MerchName varchar(50 Unique NOT NULL , MerchPrice money NOT NULL , MerchNum int NOT NULL , CautionNum int NOT NULL ,
PlanNum int NOT NULL , BarCode varchar(20 Unique NOT NULL , SalesProPrice money NULL , SalesProDateS datetime NULL , SalesProDateE datetime NULL , AllowAbate int NOT NULL , AllowSale int NOT NULL , FactoryID int NOT NULL , ProvideID int NOT NULL GO /*创建供应商表*/ CREATE TABLE Provide ( ProvideID varchar(10 Primary key , ProvideName varchar(50 NOT NULL , ProvideAddress varchar(250 NULL , ProvidePhone varchar(25 NULL
GO /*创建销售表*/ CREATE TABLE Sale ( SaleID int identity(1,1 Primary key ,
MerChID int NOT NULL , SaleDate datetime NOT NULL , SaleNum int NOT NULL, SalePrice money NOT NULL GO /*创建入库表*/ CREATE TABLE Stock ( 10 未来
精心打造
StockID int identity(1,1 Primary key , MerchID int NOT NULL , MerchNum int NOT NULL , MerchPrice money NULL , TotalPrice money NULL , PlanDate datetime NULL , StockDate datetime NULL, StockState int NOT NULL GO /*创建用户表*/ CREATE TABLE User ( UserID varchar(10 Primary key , UserName varchar(25 NOT NULL , UserPW varchar(50 NOT NULL , UserStyle int NOT NULL , GO

/*----------创建表间约束----------*/ /*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/ ALTER TABLE MerchInfo ADD CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID] REFERENCES Factory ( [FactoryID]
, CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID] REFERENCES Provide ( [ProvideID]
GO /*销售表中商品编号与商品信息表之间的外键约束*/ ALTER TABLE Sale ADD CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID] REFERENCES MerchInfo (
[MerchID]
ON DELETE CASCADE
11
未来
精心打造
GO /*入库表中商品编号与商品信息表之间的外键约束*/ ALTER TABLE Stock ADD CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID] REFERENCES MerchInfo (
[MerchID] ON DELETE CASCADE GO

/*----------创建索引----------*/ /*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate GO /*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID GO /*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate GO /*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/ CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID GO

/*----------创建视图----------*/ /*创建用于查询交易情况的视图*/ CREATE VIEW v_Dealing AS SELECT DealingDate as 交易日期, UserName as 员工名称, MemberCard as 会员卡号, DealingPrice as 交易金额 FROM Dealing GO /*创建用于查询进货计划的视图*/ CREATE VIEW v_PlanStock AS SELECT Stock.StockID as SID, MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, 12 未来
精心打造
Provide.ProvideName as 供货商, Stock.MerchNum as 计划进货数量, Stock.PlanDate as 计划进货日期 FROM Stock,MerchInfo,Provide,Factory Where Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=0 GO /*创建用于查询销售明细记录的视图*/ CREATE VIEW v_Sale AS SELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, MerchInfo.MerchPrice as 商品价格, Sale.SalePrice as 销售价格, Sale.SaleNum as 销售数量, Sale.SaleDate as 销售日期
FROM Sale INNER JOIN MerchInfo ON Sale.MerChID = MerchInfo.MerchID GO /*创建用于查询入库情况的视图*/ CREATE VIEW v_Stock AS SELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchPrice as 入库价格, Stock.MerchNum as 入库数量, Stock.TotalPrice as 入库总额, Stock.StockDate as 入库日期 FROM Stock,MerchInfo,Provide,Factory Where Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=1 GO
7、小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,
提高效益,减少差错,节
未来
13
精心打造
省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
本系统只适合小型超市使用,不能适合中大型超市使用;

超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。


未来
14

本文来源:https://www.2haoxitong.net/k/doc/5caf006669d97f192279168884868762cbaebb75.html

《超市销售管理系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式