超市物流管理系统.pptx
(8)缺货日志报告
后台实时监控商品库存量,如果低于10, 则记入缺货日志。
可在主界面中,选择预警报告开关。若打 开开关,检测到有缺货信息,则发出警告。 否则,在后台处理。
可在此查看缺货日志,也可刷新和清空。
(8)缺货日志报告(界面)
(8)缺货日志报告(预警)
如果在主界面中打开预警开关,则检测到 有缺货信息,在屏幕右下方出现如下提示 信息:
商品销售、采购后库存量的变换:可通过 程序增加一次Update操作,但使得代码难 以维护,且容易遗漏。
删除会员,可编码更新销售记录的会员字 段为空。弊端同上。
(2)数据一致性问题的解决
以上问题,全部通过SQL Server的触发器来 完成。
商品表上建立Delete触发器,删除商品时, 判断库存量是否为0,如果不为0,则拒绝 删除。成功删除后,将销售、采购记录表 中的商品号字段置空,作为下架商品。
可以在此给收银台发送消息
(5)员工管理(界面)
(5)员工管理(修改)
(6)供销情况分析
综合销售记录和采购记录,以柱形图显示 其比例。
同时显示总供销比例,在架商品供销比例, 下架商品供销比例。
(6)供销情况分析(界面)
(7)优惠规则管理
管理会员打折情况。
设置促销活动,进 行全场商品打折。
(4)数据源连接问题的解决
硬编码连接字符串带来的问题: 当用户设置的数据源名,数据库用户,和
密码与编码中连接信息不一致时,每次运 行,都会弹出ODBC数据源选择对话框。 解决方案: 将连接信息写入配置文件,读取配置项来 连接数据源。禁用了Windows ODBC对话框, 并提供更改配置文件的功能。 带来的问题:安全性问题(见后)
超市物流管理系统 演示文档
计科 0410308班 蒲振宇
开发工具及周期
开发环境:Windows XP SP2 Windows 2000 Pro
开发平台:Microsoft Visual C++ 6.0 DBMS: SQL Server 2000 建模工具:Office Visio
Power Designer 开发周期:2005年11月 - 12月
数据安全性问题
员工登陆密码在数据库中均以MD5加密形 式存储,即使得到密文,也无法通过算法 推出明文。
上篇中的配置文件中以明文形式存储了数 据库用户和密码,造成了安全隐患。还没 有时间找到一个合适的可逆的加密算法。
数据安全还要结合服务器的安全配置等等 方面。
多线程在本系统中的运用
在综合管理子系统中,启动了一个后台线 程,每20秒扫描一次商品表,检查库存量, 如果低于10,则写入缺货日志,并报警 (如果打开预警开关)
收银台POS子系统
现实中的超市收银台,使用扫描仪读取 商品条形码;使用读卡机读取会员卡号。 这里用手动输入模拟。
每扫描一个商品,将其添入列表,结算 时显示总金额,并写入数据库
检测商品号及会员卡号的有效性。 收银员可随时接受管理人员发来的消息。
收银台POS子系统(界面)
采购入库子系统
操作基本同POS子系统。每添加一条商品 采购信息,填入列表,结算入库时显示总 金额,写入数据库。
检测商品号的有效性。
采购入库子系统(界面)
综合管理子系统
提供管理人员各种管理的入口。
(1)商品及库存管理
(1)商品及库存管理(修改)
(2)销售管理
(3)采购管理
(4)会员管理
(4)会员管理(查看消费记录)
(5)员工管理
并非一个人事管理系统,只是提供登陆 权限
首次使用内置帐号后,在此禁用它,并 创建自己的帐号。
程序启动时,启动画面及进度条由辅助线 程实现,主线程负责初始化数据库连接。
备份/恢复数据库时,由辅助线程显示进度 条,并报告完成情况。
多线程的同步问题
后两个应用中,需要两个线程进行同步。 但其操作均为单个函数调用,或单个SQL语 句执行,无法干预,获得真实进度。只能 反复滚动进度条,直到任务完成。
(2)数据一致性问题的解决
本系统在以下方面会遇到数据一致性的问题。
商品销售后,库存量需要减少; 商品采购后,库存量需要增加; 商品被删除后,相关销售、采购记录无对应
商品。 删除会员后,相关销售记录对应的会员卡号
无效。
(2)数据一致性问题的解决
对于删除商品:在数据库中不能设置外码 约束的级联删除,因为不能破坏真实的供 销情况。
运行环境
运行平台:Windows XP/2K/NT CPU: 尚未测试 内存: 尚未测试
广泛采用的进销存模型
系统应用体系结构(基于C/S模式)
收银台
收银台
收银台
收银台POS子系统
$ $
$ $
管理人员
数据库服务器
采购员
$ $
采购员
综合管理子系统
采购入库子系统
系统功能模块
登陆
收银员
管理人员
采购员
POS
采 采会商员供销优查
收
品
销
惠看
购
员
及
工
情
售
规
预
购
银 系
库
管
管
存
管
况
管
则
警
入
统
管
分
管日 库
理理理理析理理志
系统功能介绍
启动画面
目的:以进度条的走动,掩盖连接数据库时的延迟感
登陆及修改密码(1)
验证身份和接受密码修改前,严格检查输入信息 首次使用,通过内置帐号登陆。
登陆及修改密码(2)
(2)数据一致性问题的解决
采购表上建立Insert触发器。当添加数据时, 将商品表中相应的商品库存量增加。
销售表上建立Insert触发器。当添加数据时, 将商品表中相应的商品库存量减少。
会员表上建立Delete触发器。当删除记录时, 将相应销售表中的记录会员字段置空。
(2)数据一致性问题的解决
(9)其他功能
配置数据源连接:如果修改了数据源信息, 或改变了数据库用户密码,需在此重新配 置。
数据库备份/恢复:可实现增量(完全)备 份,数据恢复(目前尚未真正实现)。
帮助文件:描述了如何配置数据库,数据 源,及一些问题的解决方法。
更换界面方案:提供了三种界面。
系统实现介绍
(1)开发工具及其他
另外,批量操作全部通过事务方式完成, 出现异常即全部回滚,以保证数据一致性。
(3)查询效率问题的解决
由于MFC的ODBC类对数据库操作做了封 装,不方便进行复杂的SQL查询语句。只有 从其他方面考虑。
在表中建立合适的索引。 涉及到多表(三表或四表)连接查询时,
将查询过程写成存储过程。现用于采购管 理和销售管理。