超市物流管理系统演示文档

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



惠看







ຫໍສະໝຸດ Baidu


银 系













管日 库
理理理理析理理志
系统功能介绍
启动画面
目的:以进度条的走动,掩盖连接数据库时的延迟感
登陆及修改密码(1)
验证身份和接受密码修改前,严格检查输入信息 首次使用,通过内置帐号登陆。
登陆及修改密码(2)
检测商品号的有效性。
采购入库子系统(界面)
综合管理子系统
提供管理人员各种管理的入口。
(1)商品及库存管理
(1)商品及库存管理(修改)
(2)销售管理
(3)采购管理
(4)会员管理
(4)会员管理(查看消费记录)
(5)员工管理
并非一个人事管理系统,只是提供登陆 权限
首次使用内置帐号后,在此禁用它,并 创建自己的帐号。
相关文档
最新文档