店铺管理数据库超市会员管理系统.docx

上传人:b****5 文档编号:29895729 上传时间:2023-08-03 格式:DOCX 页数:39 大小:102.94KB
下载 相关 举报
店铺管理数据库超市会员管理系统.docx_第1页
第1页 / 共39页
店铺管理数据库超市会员管理系统.docx_第2页
第2页 / 共39页
店铺管理数据库超市会员管理系统.docx_第3页
第3页 / 共39页
店铺管理数据库超市会员管理系统.docx_第4页
第4页 / 共39页
店铺管理数据库超市会员管理系统.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

店铺管理数据库超市会员管理系统.docx

《店铺管理数据库超市会员管理系统.docx》由会员分享,可在线阅读,更多相关《店铺管理数据库超市会员管理系统.docx(39页珍藏版)》请在冰豆网上搜索。

店铺管理数据库超市会员管理系统.docx

店铺管理数据库超市会员管理系统

(店铺管理)数据库超市会员管理系统

设计总说明

本会员超市会员管理系统实际的业务流程为背景而设计的,后台数据库的设计用Mysql5.0,前台用java来开发。

本超市会员信息管理系统以超市会员信息的管理为核心,兼有各种统计、查询、添加、修改和删除等功能,如对货物流量和消费人群的查询,对会员信息的查询等。

本系统利用视图、触发器,存储过程可以对数据库中的内容实现各种级联修改与信息的实时更新,可以化繁为简,提高效率,避免大量的重复性的工作。

整个系统由管理员登录模块、会员信息管理模块、会员优惠信息模块、购物信息模块和商品信息模块组成。

整个系统能独立运行,实现现实中的功能。

关键字:

超市会员管理系统、java、Mysql、图形化用户界面

一.设计目的1

二.问题描述1

2.1问题概述1

2.2系统设计目标1

2.3系统主要功能2

三.需求分析2

3.1设计思想2

3.2可行性分析2

3.3功能需求3

3.4性能需求4

3.5系统设计基础5

四.概要设计9

4.1功能描述9

4.2系统模块10

4.3系统功能模块图11

五.数据库设计11

5.1数据库简介11

5.2概念设计12

5.3逻辑结构设计14

5.4物理结构设计15

六.详细设计16

6.1基本信息模块16

6.2系统模块31

6.3数据模块37

七.使用说明39

八.设计总结43

参考文献44

数据库大作业

—超市会员管理系统

一.设计目的

现代化的超市组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。

超市会员管理系统正是为此而设计的。

优秀的超市会员管理系统操作方便,灵活性好,系统安全性高,运行稳定。

二.问题描述

2.1问题概述

该超市会员管理系统是对会员信息的管理,会员优惠管理,超市购物交易记录,商品统计功能,实现超市会员管理的基本功能。

2.2系统设计目标

超市会员管理系统提高了劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益。

该超市会员管理系统是对超市会员信息,会员优惠信息,超市购物交易记录信息,商品统计信息进行管理和维护,实现超市会员管理的基本功能。

2.3系统主要功能

1.登录系统:

管理员登录,对会员信息进行管理。

2.会员管理:

对会员信息的添加、修改、查询、删除。

3.交易管理:

对超市会员的购物信息进行统计。

4.商品管理:

对货物流量、消费人群及商品实时库存量等信息进行统计。

5.优惠管理:

对会员的积分,享受优惠的等级信息管理。

6.密码管理:

对管理员密码进行修改。

三.需求分析

3.1设计思想

超市会员管理系统是超市管理重要的一个环节,会员管理软件有助于减轻管理人员的负担,提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益。

该超市会员管理系统是对超市会员信息,会员优惠信息,超市购物交易记录信息,商品统计信息进行管理和维护,实现超市会员管理的基本功能。

本系统要求运行稳定,图形界面符合用户的日常使用习惯,数据处理正确无误。

3.2可行性分析

可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

该系统的可行性分析包括以下几个方面的内容。

A.技术可行性:

系统要求在windows7以上环境运行,后台数据库采用Mysql5.0,使用JAVA编程,采用JDBC方式连接数据库,这些在目前都是容易实现的。

