- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
超市物流管理系统演示文档培训教材.ppt
(9)其他功能 配置数据源连接:如果修改了数据源信息,或改变了数据库用户密码,需在此重新配置。 数据库备份/恢复:可实现增量(完全)备份,数据恢复(目前尚未真正实现)。 帮助文件:描述了如何配置数据库,数据源,及一些问题的解决方法。 更换界面方案:提供了三种界面。 系统实现介绍 (1)开发工具及其他 本系统采用Microsoft Visual C++ 6.0编写,基于MFC 对话框应用程序。数据库连接采用了ODBC。核心技术为MFC的DDX和RFX数据交换。 应用了第三方库Skin++,用于应用程序界面换肤。包含skinplusplus.dll, skinplusplus.lib 和 skinplusplus.h 数据库中的员工登陆密码采用MD5加密存储,MD5算法实现来自, 包含CMd5.cpp 和 CMd5.h (2)数据一致性问题的解决 本系统在以下方面会遇到数据一致性的问题。 商品销售后,库存量需要减少; 商品采购后,库存量需要增加; 商品被删除后,相关销售、采购记录无对应商品。 删除会员后,相关销售记录对应的会员卡号无效。 (2)数据一致性问题的解决 对于删除商品:在数据库中不能设置外码约束的级联删除,因为不能破坏真实的供销情况。 商品销售、采购后库存量的变换:可通过程序增加一次Update操作,但使得代码难以维护,且容易遗漏。 删除会员,可编码更新销售记录的会员字段为空。弊端同上。 (2)数据一致性问题的解决 以上问题,全部通过SQL Server的触发器来完成。 商品表上建立Delete触发器,删除商品时,判断库存量是否为0,如果不为0,则拒绝删除。成功删除后,将销售、采购记录表中的商品号字段置空,作为下架商品。 (2)数据一致性问题的解决 采购表上建立Insert触发器。当添加数据时,将商品表中相应的商品库存量增加。 销售表上建立Insert触发器。当添加数据时,将商品表中相应的商品库存量减少。 会员表上建立Delete触发器。当删除记录时,将相应销售表中的记录会员字段置空。 (2)数据一致性问题的解决 另外,批量操作全部通过事务方式完成,出现异常即全部回滚,以保证数据一致性。 (3)查询效率问题的解决 由于MFC的ODBC类对数据库操作做了封装,不方便进行复杂的SQL查询语句。只有从其他方面考虑。 在表中建立合适的索引。 涉及到多表(三表或四表)连接查询时,将查询过程写成存储过程。现用于采购管理和销售管理。 (4)数据源连接问题的解决 硬编码连接字符串带来的问题: 当用户设置的数据源名,数据库用户,和密码与编码中连接信息不一致时,每次运行,都会弹出ODBC数据源选择对话框。 解决方案: 将连接信息写入配置文件,读取配置项来连接数据源。禁用了Windows ODBC对话框,并提供更改配置文件的功能。 带来的问题:安全性问题(见后) 数据安全性问题 员工登陆密码在数据库中均以MD5加密形式存储,即使得到密文,也无法通过算法推出明文。 上篇中的配置文件中以明文形式存储了数据库用户和密码,造成了安全隐患。还没有时间找到一个合适的可逆的加密算法。 数据安全还要结合服务器的安全配置等等方面。 多线程在本系统中的运用 在综合管理子系统中,启动了一个后台线程,每20秒扫描一次商品表,检查库存量,如果低于10,则写入缺货日志,并报警(如果打开预警开关) 程序启动时,启动画面及进度条由辅助线程实现,主线程负责初始化数据库连接。 备份/恢复数据库时,由辅助线程显示进度条,并报告完成情况。 多线程的同步问题 后两个应用中,需要两个线程进行同步。但其操作均为单个函数调用,或单个SQL语句执行,无法干预,获得真实进度。只能反复滚动进度条,直到任务完成。 这时,需要两个线程分别创建一个事件内核对象,相互通知自己的完成情况,并相互等待,直到都完成。 C++异常处理的使用 通过C++异常处理机制来完成错误处理(特别是数据库操作异常),不仅使程序更加清晰,也更有效的捕捉不易发现的错误。 系统改进设想 超市物流管理系统演示文档 计科 0410308班 蒲振宇 广泛采用的进销存模型 系统应用体系结构(基于C/S模式) 系统功能模块 系统功能介绍 启动画面 目的:以进度条的走动,掩盖连接数据库时的延迟感 登陆及修改密码(1) 验证身份和接受密码修改前,严格检查输入信息 首次使用,通过内置帐号登陆。 登陆及修改密码(2) 收银台POS子系统 现实中的超市收银台,使用扫描仪读取商品条形码;使用读卡机读取会员卡号。这里用手动输入模拟。 每扫描一个商品,将其添入列表,结算时显示总金额,并写入数据库 检测商品号及会员卡号的有效性。 收银员可随时接受管理人员发来的消息。 收银台POS子系统(界面) 采购入库子系统 操作基本同POS子系统。每添加一条商品
您可能关注的文档
最近下载
- 体例格式8:工学一体化课程《windows服务器基础配置与局域网组建》任务4学习任务考核方案.docx VIP
- 复盛ZW系列无油螺杆空压机样本.pdf VIP
- 第04章各种催化剂及其催化作用.ppt VIP
- 乙烯装置主要设备.doc VIP
- 第九版内科学课件消化系统消化性溃疡.pdf VIP
- 2000-2015年北京林业大学园林建筑设计考研真题.pdf VIP
- 发酵工程制药课件.ppt VIP
- 《规划作品》优教课件 (1).ppt VIP
- 体例格式8:工学一体化课程《windows服务器基础配置与局域网组建》任务5学习任务考核方案.docx VIP
- 第四单元阅读综合实践(素养进阶教学课件)语文统编版2024七年级上册.pptx VIP
文档评论(0)