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