程序将部分需要经常调用的数据存入内存,可提高程序运行速度。

B.经济可行性:

在经济上,用此系统加强了超市会员的管理效率,可节省人力资源的开支。

C.管理的可行性:

在工作上,超市会员管理信息量非常大,开发了此系统,可极大提高超市工作人员的效率。

提高决策的管理能力等等,方便数据的储存和修改,及以后随时查询会员信息,购物和商品信息是一个比较人性化的管理系统。

由以上分析得出,本系统可进行开发。

3.3功能需求

3.3.1基本功能需求

1.登录系统:

管理员登录,对会员信息进行管理。

2.会员管理:

对会员信息的添加、修改、查询、删除。

3.交易管理:

对超市会员的购物信息进行统计。

4.商品管理:

对货物流量、消费人群及商品实时库存量等信息的统计。

5.优惠管理:

对会员的积分的,享受优惠的等级信息管理。

6.密码管理:

对管理员密码进行修改。

3.3.2用户界面需求

界面对于用户来说至关重要,既是用户对软件评价的根据,也是用户最终使用的。

所以界面设计的怎么样,对于整个系统的成功与否有着密切联系。

当然,也许界面设计的好不会让其性能更好,但是设计的不好只会让它更差。

界面设计原则必须是,操作步骤少,随时提示用户系统正在进行哪些操作,减少用户记忆的东西。

3.4性能需求

1.硬件环境

处理器:

CPU1GHZ或更高

内存:

256M以上

硬盘空间:

120G以上

2.软件环境

操作系统:

Windows7

数据库:

Mysql5.0

编程软件:

MyEclipse6.5EnterpriseWorkbench

3.5系统设计基础

3.5.1系统业务流图

图3.1系统业务流图

3.5.2系统数据流图

图3.2顶级数据流图

图3.3会员信息数据流图

图3.4会员优惠数据流图

图3.5消费记录数据流图

图3.6商品信息数据流图

图3.7管理员数据流图

四.概要设计

4.1功能描述

该系统的功能需求有如下方面

1.会员信息管理。

主要用于会员信息进行维护。

功能包括会员信息的添加、修改和删除已有的会员信息,使用各种方式对会员信息进行查询。

2.管理员管理。

主要完成管理员的登录、添加、修改、删除以及密码修改。

3.优惠管理:

对会员的积分的,具体等级享受优惠的信息管理。

4.交易记录管理:

管理维护超市会员的购物信息包括购买商品数量,消费金额,消费时间等信息。

5.商品管理:

对货物流量、消费人群及商品实时库存量等信息的统计。

4.2系统模块

本系统分为三个模块:

系统模块:

管理员的添加修改删除。

资源管理:

管理本超市的会员,优惠政策,交易记录,商品等信息。

数据管理:

管理本软件的数据库的连接和关闭。

4.3系统功能模块图

图4.1系统功能模块图

五.数据库设计

5.1数据库简介

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

根据系统开发的需要,以及考虑到数据库存储量的大小及数据量的多少,我选择了MYSQL数据库。

因为开发的时间比较短加上所需要做的事情比较多,只能对数据库进行增、删、改、查等操作的了解与学习。

5.2概念设计

局部E-R图:

图5.1会员信息E-R图

图5.2优惠级别信息E-R图

图5.3消费记录E-R图

商品信息

条形码

单价

种类

数量

商品名称

图5.4商品信息E-R图

管理员信息表

管理员姓名

登录密码

管理员ID

图5.5管理员信息E-R图

各实体之间关系的E-R图:

图5.6各实体间关系E-R图

5.3逻辑结构设计

会员(会员ID,姓名,性别,年龄,联系方式,地址,会员级别,卡号)主键会员ID,外键会员级别。

消费记录(消费ID,消费时间,消费金额,条形码,购买数量,会员ID)主键消费ID,外键会员ID、条形码。

优惠级别(会员级别,级别名称,最小值,最大值,级别优惠)主键会员级别。

商品信息(条形码,单价,商品名称,数量,种类)主键条形码。

管理员信息(管理员ID,管理员姓名,管理员密码)主键管理员ID。

5.4物理结构设计

