smbms超市管理系统

超市管理系统

1. 系统概要

1.1. 系统介绍

超市管理系统是一个面向超市业务管理的综合性系统,旨在通过信息化手段提高超市的运营效率和管理水平。该系统通过整合供应商管理、订单管理、用户管理等多个模块,为超市提供了一个全面的业务解决方案。系统采用B/S架构,用户可以通过浏览器访问系统,实现对超市业务的在线管理。该系统将极大地提高超市运营效率。

1.2. 功能介绍

  1. 用户登录:系统为不同角色的用户提供通过用户名和密码登录的功能
  2. 订单管理
  • 根据商品名称查询订单(包括供应商、是否付款条件查询):用户可以根据商品名称、供应商ID和支付状态等条件对订单进行查询
  • 添加订单:系统支持创建订单,包括订单编码、商品名称、描述、单位、数量、总额等信息。
  • 删除订单:系统提供订单信息删除的功能,便于对订单信息进行维护
  • 修改订单:系统提供订单信息修改的功能,便于对订单信息进行维护
  • 查看订单:系统提供订单详细信息的查看,便于对订单信息进行维护
  1. 供应商管理
  • 根据供应商编码、供应商名称查询供应商:支持按名称和编码对供应商信息进行模糊查询,快速定位供应商数据。
  • 添加供应商:系统提供供应商信息删除的功能,便于对供应商信息进行维护
  • 删除供应商:系统提供供应商信息删除的功能,便于对供应商信息进行维护
  • 修改供应商:系统提供供应商信息删除的功能,便于对供应商信息进行维护
  • 查看供应商:系统提供供应商信息删除的功能,便于对供应商信息进行维护
  1. 用户管理
  • 根据用户名查询用户(包括用户角色条件查询)
  • 添加用户:系统提供用户信息删除的功能,便于对用户信息进行维护
  • 删除用户:系统提供用户信息删除的功能,便于对用户信息进行维护
  • 修改用户:系统提供用户信息删除的功能,便于对用户信息进行维护
  • 查看用户:系统提供用户信息删除的功能,便于对用户信息进行维护
  1. 修改密码

1.3. 相关技术介绍

1.3.1. 系统开发语言:java

Java: 作为系统的主要开发语言,Java 具有跨平台性、面向对象等特点,适合大型应

用程序的开发。其丰富的库和生态系统提供了强大的开发工具

Java 的跨平台是基于 JVM 虚拟机这一中间物来实现的,Java 源程序经过编译器编译后

生成虚拟机能够理解的字节码(ByteCode——class 文件的内容),虚拟机将每一条要执行的

字节码送给解释器,解释器将其翻译成特定系统上的机器码,然后在特定的机器上运行。每

一种平台的解释器是不同的,但是实现的虚拟机是相同的。

JVM 是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实

现的。JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS

的系统调用。

1.3.2. 动态网页开发技术:JSP

JSP:JSP 全名是 Java Server Pages,它是建立在 Servlet 规范之上的动态网页开发技术。

用于构建动态 Web 页面,允许在 HTML 中嵌入 Java 代码。这使得开发者能够更轻松地生成

动态内容。在 JSP 文件中,HTML 代码与 Java 代码共同存在,其中,HTML 代码用来实现

网页中静态内容的显示, Java 代码用来实现网页中动态内容的显示。

JSP 技术所开发的 Web 应用程序是基于 Java 的,它可以用一种简捷而快速的方法从 Java

程序生成 Web 页面,其使用上具有如下几点特征:

• 跨平台:由于 JSP 是基于 Java 语言的,它可以使用 Java API,所以它也是跨平台的,

可以应用于不同的系统中,如 Windows、Linux 等。当从一个平台移植到另一个平台时,JSP

和 JavaBean 的代码并不需要重新编译,这是因为 Java 的字节码是与平台无关的,这也应验

了 Java 语言“一次编译,到处运行”的特点。

• 业务代码相分离:在使用 JSP 技术开发 Web 应用时,可以将界面的开发与应用程

序的开发分离开。开发人员使用 HTML 来设计界面,使用 JSP 标签和脚本来动态生成页面

上的内容。在服务器端,JSP 引擎(或容器,本书中指 Tomcat)负责解析 JSP 标签和脚本程

序,生成所请求的内容,并将执行结果以 HTML 页面的形式返回到浏览器。

• 组件重用:JSP 中可以使用 JavaBean 编写业务组件,也就是使用一个 JavaBean 类封

装业务处理代码或者作为一个数据存储模型,在 JSP 页面中,甚至在整个项目中,都可以

重复使用这个 JavaBean。同时,JavaBean 也可以应用到其他 Java 应用程序中。

