超市会员管理系统
- 格式:docx
- 大小:43.81 KB
- 文档页数:38
毕业设计(论文)超市会员管理系统的设计与实现学号:学生姓名:系部:专业:班级:指导教师:XXXXXXXX教务处制目录摘要 (I)第一章绪论1.1系统开发背景 (1)1.2课题研究意义 (1)1.3系统的发展 (2)1.4系统的开发方法 (3)1.5本章小结第二章系统分析2.1基本功能 (4)2.2功能模版图示 (4)2.3系统的可行性 (5)2.4开发及运行环境 (5)2.5本章小结第三章数据库设计3.1数据库技术概述 (6)3.2数据库选择 (6)3.3数据库的E-R图 (8)3.4数据库逻辑结构设计 (10)3.5数据库的安全性 (14)3.6本章小结第四章开发技术4.1卡发技术介绍 (14)4.2B/S 模式及优势 (15)4.3Web应用程序开发环境-Jsp技术 (17)4.4Tomcat应用服务器 (18)4.5JavaEE 简介 (20)4.6数据访问接口 (21)4.7本章小结第五章系统设计5.1系统总体设计 (22)5.2应用模块的编写 (23)5.3系统的实现 (23)5.4本章小结致谢 (27)参考文献 (28)摘要在经济全球化的今天,建立以客户为中心的经营战略,可以加强超市和客户间的联系。
对超市来讲,为客户提供一流的服务,是超市建立品牌、实现差别化服务、取得竞争的利器。
一直以来人们使用传统人工的方式管理会员的基本档案,这种管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,对于查找、更新和维护都带来了不少的困难。
而通过会员管理系统,超市就可以很轻松很方便的记录所有会员客户的资料,了解用户的兴趣爱好、消费特点、意向需求等;进而针对客户的需求,为其提供优质的个性化服务,还能为超市的产品进出货、分店扩充提供可靠的市场调研数据,是超市经营不可或缺的一个有利工具。
同时,作为计算机应用的一部分,使用计算机对会员进行管理,具有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高本低等,这些优点极大地提高了会员管理的效率,也是超市的科学化、正规化管理,与存储量大、保密性好、寿命长、成先进科学技术接轨的重要条件。
超市会员管理信息系统——管理信息系统课题设计08工程管理一班组员:学号:陈光明20082998庞易明20085726曹江涛20083152张俊20082993周自瑜20082992目录超市会员管理信息系统——管理信息系统课题作业1 目录摘要 (2)摘要 (3)第一部分系统背景 (4)1.1社会背景 (4)1.2超市背景 (4)第二部分系统分析 (5)2.1 技术可行性研究 (5)2.2 经济可行性研究 (5)2.3 操作可行性研究 (6)2.4 用户业务需求 (6)第三部分系统设计 (7)3.1系统数据流分析 (7)3.2 数据字典 (10)3.3 性能需求 (10)3.4 运行需求 (11)4.1 系统数据库设计 (11)4.2模块功能设计 (13)第五部分系统测试运行 (14)5.1 模块测试 (15)5.2 整体测试 (15)第六部分总结 (15)第七部分致谢辞 (16)第八部分参考文献 (16)摘要随着超市业的发展,超市数量的增加,加大了超市之间的竞争。
对于超市来说,老顾客的消费显得异常关键,所以建立一个完善的超市会员系统至关重要。
这样超市可以根据会员的需求信息进行统计分析,从而不断改善服务质量,提高顾客回头率。
同时,一个完善的计算机会员管理系统的建立也对管理人对会员的管理工作变得更方便、更有效率。
超市会员管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。
从而,实现会员信息、会员购买信息、会员积分和等级、优惠信息查询等全面、动态、及时的管理。
本文系统的介绍了软件开发的背景;分析了软件各个模块的设计和实现,也讲解了了本软件的详细实施步骤:用户使用方法,最后展示软件的测试结果和一些参考资料。
关键词:超市、管理信息系统、模块、信息查询。
第一部分系统背景1.1社会背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT 产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。
基于mysql超市会员管理系统设计与实现文献综述基于MySQL超市会员管理系统设计与实现文献综述摘要:本文介绍了基于MySQL的超市会员管理系统的设计与实现。
该系统主要包括会员信息管理、积分管理、优惠券管理、商品销售记录等模块。
通过该系统,超市可以更好地管理会员信息,提高客户满意度,并且能够更好地了解顾客需求和购买行为。
关键字:MySQL,超市会员,信息管理,积分管理,优惠券管理一、绪论随着社会经济的快速发展和人们生活水平的提高,超市已经成为人们日常生活中不可或缺的一部分。
而在超市中,为了吸引更多的消费者和提高客户忠诚度,大多数超市都推出了会员制度。
通过这种方式可以给予消费者更多的优惠和福利,并且能够更好地了解顾客需求和购买行为。
然而,在传统的会员制度下,大多数超市仍然采用手工记录方式来进行数据存储和处理。
这种方式效率低下、容易出错,并且无法满足现代化商业运营对数据处理速度和准确性的要求。
因此,在这种背景下,基于MySQL的超市会员管理系统应运而生。
二、相关技术介绍1. MySQLMySQL是一种开源的关系型数据库管理系统,广泛用于Web应用程序的开发和数据存储。
它具有高效、稳定、安全等优点,并且支持多种操作系统和编程语言。
2. PHPPHP是一种开源的服务器端脚本语言,通常用于Web开发。
它具有易学易用、灵活性高等特点,并且可以与MySQL等多种数据库进行集成。
3. HTML/CSS/JavaScriptHTML/CSS/JavaScript是Web前端开发中常用的三种技术。
HTML负责页面结构,CSS负责页面样式,JavaScript则负责页面交互和动态效果。
三、系统设计与实现1. 系统需求分析本系统主要包括会员信息管理、积分管理、优惠券管理、商品销售记录等模块。
其中,会员信息管理模块需要实现会员信息录入、修改和查询功能;积分管理模块需要实现积分兑换和查询功能;优惠券管理模块需要实现优惠券领取和使用功能;商品销售记录模块需要实现商品销售记录查询功能。
超市管理系统数据流程图超市管理系统是指用于管理超市内各项业务活动的一套信息系统。
数据流程图是一种图形化的工具,用于描述和分析系统中的数据流动和处理过程。
下面是超市管理系统的数据流程图及其详细说明。
1. 超市管理系统数据流程图概述超市管理系统主要包括以下几个模块:商品管理、库存管理、销售管理、会员管理和报表统计。
数据流程图将展示这些模块之间的数据流动和处理过程。
2. 商品管理模块数据流程图商品管理模块负责管理超市内的商品信息。
数据流程图如下:- 用户输入商品信息:用户在系统中输入商品的名称、价格、库存等信息。
- 商品信息保存:系统将用户输入的商品信息保存到数据库中。
- 商品信息查询:用户可以通过系统查询特定商品的详细信息。
3. 库存管理模块数据流程图库存管理模块负责管理超市内商品的库存情况。
数据流程图如下:- 商品入库:当新商品到达超市时,系统管理员将商品信息录入系统,并更新库存数量。
- 商品出库:当有顾客购买商品时,系统将相应的商品数量从库存中减去。
- 库存预警:系统会根据库存数量设定的阈值,自动发出库存不足的警报。
4. 销售管理模块数据流程图销售管理模块负责记录超市内商品的销售情况。
数据流程图如下:- 商品销售:当顾客购买商品时,系统会记录销售信息,包括销售日期、商品名称、销售数量和销售金额等。
- 销售统计:系统会根据销售信息生成销售报表,包括销售额、销售量和销售排行等统计数据。
5. 会员管理模块数据流程图会员管理模块负责管理超市的会员信息和会员积分。
数据流程图如下:- 会员注册:顾客可以在系统中注册成为会员,输入个人信息和联系方式。
- 会员积分积累:当会员购买商品时,系统会根据消费金额赋予相应的积分奖励。
- 会员积分兑换:会员可以使用积分兑换超市提供的礼品或者折扣。
6. 报表统计模块数据流程图报表统计模块负责生成超市经营情况的报表。
数据流程图如下:- 数据采集:系统会从商品管理、销售管理和会员管理模块中采集相关数据。
学号:成绩:________数据库综合实验报告院系计算机与电子信息学院专业计算机科学与技术班级 xxxxxxxxxxx设计题目超市会员管理系统姓名 xxxxx指导教师 xxxxxxxxxxxx年 xx月xx日超市会员管理系统目录1、需求分析 (3)1.1系统概述 (3)1.2具体分析 (3)1.3用户需求 (5)2、系统概要设计 (5)2.1 系统总体设计 (5)2.2 系统功能模块设计 (5)2.3 数据库设计 (7)3、详细设计 (13)3.1 数据处理封装图 (13)3.2 系统设计 (14)4、编程实现 (15)4.1 登录界面实现 (15)4.2 会员管理实现 (16)4.3 消费管理实现 (19)5、课程设计体会 (20)参考文献 (21)1、需求分析1.1系统概述该超市会员管理系统的用户将是超市管理员或类似群体,提供方便、快捷的管理与维护。
系统要求采用B/S模式进行架构,使用的脚本语言为JSP,与oracle数据库进行交互。
分为前台浏览器端和后台服务器端两部分。
浏览器端主要功能有UI输出和与用户的交互等,服务器端则主要用于数据库的维护、数据之间的存取等操作。
1.2具体分析1.2.1功能需求分析该超市会员管理系统有四大模块:用户登录模块,会员管理模块,统计分析模块,账户管理模块。
用户登录模块:该模块需要用户输入用户名和密码,如果通过身份验证则可以连接到数据库。
如果忘记密码,则可以通过回答注册时设置的问题找回密码。
如果输入次数超过5次,则需要等待10分钟才能重新输入。
会员管理模块:该模块主要实现会员的注册,修改,退出,查询等操作。
会员有多种级别,级别的高低与消费总额成正比。
不同的级别拥有不同的优惠服务。
刚注册的会员有初级级别的优惠。
会员可使用会员卡购买超市中的商品,每名会员只能注册一张会员卡。
当需要补办会员卡,或其他修改会员信息的操作可以通过修改来执行。
其中会员查询可以通过不同的方式进行查询,以得到想要的数据。
分类号: TP311.52 单位代码: 106 密级:一般学号本科毕业论文(设计)题目:_______超市会员管理系统——__ _____管理员模块的设计与实现__ 专业:_______计算机科学与技术______姓名:______________指导教师:__职称:___答辩日期:2011年5月28日___超市会员管理系统——管理员功能的设计与实现摘要:超市会员管理系统已成为超市在激烈的竞争中发展的一个必然产物,他是链接超市与会员的一个很好的纽带,是维持超市和顾客长期供应需求关系的重要保障。
如何才能让顾客自愿的成为超市长期的消费者成为超市的最大难题。
然而要实现这种销售模式,就必须开发一套系统管理超市与会员之间的这种关系。
虽然已经有了超市会员管理系统,但是这种会员管理系统有太多的局限性,已经不能满足超市和消费者的需求,因此开发一套完整的超市会员管理系统非常有必要。
而这套系统不仅要能是超市方便管理会员,同时也要让会员能够随时查看自己的信息。
本文首先介绍了该系统比起一般系统的一些优点,以及可行性,还有所有用到的一些相关技术和系统的概况,最后详细介绍了超市会员管理系统管理员功能是怎样设计与实现的。
关键词:系统;管理员;功能Supermarket member management system-- design and implementation of administrator functionAbstract:Supermarket member management system has become an inevitable product in the development of the supermarket in the fierce competition, it is one of the members and links to the supermarket is to maintain good ties, supermarkets and customer long-term supply demand relations important guarantee. How to let the customer voluntary become supermarket long-term consumers become supermarket of the biggest problems. But to achieve the sales model, it must develop a set of supermarket member management system to remain the relationship between members. Although having the supermarket member management system, this member management system have too much limitation.It cannot have satisfied supermarkets and consumer demand, therefore developing a complete set of supermarket member managementsystem is very necessary. And this system not only can make supermarket convenient manage members, also want to let members to view their information at any time. This paper firstly introduces some advantages of the system than general system, and the feasibility, and all some related technology and the description of this system, finally introduce supermarket member management system administrators function is how to design and implementation.Keywords:system; administrator; function目录第1章概述 (1)1.1信息化管理现状 (1)1.2基于信息化的超市会员管理系统概述 (1)1.2.1背景 (1)1.2.2需求现状 (1)1.2.3建设目标 (2)1.3本人在项目中的工作 (2)第2章技术背景 (3)2.1J2EE技术 (3)2.2数据库技术 (3)第3章超市会员管理系统概述 (5)3.1总体需求分析 (5)3.2技术架构 (5)3.2.1展现层 (6)3.2.2逻辑层 (6)3.2.3数据层 (6)3.2.4技术框架 (6)第4章管理员功能以及论坛概要设计 (7)4.1引言 (7)4.1.1编写目的 (7)4.1.2背景 (7)4.1.3定义 (7)4.2系统设计原则 (7)4.3管理员功能以及论坛设计 (8)4.3.1系统模块设计 (8)4.3.2输入输出设计 (9)4.3.3系统结构设计--管理员模块设计结构 (9)4.3.4模块关系 (9)4.3.5接口设计 (9)4.4管理员与会员的业务关系设计 (10)4.4.1管理员与会员之间业务 (10)4.4.2业务ER图 (10)4.5数据库设计 (12)4.6出错处理设计 (14)4.7运行和使用环境的需求 (14)第5章超市会员管理系统—管理员模块详细设计 (16)5.1引言 (16)5.1.1编写目的 (16)5.1.2背景 (16)5.2功能点的设计 (16)5.2.1管理员模块的结构 (16)5.2.2功能点编号 (17)5.2.3管理员页面设计 (17)5.2.4S ERVLET类设计 (18)5.2.5包的设计 (19)5.3管理员模块的实现算法设计 (19)5.3.1模块功能描述 (19)5.3.2管理员功能以及会员与管理员交流平台的设计与实现算法 (19)第6章测试分析报告 (23)6.1引言 (23)6.1.1 编写目的 (23)6.1.2 背景 (23)6.2测试前的准备工作 (23)6.2.1 安装 (23)6.2.2 程序代码检查 (23)6.2.3 功能检测 (23)6.2.3 功能检测 (24)6.3功能模块代码测试分析 (24)6.3.1管理员功能模块代码测试 (24)6.3.2论坛模块代码测试 (24)6.4性能测试的结论 (25)6.4.1 正确性测试 (25)6.4.2 可靠性测试 (25)6.5分析摘要 (25)6.5.1 能力 (25)6.5.2 缺陷和限制 (25)6.5.3 建议 (25)6.5.4 评价 (25)第7章管理员用户使用说明 (26)7.1引言 (26)7.1.1编写目的 (26)7.1.2背景 (26)7.2系统总体介绍 (26)7.3管理员使用说明 (26)7.4管理员使用功能总体描述 (28)第8章工作报告 (29)8.1系统介绍即功能简介 (29)8.2测试报告 (29)8.3项目评价 (29)8.4总结 (29)参考文献 (30)第1章概述1.1信息化管理现状在21世纪的信息化时代,要适应这个社会,人们必须要了解信息化。
数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。
具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。
根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Employee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。
各种实体具体的描述E-R图如下。
1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。
如图3-11所示,用户登录信息实体E-R图。
图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。
图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图。
图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图。
超市管理系统是一款用于超市运营管理的软件系统,它能够帮助超市管理者提高工作效率,降低运营成本,提升顾客满意度。
本文将从系统概述、功能模块、技术架构、实施与效益四个方面进行详细阐述。
一、系统概述超市管理系统是一款集商品管理、库存管理、销售管理、会员管理、员工管理等功能于一体的综合性管理软件。
通过对超市各项业务进行信息化管理,实现数据的实时统计与分析,为管理者提供决策依据。
同时,系统采用模块化设计,可根据超市规模和业务需求进行定制化开发,具有较强的灵活性和可扩展性。
二、功能模块1.商品管理:包括商品分类、商品信息录入、商品查询、商品上下架等功能,方便管理者对商品进行统一管理。
2.库存管理:实时监控库存状况,支持库存预警、库存盘点、库存调拨等功能,确保库存合理,减少库存积压。
3.销售管理:包括销售订单处理、销售数据统计、销售报表等功能,帮助管理者掌握销售情况,优化销售策略。
4.会员管理:实现会员信息管理、会员积分管理、会员优惠管理等功能,提升会员忠诚度,促进二次消费。
5.员工管理:包括员工信息管理、考勤管理、工资管理等功能,提高员工工作效率,降低人力成本。
6.财务管理:实现收支管理、利润统计、财务报表等功能,为管理者提供财务决策依据。
7.报表统计:根据业务需求,各类统计报表,如销售报表、库存报表、会员消费报表等,便于管理者分析业务状况。
8.系统设置:包括权限管理、系统参数设置、数据备份与恢复等功能,保障系统安全稳定运行。
三、技术架构超市管理系统采用B/S架构,基于Java、等主流开发语言,结合MySQL、Oracle等关系型数据库,确保系统的高效运行和数据的稳定存储。
同时,系统采用前后端分离的设计模式,前端采用Vue、React等主流框架,提升用户体验;后端采用SpringBoot、Django等框架,实现业务逻辑处理。
四、实施与效益1.提高工作效率:超市管理系统将各项业务流程信息化,减少人工操作,提高工作效率。
超市会员管理系统超市会员管理系统要求建立起数据一致性和完整性强、数据安全性好的库;本系统主要是对超市会员和职员的基本信息进行有序管理,主要包括的功能模块有:会员信息管理、积分信息管理、基本信息管理、统计、系统信息等;该系统是在Microsoft Visual C++ 的开发工具前提下进行的,运用Visual C++语言,连接了Microsoft Access 2003数据库,进行数据库的管理;简单目录:一.可行性研究1.技术可行性2.经济可行性3.操作可行性二.功能需求1.会员信息2.积分信息3.基本信息管理4.统计5.系统信息6.退出系统7.系统工具栏三.环境需求四.总体设计1.系统登录权限2.系统结构图3.各具体功能模块图4.基本信息管理模块5.统计6.系统信息五.数据库设计1.系统数据库分析2.数据库概念结构设计3.系统数据库的设计4.表之间的关系六.详细设计与实现1.系统首页2.登录页面3.会员信息模块4.积分信息模块5.基本信息管理模块6.统计7.系统信息8.退出系统9.数据库连接设计与实现可行性研究可行性研究并不是解决问题,而是确定问题是否值得去解决,就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究最根本的任务是对以后的行动方针提出建议;以下进行对超市会员管理系统的可行性分析:1. 技术可行性:系统使用VC++作为开发工具,数据库使用Microsoft Access;支持的操作系统有Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1等;2. 经济可行性:开发本系统为会员,职员和管理员带来了极大的方便,节省了人力、物力、技术、资金等方面的花费,所以今后获得的经济效益一定会大于开发成本;3. 操作可行性:超市会员管理系统简单易用,对用户的计算机水平要求不高,对于一般用户很容易学会;同时用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来避免手工的错误和误差;功能需求功能模块的划分需要遵循低耦合、高内聚的原则,根据这一原则对该超市会员管理系统进行功能模块划分,下面详细叙述;本系统针对三种层次的权限的用户:管理员、普通职员、会员;对于想使用超市会员管理系统的用户,可以利用自己的登录账号,密码,用户权限登录该系统;进入系统后跟据自己权限执行相应权限的操作;1. 会员信息单击子菜单中的查看基本信息,可以查看会员的基本信息;单击子菜单中的修改会员密码,可以修改会员的登录密码;2. 积分信息单击子菜单中的积分查询,可以查看该用户的会员积分;单击子菜单中的积分兑换,可以进行积分兑换;单击子菜单中的消费加分,可以根据会员的消费金额增加其积分;此操作只能由超市职员或管理员进行;对于会员,其权限不允许对该模块操作;单击子菜单中的优惠讯息,可以查看超市的积分优惠政策;3. 基本信息管理本模块的功能:职员信息管理和会员信息管理;该模块功能只允许超市职员和管理员进行操作;1职员信息管理:超市职员只能使用职员信息子菜单中的查询和修改密码功能;管理员可对职员信息管理的全部功能进行操作:查询职员信息、修改职员信息、添加、删除职员信息;2会员信息管理:该模块可对会员信息进行查询、添加、修改、删除;有超市职员或管理员执行,不允许会员操作;4. 统计超市职员或管理员成功登录后,可以通过此模块对会员的积分情况进行统计分析,得到分析结果;5. 系统信息用户成功登录后,可以点击系统信息下的帮助和关于子菜单;该模块功能可以帮助用户了解该系统的使用;单击子菜单中的用户帮助,系统弹出帮助文件,用户可以通过阅读帮助文件使用该系统;单击子菜单中的关于,用户可以了解该系统版本及版权;6. 退出系统用户登录成功后,操作进行完毕即可点击退出菜单将退出系统,同时关闭数据库;7. 系统工具栏用户登录成功后,点击工具栏按钮可以快捷进入积分查询、会员查询、会员密码修改、关于系统及退出系统模块;此外,在开发过程中,为工具栏按钮添加了鼠标提示功能;这样能使用户更方便的获取工具栏信息;环境需求系统开发平台:Microsoft Visual C++系统开发语言:VC++数据库系统:Microsoft Access 2003运行平台:Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1 运行环境:Microsoft Visual C++开发工具简介:C++是一种使用非常广泛的计算机编程语言;C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言;它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格;C++ 是C语言的一个高级版本,支持中文,界面高级,不需要启动母文件即可运行程序;Visual C++所使用的编程语言是C/C++;Visual C++继承了C/C++语言的简单、高效、易用的优点,代码结构清晰,可读性好,并且融入了面向对象、过程可视化、事件驱动等软件开发的最新技术,是C/C++语言编程技术发展到一个新的高度;Visual C++是Microsoft 公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境;Visual C++ 是在以往版本不断更新的基础上形成的,由于其功能强大、灵活性好、完全可扩展,以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成环境;Visual C++ 分为标准版、专业版和企业板三种,但其基本功能是相同的;数据库是一种数据管理技术,是计算机科学的重要分支;它具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,许多较大的系统都是建立在数据库设计的基础上的;数据库的管理系统主要有Access数据库管理系统、SQL Server数据库管理系统、Oracle数据库管理系统等;SQL是Structured Query Language结构化查询语言的缩写;SQL已经成为了最流行的关系查询语言;用户如果要想开发和使用数据库,就必须先掌握结构化查询语言SQL;SQL的功能十分强大,其主要特点如下;1 SQL是非结构化语言,使用SQL查询数据库时,只需告诉它做什么而不用告诉它如何去做.2 SQL本身不提供任何程序流程控制结构,而是通过PL/SQL提供SQL 语言的过程化功能;3 SQL提供相对固定的数据类型,用户一般不需要进行扩展,4 SQL本身是非常灵活的,实现同一目的,可以有很多不同的方法;SQL语句可以分为四大类① 数据定义语言DDL,用于定义数据结构;② 数据操作语言DML,用户检索和修改数据;③ 数据控制语言DCL,用于规定数据库用户的各种权限;④ 数据库事务处理,用来保证数据库的完整性;总体设计超市会员管理系统业务流程:首先由系统管理员将使用该系统的用户分为三种类型,管理员、普通职员和超市会员;普通职员拥有对超市会员的信息管理,即查、添、删、改的功能;还可对会员积分进行管理,如:将会远的消费金额转换为消费积分;同时,超市职员还可对自己的信息进行查询,并可修改自己的登录密码;超市会员只可对自己的信息进行查询,或对自己的积分进行兑换、查询;超级管理员具有所有权限;1.系统登录权限如图所示:图3-1 系统登录权限图在系统的总体设计中我采用结构化设计Structure Design,简称SD,首先将整个系统化分为几个小问题,小模块;然后,进一步细分模块,添加细节;根据前面的系统功能需求分析和超市会员管理系统实现的功能可分解成七个主要功能模块,它们分别是用户登录模块、会员信息模块、积分信息模块、基本信息管理模块、统计模块、系统信息模块、退出系统模块;这七个主要功能模块分别可以分为多个具体模块,下面介绍各个具体模块;2.系统结构图如下图所示:图3-2 超市会员管理系统总体结构图3. 各具体功能模块图1 .用户登录模块登录界面实现的程序流程图为:图3-3 用户登录程序流程图2. 会员信息模块1.会员基本信息查询用户登录成功后,可以根据用户账号或身份证号查询会员的基本信息,还可以进行全表查询;流程图如下:图3-4 会员信息查询流程图2.会员密码修改此模块用于修改会员的登录密码;流程图如下:图3-5 会员密码修改流程图3 积分信息模块1.积分查询实现原理如会员信息模块中的会员查询;2.积分兑换该模块实现会员的积分兑换;程序流程图如下:图3-6 积分兑换流程图3.消费加分该模块功能将会员的消费金额换为消费积分;流程图如下:图3-7 消费加分模块流程图4.优惠讯息该模块为静态功能;超市职员可将点击优惠讯息菜单即出现超市积分的优惠政策及兑换政策的对话框;4 基本信息管理模块1. 职员信息管理查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述; 修改职员信息该模块功能修改超市职员的基本信息,其实现流程图如下:图3-8职员信息修改流程图修改密码职员修改密码模块与会员密码修改类似,此处不再赘述;添加职员信息管理员进入系统后可以按照需求添加职员信息,下面是添加职员程序流程图:图3-9 添加职员信息流程图删除职员信息该模块由管理员进行操作,填入职工号后,系统检查是否存在于数据库中,若存在则按照职员号删除该职员记录信息,流程图如下:图3-10 删除职员信息流程图会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员注销四个模块,功能实现同职员信息管理模块中响应功能;5 统计统计模块用于统计会员积分等级;1 打开记录集,获得各等级人数;2绘制柱形图图3-11 统计分析柱形图实现流程图6 系统信息1.用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;2.关于本系统本功能调用系统关于对话框,为用户提供系统版本及版权情况;数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术;具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求信息要求和处理要求;数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响;根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:1. 用户登录信息数据表Login:用户账号,密码,登录身份;2. 会员基本信息数据表Member:用户账号,用户姓名,身份证号,联系方式,联系地址;3. 职员基本信息数据表Employee:职员号,职员姓名,职员职位;4. 会员积分信息数据表Score:会员账号,会员积分,会员等级,会员折扣;2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动;各种实体具体的描述E-R图如下;1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份;如图3-11所示,用户登录信息实体E-R图;图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图;图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图;图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图;图3-15 会员积分信息实体的E-R图实体之间的关系E-R图主要描述实体间的关系;图3-16 各实体之间的关系3.系统数据库的设计根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构;本系统利用Microsoft Access 2003创建了名为SuperMarket的数据库;本系统主要建立了以下四张表:表用户登录数据表表会员基本信息数据表表职员基本信息数据表表会员积分信息数据表4. 表之间的关系表之间存在的关系如下:1.在会员基本信息表Member中添加信息的同时,把信息添加到用户登录信息表Login中,同时将信息添加到积分信息表Score中;2.在会员基本信息表Member中删除会员信息的同时,把用户登录信息表Login和用户积分信息Score中该会员信息删除;3.在职员基本信息表Member中添加信息的同时,将志愿的基本信息添加到用户登录信息表Login中;4.在职员基本信息表Member中删除职员信息的同时,把用户登录信息表Login中该职员信息删除;详细设计与实现1. 系统首页图4-1 超市会员管理系统首页自定义工具栏按钮及鼠标提示信息的设计与实现:图4-2 主页面工具栏在对话框的OnInitDialog方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的EnableToolTip方法激活提示功能;鼠标提示信息的实现,处理TTN_NEEDTEXT消息的响应函数OnToolTipText,通过函数的参数获得工具栏按钮的ID,从而根据ID获取提示信息文本;1.添加消息映射最好写在AFX_MSG_MAP宏外,否则可能出现编译错误ON_NOTIFY_EX_RANGETTN_NEEDTEXTW,0,0xFFFF,OnToolTipTextON_NOTIFY_EX_RANGETTN_NEEDTEXTA,0,0xFFFF,OnToolTipText2.添加事件声明最好写在AFX_MSG宏外,否则可能出现编译错误afx_msg BOOL OnToolTipTextUINT nID, NMHDR pNMHDR, LRESULT pResult;2 登录页面系统运行后,首先展现给用户的是用户登录界面,用户登录成功后进入到主页面,用户登录界面如下图所示:图4-3 用户登录界面用户登录有三种身份,管理员、普通职员、会员;管理员登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作;登录界面由函数void CLoginDlg::OnOK实现处理,具体代码如下:....","提示",64;CDialog::OnOK;4.3.2积分信息模块1 积分查询该功能实现界面如下:图4-7 积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息;实现原理如会员信息模块中的会员查询;实现函数为:void CJQueryDlg::OnOK;在编辑框中的显示实现为:var = m_pRs->GetCollect"MScore";if = VT_NULLstr1 = LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Jifen->SetWindowTextstr1;var = m_pRs->GetCollect"MGrade";if =VT_NULLstr2=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Grade->SetWindowTextstr2;var = m_pRs->GetCollect"MDiscount";if =VT_NULLstr3=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Discout->SetWindowTextstr3;2 积分兑换积分兑换功能的实现界面如下:图4-8 积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检查用户合法性;若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣;该模块实现单击事件函数处理为:void CEXchangeDlg::OnOK,具体实现如下:员信息管理1. 查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述;实现该功能的函数为:void CEmployeeDlg::OnOK;实现该功能的SQL语句为:sql="select from Employee where EID='"+EmpID+"'";2. 修改职员信息该模块功能修改超市职员的基本信息;函数实现:void CMIMDlg::OnOK;其实现如下:GetDlgItemIDC_EDIT1_EmpName->GetWindowTextEXm;GetDlgItemIDC_COMBO_EmpSta->GetWindowTextEZw;ifEZw=="管理员" EZw="0";else ifEZw=="普通职员" EZw="1";sql="Update Employee set EName='"+EXm+"',EStatus='"+EZw+"' where EID='"+EMId+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";3. 修改密码职员修改密码模块与会员密码修改类似,实现函数为:void CMModifyDlg::OnOK,此处不再赘述;具体SQL语句实现为:sql="Update Login set DCode='"+NewCode+"' where DNO='"+Name+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}4. 添加职员信息管理员进入系统后可以按照需求添加职员信息,该模块首先检验输入是否为空,若不为空,则可以进行添加,此功能同时将信息添加到Login表和Employee表中,界面实现如图:图4-10 添加职工信息实现该事件的函数为:void CEAddEmplyeeDlg::OnOK,下面是添加职员信息的具体实现:sql="Insert into EmployeeEID,EName,EStatus values'"+Eno+"','"+Ename+"','"+Esta+"'";SQL="Insert into LoginDNO,DCode,DUserSta values'"+Eno+"','"+Ecode+"','"+Esta+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"添加成功";5. 删除职员信息该模块只能由管理员进行操作,管理员成功登录后,可以按照职员号删除职员信息,如图所示:图4-11 删除职工信息图在删除前,系统会给出提示,提醒用户是否确定要删除;点击是,则将该记录从数据库中删除;点击否,则撤销删除行为;实现函数为void CDelEmpDlg::OnOK,代码如下:ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES{sql="delete from Employee where EID='"+EmpNO+"'";SQL="delete from Login where DNO='"+EmpNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";}2 会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员删除四个模块,功能实现同职员信息管理模块中响应功能;实现函数分别为:void CMemberDlg::OnOK、void CModifyMemDlg::OnBUTTONModify、void CMemAddDlg::OnOK、void CModifyMemDlg::OnBUTTONDel;此处以会员信息修改和删除为例,其他功能实现略写;图4-12 会员信息修改图中,灰色编辑框表示不可改;如果要修改信息则填入要修改的值,点击“确定修改”,即可修改成功;如果要删除该条记录,则点击“确定删除”,系统会提示,是否真的删除,若是,则从数据库表中将该记录删除,若否,则退出删除;此处实现的相关的SQL语句为://修改sql="Update Member set MName='"+UserName+"',MTel='"+UserTel+"',MAdd='"+UserAdd+"' where MNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";//删除ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES {sql="delete from Member where MNO='"+UserNO+"'";SQL="delete from Login where DNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";6 统计统计模块是对超市会员积分进行统计,可以统计出各登记人数及所占百分比,并以柱形图的形式显示出来;图4-13 统计分析功能实现图实现该功能的函数为:void CStatDlg::OnOK具体实现:1 打开记录集,获得各等级人数;2 绘制柱形图//获取静态图片空间大小CWnd pWnd=this->GetDlgItemIDC_DRAW;pWnd->GetClientRect&rectPic;// 获取设备环境指针CDC pDC=pWnd->GetDC;// 重新填充静态图片区域CBrush NewBrush;RGB238,238,237;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle&rectPic;pDC->SelectObjectpOldBrush;// 确定每个柱形条的宽度int nLength= 定义五种颜色,用来填充柱形图COLORREF RGBArray6={RGB0,255,0,RGB128,0,255,RGB0,0,255, RGB255,255,0, RGB255,0,0,RGB0,128,255};// 定义一个矩形,表示柱形条CRect rect;for int i=0; i<6; i++{// 确定柱形条的位置=+inLength;= si/num;= + i+1nLength;=;// 创建画刷,填充图形CBrush NewBrush;RGBArrayi;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle▭pDC->SelectObjectpOldBrush;}// 释放设备环境this->ReleaseDCpDC;7 系统信息1 用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;点击用户帮助菜单或帮助工具栏按钮后,即打开帮助文件,如图所示:图4-14 用户帮助功能实现图具体实现为:void CCMarketDlg::OnMENUHelp{char bufMAX_PATH;::GetCurrentDirectoryMAX_PATH,buf; //获取程序根目录路径::ShellExecuteNULL, "open", "", "", "", SW_SHOW;}2 关于本系统具体实现:void CCMarketDlg::OnMENUAbout{CDialog aboutIDD_ABOUTBOX;;}8 退出系统具体实现:void CCMarketDlg::OnMENUQuit{>Close;//关闭数据库EndDialog0;}9 数据库连接设计与实现1 初始化COM库,引入ADO库定义文件首先在中用import指令引入ADO类型库import "c:\program files\common files\system\ado\"no_namespace\rename"EOF","adoEOF"然后使用AfxOleInit来初始化COM库;2 用Connection对象连接数据库conn->Open_bstr_tstrConn,"","",adModeUnknown; //打开数据库3 利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;_RecordsetPtr m_pRs;__uuidofRecordset;>Execute_bstr_tsql,NULL,adCmdText;//执行sql 4使用完毕后关闭连接释放对象;m_pRs->Close;//关闭记录集conn->Close;//关闭连接。