超市管理系统详细设计已完成Word下载.docx
《超市管理系统详细设计已完成Word下载.docx》由会员分享,可在线阅读,更多相关《超市管理系统详细设计已完成Word下载.docx(35页珍藏版)》请在冰豆网上搜索。
![超市管理系统详细设计已完成Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/26/6709b676-8ab5-49f0-b0fd-3bf7cec49086/6709b676-8ab5-49f0-b0fd-3bf7cec490861.gif)
本软件是为了让便超市管理人员对进销存的管理开发的要求系统界面友好,使用便,提供对商品信息、用户信息、商品销售情况的编辑、查询、统计报表等全面的数据管理功能,同时使收银员能便的对每一位客户的消费进展扫描、收费、输入等操作,便进货人员进货时对商品进展统计、存储。
同时还能便管理员对所有记录进展查看、删除、以及管理不同角色的权限。
此外系统还具有一定的平安性和可维护性。
2.1需求概述
系统协助中小型超市工作人员实现各种日常事物的管理。
其中,收银员具有销售管理的权限。
进货人具有进货管理的权限。
仓库管理员具有仓库管理的权限。
一般工作人员具有查看自己信息和工作情况的权限。
经理具有查看销售情况、进货情况、销售分析、进货分析等权限。
此外,对于系统本身的维护,系统具备一定的平安机制和信息备份机制,对用户分级管理,设置用户权限,保证系统平安性。
2.2程序系统的构造
2.2.1系统模块调用关系图
2.2.2数据库表构造图
列名
描述
功能
USERID
登录Id
主键
USERNO
登录用户名
USERPWD
登录密码
USERTYPEID
登录用户类型
外键〔UserType表->
USERTYPEID〕
USERSTATUS
用户状态
登录用户Id
USERTYPENAME
用户类型
GOODSUNITID
商品单位Id
GOODSUNIT
商品单位名字
FIRST_TYPEID
商品大类Id
FIRST_TYPENAME
商品大类名称
SECOND_TYPEID
商品小类Id
SECOND_TYPENAME
商品小类名称
外键〔GoodsType_first->
FIRST_TYPEID〕
GOODSTYPEID
商品细类Id
GOODSTYPE
商品细类名称
商品中类Id
外键〔GoodsType_second->
SECOND_TYPEID〕
Goods_info表
商品信息
GOODSID
商品Id
GOODSNAME
商品名称
GOODSCODE
商品条形码
唯一约束
GOODSMODEL
商品类型
商品单位id
外键〔Goodsunit_info->
GOODSUNITID〕
GOODSUNITID_1
辅助商品单位id
GOODSUNITRELATION
辅助单位关系
GOODSBID
进价
GOODSPRICE
售价
GOODSSHELFLIFE
保质期
EARLYWARNING
剩余数量警告
商品类型id
外键(GoodsType_info->
GOODSTYPEID)
GOODSREMARK
备注
EMPLOYEEID
员工Id
EMPLOYEENAME
员工XX
EMPLOYEESEX
性别
DATEOFBIRTH
出生日期
EMPLOYEEPHONE
员工
EMPLOYEEADRESS
住址
ASSISTNAME
联系人XX
ASSISTPHONE
联系人
EMPLOYEESALARY
工资
EMPLOYEEBONUS
奖金
用户类型id
EMPLOYEEMARK
PURCHASEID
进货记录Id
SUPPLIERID
供给商id
外键〔SUPPLIERINFO->
SUPPLIERID〕
PURCHASEDATA
操作日期
OPERATORID
经办人id
外键〔UserInfo->
userid〕
PURCHASEPRICE
总金额
REALPAYMENT
实付金额
PURCHASEREMARK
ASSESSFLAG
是否审核
外键〔PurchaseInfo->
PURCHASEID〕
外键〔Goods_Info->
GOODSCODE〕
GOODSAMOUNT
商品数量
DATAOFMANUFACTURE
生产日期
DETAILREMARK
RE_PURCHASEID
退货记录Id
RE_PURCHASEDATA
RE_OPERATORID
RE_PURCHASEPRICE
REALRECEIVABLE
RE_PURCHASEREMARK
RE_ASSESSFLAG
外键〔Re_PurchaseInfo->
Re_PURCHASEID〕
RE_DETAILREMARK
SALEID
销售记录Id
VIPID
客户id
外键〔VIPINFO->
VipID〕
SALEDATA
销售日期
TOTALPRICE
CASHPAYMENT
现金支付金额
BANKCARDPAYMENT
银行卡支付金额
DISCOUNTPRICE
打折后金额
外键〔SaleInfo->
SALEID〕
SALEREMARK
RE_SALEID
销售退货记录Id
RE_SALEDATA
退货日期
RE_TOTALPRICE
退货总金额
RE_REALPAYMENT
退货实退金额
RE_REMARK
退货备注〔原因〕
外键〔Re_SaleInfo->
Re_SALEID〕
RESALEREMARK
退货备注备注
供给商Id
SUPPLIERNAME
供给商名称
CONTACT
CONTACTNUMBER
CONTACTPHONE
联系人手机
ADRESS
地址
SUPPLIERREMARK
主键、外键〔Goods_Info->
STOCKNUMBER
库存数量
问题数量
OPERATOR
REMOVEDATA
移进日期
PROBLEM_REMARK
备注〔问题描述〕
STOCKRECORDID
流水id
RECORDTYPE
流水类型
GOODSMOUNT
RECORDREMARK
OPERADATA
用户id
主键、外键〔UserInfo->
SELL
销售权限
RE_SELL
销售退货权限
PURCHASE
进货权限
RE_PURCHASE
进货退货权限
STOCKVIEW
查看仓库权限
EMPLOYEEVIEW
查看员工权限
EMPLOYEEADD
增加员工权限
EMPLOYEEMODIFY
修改员工权限
EMPLOYEEDELETE
删除员工权限
SUPPLIERVIEW
供给商查看权限
SUPPLIERADD
增加供给商权限
SUPPLIERMODIFY
修改供给商权限
SUPPLIERDELETE
删除供给商权限
RECORDVIEW
查看记录权限
RECORDMODIFY
修改记录权限
GOODSVIEW
查看商品权限
GOODSADD
增加商品权限
GOODSMODIFY
修改商品权限
UNITADD
增加商品单位权限
TYPEADD
增加商品类型权限
JOURNALINGVIEW
报表查看权限
PASSWORDMODIFY
修改密码权限
PERMISSIONSET
修改权限权限
USERTYPEADD
增加用户类型权限
3.程序描述
3.1销售管理模块
3.1.1模块名:
销售录入
编号1.1
功能:
提供窗口让销售人员输入销售的商品信息,vip信息,更改数据库数据
输入工程:
角色输入的商品信息
输出工程:
根据角色输入的信息更新数据库文件
算法:
1.根据操作时间自动生成销售记录id。
2.判断要提交容是否合法,不合法给出相应提示。
3.事务更新数据库,假设中间环节出错,给出相应提示。
程序流程图:
接口:
1.销售录入窗口中商品id号可通过商品管理模块传递参数。
储存分配:
通过销售录入模块,商品销售信息会更新到相应数据库,存储分配案如下:
1.销售信息更新到SaleInfo数据表。
2.销售商品详情更新到SaleDetail数据表。
3.根据商品销售数量更新StockInfo表对应的商品数量。
4.仓库出入记录信息更新到StockRecord表。
限制条件:
1.限制操作用户更改操作人信息
2.限制操作人输入不存在的VIP信息、供给商信息、商品信息。
3.限制销售数量大与库存数量。
测试要点:
1.对输入框自动检测系统测试。
2.对限制条件测试。
3.对大数据批量更新测试。
4.对商品数量为0时测试。
5.对促销情况测试。
3.1.2模块名:
销售退货
编号1.2
提供窗口让销售人员输入退货的商品信息,vip信息,更改数据库数据
根据色输入的信息更新数据库文件
1.根据操作时间自动生成销售退货记录id。
N
Y
1销售退货窗口中商品id号可通过商品管理模块传递参数。
通过销售退货模块,商品退货信息会更新到相应数据库,存储分配案如下:
2销售退货信息更新到Re_SaleInfo数据表。
3销售退货商品详情更新到Re_SaleDetail数据表。
4根据商品销售数量更新StockProblemInfo表对应的商品数量。
1限制操作用户更改操作人信息
1对输入框自动检测系统测试。
2对限制条件测试。
3大数据批量更新测试。
4商品数量为0时测试。
5对促销商品退货测试。
3.2进货管理模块
3.2.1模块名:
进货录入
编号2.1
提供窗口让进货人员输入进货的商品信息,供给商信息,更改数据库数据
1.根据操作时间自动生成进货记录id。
1进货录入窗口中商品id号可通过商品管理模块传递参数。
通过进货录入模块,进货信息会更新到相应数据库,存储分配案如下:
1进货信息更新到PurchaseInfo数据表。
2进货商品详情更新到PurchaseDetail数据表。
3根据进货数量和商品的生产日期更新StockInfo表对应的商品数量和生产日期。
4仓库出入记录信息更新到StockRecord表。
1操作用户更改操作人信息
2限制操作人输入不存在的VIP信息、供给商信息、商品信息。
3对大数据批量更新测试。
4对商品数量为0时测试。
5对新商品录入测试。
3.2.2模块名:
进货退货
编号2.2
提供窗口让进货人员输入退货的商品信息,供给商信息,更改数据库数据
1.根据操作时间自动生成退货记录id。
1退货窗口中商品id号可通过商品管理模块传递参数。
通过退货模块,退货信息会更新到相应数据库,存储分配案如下:
1退货信息更新到Re_PurchaseInfo数据表。
2退货商品详情更新到Re_PurchaseDetail数据表。
3根据退货数量和商品的生产日期更新StockProblemInfo表对应的商品数量和生产日期。
2限制操作人输入不存在的供给商信息、商品信息。
3.3仓库管理模块
3.3.1模块名:
查看仓库
编号3.1
提供窗口让具有权限的角色查看仓库信息
角色输入的检索信息
根据角色输入的信息访问数据库,将结果显示到窗口中
无特殊算法
无
通过查看仓库模块,输入查询信息信息查询相应数据库,不进展分配。
无,用户可随意输入数据查询
1对输入数据测试
2对输入全部条件测试
3对0输入测试
4对过期提醒、数量警报测试
仓库调度
提供窗口让具有权限的角色查看进展仓库调度
窗口中DataGridView被选中的数据行,以及角色输入的调度数量、原因。
根据角色选择的数据行以及角色输入的调度数量、原因,更新相应的数据库。
1.自动事务更新数据库
1通过右键仓库中“商品调度〞传递数据到“商品调度〞模块
通过查看仓库调度模块,右键相应商品进展调度,存储分配如下:
1.根据调度情况更新StockInfo数据表。
2.根据调度情况更新StockProblemInfo数据表。
3.根据仓库出入更新StockRecord数据表
1每次仅允对一个商品调度。
2.调度数量不能大仓库剩余数量。
1.对输入框数据自动检测测试
2.对没有选择商品情况测试。
3.对选择多个商品情况测试
4.对限制条件测试。
3.4信息查看模块
3.4.1模块名:
查看记录
编号4.1
提供窗口让具有权限的角色查看各种记录
角色设置的检索信息,窗口间传递的标志。
根据角色输入的检索信息查看数据库,并显示到窗口
1.根据检索条件自动生成sql查询语句。
通过构造函数传递参数,指明要查询的数据类型。
通过查看记录模块,查询数据库,不进展存储分配。
1限制按时间段查询时,前一个时间大于后一个时间。
1.对没有输入检索条件测试
2.对输入多个检索条件测试
3.5员工管理模块
3.5.1模块名:
增加员工
编号5.1
提供窗口让具有权限的角色增加员工信息
角色输入的员工信息
根据角色输入的信息更新数据库
1.自动生成新员工id
通过增加员工模块,存储分配如下:
1根据增加的员工信息,更新EmplyeeInfo数据表。
1不允增加已经存在的员工id、员工。
1对已经存在的员工信息重复录入测试。
2对输入框自动检测测试。
3对限制条件测试。
3.5.2模块名:
查看员工
编号5.2
提供窗口让具有权限的角色查看员工信息及工作绩效信息
根据角色输入的信息查看数据库并显示到窗口
通过查看员工模块,查询数据库,不进展存储分配。
无。
3.6系统设置模块
3.6.1模块名:
分配权限
编号6.1
提供窗口让具有权限的角色设置各用户权限
1.无特殊算法。
通过分配权限模块,更新数据库,存储分配如下:
1.根据输入信息更新Permission数据表。
1.对普通员工不允分配分配权限。
1.对限制条件测试。
3.6.2模块名:
更改密码
编号6.2
提供窗口让具有权限的角色更改本人登录密码
角色输入的更改信息
通过查看更改密码模块,更新数据库,存储分配如下:
1.根据输入信息更新UserInfo数据表。
1.更改后的登录名不能为已经存在的数据。
1.对已经存在的用户名做重复测试。
3.7商品管理模块
3.7.1模块名:
增加新商品
编号7.1
提供窗口让具有权限的角色增加商品信息
1.自动生成商品id
通过增加商品模块,存储分配如下:
1根据增加的商品信息,更新GoodsInfo数据表。
1不允增加已经存在的商品id、商品code。
1对已经存在的商品信息重复录入测试。
3.7.2模块名:
查看商品
编号7.2
提供窗口让具有权限的角色查看商品信息
输入