springboot244基于SpringBoot和VUE技术的智慧生活商城系统设计与实现-4 系统设计

时间:2024-03-08 21:40:05

系统在设计的过程中,必然要遵循一定的原则才可以,胡乱设计是不可取的。首先用户在使用过程中,能够直观感受到功能操作的便利性,符合正常思维逻辑的操作,这才是系统好用的一个开端,给使用者第一印象就是这个系统设计的相当不错。

4.1 系统设计原则

系统遵循设计原则进行开发,会有很多可以预料到的好处,只要遵循了设计原则,那么开发出来的系统必然是有质量保证的。

首先第一条原则就是安全性原则:程序必须设定角色管理,不同的角色有不同的功能模块,不同的角色登录都需要输入相对应的账号和密码,否则不允许进行操作相对应的权限。每个用户登录只能修改自己的密码,不需要对别的账号进行密码或者其他资料的修改,否则就违背了安全性原则的设定。

其次第二条原则就是易用性原则:符合安全性只是功能的符合,不代表操作就符合,所以要设定易用性原则。易用性原则就是规定程序符合操作流程,正常人的思维定向为基础,在不违背程序运行逻辑定义的情况下,必须使用简单,操作规范,让每个用户使用起来都能看到页面,就能感知功能模块的作用,短时间的就能使用程序,达到易用效果。

再次第三条原则就是实用性原则:实用性代表着花里胡哨的功能必须抛弃,尽量符合数据处理的简洁性,不仅需要这样进行设定,还需要有预知性,系统后期可能会出现的功能模块尽量要解耦,与程序设定要模块化体现,这样才能达到扩展性。

第四条原则就是准确性原则:准确性原则的唯一定义就是准确,包含数据输入格式的准确,数据处理的准确,以及数据存储的准确。程序里面关于数据准确才有存在的意义,如果一堆不相干的数据存在是没有任何用处的,甚至会产生各种问题,所以必须要保证数据的准确性。

第五条原则是易维护原则:易维护代表着程序运行必须是可控的状态,如果不可控出现各种问题,那么所有的工作都是空谈。程序开发中对于各种程序判定异常,必须有统一的处理模式,异常是程序开发中不可避免的,但是可以对出现的异常进行抛出,有助于程序异常处理的复盘,只要每个异常都能定位准确,那么代表程序设计是趋于完美的,维护起来会更加的方便,只要有助于程序维护的都必须给予支持。

4.2 功能模块设计

对管理员具体功能的设计结果将以图4.1所示的管理员功能结构图来进行体现。管理员对于智慧生活商城系统操作的功能包括对公告,用户信息,商品信息等进行增删改查,同时可以回复用户对商品的评价,以及管理商品订单,商品留言,商品退货等信息。

图4.1 管理员功能结构图

对用户具体功能的设计结果将以图4.2所示的用户功能结构图来进行体现。用户对于智慧生活商城系统操作的功能包括在前台购买商品,管理收货地址,管理购买的商品信息,查看公告,管理购物车,对需要退货的订单商品申请退货等。

图4.2 用户功能结构图

4.3 数据库设计

用户通过系统的功能操作来进行数据交互,包括数据的添加,数据的更新,数据的删除,数据的查询等基本功能操作,表面上虽然是操作系统界面提供的功能,但是实际上系统的这些数据是在数据库当中进行访问与操作的。目前市场上可供选择的存储数据的数据库有很多,除了简单版的Access之外,还有SQL Server,DB2,Informix,MySQL等关系型数据库可供选择,由于关系型数据库具有固定的表结构,以及对数据一致性要求比较强,所以相比没有固定表结构以及具有灵活的数据格式的非关系型数据库而言,在程序配套数据库的选择中,关系型数据库的使用率更高。本系统选择MySQL来存放数据,其相关理论以及技术在经过了很长时间的发展之后,变得非常成熟,各大网络平台都公开分享其开发源码,而且其对计算机的配置要求很低,不需要过多内存进行安装,很符合本系统对于数据库的选择要求。

4.3.1 数据库E-R图

本节需要对系统中存放在数据库中的数据进行充分分析,对数据的实体,实体特征,联系等进行确定,然后通过概念模型的表示方法即E-R图进行表达,在E-R图绘制工具中,选择椭圆,菱形框,矩形等形状表达实体属性,实体间联系,实体这些信息,使用实线段将这些形状进行连接即可。初步完成E-R图之后,需要进行检查,及时进行有误数据的更改,删除实体间存在的冗余联系,删除E-R图中冗余的数据,最终要展示一个内容准确的E-R图。

(1)商品包括的属性有商品照片,商品库存,商品原价等。其属性图如下。

图4.4 商品实体属性图

(2)商品订单包括的属性有购买数量,订单类型,支付类型等。其属性图如下。

图4.5 商品订单实体属性图

(3)管理员包括的属性有用户名,角色等。其属性图如下。

图4.6 管理员实体属性图

(4)用户包括的属性有用户头像,性别,电子邮箱等。其属性图如下。

图4.7 用户实体属性图

(5)设计的各实体间关系E-R图如下。

图4.8 实体间关系E-R图

4.3.2 数据库表结构

