超市会员管理系统课程设计报告.docx
《超市会员管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《超市会员管理系统课程设计报告.docx(38页珍藏版)》请在冰豆网上搜索。
![超市会员管理系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2022-11/23/4f8a13f6-883e-49c8-ad1a-9b229d4915d4/4f8a13f6-883e-49c8-ad1a-9b229d4915d41.gif)
超市会员管理系统课程设计报告
琼州学院电子信息工程学院
《数据库系统原理》课程设计报告
项目名称:
超市会员管理系统数据库设计
专业:
网络工程
年级:
2009级
姓名:
张建雄
学号:
09240026
指导老师:
陈作聪
2011年3月
摘要
随着经济的发展和消费水平的提高,人们购物越来越频繁,这就使超市对顾客资料信息的管理更加繁琐。
会员管理系统能更好、更准、更方便的对超市会员的相关信息进行管理,并且更有效的维护超市信息。
这样不但有助于超市秩序的管理与发展和信息维护,并且有助于提高超市在用户中的形象,进而提高超市的知名度和竞争力。
系统采用access作为开发工具。
实现了管理员对会员信息的录入、修改和注销会员卡,并且可以按会员姓名、会员卡卡号、会员卡种类查询会员的基本信息。
本文首先分析了会员管理程序的必要性,由此提出了自己的会员管理程序思想。
然后阐述了系统的设计原则,功能实现过程,最后阐述了本系统的实用性,并说明了需完善之处。
关键字:
会员;会员卡;信息管理;Access;
1.引言
当今中国零售业发展正盛,大量超市涌现于各个城市,很大程度上改变了人们的消费方式,超市为了避免固定客流的流失推出了会员卡制度。
会员管理系统就是为了更好管理会员信息而产生的,它能使超市管理员快速注册新会员,能修改和注销会员信息,能通过姓名、会员卡卡号等条件查询会员的消费信息。
会员管理系统相对于传统的管理而言具有查询方便、维护简易、精确性高等优点。
计算机的使用能够大量节省人力、物力、财力,而且还可以大大提高超市会员资料的安全性和完整性。
本系统的开发要求是利用Access开发会员管理系统,满足超市对会员管理的要求,能够为会员信息管理提供便利。
本文以高校超市会员管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。
在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。
采用结构化的功能模块设计系统功能,可读性好,易于扩充。
2.需求分析阶段
2.1引言
随着社会发展,计算机的广泛应用已成为社会发展的重要标志。
这个社会是个信息高速发展的社会,它不仅体现在高科技上,而且体现在我们日常的生活中。
根据软基工程学的要求,开发软件首先要做的且也是开发过程中最主要的就是系统的需求分析,它同时也是软件生存周期中关键的一步。
根据软件工程学开发软件的要求,对超市会员管理系统的全部功能和相关技术进行具体的分析,分析时采用结构化的分析方法,自顶向下,逐步分解问题,下面就对超市会员管理系统进行系统分析,以确定该软件的规模、应具有的功能提出的各项要求及所需要的硬件环境和软件支持,确定开发的软件与外界的接口。
根据用户的情况确定软件对操作的要求,以及待开发软件总体上的约束和限制。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了四个部分:
会员管理,会员卡管理,政策管理,报表管理。
能够实现以下功能:
进行会员信息的录入、修改、删除及查询等;
②实现卡的发行、卡的注销、解挂卡、补办新卡、更改信息;
③实现数据的汇总统计输出;
④定义会员的种类及优惠信息;
2.2需求分析阶段的目标与任务
2.2.1处理对象
会员基本信息:
会员卡卡号,姓名,性别,年龄,联系方式,购卡日期
会员卡信息:
会员卡卡号,会员卡编号,会员卡种类
物品信息:
物品编号,物品名称,物品种类,单价
会员购物信息:
会员卡卡号,物品编号,数量
优惠信息:
会员卡卡号,会员卡种类,折扣
2.2.2处理功能及要求
1.能够存储会员的基本信息,并方便有效的进行相应的会员信息数据操作和管理,这主要包括:
1)会员信息的录入、删除及修改。
2)会员信息的多关键字检索查询。
2.能够对商品的种类价格等进行相应的信息存储与管理,这其中包括:
1)商品信息的及时添加删除及更新。
2)会员的购物信息的管理
3)会员购物信息的统计与查询。
3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
4.对查询、统计的结果能够列表显示。
2.2.3.安全性和完整性要求
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2.3需求分析阶段成果
2.3.1体会与收获
系统需求分析主要是通过对网络上已经运用的超市会员管理系统的相应功能进行了解,了解其基本功能模块和运行机制,并通过上网搜索有关超市会员管理系统的知识,了解到超市会员管理的现状,以及在管理中的一些问题。
由于是第一次做这样的需求调查,开始总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过老师的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。
2.3.2超市会员管理系统业务流程图
从会员角度考虑的业务流程图:
2.3.3超市会员管理系统数据流程图
顶层数据流图:
超市会员管理数据流图:
会员卡日常管理数据流图:
会员基本信息管理数据流图:
会员政策管理数据流图:
2.3.4超市会员管理系统数据字典
2.3.5处理逻辑描述
表1.3处理逻辑列表
处理编号
处理功能
处理过程
PR-1
判断会员查询涉及的功能模块
购物信息模块、会员信息模块、会员种类信息模块、消费优惠信息模块、管理员模块、物品信息模块:
先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果。
PR-2
判断会员卡、会员、商品修改要涉及的模块,同时把相应的修改数据传到相应的模块之中
会员信息模块、会员卡信息模块、会员种类信息模块、管理员信息模块、商品信息模块:
先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。
3概念设计阶段
3.1引言
系统开发的总体目标是实现超市会员管理的系统化和自动化,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高超市管理效率的目的。
主要任务是对会员信息、会员卡信息、商品信息、优惠信息、会员购物信息的基本信息的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2任务与目标
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
3.3阶段结果
(1)根据不同的对象,分别画出各分E-R图:
(a)从会员基本信息抽象出的分E-R图:
(b)从会员卡信息抽象出的分E-R图:
(c)从物品信息抽象出E-R图:
(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:
(3)各E-R图各实体的属性如下所示:
会员(会员卡卡号,姓名,性别,年龄,联系方式,购卡日期,会员种类,折扣)
会员卡(会员卡卡号,会员姓名,会员性别,会员年龄,会员卡编号,会员卡种类,办卡日期)
购物信息(会员卡卡号,物品编号,物品名称,物品种类,单价,数量)
4.逻辑设计阶段
4.1逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2数据组织
4.2.1将E-R图转换为关系模型
实体型转换为关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。
将联系转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
会员:
会员(会员卡卡号,姓名,性别,年龄,联系方式,购卡日期,会员种类,折扣)
会员卡:
会员卡(会员卡卡号,会员姓名,会员性别,会员年龄,会员卡编号,会员卡种类,办卡日期)
购物信息:
购物信息(会员卡卡号,物品编号,物品名称,物品种类,单价,数量)
(注:
标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)
4.2.2模型优化
关系模式会员,会员卡,物品,优惠规则不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。
购物信息则存在部分依赖。
4.2.3数据库模式定义
表2.1会员基本信息表
列名
数据类型
可否为空
会员卡卡号
Char
notnull
姓名
Char
notnull
性别
Char
notnull
年龄
Char
notnull
联系方式
Char
notnull
购卡日期
Date/time
表2.2会员卡信息表
列名
数据类型
可否为空
会员卡卡号
Char
notnull
会员卡编号
Char
notnull
会员卡种类
Char
notnull
表2.3物品信息表
列名
数据类型
可否为空
物品编号
Char
notnull
物品名称
Char
notnull
物品种类
Char
notnull
单价
Monetary
notnull
表2.4会员购物信息表
列名
数据类型
可否为空
会员卡卡号
Char
notnull
物品编号
Char
notnull
数量
Digital
表2.5优惠信息表
列名
数据类型
可否为空
会员卡卡号
Char
notnull
会员卡种类
Char
notnull
折扣
Digital
notnull
4.2.4用户子模式定义
表2.7用户子模式定义
编号
用户子模式(View)
作用(共性:
提供数据保密和安全保护机制)
V-1
会员
便于查询和修改会员的基本信息
V-2
会员卡
便于查询和修改会员卡的基本信息
V-3
会员购物信息
便于会员购物历史信息的查询
V-4
优惠规则
用于设置、查询卡的优惠信息
V-5
商品信息
用于建立更新商品信息
表2.8会员基本信息视图
列名
数据类型
可否为空
说明
VIPNo
Char
notnull
会员编号
VIPName
Char
notnull
会员姓名
VIPSex
Char
notnull
会员性别
VIPType
Char
notnull
会员类型
VIPcontactinformation
Char
notnull
会员联系方式
Conductiondate
Date/time
办证日期
表2.9会员卡基本信息视图
列名
数据类型
可否为空
说明
CardNo
Char
notnull
会员卡卡号
CardType
Char
notnull
会员卡的种类
表2.10会员购物信息视图
列名
数据类型
可否为空
说明
CardNo
Char
notnull
会员卡卡号
VIPName
Char
notnull
会员姓名
CommodityName
Char
notnull
商品名称
CommodityType
Char
notnull
商品种类
Unitprice
Monetary
notnull
单价
Number
Digital
notnull
数量
Price
Monetary
总价
表2.11优惠规则信息视图
列名
数据类型
可否为空
说明
CardNo
Char
notnull
会员卡卡号
CardType
Char
notnull
会员卡种类
Discount
Digital
notnull
折扣
表2.12商品信息视图
列名
数据类型
可否为空
说明
CommodityID
Char
notnull
商品标号
CommodityName
Char
notnull
商品名称
CommodityType
Char
notnull
商品种类
Unitprice
Monetary
notnull
单价
4.3数据处理
系统功能模块图:
5.物理设计阶段
5.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
5.2数据存储方面
为数据库中各基本表建立的索引如下:
1.由于基本表会员基本信息表、会员卡信息表,物品信息表的主码会员卡卡号,物品编号经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;
2.由于基本表会员卡信息表的属性会员种类的属性经常在查询条件中出现在两个属性上建立聚簇索引;
3.会员购物信息表的属性会员卡卡号,物品编号,经常在查询条件中出现,考虑在其之上建立聚簇索引;
5.3系统功能模块
5.3.1会员基本信息的查询和更新模块
将实现对会员基本信息的查询和更新(修改、添加、删除)操作,具体的功能模块图如下:
5.3.2会员卡信息的建立模块
将完成对会员卡信息的建立注册操作,用于发行新卡,具体的功能模块图如下所示:
6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1建立数据库
6.1.2建立数据表
(1)会员基本信息表的建立:
(2)会员卡信息表的建立:
(3)物品信息表的建立:
(4)会员购物信息表的建立:
(5)优惠规则表的建立:
6.1.3建立视图
(1)用于查询会员基本信息的视图定义如下:
(2)用于会员卡信息查询的视图定义如下:
(3)用于显示会员购物信息的视图定义如下:
(4)用于物品信息查询的视图定义如下:
6.2数据入库
系统包括会员基本信息管理、会员卡基本信息管理、物品信息管理、购物信息管理、等四大功能模块,共有5张基本表,采用Access的表的设计视图直接将数据录入到相应的基本表中。
6.3创建各个功能的存储过程
系统共创建了8个存储过程,具体列表如下:
表3.1创建的存储过程列表:
编号
存储过程名称
定义
作用
P-1
VIP_Insert
详见附录1-1
在VIP中插入一元组
P-2
Card_Insert
详见附录1-2
在Card中插入一元组
P-3
Commodity_Insert
详见附录1-3
在Commodity中插入一元组
P-4
Shoppinginformation
_Insert
详见附录1-5
在Shoppinginformation
中插入一元组
P-5
Discount_Insert
详见附录1-4
从Discount中插入一元组
P-6
Query_Card
详见附录1-7
查询会员卡信息
P-7
Query_Shoppinginformation
详见附录1-8
查询会员购物信息
P-8
Query_VIP
详见附录1-6
查询全部会员
(其它表的查询、修改、删除与以上各表的存储过程定义大致相同,这里不再具体列出)
7.系统调试和测试
对该超市会员管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:
(1)通过视图查看各个基本表和视图中的数据(见附录1)
(2)检测各个存储过程的功能:
(见附录2)
8.实习心得
1.这次课程设计使我熟悉了系统设计的整体步骤。
系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。
在具体的实施阶段中,表的建立及表间关系最为重要,其实这也是需求分析重要性的体现。
2.这次课程设计加深了我对数据库系统概论相关知识和Access相关功能的理解。
但由于缺乏知识的整合,有些功能在具体操作上无法实现,导致所建系统只是雏形,很不完善。
例如在卡的挂失及解挂上我没能实现。
9.存在的问题及建议
1.我觉得在这次课程设计中,需求分析阶段是致关重要的,但由于同学们都是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以都很盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。
所以希望老师在实习前能给我们对需求分析阶段的工作进行一定的指导。
参考文献
[1]《Access课程设计案例精编》作者:
毕超出版社:
中国水利水电出版社
[2]《Access数据库开发经典案例解析》作者:
王晟出版社:
清华大学出版社
[3]《Access进销存管理数据库开发》作者凯际资讯工作室出版社:
中国青年出版社
[4]《VISUALBASIC6.0信息管理系统开发实例导航》作者:
求是科技出版社:
人民邮电出版社
[5]《ACCESS数据库系统项目开发实践》作者:
苏瑞出版社:
科学出版社
[6]《VISUALBASIC+ACCESS数据库应用实例完全解析》作者:
李敏业出版社:
人民邮电出版
附录1存储过程定义
1)查看会员基本信息表中的数据
2)查看会员卡信息表中的数据:
3)查看物品信息表中的数据:
4)查看优惠规则表中的数据
5)查看购物信息表中的数据:
6)查看会员基本信息视图中的数据:
7)查看会员卡信息视图的数据:
8)查看会员购物信息视图的基本数据:
附录2数据查看和存储过程功能的验证
1.基本表的数据录入:
1)会员基本信息表中的数据
登录:
进入会员管理:
进入会员信息建立,点击添加并输入信息:
在信息查询中进行验证,按姓名查询:
验证通过。
2)会员卡基本信息表中的数据
进入会员卡管理:
在卡的发信和注销中建立卡的信息,在优惠管理中建立卡的折扣信息;
3)商品基本信息表中的数据
进入会员管理里的会员购物信息:
点击商品信息建立:
点击商品信息并添加数据:
在商品信息查询中按商品名称查询:
验证通过。
2.会员购物信息查询:
点击进入一般查询中的会员购物信息:
3.报表统计:
点击进入报表统计:
分别点击货物流量及消费人群得如下输出:
消费人群:
附录3登录界面源代码
PrivateSubcmdOK_Click()
IfIsNull(Me.cboUserName)Then
MsgBox"请输入您的用户名!
",vbQuestion
ExitSub
EndIf
Iflogin=TrueThen
DoCmd.CloseacForm,Me.Name
DoCmd.OpenForm"超市会员管理系统"
Else
MsgBox"用户名或密码不正确!
",vbCritical
ExitSub
EndIf
EndSub
PublicFunctionlogin()AsBoolean
DimrstAsNewADODB.Recordset
DimstrSQLAsString
strSQL="SELECT员工Id,密码FROM员工表WHERE员工Id="&Me.cboUserName
rst.OpenstrSQL,CurrentProject.Connection,adOpenStatic
Ifrst.RecordCount>0Then
Ifrst("密码")=Me.TxtPwdThenlogin=True
EndIf
EndFunction
PrivateSubcmdOK_Click()
IfIsNull(Me.cboUserName)Then
MsgBox"请输入您的用户名!
",vbQuestion
ExitSub
EndIf
Iflogin=TrueThen
DoCmd.CloseacForm,Me.Name
DoCmd.OpenForm"超市会员管理系统"
Else
MsgBox"用户名或密码不正确!
",vbCritical
ExitSub
EndIf
EndSub
PublicFunctionlogin()AsBoolean
DimrstAsNewADODB.Recordset
DimstrSQLAsString
strSQL="SELECT员工Id,密码FROM员工表WHERE员工Id="&Me.cboUserName
rst.OpenstrSQL,CurrentProject.Connection,adOpenStatic
Ifrst.RecordCount>0Then
Ifrst("密码")=Me.TxtPwdThenlogin=True
EndIf
EndFunction
PrivateSubcmdOK_Click()