超市会员管理系统数据库实验报告.docx
《超市会员管理系统数据库实验报告.docx》由会员分享,可在线阅读,更多相关《超市会员管理系统数据库实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
超市会员管理系统数据库实验报告
学号:
成绩:
________
数据库综合实验报告
院系计算机与电子信息学院
专业计算机科学与技术
班 级xxxxxxxxxxx
设计题目超市会员管理系统
姓名xxxxx
指导教师xxxxxxxx
xxxx年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分钟才能重新输入。
会员管理模块:
该模块主要实现会员的注册,修改,退出,查询等操作。
会员有多种级别,级别的高低与消费总额成正比。
不同的级别拥有不同的优惠服务。
刚注册的会员有初级级别的优惠。
会员可使用会员卡购买超市中的商品,每名会员只能注册一张会员卡。
当需要补办会员卡,或其他修改会员信息的操作可以通过修改来执行。
其中会员查询可以通过不同的方式进行查询,以得到想要的数据。
统计分析模块:
该模块主要是统计系统当中一些重要信息,比如会员消费习惯、商品信息统计等有价值的信息。
将会提供多种统计方式,比如输入收入阶层统计会员数,或者统计购买同一种类商品的人数,等等。
消费管理模块:
该模块提供会员消费界面,既会员购买了哪些商品,商品单价,购买数量等信息。
会员确定购买后,将所购买商品插入数据库中消费记录表,同时更改会员卡的消费总额,余额等信息。
并且,根据消费总额是否达到一定限额,决定会员卡的级别是否升级。
1.2.2数据需求分析
会员信息表:
会员ID,姓名,性别,年龄,联系方式,地址,收入阶层,卡号。
会员卡信息表:
卡号,消费总额,卡内余额,序列号,级别ID,注册时间。
(序列号唯一标识会员卡)
级别表(用于查询会员消费后的级别):
级别ID,级别名称,最小金额,最大金额,级别优惠。
消费记录表(用于记录会员消费的记录):
消费ID,卡号,消费金额,消费时间,商品条形码,购买数量。
商品信息表:
商品条形码,单价,商品名称,数量,种类。
为了便于查询会员信息和消费记录,添加了两个视图,由于查询频率高的数据。
会员信息视图:
会员姓名,性别,年龄,联系方式,地址,收入阶层,会员卡号,注册时间,消费总额,余额,级别名称。
消费记录视图:
会员卡号,消费金额,消费时间,商品名称,购买数量,商品单价。
1.2.3性能要求分析
数据精确度:
该系统主要是能够正确处理消费金额,以求能正确管理会员卡的金额。
因此大多数需要处理小数的计算,这要求有足够的精确度。
时间特性:
在时间方面,该系统力求在用户能够等待的时间范围内输出,并将结果反映给用户。
适应性:
系统操作方式尽可能简单,界面友好,运行环境尽可能向下兼容,与其他软件的借口和开发环境发生变化时,应具有较强的适应能力和通用性,在数据结构、程序变化不大时,能在不同的系统上使用,最好能跨越平台。
1.2.4运行环境
操作系统:
MicrosoftWindowsXP或更高
数据库:
Oracle10g
浏览器:
主流浏览器,如IE
1.3用户需求
该系统要求具有友好的用户界面和良好的硬件、软件接口。
同时,要求具有良好的健壮性,当程序出错时,能在一定局限内允许错误的存在,而不使系统运行出现错误。
另外,该系统还要求让用户能够轻松上手,便捷的使用。
2、系统概要设计
2.1系统总体设计
图2.1系统总图
2.2系统功能模块设计
会员管理的功能模块如下图所示:
图2.2.1会员管理图
图2.2.2统计分析图
消费管理的功能模块如下图所示:
图2.2.3消费管理图
2.3数据库设计
2.3.1数据库主功能模块E-R图
“会员”表的E-R图:
图2.3.1.1会员表
“会员卡”表的E-R图:
图2.3.1.2会员卡表
“级别”表的E-R图:
图2.3.1.3级别表
“消费记录”表的E-R图:
图2.3.1.1消费记录表
“商品信息”表的E-R图:
图2.3.1.5商品信息表
各实体之间关系的E-R图:
图2.3.1.6
其中两个视图的E-R图如下:
会员相关信息表:
图2.3.1.7会员相关信心视图
会员消费记录视图:
图2.3.1.8会员消费记录视图
2.3.2关系模型
其中实下划线是主键,虚下划线是外键
会员(会员ID,姓名,性别,年龄,联系方式,地址,收入阶层,卡号)
会员卡(卡号,消费总额,余额,序列号,注册时间,级别ID)
级别(级别ID,级别名称,最小值,最大值,级别优惠)
消费记录(消费ID,消费时间,消费金额,条形码,购买数量,卡号)
商品记录(条形码,单价,商品名称,数量,种类)
2.3.3数据库定义
会员信息表:
字段名称
字段类型
是否为空
约束
字段说明
memID
Number(5)
否
主键
会员ID
memName
varchar2(10)
否
会员姓名
gender
Varchar2(6)
是
Male,fe
性别
age
number
(2)
是
年龄
telephone
varchar2(20)
是
唯一性
联系方式
address
varchar2(30)
是
地址
income
Varchar2(10)
是
check
收入阶层
cardNo
number(10)
是
外键
卡号
会员卡表:
字段名称
字段类型
是否为空
约束
字段说明
cardNo
number(10)
否
主键
卡号
totPrice
number(14,2)
是
累计消费总额
balPrice
Number(14,2)
是
卡内余额
regTime
DATE
是
注册时间
serNum
char(20)
否
唯一性
会员卡序列号
gradeID
Number
(2)
是
会员卡级别
级别表:
字段名称
字段类型
是否为空
约束
字段说明
gradeID
Number
(2)
否
主键
级别ID
grageName
varchar2(10)
否
级别名称
lowLimit
Number(14,2)
是
金额下限
upLimit
Number(14,2)
是
金额上限
Youhui
Number(3,2)
是
会员打折优惠
消费记录表:
字段名称
字段类型
是否为空
约束
字段说明
expID
Number
否
主键
消费ID
expPrice
Number(14,2)
是
消费金额
expTime
DATE
是
消费时间
barCode
char(20)
是
外键
条形码
expNum
Number(4)
是
购买数量
cardNo
number(10)
是
外键
卡号
商品信息表:
字段名称
字段类型
是否为空
约束
字段说明
barCode
Varchar2(20)
否
主键
条形码
unitPrice
Number(10,4)
是
商品单价
goodName
varchar2(20)
是
商品名称
goodNum
Number(6)
是
商品数量
goodSort
varchar2(10)
是
商品种类
3、详细设计
根据以上的概要设计对本系统的问题描述、系统模块的规划、系统结构的设计以及对数据库的设计,其系统的规划就比较清晰了。
在系统的设计语言中使用了JSP+Servlet+JavaBean+JDBC的设计模式,使用现在标胶流行的三层结构模式架构。
此系统采用MVC模式进行设计,以此其中包含了大量的数据处理类,下面我将通过图示相应模块的具体实现。
同时,给出系统中用到的各个封装类的整体布局和规划,还有其中实现的数据处理。
3.1数据处理封装图
DBConnection类负责专门连接数据库并被其他数据库表处理类使用。
创建类Members用以实现会员管理模块中各个功能的具体实现。
Members类的具体实现有以下几个功能:
下面创建了四个Servlet用于处理从表单传来的数据,并反馈给客户端。
其中包括有会员注册,会员更新,会员消费,会员卡充值,四个servlet。
3.2系统设计
总框架图:
描述了系统的基本结构和模块之间的调用关系。
在下图中所示的反映了整个系统的模块间的关系。
图3.2总框架图
4、编程实现
4.1登录界面实现
4.1.1登录界面
4.1.2代码实现
连接数据库核心代码:
登录后主界面:
代码如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+
request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
">
MyJSP'marketMain.jsp'startingpage
--
-->
超市会员管理系统
会员管理
--统计分析-->
消费管理
退出
本次设计性实验,真的遇到不少问题,最主要的是连接数据库的时候,老是连接不上,不断地修改程序也没有起色,上网查了一下资料,发现是电脑内置不行,经过一番修改与尝试,终于勉强地将实验弄出来。