在指定的数据库里面对数据表进行创建命名,然后设计各个数据表的存储结构,需要对该数据库的操作非常熟悉,并且还需要学习并掌握一定的数据表设计方面的知识,比如数据命名,作为系统的开发人员,为了避免程序运行产生乱码现象以及为了确保系统的正常运行,在对数据表进行命名时,一般都是采用英文名称,同时在对数据表的字段进行编辑时,也是采用英文的方式进行,为了方便今后对数据表的设计内容进行更改或查看,对一些比较重要的字段都会进行中文备注,或者是使用中文进行字段描述。设计期间,也需要对各个字段选择合适的数据类型以及设置匹配的取值范围,当一张数据表设计完成之后,还要对该表的主键进行标注,就是为了确保该数据表的唯一性与独立性。

表4.1 收货地址表

字段 注释 类型
id (主键) 主键 int(20)
yonghu_id 创建用户 int(20)
address_name 收货人 varchar(200)
address_phone 电话 varchar(200)
address_dizhi 地址 varchar(200)
isdefault_types 是否默认地址 int(11)
insert_time 添加时间 timestamp
update_time 修改时间 timestamp
create_time 创建时间 timestamp

表4.2 购物车表

字段 注释 类型
id (主键) 主键 int(11)
yonghu_id 所属用户 int(11)
shangpin_id 商品 int(11)
buy_number 购买数量 int(11)
create_time 添加时间 timestamp
update_time 更新时间 timestamp
insert_time 创建时间 timestamp

表4.3 公告表

字段 注释 类型
id (主键) 主键 int(11)
gonggao_name 公告名称 varchar(200)
gonggao_photo 公告图片 varchar(200)
gonggao_types 公告类型 int(11)
insert_time 公告发布时间 timestamp
gonggao_content 公告详情 text
create_time 创建时间 timestamp

表4.4 商品表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_name 商品名称 varchar(200)
shangpin_uuid_number 商品编号 varchar(200)
shangpin_photo 商品照片 varchar(200)
shangpin_types 商品类型 int(11)
shangpin_kucun_number 商品库存 int(11)
shangpin_price 购买获得积分 int(11)
shangpin_old_money 商品原价 decimal(10,2)
shangpin_new_money 现价 decimal(10,2)
shangpin_clicknum 点击次数 int(11)
shangpin_content 商品介绍 text
shangxia_types 是否上架 int(11)
shangpin_delete 逻辑删除 int(11)
create_time 创建时间 timestamp

表4.5 商品收藏表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_id 商品 int(11)
yonghu_id 用户 int(11)
shangpin_collection_types 类型 int(11)
insert_time 收藏时间 timestamp
create_time 创建时间 timestamp

表4.6 商品评价表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_id 商品 int(11)
yonghu_id 用户 int(11)
shangpin_commentback_text 评价内容 text
insert_time 评价时间 timestamp
reply_text 回复内容 text
update_time 回复时间 timestamp
create_time 创建时间 timestamp

表4.7 商品留言表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_id 商品 int(11)
yonghu_id 用户 int(11)
shangpin_liuyan_text 留言内容 text
insert_time 留言时间 timestamp
reply_text 回复内容 text
update_time 回复时间 timestamp
create_time 创建时间 timestamp

表4.8 商品订单表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_order_uuid_number 订单号 varchar(200)
address_id 收货地址 int(11)
shangpin_id 商品 int(11)
yonghu_id 用户 int(11)
buy_number 购买数量 int(11)
shangpin_order_true_price 实付价格 decimal(10,2)
shangpin_order_courier_name 快递公司 varchar(200)
shangpin_order_courier_number 订单快递单号 varchar(200)
shangpin_order_types 订单类型 int(11)
shangpin_order_payment_types 支付类型 int(11)
insert_time 订单创建时间 timestamp
create_time 创建时间 timestamp

表4.9 商品退货表

字段 注释 类型
id (主键) 主键 int(11)
shangpin_tuihuo_uuid_number 退货流水号 varchar(200)
shangpin_order_id 商品订单 int(11)
yonghu_id 用户 int(11)
shangpin_tuihuo_content 退货原因 text
insert_time 申请退货时间 timestamp
shangpin_tuihuo_courier_name 退货快递公司 varchar(200)
shangpin_tuihuo_courier_number 退货单号 varchar(200)
shangpin_tuihuo_types 退货状态 int(11)
shangpin_tuihuo_yesno_types 审核状态 int(11)
shangpin_tuihuo_yesno_text 审核意见 text
shangpin_tuihuo_shenhe_time 审核时间 timestamp
create_time 创建时间 timestamp

表4.10 管理员表

字段 注释 类型
id (主键) 主键 bigint(20)
username 用户名 varchar(100)
password 密码 varchar(100)
role 角色 varchar(100)
addtime 新增时间 timestamp

表4.11 用户表

字段 注释 类型
id (主键) 主键 int(11)
username 账户 varchar(200)
password 密码 varchar(200)
yonghu_name 用户姓名 varchar(200)
yonghu_phone 用户手机号 varchar(200)
yonghu_id_number 用户身份证号 varchar(200)
yonghu_photo 用户头像 varchar(200)
sex_types 性别 int(11)
yonghu_email 电子邮箱 varchar(200)
new_money 余额 decimal(10,2)
yonghu_sum_jifen 总积分 decimal(10,2)
yonghu_new_jifen 现积分 decimal(10,2)
huiyuandengji_types 会员等级 int(11)
create_time 创建时间 timestamp