数据库课程设计小型超市管理系统.docx
《数据库课程设计小型超市管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计小型超市管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
数据库课程设计小型超市管理系统
数据库课程设计
题目:
超市管理系统
组员:
邓胜龙,陈夏华班级:
计本(0901)目录
应用范围
定义
参考资料
数据流图
用户类型与职能
系统开发步骤
系统安全问题
5、逻辑设计文档
6、物理设计文档
7、小结
1、项目计划
系统开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超
市扩张力,提供有效的技术保障。
背景说明21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势,多种业态:
超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:
前台POSS售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
应用范围
本系统适应于各种小型的超市。
定义
(1)商品条形码:
每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。
(2)交易清单:
包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。
(3)商品积压:
在一定时期内,远无法完成销售计划的商品会造成积压。
(4)促销:
在一定时期内,某些商品会按低于原价的促销价格销售。
库存告警提示:
当商品的库存数量低于库存报警数量时发出提示。
(5)盘点:
计算出库存、销售额、盈利等经营指标。
参考资料
《数据库原理及设计》陶宏才编清华大学出版社
《SQLServer2000实用教程》范立南编清华大学出版社《SQLServer2000编程员指南》李香敏编北京希望电子出版社《轻松搞定SQLServer2000程序设计》Rebecca编《软件工程规范》Watts编清华大学出版社
《软件工程理论与实践》ShariLawrencePfleeger编清华大学出版社《软件需求分析》SwapnaKishore编机械工业出版社
《软件工程思想》林锐编
2、逻辑分析与详细分析
系统功能
(1)、,本系统必须具有以下功能:
商品录入:
根据超市业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。
会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性:
OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业:
有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常
作业
(2)、后台管理系统,本系统必须具备以下功能
进货管理:
根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询
打印计划进货与入库记录及金额。
销售管理:
商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售
明细记录、各地收银员收银记录以及交结账情况等。
按多种方式统计生成销售排行
榜,灵活察看和打印商品销售日、月、年报表。
库存管理:
综合查询库存明细记录。
库存状态自动告警提示。
如库存过剩、少货、
缺货等。
软件为您预警,避免库存商品积压损失和缺货。
库存自动盘点计算。
客户销售
人员管理:
员工、会员、供货商、厂商等基本信息登记管理。
员工操作权限管理。
权限管理。
(3)系统结构
系统总体结构
小型超市零售管理系统
前台POS销售系统
功能描述:
商品录入
收银业务
-
nJ
]▼
1
进货管理
销售管理
库存管理
模块子系统结构
商
0
支持会员卡打折
功能描述:
收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。
功能描述:
进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。
销售管理
功能描述:
销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情
况并产生年、月、日报表,同时可以生成销售排行榜。
功能描述:
库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。
人员管理
功能描述:
人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。
、流程图
前台管理系统顶层DFD图
第0层DFD图
第1层DFD图
、户类型与职能
(1)、员工(营业员):
通过商品条形码扫描输入商品到购买清单操作软件计算交易总金额操作软件输出交易清单
对会员进行会员卡扫描以便打折
(2)、:
超市经理
操作软件录入商品,供货商,厂商操作软件制定进货计划查询打印计划进货与入库记录操作软件控制商品销售与否查询打印销售情况操作软件生成销售排行榜查询库存明细记录根据软件发出的库存告警进行入货操作软件进行盘点计算
(3)、总经理:
基本信息登记管理员工操作权限管理客户销售权限管理
、统开发步骤
确定参与者和相关的用况为每个用况设计过程建立顺序图,确定每个脚本中对象的协作创建类,确定脚本中的对象设计,编码,测试,集成类为过程编写系统测试案例运行测试案例,检验系统
、系统环境需求
系统模式本系统采用C/S模式作为开发模式
硬件环境服务器端:
高性能的计算机一台,普通的双绞线作为连接。
客户端:
普通的计算机或者工作站,普通的双绞线作为连接。
软件环境
服务器端:
安装SQLServer2000的服务器版本,安装windows2000服务器版本,
配置了诺顿等必须的防毒软件。
客户端:
安装SQLServer2000的服务器版本,
安装了VB等可视化开发工具软件,安装windows2000服务器版本。
、系统安全问题
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。
常见因素有:
数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。
因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:
为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
系统要能重建
系统应该是可审查的
系统应能进行有效控制,抗干扰能力强系统使用者的使用权限是可识别的
3、基于UML的建模
语义规则
用例模型(usecasesview)(用例视图)的基本组成部件是用例(usecase)、角色(actor)和系统(system)。
用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。
角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。
系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。
在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:
外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。
UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
用例(usecase):
k
参与者(actor):
►
、UML模型
、系统UML模型
、子系统UML模型
(1零售前台(POS管理系统用例视图
(2)后台管理系统用例视图
、系统实现图
4、超市销售系统概念设计文档
(1)、系统ER图
消费
购买日期
消费金额
m
会员卡号
注册时间
累计金额
ID
供货
供货日期
供货金额
销售
用户姓名
价格
销售ID
商品ID
商品名
用户密码
用户类型
用户号
供货商
供货商名称
供货商电话
厂商名称
厂商ID
生产
厂商电话
厂商地址
供货商地址
用户ID
供货商
会员
(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)进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)
g)供货商表(供货商编号,供货商名称,供货商地址,供货商电话)
h)厂商表(厂商编号,厂商名称,厂商地址,厂商电话)
(2)、系统数据库表结构
数据库表索引
表名
中文名
MerchInfo
商品信息表
User
用户表
Menber
会员表
Sale
销售表
Dealing
交勿表
Stock
进货入库表
Provide
供货商表
Factory
厂商表
商品信息表(Merchlnfo)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
MerchID
int
4
P
Notnull
商品编号
MerchName
Varchar
50
Notnull
商品名称
MerchPrice
Money
4
Notnull
价格
MerchNum
Int
4
Notnull
库存数量
CautionNum
Int
4
Notnull
库存报警数量
PlanNum
Int
4
null
计划进货数
BarCode
Varchar
50
Notnull
条形码
SalesProPrice
Money
4
促销价格
SalesProDateS
Datetime
8
促销起日期
SalesProDateE
Datetime
8
促销止日期
AllowAbate
Int
4
Notnull
允许打折
AllowSale
Int
4
Notnull
允许销售
FactoryID
Varchar
10
F
Notnull
厂商编号
ProvideID
Varchar
10
F
Notnull
供货商编号
用户表(User)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
UserID
varchar
10
P
Notnull
用户编号
UserName
Varchar
25
Notnull
用户名称
UserPW
Varchar
50
Notnull
用户密码
UserStyle
Int
4
Notnull
用户类型
会员表(Menber)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
MemberID
Varchar
10
P
Notnull
会员编号
MemberCard
Varchar
20
Notnull
会员卡号
TotalCost
Money
4
Notnull
累积消费金额
RegDate
Datetime
8
Notnull
注册日期
销售表(Sale)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
SaleID
Varchar
10
P
Notnull
销售编号
MerChID
Varchar
10
F
Notnull
商品编号
SaleDate
Datetime
8
Notnull
销售日期
SaleNum
Int
4
Notnull
销售数量
SalePrice
Money
4
Notnull
销售单额
交易表(Dealing)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
DealingID
Varchar
10
P
Notnull
交易编号
DealingPrice
Money
4
Notnull
交易金额
DealingDate
Money
4
Notnull
交易日期
MemberID
Varchar
10
会员卡号
UserName
Varchar
10
F
Notnull
用户名称
入库纪录表(Stock)
字段名
|字段类型
长度
主/外键
字段值约束
对应中文名
StockID
Varchar
10
P
Notnull
入库编号
MerchID
Varchar
10
F
Notnull
入库商品编号
MerchNum
Int
4
Notnull
入库数量
MerchPrice
Money
4
Notnull
单额
TotalPrice
Money
4
Notnull
总额
StockDate
Datetime
8
Datetime
入库日期
PlanDate
Datetime
8
Datetime
计划进货日期
StockState
Int
4
Notnull
入库状态
供货商表(Provide)
字段名
字段类型
|长度
主/外键
字段值约束
对应中文名
ProvideID
varchar
10
P
Notnull
供货商编号
ProvideName
Varchar
50
Notnull
供货商名称
ProvideAddress
Varchar
250
供货商地址
ProvidePhone
Varchar
25
供货商电话
厂商表(Provide)
字段名
字段类型
「长度
主/外键
字段值约束
对应中文名
FactoryID
varchar
10
P
Notnull
厂商编号
FactoryName
Varchar
50
Notnull
厂商名称
FactoryAddress
Varchar
250
厂商地址
FactoryPhone
Varchar
25
厂商电话
6、物理设计文档
/*创建数据库*/
createdatabaseSuperMarketdb
onprimary
(
name=SuperMarketdb,
filename='C:
\ProgramFiles'MicrosoftSQLServer\MSSQL\Data\',size=100MB,
maxsize=200MB,filegrowth=20MB
)
logon
(
name=SuperMarketlog,
filename='C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\',size=60MB,
maxsize=200MB,filegrowth=20MB
)
go
/*创建基本表*/
use[SuperMarketdb]
go
/*创建交易表*/
CREATETABLEDealing(
DealingIDintidentity(1,1)Primarykey,
DealingDatedatetimeNOTNULL,
DealingPricemoneyNOTNULL,
UserNamevarchar(25)NULL,MemberCardvarchar(20)NULL
GO
/*创建厂商表*/
CREATETABLEFactory(
FactoryIDvarchar(10)Primarykey,FactoryNamevarchar(50)NOTNULL,FactoryAddressvarchar(250)NULL,FactoryPhonevarchar(50)NULL
)
GO
/*创建会员表*/
CREATETABLEMember(
MemberIDvarchar(10)Primarykey,MemberCardvarchar(20)NOTNULL,TotalCostmoneyNOTNULL,RegDatedatetimeNOTNULL
)
GO
/*创建商品信息表*/
CREATETABLEMerchInfo(MerchIDintidentity(1,1)Primarykey,MerchNamevarchar(50)UniqueNOTNULL,MerchPricemoneyNOTNULL,MerchNumintNOTNULL,CautionNumintNOTNULL,PlanNumintNOTNULL,BarCodevarchar(20)UniqueNOTNULL,SalesProPricemoneyNULL,SalesProDateSdatetimeNULL,SalesProDateEdatetimeNULL,AllowAbateintNOTNULL,AllowSaleintNOTNULL,FactoryIDintNOTNULL,ProvideIDintNOTNULL
)
GO
/*创建供应商表*/
CREATETABLEProvide(
ProvideIDvarchar(10)Primarykey,ProvideNamevarchar(50)NOTNULL,ProvideAddressvarchar(250)NULL,ProvidePhonevarchar(25)NULL
)
GO
/*创建销售表*/
CREATETABLESale(
SaleIDintidentity(1,1)Primarykey,MerChIDintNOTNULL,
SaleDatedatetimeNOTNULL,
SaleNumintNOTNULL,
SalePricemoneyNOTNULL
)
GO
/*创建入库表*/
CREATETABLEStock(
StockIDintidentity(1,1)Primarykey,MerchIDintNOTNULL,MerchNumintNOTNULL,MerchPricemoneyNULL,TotalPricemoneyNULL,PlanDatedatetimeNULL,StockDatedatetimeNULL,StockStateintNOTNULL
)
GO
/*创建用户表*/
CREATETABLEUser(
UserIDvarchar(10)Primarykey,
UserNamevarchar(25)NOTNULL,
UserPWvarchar(50)NOTNULL,
UserStyleintNOTNULL,
)
GO
/*创建表间约束*/
/*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/ALTERTABLEMerchInfoADD
CONSTRAINT[FK_MerchInfo_Factory]FOREIGNKEY
(
[FactoryID]
)REFERENCESFactory(
[FactoryID]
),CONSTRAINT[FK_MerchInfo_Provide]FOREIGNKEY(
[ProvideID]
)REFERENCESProvide(
[ProvideID]
)
GO
/*销售表中商品编号与商品信息表之间的外键约束*/
ALTERTABLESaleADD
CONSTRAINT[FK_Sale_MerchInfo]FOREIGNKEY
(
[MerChID]
)REFERENCESMerchInfo(
[MerchID]
)ONDELETECASCADE
GO
/*入库表中商品编号与商品信息表之间的外键约束*/
ALTERTABLEStockADD
CONSTRAINT[FK_Stock_MerchInfo]