表5.1会员信息表

字段名称

字段类型

是否为空

约束

字段说明

memID

Number(5)

主键

会员ID

memName

varchar2(10)

会员姓名

gender

Varchar2(6)

Male,fe

性别

Age

number

(2)

年龄

telephone

varchar2(20)

唯一性

联系方式

address

varchar2(30)

地址

Memgrade

Varchar2(10)

外键

会员级别

cardNo

number(10)

卡号

表5.2优惠级别表

字段名称

字段类型

是否为空

约束

字段说明

Memgrade

Number

(2)

主键

会员级别

grageName

varchar2(10)

级别名称

lowLimit

Number(14,2)

金额下限

upLimit

Number(14,2)

金额上限

Youhui

Number(3,2)

会员打折优惠

表5.3消费记录表

字段名称

字段类型

是否为空

约束

字段说明

expID

Number

主键

消费ID

expPrice

Number(14,2)

消费金额

expTime

DATE

消费时间

barCode

char(20)

外键

条形码

expNum

Number(4)

购买数量

memID

number(10)

外键

会员ID

表5.4商品信息表

字段名称

字段类型

是否为空

约束

字段说明

barCode

Varchar2(20)

主键

条形码

unitPrice

Number(10,4)

商品单价

goodName

varchar2(20)

商品名称

goodNum

Number(6)

商品数量

goodSort

varchar2(10)

商品种类

表5.5管理员信息表

字段名称

字段类型

是否为空

约束

字段说明

LoginId

Number

(2)

主键

管理员ID

LoginName

varchar2(10)

管理员姓名

LoginPass

Number(14,2)

管理员密码

六.详细设计

6.1基本信息模块

6.1.1会员信息

(1)模块功能

此模块用于管理超市会员的信息,包括会员信息的管理与维护。

(2)界面设计

图6.1会员信息浏览界面

(3)关键代码

