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

上传人:b****6 文档编号:5827341 上传时间:2023-01-01 格式:DOCX 页数:15 大小:2.13MB
下载 相关 举报
超市物流管理系统演示文档.docx_第1页
第1页 / 共15页
超市物流管理系统演示文档.docx_第2页
第2页 / 共15页
超市物流管理系统演示文档.docx_第3页
第3页 / 共15页
超市物流管理系统演示文档.docx_第4页
第4页 / 共15页
超市物流管理系统演示文档.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

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

《超市物流管理系统演示文档.docx》由会员分享,可在线阅读,更多相关《超市物流管理系统演示文档.docx(15页珍藏版)》请在冰豆网上搜索。

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

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

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

1.开发工具及周期

1)开发环境

WindowsXPSP2

Windows2000Pro

2)开发平台

MicrosoftVisualC++6.0

3)DBMS

SQLServer2000

4)建模工具

OfficeVisio

PowerDesigner

5)开发周期

2005年11月—12月

2.运行环境

1)运行平台

WindowsXP/2K/NT

2)CPU

尚未测试

3)内存

尚未测试

3.广泛采用的进销存模型

图一

4.系统运用体系机构(基于C/S模式)

图二

5.系统功能模块

图三

6.系统功能介绍

1)启动画面

目的:

已进度条的走动,掩盖连接数据库时的延迟感

图四

2)登录及修改密码

验证身份和接受密码修改前,严格检查输入信息

首次使用,通过内置账号登录

图五

图六

图七

图八

3)收银台POS子系统

a)现实中的超市收银台,使用扫描仪读取商品条形码;使用读卡机读取会员卡号。

这里用手动输入模拟。

b)每扫描一个商品,将其填入列表,结算时显示总金额,并写入数据库。

c)检测商品号及会员卡号的有效性。

d)收银员可随时接受管理人员发来的消息。

图九

4)采购入库子系统

a)操作基本同POS子系统。

每添加一条商品采购信息,填入列表,结算入库时显示总金额,写入数据库。

b)检测商品号的有效性。

图十

5)综合管理子系统

提供管理人员各种管理的入口。

图十一

a)商品及库存管理

图十二

【修改】操作:

图十三

b)销售管理

图十四

c)采购管理

图十五

d)会员管理

图十六

查看消费记录

图十七

e)员工管理

并非一个人事管理系统,只是提供登录权限

首次使用内置账号后,在此禁用它,并创建自己的账号。

可以在此给收银台发送消息

图十八

【修改】操作:

图十九

f)供销情况分析

综合销售记录和采购记录,以柱状图显示其比例。

同时显示总供销比例,在架商品供销比例,下架商品供销比例。

图二十

g)优惠规则管理

管理会员打折情况

设置促销活动,进行全场商品打折。

图二十一

h)缺货日志报告

后台实时监控商品库存量,如果低于10,则记入缺货日志。

可在主界面中,选择预警报告开关。

若打开开关,检测到有缺货信息,则发出警告。

否则,在后台处理。

可在此查看缺货日志,也可刷新和情空。

图二十二

【预警】

如果在主界面中打开预警开关,则检测到有缺货信息,在屏幕右下方出现如下提示信息:

图二十三

i)其他功能

配置数据源连接:

如果修改了数据源信息,或改变了数据库用户密码,需在此重新配置。

数据库备份/恢复:

可实现增量(完全)备份,数据恢复(目前尚未真正实现)。

帮助文件:

描述了如何配置数据库,数据源,及一些问题的解决方法。

更换界面方案:

提供了三种界面。

7.系统实现介绍

1)开发工具及其他

a)本系统采用MicrosoftVisualC++6.0编写,基于MFC对话框应用程序。

数据库连接采用了ODBC。

核心技术为MFC的DDX和RFX数据交换。

b)应用了第三方库Skin++,用于应用程序界面换肤。

包含skinplusplus.dll,skinplusplus.lib和skinplusplus.h

c)数据库中的员工登录密码采用MD5加密存储,MD5算法实现来自,包含CMd5.cpp和CMd5.h

2)数据一致性问题的解决

本系统在以下方面会遇到数据一致性的问题。

a)商品销售后,库存量需要减少;

b)商品采购后,库存量需要增加;

c)商品被删除后,相关销售、采购记录无对应商品;

d)删除会员后,相关销售记录对应的会员卡号无效。

e)对于删除商品:

在数据库中不能设置外码约束的级联删除,因为不能迫害真实的供销情况。

f)商品销售、采购后库存量的变换:

可通过程序增加一次Update操作,但使得代码难以维护,且容易遗漏。

g)删除会员,可编码更新销售记录的会员字段为空。

弊端同上。

以上问题,全部通过SQLServer的触发器来完成。

a)商品表上建立Delete触发器,删除商品时,判断库存量是否为0,如果不为0,则拒绝删除。

成功删除后,将销售、采购记录表中的商品号字段置空,作为下架商品。

b)采购表上建立Insert触发器。

当添加数据时,将商品表中相应的商品库存量增加。

c)销售表上建立Insert触发器。

当添加数据时,将商品表中相应的商品库存量减少。

d)会员表上建立Delete触发器。

当删除记录时,将相应销售表中的级联会员字段置空。

另外,批量操作全部通过事务方式完成,出现异常即全部回滚,以保证数据一致性。

3)查询效率问题的解决

a)由于MFC的ODBC类对数据库操作做了封装,不方便进行复杂的SQL查询语句。

只有从其他方面考虑。

b)在表中建立合适的索引。

c)涉及到多表(三表或四表)连接查询时,将查询过程写成存储过程。

现用于采购管理和销售管理。

4)数据源连接问题的解决

a)硬编码连接字符串带来的问题:

当用户设置的数据源名,数据库用户,和密码与编码中连接信息不一致时,每次运行,都会弹出ODBC数据源选择对话框。

b)解决方案:

将连接信息写入配置文件,读取配置项来连接数据源。

禁用了WindowsODBC对话框,并提供更改配置文件的功能。

c)带来的问题:

安全性问题(见后)

员工登录密码在数据库中均以MD5加密形式存储,即使得到密文,也无法通过算法推出明文。

上篇中的配置文件中以明文形式存储了数据库用户和密码,造成了安全隐患。

还没有时间找到一个合适的可逆的加密算法。

数据安全还要结合服务器的安全配置等等方面。

5)多线程在本系统中的运用

a)在综合管理子系统中,启动了一个后台线程,每20秒扫描一次商品表,检查库存量,如果低于10,则写入缺货日志,并报警(如果打开预警开关)

b)程序启动时,启动画面及进度条由辅助线程实现,主线程负责初始化数据库连接。

c)备份/恢复数据库时,由辅助线程显示进度条,并报告完成情况。

6)多线程的同步问题

a)后两个应用中,需要两个线程进行同步。

但其操作均为单个函数调用,或单个SQL语句执行,无法干预,获得真实进度。

只能反复滚动进度条,直到任务完成。

b)这时,需要两个线程分别创建一个事件内核对象,相互通知自己的完成情况,并相互等待,直到都完成。

7)C++异常处理的使用

通过C++异常处理机制来完成错误处理(特别是数据库操作异常),不仅使程序更加清晰,也更有效的捕捉不易发现的错误。

8.系统改进设想

1)加入连锁店管理,可适用于多连锁店的大型超市。

2)加入商品分类管理,有利于分别实现优惠规则。

3)对于大量的数据流动,一台数据库服务器可能无法负载,可以考虑将数据分布在不同的服务器上。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1