文章目录
超市购物系统 v2.0 开发记录(一)
一、需求分析
在全国各地,最离不开人们生活的就是超市,因为超市里的商品种类繁多,有食品、日用品、饮料、蔬菜、水果等,而且每家超时每天都有流水账单,相比于传统的小卖部,超市一般都有一套完善的记账系统,用于统计营业以来的收入与支出。但是,仍有许多小卖部,小型超市仍然采用传统的手写记账的方式,不仅容易出错,而且还容易丢失记录,现可开发一套供这些商家使用的订单后台管理系统,使得只需要在网页上进行简单的操作就能对所有的商品进行统一的管理。
二、技术选型
目前可采用主流的 SpringBoot + Sping +SpringMVC + MyBatis + MySQL 的技术栈来进行后台的基础搭建,同时使用SpringBoot支持的Thymeleaf模板引擎进行可视化网页的渲染,加上框架 Bootstrap美化页面的排版。由于系统分为普通用户、管理员不同的角色,故可使用 Shiro 框架进行系统认证和授权采用,实现不同角色有不同的访问权限。最后可使用 Echarts.js 插件制作统计图,用于分析周期内的营业情况。
综上,技术栈为 SpringBoot + Thymeleaf + Bootstrap + SSM + MySQL + Shiro + Echarts
回顾版本1.0的技术栈:前端JSP + Servlet + Bootstrap5 + JQuery + Echarts | 后端 MVC架构 + JDBC
三、系统设计
系统中包含管理员和经理、普通用户三个角色,其中管理员和经理可以进入系统里后台,他们属于超市的工作人员。
3.1 管理员功能模块设计
3.2 经理功能模块设计
3.3 用户功能模块设计
3.4 游客功能模块设计
3.5 系统流程图
四、数据表设计
工具:Navicat 11.2.7
4.1 用户角色表
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
`id` int NOT NULL AUTO_INCREMENT,
`roleName` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
4.2 用户表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT,
`userCode` varchar(255) NOT NULL COMMENT '用户编码',
`userName` varchar(255) NOT NULL COMMENT '用户名称',
`userPassword` varchar(255) NOT NULL COMMENT '用户密码(带密文)',
`gender` int DEFAULT NULL COMMENT '性别(1: 女, 2:男)',
`birthday` date DEFAULT NULL COMMENT '生日',
`phone` varchar(255) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL COMMENT '地址',
`createBy` bigint DEFAULT NULL,
`createionDate` date DEFAULT NULL COMMENT '创建时间',
`modifyBy`</