publicclassMemRegisterextendsJFrame{

publicMemRegister(){

try{

jbInit();

}catch(Exceptionexception){

exception.printStackTrace();

}

}

privatevoidjbInit()throwsException{

getContentPane().setLayout(null);

intx=((1024-480)/2);

inty=((768-580)/2);

this.setBounds(x,y,480,580);

jLabel1.setText("会员卡号:

");

jLabel1.setBounds(newRectangle(50,46,60,15));

jLabel11.setText("(YY-MM-DD)");

jLabel11.setBounds(newRectangle(287,298,99,15));

jLabel10.setText("会员卡充值:

");

jLabel10.setBounds(newRectangle(50,428,77,15));

jLabel9.setText("办卡时间:

");

jLabel9.setBounds(newRectangle(51,388,68,15));

jLabel8.setText("会员住址:

");

jLabel8.setBounds(newRectangle(50,344,65,15));

jLabel7.setText("会员生日:

");

jLabel7.setBounds(newRectangle(51,297,64,15));

jLabel6.setText("会员年龄:

");

jLabel6.setBounds(newRectangle(49,254,63,15));

jLabel5.setText("会员性别:

");

jLabel5.setBounds(newRectangle(50,223,66,15));

jLabel4.setText("确认密码:

");

jLabel4.setBounds(newRectangle(50,172,64,15));

jLabel3.setText("会员密码:

");

jLabel3.setBounds(newRectangle(50,124,73,21));

jPasswordField2.setText("jPasswordField2");

jPasswordField2.setBounds(newRectangle(128,166,153,25));

jPasswordField1.setText("jPasswordField1");

jPasswordField1.setBounds(newRectangle(128,117,153,25));

jTextField7.setText("jTextField7");

jTextField7.setBounds(newRectangle(128,423,151,21));

jTextField6.setText("jTextField6");

jTextField6.setBounds(newRectangle(129,379,148,21));

jTextField5.setText("jTextField5");

jTextField5.setBounds(newRectangle(128,342,151,21));

jTextField4.setText("jTextField4");

jTextField4.setBounds(newRectangle(128,293,152,24));

jTextField3.setText("jTextField3");

jTextField3.setBounds(newRectangle(128,253,153,23));

jTextField2.setText("jTextField2");

jTextField2.setBounds(newRectangle(128,72,153,21));

jTextField1.setText("jTextField1");

jTextField1.setBounds(newRectangle(128,39,153,21));

jButton2.addActionListener(newMemberRegister_jButton2_actionAdapter(this));

jRadioButton1.setText("男");

jRadioButton1.addActionListener(newAbstractAction(){

@Override

publicvoidactionPerformed(ActionEvente){

jdio_actionPerformed(e);

}

});

jRadioButton1.setBounds(newRectangle(128,219,51,23));

jRadioButton2.setText("女");

jRadioButton2.setBounds(newRectangle(186,219,48,23));

jgroup.add(jRadioButton1);

jgroup.add(jRadioButton2);

this.getContentPane().add(jLabel1);

jButton2.setBounds(newRectangle(240,490,83,25));

jButton2.setText("清空");

jButton1.setBounds(newRectangle(102,490,81,25));

jButton1.setText("提交");

jButton1.addActionListener(newMemberRegister_jButton1_actionAdapter(this));

this.getContentPane().add(jLabel2);

this.getContentPane().add(jLabel3);

this.getContentPane().add(jLabel4);

this.getContentPane().add(jLabel6);

this.getContentPane().add(jLabel7);

this.getContentPane().add(jLabel8);

this.getContentPane().add(jLabel9);

this.getContentPane().add(jLabel10);

this.getContentPane().add(jTextField2);

this.getContentPane().add(jTextField1);

this.getContentPane().add(jPasswordField1);

this.getContentPane().add(jPasswordField2);

this.getContentPane().add(jTextField3);

this.getContentPane().add(jTextField4);

this.getContentPane().add(jTextField5);

this.getContentPane().add(jTextField6);

this.getContentPane().add(jTextField7);

this.getContentPane().add(jLabel11);

this.getContentPane().add(jLabel5);

this.getContentPane().add(jButton1);

this.getContentPane().add(jButton2);

this.getContentPane().add(jRadioButton1);

this.getContentPane().add(jRadioButton2);

jLabel2.setText("会员姓名:

");

jLabel2.setBounds(newRectangle(50,84,64,15));

}

JLabeljLabel1=newJLabel();

JLabeljLabel2=newJLabel();

JLabeljLabel3=newJLabel();

JLabeljLabel4=newJLabel();

JLabeljLabel5=newJLabel();

JLabeljLabel6=newJLabel();

JLabeljLabel7=newJLabel();

JLabeljLabel8=newJLabel();

JLabeljLabel9=newJLabel();

JLabeljLabel10=newJLabel();

JLabeljLabel11=newJLabel();

JTextFieldjTextField1=newJTextField();

JTextFieldjTextField2=newJTextField();

JTextFieldjTextField3=newJTextField();

JTextFieldjTextField4=newJTextField();

JTextFieldjTextField5=newJTextField();

JTextFieldjTextField6=newJTextField();

JTextFieldjTextField7=newJTextField();

JPasswordFieldjPasswordField1=newJPasswordField();

JPasswordFieldjPasswordField2=newJPasswordField();

JButtonjButton1=newJButton();

JButtonjButton2=newJButton();

ButtonGroupbuttonGroup1=newButtonGroup();

JRadioButtonjRadioButton1=newJRadioButton();

JRadioButtonjRadioButton2=newJRadioButton();

ButtonGroupjgroup=newButtonGroup();

publicvoidjdio_actionPerformed(ActionEvente)

{

Stringgender="";

if(jRadioButton1.isSelected())

{

gender="男";

}else{

gender="女";

}

}

publicvoidjButton1_actionPerformed(ActionEvente){

//StringManName=

}

publicvoidjButton2_actionPerformed(ActionEvente){

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jTextField6.setText("");

jTextField7.setText("");

jPasswordField1.setText("");

jPasswordField2.setText("");

}

}

classMemberRegister_jButton2_actionAdapterimplementsActionListener{

privateMemRegisteradaptee;

MemberRegister_jButton2_actionAdapter(MemRegisteradaptee){

this.adaptee=adaptee;

}

publicvoidactionPerformed(ActionEvente){

adaptee.jButton2_actionPerform

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1