基于SSM的大型商场会员管理系统(源码+L文+说明文档)
目录
4 系统设计
4.1布局设计原则
4.2功能模块设计
4.3数据库设计
4.3.1数据库E-R图
4.3.2 数据库表结构
第五章 系统实现
5.1 管理员功能实现
5.1.1 员工管理
5.1.2 会员信息管理
5.1.3 商品管理
5.2 员工功能实现
5.2.1 会员信息查询
5.2.2 新增订单
5.2.3 购买订单详情查看
4 系统设计
设计时,通常把用户需求作为对系统功能和数据库的设计重点,殊不知,系统设计时,注重用户体验也是比较关键的设计内容。比如一个系统已经实现了用户需要的功能,但是其界面布局比较混乱,同时界面中各个元素的搭配也不合理,这样一旦访问者访问系统,在短时间内无法找到需要的信息,就容易产生视觉疲劳,直接影响用户对系统的使用。所以,系统设计时,也需要关注用户的使用体验。由于用户之间的差别,比如教育程度,职业,地区等因素的不同,用户产生的行为也会存在差异,所以设计人员既要考虑用户之间的行为差异,也要考虑他们之间的共性。在尊重用户习惯的基础上,进行页面设计布局。达到用户可以多次访问系统的目的。
4.1布局设计原则
进行页面的布局,就要划分系统的各个模块,然后根据这些模块的重要程度进行布局,也需要关注用户比较在意的关键信息,利用合理的布局方式,传达出系统想要表达的信息内容,也让用户快速高效地获取需要的信息。布局虽然是页面设计的核心,但是也要讲究页面内容的协调性,统一性和均衡性。
布局设计也要考虑基本原则,接下来的内容就对此进行阐述。
第一点:参考系统需求,把系统的内容进行划分,按照重要程度的不同进行布局,并把相似或相近的信息内容集中展示在同一个区域,让访问者可以更流畅的阅读信息;
第二点:页面中比较重要的区域是靠上靠左的位置,所以这部分区域应该放置系统中比较重要的模块,毕竟这部分区域可以吸引用户眼球,让用户进入页面中,就可以发现需要的信息。对于一些次要的模块,则可以放置在页面中靠下和靠右的位置。如此设计安排,才可以发挥出页面设计实用性的特点;
第三点:根据用户习惯设计页面,虽然大部分用户具有操作上的共性特征,但他们之间还是存在区别,常见的影响用户操作习惯的因素有:年龄,学历,职业,性别等。所以设计时在考虑用户的共性特征时,也需要尽量尊重用户的不同习惯。
4.2功能模块设计
下图为管理员的功能设计,管理员管理会员,员工,商品,管理购买订单以及购买订单详情信息。
图4.1 管理员功能结构图
下图为员工的功能设计,员工新增会员购买订单,查看购买订单详情,查询会员与商品。
图4.2 员工功能结构图
4.3数据库设计
大型商场会员管理系统选用关系数据库作为程序的后台支持,之所以选择关系数据库主要还是因为它易于使用,而且也方便进行数据维护,尤其是提供强大的SQL查询语言。还有就是关系数据库采用的二维表模型,跟现实生活中的逻辑非常贴近,与网状模型,层次模型相比较,可以发现还是关系模型更容易被接受。
4.3.1数据库E-R图
这部分内容需要根据用户需求当中的数据信息,进行拆分,并仔细分析,要从这些数据中标识出E-R模型需要使用的数据,其中有实体,有实体具备的属性,有基于实体间的关系。在获取了这些数据之后,就可以使用认可度比较高的Visio工具来完成E-R模型的建模。建模期间,只要注意Visio工具中,绘制E-R模型的各个符号代表的含义,并能够正确把实体,属性还有关系等数据完整表示就可以了。使用这样的方法可以节省数据库设计的时间,而且还可以直观表达设计的内容,以及它们之间存在的联系。
(1)设计的会员实体,其具备的属性如下图。
图4.4 会员实体属性图
(2)设计的购买订单实体,其具备的属性如下图。
图4.5 购买订单实体属性图
(3)设计的员工实体,其具备的属性如下图。
图4.6 员工实体属性图
(4)设计的管理员实体,其具备的属性如下图。
图4.7 管理员实体属性图
(5)设计的实体间关系如下图。
图4.8 实体间关系E-R图
4.3.2 数据库表结构
程序编码基本都是参照设计的方案进行的,包括设计的数据库也是对后面的编码有着一定的影响。通常来说,数据库就是保存数据,不管其设计得好坏,都不会丧失它本身的数据保存功能。设计数据库的好坏,其区别在于,对数据存取的效率。设计比较好的数据库,在数据查询,存储以及更新上,可以快速做出响应。设计不好的数据库,很多时候不仅会延长数据的处理时间,还会容易出错。因此,设计数据库也是程序开发中很关键的环节。
针对本系统设计的数据库,按照数据库设计的原则,即设计数据库的三大范式进行。各个数据表的结构都是根据E-R模型进行的物理转化,对于一些细节问题,包括表的命名,字段的命名,字段类型和长度的设计等都比较规范化,这样做的目的也是方便后期系统编程。
表4.1 购买订单信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
order_bianhao | varchar(200) | 是 | NULL | 订单编号 |
caozuo_name | varchar(200) | 是 | NULL | 操作人姓名 |
caozuo_table | varchar(200) | 是 | NULL | 操作人所在表名 |
huiyuan_id | int(11) | 是 | NULL | 会员id |
original_money | decimal(10,2) | 是 | NULL | 原总价 |
discount_money | decimal(10,2) | 是 | NULL | 折后价 |
insert_time | timestamp | 是 | NULL | 订单添加时间 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.2 购买订单详情信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
buy_order_id | varchar(200) | 是 | NULL | 订单id |
goods_id | int(11) | 是 | NULL | 商品表id |
order_number | int(11) | 是 | NULL | 数量 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.3 商品信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
goods_name | varchar(200) | 是 | NULL | 商品名字 |
goods_types | int(11) | 是 | NULL | 商品种类 |
goods_number | int(11) | 是 | NULL | 商品数量 |
goods_photo | varchar(200) | 是 | NULL | 商品图片 |
danwei | varchar(200) | 是 | NULL | 单位 |
danjia | decimal(10,2) | 是 | NULL | 单价 |
goods_content | varchar(200) | 是 | NULL | 商品详情 |
flag | int(11) | 是 | NULL | 是否删除 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.4 会员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
huiyuan_name | varchar(200) | 是 | NULL | 姓名 |
huiyuan_phone | varchar(200) | 是 | NULL | 手机号 |
huiyuan_id_number | varchar(200) | 是 | NULL | 身份证号 |
sex_types | int(11) | 是 | NULL | 性别 |
huiyuan_photo | varchar(200) | 是 | NULL | 照片 |
nation | varchar(200) | 是 | NULL | 民族 |
politics_types | int(11) | 是 | NULL | 政治面貌 |
birthplace | varchar(200) | 是 | NULL | 籍贯 |
jifen | int(11) | 是 | NULL | 积分 |
jifen_types | int(11) | 是 | NULL | 积分等级 |
huiyuan_types | int(11) | 是 | NULL | 会员状态 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.5 管理员信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 |
| 主键 |
username | varchar(100) | 否 |
| 用户名 |
password | varchar(100) | 否 |
| 密码 |
role | varchar(100) | 是 | 管理员 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表4.6 员工信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
username | varchar(200) | 是 | NULL | 账户 |
password | varchar(200) | 是 | NULL | 密码 |
name | varchar(200) | 是 | NULL | 姓名 |
phone | varchar(200) | 是 | NULL | 手机号 |
id_number | varchar(200) | 是 | NULL | 身份证号 |
sex_types | int(11) | 是 | NULL | 性别 |
yonghu_photo | varchar(200) | 是 | NULL | 照片 |
nation | varchar(200) | 是 | NULL | 民族 |
politics_types | int(11) | 是 | NULL | 政治面貌 |
birthplace | varchar(200) | 是 | NULL | 籍贯 |
create_time | timestamp | 是 | NULL | 创建时间 |
第五章 系统实现
这部分工作主要由程序编制人员完成。通常在面对一个大型的系统时,这些程序编制人员就会明确分工,每个人都完成不同的功能模块,在用代码实现功能的基础上,提前预留好接口,最后才将他们已完成的功能模块通过接口进行组合。
5.1 管理员功能实现
5.1.1 员工管理
管理员工是管理员的功能。其运行效果图如下。管理员添加员工,查询员工,删除员工,修改员工资料都是在本页面完成。
图5.1 员工管理页面
5.1.2 会员信息管理
管理会员信息是管理员的功能。其运行效果图如下。管理员查看会员的积分,积分等级以及使用状态信息,管理员可以增加会员,删除会员,修改会员资料。
图5.2 会员信息管理页面
5.1.3 商品管理
管理商品是管理员的功能。其运行效果图如下。管理员可以修改商品的单价,数量以及种类信息,可以删除商品,查询商品信息。
图5.3 商品管理页面
5.2 员工功能实现
5.2.1 会员信息查询
查询会员信息是员工的功能。其运行效果图如下。员工可以在当前页面搜索会员,查看会员详细信息。
图5.4 会员信息查询页面
5.2.2 新增订单
新增订单是员工的功能。其运行效果图如下。员工对会员需要购买的商品进行添加,最后选择会员卡进行订单提交并结账。
图5.5新增订单页面
5.2.3 购买订单详情查看
员工在当前模块查看购买订单详情信息,其运行效果图如下。员工查询购买订单详情信息,查看购买订单详情信息,包括操作员,购买的商品以及数量等信息。
图5.6 购买订单详情查看页面
源码获取