• 预编译:预编译就是在用户第一次通过浏览器访问 JSP 页面时,服务器将对 JSP 页面

代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,会直

接执行编译好的代码。这样不仅节约了服务器的 CPU 资源,还大大地提升了客户端的访问

速度。

1.3.3. 前端相关技术:HTML、CSS、JavaScript

包括 HTML、CSS、JavaScript 等,用于实现系统的用户界面和用户交互。这些技术共

同确保系统具有良好的用户体验。

HTML:创建网页的文档结构,

CSS:通过添加格式和样式来美化网页。

JavaScrip:用于使网站更具交互性,并支持开发更复杂的网站——弹出框、更改颜色的

按钮以及网站的所有其他动态方面都可能启用通过 JavaScript。

1.3.4. web服务器:tomcat

Tomcat 是由 Apache 软件基金会属下 Jakarta 项目开发的 Servlet 容器,按照 Sun

Microsystems 提供的技术规范,实现了对 Servlet 和 JavaServer Page(JSP)的支持,并提供

了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全局管理和 Tomcat 阀

等。由于 Tomcat 本身也内含了 HTTP 服务器,因此也可以视作单独的 Web 服务器。但是,

不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是用 C 语言实现的HTTPWeb 服务器;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了配置

管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。

1.3.5. C/S架构

(Client/Server 或客户/服务器模式):Client 和 Server 常常分别处在相距很远的两台计

算机上,Client 程序的任务是将用户的要求提交给 Server 程序,再将 Server 程序返回的结果

以特定的形式显示给用户;Server 程序的任务是接收客户程序提出的服务请求,进行相应的

处理,再将结果返回给客户程序。

2. 需求分析

2.1. 功能需求

  • 供应商管理需求:超市需要对供应商信息进行有效管理,包括信息的录入、查询和维护
  • 订单处理需求:超市需要处理大量订单,要求系统能够快速创建、查询和修改订单信息
  • 用户与权限管理需求:系统需要对不同角色的用户进行权限控制

3. 数据库设计

3.1. 实体关系分析

  • 用户(smbms_user)和角色(smbms_role):多对一关系,多个用户smbms_user可以是同一个角色smbms_role,通过smbms_user.roleId关联
  • 用户(smbms_user)和地址(smbms_address):一对多关系,一个用户smbms_user可以有多个地址smbms_address,通过smbms_address.userId进行关联
  • 用户(smbms_user)和订单(smbms_bill):一对多关系,一个用户smbms_user可以创建多个订单(smbms_bill),通过smbms_bill.createdBy进行关联
  • 供应商(smbms_provider)和订单(smbms_bill):一对多关系,一个供应商smbms_provider可以关联多个订单,通过smbms_bill.providerId进行关联

3.2. ER图

3.3. 关系数据模型

  • smbms_address

  • smbms_bill

  • smbms_provider

  • smbms_role

  • smbms_user

3.4. SQL语句分析

存储引擎:InnoDB,支持事务和外键;字符集:utf8,支持多语言字符;排序规则:utf8_unicode_ci,适合unicode字符集的语言无关排序;行存储格式:compact,紧凑存储,减少磁盘空间消耗;自增起始值;创建表之前指定drop语句删除已存在的表

  • smbms_address
DROP TABLE IF EXISTS `smbms_address`;
CREATE TABLE `smbms_address`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `contact` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '联系人姓名',
  `addressDesc` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '收货地址明细',
  `postCode` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '邮编',
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '联系人电话',
  `createdBy` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
  `creationDate` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) NULL DEFAULT NULL COMMENT '修改者',
  `modifyDate` datetime NULL DEFAULT NULL COMMENT '修改时间',
  `userId` bigint(20) NULL DEFAULT NULL COMMENT '用户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Compact;
  • smbms_bill
DROP TABLE IF EXISTS `smbms_bill`;
CREATE TABLE `smbms_bill`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `billCode` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '账单编码',
  `productName` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '商品名称',
  `productDesc` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '商品描述',
  `productUnit` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '商品单位',
  `productCount` decimal(20, 2) NULL DEFAULT NULL COMMENT '商品数量',
  `totalPrice` decimal(20, 2) NULL DEFAULT NULL COMMENT '商品总额',
  `isPayment` int(10) NULL DEFAULT NULL COMMENT '是否支付(1:未支付 2:已支付)',
  `createdBy` bigint(20) NULL DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) NULL DEFAULT NULL COMMENT '更新者(userId)',
  `modifyDate` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `providerId` int(20) NULL DEFAULT NULL COMMENT '供应商ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24 CHARACTER SET = utf8 COLLATE = utf8_unicod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值