软件工程课程设计超市销售管理系统电子教案Word文档下载推荐.docx
《软件工程课程设计超市销售管理系统电子教案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计超市销售管理系统电子教案Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。
现在的超市已经成为人们日常生活中不可缺少的一个组成部分,它的存在给人们的生活带来了很大的方便。
做为超市内部的人员,商品和销售的管理工作,对超市的成功经营十分重要。
然而传统的管理,主要以人工为主,不但费时费力,风险也较大。
21世纪,超市销售的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是销售业的竞争核心。
该超市管理系统将用于各种超市的超市进出货,消费者信息和职工信息的管理,实现以计算机辅助形式代替传统的手工查询记录形式,减轻超市管理人员的劳动强度,提高工作质量和效率,从而使超市管理更加合理化和科学化。
1.2可行性研究
针对超市的特点,为了帮助超市经营者节约人力开销有设备开销,提高超市的处理速度和竞争力,扩大超市的经济效益,我们将开发以下子系统:
前台销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。
采用这种方法来对整个超市系统进行高效的管理,达到自动化、科技化的目的。
管理可行性分析:
超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可;
管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好。
经济可行性分析:
超市管理系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,根据核算,系统投入三个月后,就能够基本收回开发系统的投资,从经济角度来说,本系33统开发完全必要。
技术可行性分析本系统涉及到的技术因素:
管理系统的开发方法。
使用结构化和面向对象开发方法开发软件系统编程、数据库技术。
开发小组能使用Java编程同时熟悉数据库相关知识运行上的可行性:
操作简单:
简单的操作规则使操作人员能轻松掌握。
查询方便:
用户可设定任意条件和任意的查询项目进行检索。
统计灵活:
任意条件下任意项目的产品入库时间、数量等的统计及查询项目均可进行交叉统计。
在经济,技术,管理和社会因素方面都有可行性,可以确定本系统的开发完全必要,而且是可行的,可以立项开发。
2需求分析
2.1功能需求分析
1.零售前台管理系统功能
(1)商品录入:
根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
(2)收银业务:
通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。
如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行9.5折优惠,并将所购物品的总金额累计到该会员的总消费金额中。
会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
(3)安全性:
OS登陆、退出、换班与操作锁定等权限验证保护;
断电自动保护最大限度防止意外及恶意非法操作。
(4)独立作业:
有的断网收银机在网络服务器断开或网络不通的情况下,收银机仍能正常作业
2.后台管理系统功能
(1)进货管理:
根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。
按计划单有选择性地进行自动入库登记。
综合查询打印计划进货与入库记录及金额。
(2)销售管理:
商品正常销售、促销与限量、限期及禁止销售控制。
综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。
按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。
(3)库存管理:
综合查询库存明细记录。
库存状态自动告警提示。
如库存过剩、少货、缺货等。
软件为您预警,避免库存商品积压损失和缺货。
库存自动盘点计算。
(4)人员管理:
员工、会员、供货商、厂商等基本信息登记管理。
员工操作权限管理。
客户销售权限管理。
2.2需求总结
客户需求:
商品品种多样,商品易找,尽量便宜。
商家需求:
必须具备记录仓库存货、销售以及进货情况,通过该系统了解超市进货渠道、商品单价、数量,库存商品的种类、数量,销售商品种类、价格、数量,以便管理员根据以上信息作出经营管理决策。
超市领域专业人士:
在性能方面要求系统核算准确,使实存商品、销售商品与所记帐目一致,能够被超市长期有效使用。
数据主要来自于入库单、发票,超市销售在营业期间内一直发生,数据也就一直变化。
销售商品后开出发票,并且要显示商品价格数额。
超市数据资料有些属内部资料,不能为外人所知,系统须有保密措施,设置密码。
系统分析员:
查看资料需输入正确密码,销售人员销售货物需输入代号才能打开收银柜。
万一泄露密码,应设修改密码的程序,同时密码不能过于简单。
2.3分析建模
使用图形化的分析建模,包括用例图,数据流图,E-R图,其对应图如下:
超市管理总系统用例图:
图2-1超市管理总系统用例图
超市工作人员工作范围:
(1)员工(营业员):
●通过商品条形码扫描输入商品到购买清单
●操作软件计算交易总金额
●操作软件输出交易清单
●对会员进行会员卡扫描以便打折
(2)超市经理:
●操作软件录入商品,供货商,厂商
●操作软件制定进货计划
●查询打印计划进货与入库记录
●操作软件控制商品销售与否
●查询打印销售情况
●操作软件生成销售排行榜
●查询库存明细记录
●根据软件发出的库存告警进行入货
●操作软件进行盘点计算
(3)总经理:
●基本信息登记管理
●员工操作权限管理
●客户销售权限管理
超市管理系统DFD图:
图2-2超市管理系统DFD图
超市管理系统CDM模型:
图2-3超市管理系统CDM模型
系统E-R图:
(1)超市中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(工)销售,每个顾客可以购买多种商品,不同商品可由不同顾客购买;
(2)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。
图2-4系统E-R图
3概要设计
3.1系统功能模块图
超市销售管理系统主要分为前台销售系统和后台销售系统,前台主要负责商品的录入和收银业务两个模块,后台管理系统主要分为进货管理、销售管理、库存管理和人员管理几个模块。
前台销售系统
后台管理系统
商品录入
收银业务
进货管理
销售管理
库存管理
人员管理
图3-1系统功能模块图
3.2流程图
前台销售系统流程图:
图3-2前台销售流程图
后台管理系统用例图:
图3-3后台管理系统用例图
3.3E-R模型转化为对象模型
利用powerdesigner软件,从PDM模型中正向工程,生成关系模型,用SQL表示如下(由于篇幅限制,未全部给出):
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2005*/
/*Createdon:
2011/7/221:
43:
34*/
ifexists(select1
fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='
F'
)
wherer.fkeyid=object_id('
供货'
)ando.name='
FK_供货_供货_商品'
altertable供货
dropconstraintFK_供货_供货_商品
go
FK_供货_供货2_供货商'
dropconstraintFK_供货_供货2_供货商
/*Table:
会员*/
createtable会员(
会员IDchar(12)notnull,
累计金额moneynotnull,
注册时间datetimenotnull,
constraintPK_会员primarykeynonclustered(会员ID)
供货*/
createtable供货(
商品IDchar(20)notnull,
供货IDchar(12)notnull,
供货日期datetimenotnull,
供货金额moneynotnull,
constraintPK_供货primarykey(商品ID,供货ID)
/*Index:
供货_FK*/
createindex供货_FKon供货(
商品IDASC
供货商*/
createtable供货商(
供货商名称varchar(20)null,
供货商地址varchar(30)null,
供货商电话varchar(11)null,
constraintPK_供货商primarykeynonclustered(供货ID)
厂商*/
createtable厂商(
厂商IDvarchar(12)notnull,
厂商名称varchar(20)null,
厂商地址varchar(30)null,
厂商电话varchar(11)null,
constraintPK_厂商primarykeynonclustered(厂商ID)
商品*/
createtable商品(
商品名varchar(15)notnull,
商品价格moneynotnull,
允许打折bitnull,
促销价格moneynull,
允许销售bitnull,
constraintPK_商品primarykeynonclustered(商品ID)
消费*/
createtable消费(
消费金额moneynotnull,
购买日期datetimenotnull,
constraintPK_消费primarykey(商品ID,会员ID)
addconstraintFK_供货_供货2_供货商foreignkey(供货ID)
references供货商(供货ID)
altertable消费
addconstraintFK_消费_消费_商品foreignkey(商品ID)
references商品(商品ID)
altertable生产
addconstraintFK_生产_生产_商品foreignkey(商品ID)
altertable销售
addconstraintFK_销售_销售_客户foreignkey(客户ID)
references客户(客户ID)
4详细设计
4.1前台销售模块
模块用例图:
图4-1模块用例图
模块用例程序流程图:
Start
扫描条形码录入
信息
写入购物单
N
是否完成录入?
Y
生成购物单
计算商品总额
商品信息表
是否是会员?
会员信息表
计算会员卡打折厚的总额
找零
输入实收费用
是否等于总费用?
从库存中减去该商品
交易信息表
打印发票
Return
4-2模块用例程序流程图
4.2后台进货管理模块
图4-3模块用例图
4.3后台销售管理模块
图4-4模块用例图
图4-5模块用例程序流程图
图4-6模块用例程序流程图图4-7模块用例程序流程图
4.4后台库存管理模块
图4-8模块用例图
图4-9模块用例程序流程图
图4-10模块用例程序流程图
4.5后台人员管理模块
会员管理功能用例图:
图4-11会员管理功能用例图
图4-13模块用例程序流程图
图4-14模块用例程序流程图
5系统实现
5.1相关数据库建立
该系统涉及商品进销存管理,人员管理等,相应数据库建立语句如下:
/*----------创建数据库----------*/
createdatabaseSuperMarketdb
onprimary
(
name=SuperMarketdb,
filename='
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.mdf'
size=100MB,
maxsize=200MB,
filegrowth=20MB
logon
name=SuperMarketlog,
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\SuperMarketdb.ldf'
size=60MB,
/*----------创建基本表----------*/
use[SuperMarketdb]
/*创建交易表*/
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
/*创建会员表*/
CREATETABLEMember(
MemberIDvarchar(10)Primarykey,
MemberCardvarchar(20)NOTNULL,
TotalCostmoneyNOTNULL,
RegDatedatetimeNOTNULL
/*创建商品信息表*/
CREATETABLEMerchInfo(
MerchIDintidentity(1,1)Primarykey,
MerchNamevarchar(50)UniqueNOTNULL,
MerchPricemoneyNOTNULL,
MerchNumintNOTNULL,
CautionNumintNOTNULL,
PlanNumintNOTNULL,
BarCodevarchar(20)UniqueNOTNULL,
SalesProPricemoneyNULL,
SalesProDateSdatetimeNULL,
SalesProDateEdatetimeNULL,
AllowAbateintNOTNULL,
AllowSaleintNOTNULL,
FactoryIDintNOTNULL,
ProvideIDintNOTNULL
/*创建供应商表*/
CREATETABLEProvide(
ProvideIDvarchar(10)Primarykey,
ProvideNamevarchar(50)NOTNULL,
ProvideAddressvarchar(250)NULL,
ProvidePhonevarchar(25)NULL
/*创建销售表*/
CREATETABLESale(
SaleIDintidentity(1,1)Primarykey,
MerChIDintNOTNULL,
SaleDatedatetimeNOTNULL,
SaleNumintNOTNULL,
SalePricemoneyNOTNULL
/*创建入库表*/
CREATETABLEStock(
StockIDintidentity(1,1)Primarykey,
MerchIDintNOTNULL,
MerchPricemoneyNULL,
TotalPricemoneyNULL,
PlanDatedatetimeNULL,
StockDatedatetimeNULL,
StockStateintNOTNULL
/*创建用户表*/
CREATETABLEUser(
UserIDvarchar(10)Primarykey,
UserNamevarchar(25)NOTNULL,
UserPWvarchar(50)NOTNULL,
UserStyleintNOTNULL,
5.2前台销售系统的实现
登陆窗口:
图5-1登录窗口
条码录入窗口:
图5-2条码录入窗口
自动绘制小票窗口:
图5-3自动绘制小票窗口
收银窗口:
图5-4收银窗口
5.3后台管理系统的实现
图5-5登陆窗口
后台管理窗口:
图5-6后台管理窗口
图5-7后台管理窗口
6系统测试
6.1测试说明
完成编码和界面实现后,并不代表就完成了整个系统的制作,接下来就要对超市销售管理系统的功能和稳定性进行软件测试,尽量测试出设计中不合理的部分,并及时作出修改,完善系统。
本系统采用黑盒测试,测试方案包括功能测试、输入错误信息、输入不合理数据等,从而检测系统是否能够执行预计功能以及对错误信息是否具有识别功能。
6.2测试项目
(1)前台销售模块测试
主机接受用户输入的各种条形码信息(主机需要实现条形码扫描的快速录入方法)然后经网络传送给服务器。
计算出账单,打印