基于MFC超市商品管理系统(VS2012)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MFC的超市商品管理

系统

目录

1 需求分析 (2)

1.1 国内现状 (2)

1.2 设计目的 (2)

2 概要设计 (3)

2.1 设计原则 (3)

2.2 系统架构 (3)

2.3 技术介绍 (3)

2.4 开发环境 (4)

3 详细设计 (5)

3.1 整体功能设计 (5)

3.2 系统界面设计 (5)

3.3 后台系统设计 (6)

4 调试分析 (8)

5 主要代码分析 (9)

6 用户使用说明 (13)

6.1 项目背景 (13)

6.2 功能 (13)

6.3 运行环境 (13)

结论 (14)

致谢 (15)

参考文献 (16)

随着科学技术的迅猛发展,整个社会已进入了信息社会,计算机的应用在社会中的地位越来越重要。传统的以书本记录的方式已不能满足要求,一些语言,MFC技术正缓解了这一问题。

为使商业企业的进销存信息管理自动化、标准化和科学化,需研制具有大规模、高效率的超市信息管理系统,即超市商品管理系统。本系统采用MFC等开发工具,使用MFC的动态创建,永久保存,消息映射,消息传递等一系列技术,实现了对数据的直接访问和操作,使得数据和应用程序紧密结合在一起。

该超市管理系统要解决的问题是:如何实现超市的科学、高效的管理,包括商品基本信息管理、销售信息的管理。其最终目的是通过此软件来实现超市商品的添加、删除、查询、修改。

关键词:MFC;添加;删除;查询;修改

超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。

1 需求分析

1.1 国内现状

随着信息时代的到来,提供了大量的社会产品,城市集中度也进一步加强,由于人们生活节奏的不断加快,超市管理者对便利的要求进一步提高。在吸收街坊式多店优点的基础上,出现了区域性的超市。

小型超市管理系统按分类、分级的模式对仓库进行全面的管理和监控缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据。完善的小型超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。

现在大多数超市不能有效的管理每一种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率底等,而且在超市日常管理中,商品进、销、存决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足,随着超市形态的高速发展,其经营管理也变的愈加复杂,日常所需处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,我在本次设计之中选择了小型超市管理系统设计,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力、改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进销存状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应决策,加快超市的系统建立的技术基础。

1.2 设计目的

对于超市管理者来说,大量复杂的销售、进货、库存管理、供应商管理等难于通过传统的方法进行管理。小型超市管理系统正是对上述的问题而开发的,通过计算机系统来管理货品销售与进货的情况,可以解决大量商品信息的查询和管理,便于更好的进行商品管理,同时也为销售员提供方便。

2 概要设计

2.1 设计原则

本系统主要是面向大众化的普通用户,所以要求系统要有很高的实用性,由于本系统会设计个人资料的敏感信息问题,可靠性和经济性也是我们考虑的重点。

2.2 系统架构

根据对项目需求的分析,总结出项目的总体架构设计如图2-1所示:

图2-1 总体架构

本系统是对超市增加商品、删除商品、修改商品、查询商品、购买商品、等操作。以便管理员对商品的信息直观而且有效的进行处理。

2.3 技术介绍

本部分主要对超市管理系统系统的实现使用到的相关技术:

技术一:MFC程序的初始化过程。

建立一个MFC窗口很容易,只用两步:一是从CWinApp派生一个应用程

序类,然后建立应用程序对象,就可以产生一个自己需要的窗口(即需要什么样

就在InitInstance()里创建就行了)。整个程序,就改写一个InitInstance()函数,创建那么一个对象,就是一个完整的窗口程序。

技术二:运行时类型识别(RTTI)。

运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,

我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++

编译器里面选用“使能RTTI”,然后载入typeinfo.h文件,就可以使用一个叫typeid ()的运算子,它的地位与在C++编程中的sizeof()运算子类似的地方(包含一个头文件,然后就有一个熟悉好用的函数)。typdid()关键的地方是可以接受两个类型的参数:一个是类名称,一个是对象指针。所以我们判别一个对象是否属于某个类。

技术三:动态创建。

动态创建就是运行时创建指定类的对象,在MFC中大量使用。如框架窗口对象、视对象,还有文档对象都需要由文档模板类对象来动态的创建。

技术四:永久保存。

对于MFC的很多地方不甚满意,总觉得它喜欢拿一组低能而神秘的宏来故弄玄虚,但对于它的连续存储(serialize)机制,MFC的连续存储(serialize)机制俗称串行化。“在程序中尽管有着各种各样的数据,serialize机制会像流水一样按顺序存储到单一的文件中,而又能按顺序地取出,变成各种不同的对象数据。

技术五:消息映射。

消息映射就是用一个数据结构把“消息”与“响应消息函数名”串联起来。这样,当窗口感知消息发生时,就对结构查找,找到相应的消息响应函数执行。其实这个想法也不能简单地实现:我们每个不同的MFC窗口类,对同一种消息,有不同的响应方式。即是说,对同一种消息,不同的MFC窗口会有不同的消息响应函数。

技术六:消息传递。

虽然是执行CWnd类的函数,但由于这个函数在CFrameWnd:: OnCmdMsg 里执行,即当前指针是CFrameWnd类指针,再有OnCmdMsg是一个虚函数,所以如果CFrameWnd改写了OnCommand,程序会执行

CFrameWnd::OnCmdMsg(…)。CFrameWnd:: OnCmdMsg完成了把

WM_COMMAND消息传递到视对象、文档对象及应用程序对象实现消息响应。

2.4 开发环境

开发坏境:Visual Studio 2012

操作系统:Windows 10

相关文档
最新文档