食品管理系统

目录

[第1章 系统概述](#第1章 系统概述)

[第2章 可行性研究](#第2章 可行性研究)

[2.1 项目背景及意义](#2.1 项目背景及意义)

[2.2 可行性研究](#2.2 可行性研究)

[第3章 需求分析](#第3章 需求分析)

[3.1 功能性需求](#3.1 功能性需求)

[第4章 总体设计](#第4章 总体设计)

[4.1 系统的功能模块图。](#4.1 系统的功能模块图。)

4.2各功能模块简介

4.3主要业务流程

[第5章 详细设计](#第5章 详细设计)

[5.1 食品管理系统页面](#5.1 食品管理系统页面)

5.2个人中心页面

[5.3 系统管理页面](#5.3 系统管理页面)

5.3.1用户管理子页面:

5.3.2食材信息管理子页面:

5.3.3食疗处方管理子页面:

5.3.4公告管理子页面:

[5.4 数据库](#5.4 数据库)

[第6章 系统实现与部署](#第6章 系统实现与部署)

[6.1 代码实现](#6.1 代码实现)

[6.2 数据库连接图](#6.2 数据库连接图)

[第7章 测试](#第7章 测试)

[7.1 测试目标](#7.1 测试目标)

7.2测试用例

[7.2.1 个人中心测试用例](#7.2.1 个人中心测试用例)

[7.2.2 系统管理测试用例](#7.2.2 系统管理测试用例)

[7.2.3 食材食品管理系统测试用例](#7.2.3 食材食品管理系统测试用例)

[7.4 测试总结](#7.4 测试总结)

[第8章 总结](#第8章 总结)

[8.1 存在的不足](#8.1 存在的不足)

[8.2 心得体会](#8.2 心得体会)
第1章 系统概述

1.1 系统背景

随着人们生活水平的提高,对于食品的管理和健康饮食的需求也越来越高。传统的食品管理方式已经无法满足人们的需求,因此需要开发一个食品管理系统,来实现对食品的信息化管理。

1.2 系统功能

食品管理系统主要包括个人中心、系统管理和食材食品管理系统三个模块。个人中心模块包括密码修改功能;系统管理模块包括用户管理、食材信息管理、食疗处方管理和公告管理功能;食材食品管理系统模块包括注册和登录功能,以及登录是登录账号密码验证码,注册是账号密码确认密码。

1.3 系统实现技术

食品管理系统采用 Servlet 技术实现,数据库采用 MySQL 数据库。

1.4 系统意义

食品管理系统的实现,可以提高食品管理的效率和质量,方便用户对食品的管理和查询,同时也可以为用户提供健康饮食的建议和指导。

第2章 可行性研究

2.1 项目背景及意义

随着人们生活水平的提高,对于食品的管理和健康饮食的需求也越来越高。传统的食品管理方式已经无法满足人们的需求,因此需要开发一个食品管理系统,来实现对食品的信息化管理。

2.2 可行性研究

2.2.1 技术可行性研究

食品管理系统采用 Servlet 技术实现,数据库采用 MySQL 数据库。Servlet 是一种服务器端的 Java 技术,它可以处理客户端的请求,并返回相应的响应。MySQL 是一种关系型数据库管理系统,它可以存储和管理大量的数据。因此,从技术上讲,食品管理系统是可行的。

2.2.2 经济可行性研究

食品管理系统的开发成本主要包括人力成本、硬件成本和软件成本。人力成本主要包括开发人员的工资和福利;硬件成本主要包括服务器的购买和维护费用;软件成本主要包括数据库管理系统的购买和维护费用。由于食品管理系统的用户数量较少,因此开发成本相对较低。同时,食品管理系统的运行成本也较低,主要包括服务器的运行费用和数据库管理系统的运行费用。因此,从经济上讲,食品管理系统是可行的。

2.2.3 操作可行性研究

食品管理系统的操作界面简单直观,用户可以通过浏览器进行访问和操作。同时,食品管理系统的操作流程也比较简单,用户可以轻松地完成注册、登录、查询等操作。因此,从操作上讲,食品管理系统是可行的。

2.2.4 法律可行性研究

食品管理系统的开发和使用符合相关的法律法规,不存在任何法律风险。

第3章 需求分析

3.1 功能性需求

3.1.1 个人中心

个人中心模块包括密码修改功能。用户可以通过个人中心模块修改自己的密码。

3.1.2 系统管理

系统管理模块包括用户管理、食材信息管理、食疗处方管理和公告管理功能。

用户管理功能:管理员可以通过用户管理功能添加、删除、修改用户信息。

食材信息管理功能:管理员可以通过食材信息管理功能添加、删除、修改食材信息。

食疗处方管理功能:管理员可以通过食疗处方管理功能添加、删除、修改食疗处方信息。

公告管理功能:管理员可以通过公告管理功能添加、删除、修改公告信息。

3.1.3 食材食品管理系统

食材食品管理系统模块包括注册和登录功能,以及登录是登录账号密码验证码,注册是账号密码确认密码。

注册功能:用户可以通过注册功能注册一个新的账号。

登录功能:用户可以通过登录功能登录到系统中。

登录账号密码验证码:用户在登录时需要输入账号、密码和验证码。

注册账号密码确认密码:用户在注册时需要输入账号、密码和确认密码。

3.2 非功能性需求

3.2.1 性能需求

食品管理系统的性能需求主要包括响应时间、吞吐量和并发用户数等。响应时间是指从用户发起请求到系统返回响应的时间间隔;吞吐量是指系统在单位时间内处理的请求数量;并发用户数是指系统同时处理的用户数量。为了满足性能需求,食品管理系统需要采用高效的算法和数据结构,优化数据库设计,提高服务器的性能和扩展性。

3.2.2 安全需求

食品管理系统的安全需求主要包括数据保密性、数据完整性和用户认证等。数据保密性是指保护系统中的数据不被非法访问和泄露;数据完整性是指保证系统中的数据不被非法修改和破坏;用户认证是指验证用户的身份和权限,防止非法用户访问系统。为了满足安全需求,食品管理系统需要采用加密技术、数字签名技术和访问控制技术等。

3.2.3 运行环境需求

食品管理系统的运行环境需求主要包括操作系统、数据库管理系统和 Web 服务器等。操作系统可以选择 Windows Server 或 Linux;数据库管理系统可以选择 MySQL 或 Oracle;Web 服务器可以选择 Tomcat 或 Apache。为了满足运行环境需求,食品管理系统需要进行兼容性测试和性能测试,确保系统在不同的运行环境下能够正常运行。、
第4章 总体设计

4.1 系统的功能模块图。

4.2各功能模块简介

  1. 个人中心:该模块主要包括密码修改功能,用户可以通过该模块修改自己的密码。
  2. 系统管理 :该模块主要包括用户管理、食材信息管理、食疗处方管理和公告管理功能。
    • 用户管理:管理员可以通过该模块添加、删除、修改用户信息。
    • 食材信息管理:管理员可以通过该模块添加、删除、修改食材信息。
    • 食疗处方管理:管理员可以通过该模块添加、删除、修改食疗处方信息。
    • 公告管理:管理员可以通过该模块添加、删除、修改公告信息。
  3. 食材食品管理系统 :该模块主要包括注册和登录功能,以及登录是登录账号密码验证码,注册是账号密码确认密码。
    • 注册:用户可以通过该模块注册一个新的账号。
    • 登录:用户可以通过该模块登录到系统中。
    • 登录账号密码验证码:用户在登录时需要输入账号、密码和验证码。
    • 注册账号密码确认密码:用户在注册时需要输入账号、密码和确认密码。

4.3主要业务流程

(1)用户及管理员登录流程图

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图3-1所示。

登录流程图

(2)信息添加流程

需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图3-2所示。

信息添加流程图

(3)信息删除流程

不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图3-3所示。

信息流程图

第5章 详细设计

5.1 食品管理系统页面

5.1.1注册区域:

账号输入框、密码输入框、确认密码输入框、注册按钮。

5.1.2 登录区域:

账号输入框、密码输入框、验证码输入框、登录按钮。

5.2个人中心页面

5.2.1 密码修改区域:

包含旧密码输入框、新密码输入框、确认新密码输入框、保存按钮。

5.3 系统管理页面

5.3.1用户管理子页面:

添加用户按钮、用户列表(包含用户名等信息及对应的编辑、删除按钮)。

5.3.2食材信息管理子页面:

添加食材按钮、食材列表(包含食材名称等信息及对应的编辑、删除按钮)。

5.3.3食疗处方管理子页面:

添加处方按钮、处方列表(包含处方名称等信息及对应的编辑、删除按钮)。

5.3.4公告管理子页面:

添加公告按钮、公告列表(包含公告标题等信息及对应的编辑、删除按钮)。

5.4 数据库

user 表:

|------------|---------|-----|-----|----|----|-------|
| 字段名 | 数据类型 | 长度 | 允许空 | 主键 | 外键 | 说明 |
| id | int | 11 | 否 | 是 | 无 | 用户 ID |
| username | varchar | 50 | 否 | 否 | 无 | 用户名 |
| password | varchar | 50 | 否 | 否 | 无 | 密码 |
| real_name | varchar | 50 | 否 | 否 | 无 | 真实姓名 |
| user_sex | varchar | 10 | 否 | 否 | 无 | 用户性别 |
| user_phone | varchar | 50 | 否 | 否 | 无 | 用户电话 |
| user_text | varchar | 255 | 否 | 否 | 无 | 用户描述 |
| user_type | varchar | 10 | 否 | 否 | 无 | 用户类型 |

food 表:

|--------------|---------|-----|-----|----|----|-------|
| 字段名 | 数据类型 | 长度 | 允许空 | 主键 | 外键 | 说明 |
| id | int | 11 | 否 | 是 | 无 | 食材 ID |
| food_name | varchar | 50 | 否 | 否 | 无 | 食材名称 |
| food_type | varchar | 50 | 否 | 否 | 无 | 食材类型 |
| food_pingjia | varchar | 50 | 否 | 否 | 无 | 食材评价 |
| food_miaosu | varchar | 50 | 否 | 否 | 无 | 食材描述 |
| food_text | varchar | 255 | 否 | 否 | 无 | 食材文本 |

notice 表:

|-------------|----------|-----|-----|----|----|-------|
| 字段名 | 数据类型 | 长度 | 允许空 | 主键 | 外键 | 说明 |
| id | int | 11 | 否 | 是 | 无 | 公告 ID |
| notice_name | varchar | 50 | 否 | 否 | 无 | 公告名称 |
| notice_text | varchar | 255 | 否 | 否 | 无 | 公告文本 |
| notice_type | varchar | 10 | 否 | 否 | 无 | 公告类型 |
| create_date | datetime | 0 | 否 | 否 | 无 | 创建日期 |

shiliao 表:

|----------------|---------|-----|-----|----|----|---------|
| 字段名 | 数据类型 | 长度 | 允许空 | 主键 | 外键 | 说明 |
| id | int | 11 | 否 | 是 | 无 | 食疗处方 ID |
| shiliao_name | varchar | 50 | 否 | 否 | 无 | 食疗处方名称 |
| shiliao_fangan | varchar | 255 | 否 | 否 | 无 | 食疗处方方案 |
| shiliao_text | varchar | 255 | 否 | 否 | 无 | 食疗处方文本 |

第6章 系统实现与部署

6.1 代码实现

6.1,1 AuthServlet

用于处理HTTP POST请求。在该类中,实现了对不同动作(action)的处理,如登录(login)、注册(register)、登出(logout)、生成验证码(validationCode)和重置密码(resetPassword)

6.1,2 FoodServlet

用于处理食材信息模块的请求。在该类中,根据传入的action参数执行不同的操作,包括增加食材信息、删除食材信息、修改食材信息、根据主键ID查询食材详情或编辑页面等功能。

6.1,4 ShiliaoServlet

用于处理食疗处方模块的请求。在该类中,根据传入的action参数执行不同的操作,包括增加食疗处方信息、删除食疗处方信息、修改食疗处方信息、根据主键ID查询食疗处方详情或编辑页面等功能。

6.1,5 UserServlet

用于处理用户模块的请求。该类包含了处理增加用户信息、删除用户信息、修改用户信息、查询用户详情或编辑页面等功能的逻辑。

第7章 测试

7.1 测试目标

本次测试的目标是验证食品管理系统的各个功能是否正常运行,包括个人中心、系统管理和食材食品管理系统等模块。同时,测试还将检查系统的性能、安全性和兼容性等方面是否满足要求。

本次测试将覆盖食品管理系统的所有功能,包括个人中心的密码修改功能,系统管理的用户管理、食材信息管理、食疗处方管理和公告管理功能,以及食材食品管理系统的注册和登录功能等。

7.2测试用例

7.2.1 个人中心测试用例

|----|-----------------|----------|------------|
| 编号 | 测试步骤 | 预期结果 | 实际结果 |
| 1 | 点击"个人中心"按钮 | 进入个人中心页面 | 成功进入个人中心页面 |
| 2 | 点击"密码修改"按钮 | 进入密码修改页面 | 成功进入密码修改页面 |
| 3 | 输入旧密码、新密码和确认新密码 | 提示密码修改成功 | 成功修改密码 |

7.2.2 系统管理测试用例

|----|----------------------------|------------|--------------|
| 编号 | 测试步骤 | 预期结果 | 实际结果 |
| 1 | 点击"系统管理"按钮 | 进入系统管理页面 | 成功进入系统管理页面 |
| 2 | 点击"用户管理"按钮 | 进入用户管理页面 | 成功进入用户管理页面 |
| 3 | 点击"添加用户"按钮 | 进入添加用户页面 | 成功进入添加用户页面 |
| 4 | 输入用户名、密码和确认密码 | 提示用户添加成功 | 成功添加用户 |
| 5 | 点击"食材信息管理"按钮 | 进入食材信息管理页面 | 成功进入食材信息管理页面 |
| 6 | 点击"添加食材"按钮 | 进入添加食材页面 | 成功进入添加食材页面 |
| 7 | 输入食材名称、食材类型、食材评价、食材描述和食材文本 | 提示食材添加成功 | 成功添加食材 |
| 8 | 点击"食疗处方管理"按钮 | 进入食疗处方管理页面 | 成功进入食疗处方管理页面 |
| 9 | 点击"添加处方"按钮 | 进入添加处方页面 | 成功进入添加处方页面 |
| 10 | 输入处方名称、处方方案、处方文本 | 提示处方添加成功 | 成功添加处方 |
| 11 | 点击"公告管理"按钮 | 进入公告管理页面 | 成功进入公告管理页面 |
| 12 | 点击"添加公告"按钮 | 进入添加公告页面 | 成功进入添加公告页面 |
| 13 | 输入公告名称、公告文本、公告类型和创建日期 | 提示公告添加成功 | 成功添加公告 |

7.2.3 食材食品管理系统测试用例

|----|----------------|--------------|----------------|
| 编号 | 测试步骤 | 预期结果 | 实际结果 |
| 1 | 点击"食材食品管理系统"按钮 | 进入食材食品管理系统页面 | 成功进入食材食品管理系统页面 |
| 2 | 点击"注册"按钮 | 进入注册页面 | 成功进入注册页面 |
| 3 | 输入账号、密码和确认密码 | 提示注册成功 | 成功注册用户 |
| 4 | 点击"登录"按钮 | 进入登录页面 | 成功进入登录页面 |
| 5 | 输入账号、密码和验证码 | 提示登录成功 | 成功登录系统 |

7.3 测试结果分析

通过对测试用例的执行,我们发现食品管理系统的各个功能都能够正常运行,系统的性能、安全性和兼容性等方面也满足要求。但是,在测试过程中,我们也发现了一些问题,例如:

  1. 在密码修改功能中,输入旧密码错误时,系统没有提示错误信息。
  2. 在用户管理功能中,添加用户时,输入的用户名已经存在时,系统没有提示错误信息。
  3. 在食材信息管理功能中,添加食材时,输入的食材名称已经存在时,系统没有提示错误信息。

针对以上问题,我们将在后续的开发过程中进行修复和优化。

7.4 测试总结

本次测试是对食品管理系统的一次全面测试,通过测试,我们验证了系统的各个功能是否正常运行,系统的性能、安全性和兼容性等方面是否满足要求。同时,我们也发现了一些问题,这些问题将在后续的开发过程中进行修复和优化。

第8章 总结

8.1 存在的不足

在本次课程设计中,我们虽然完成了食品管理系统的开发,但是在系统的功能、性能和安全性等方面还存在一些不足之处。例如:

  1. 系统的功能还不够完善,例如在食材信息管理功能中,没有提供食材的图片上传功能。
  2. 系统的性能还需要进一步优化,例如在系统的响应时间和吞吐量等方面还需要进一步提高。
  3. 系统的安全性还需要进一步加强,例如在用户认证和数据加密等方面还需要进一步完善

完整源码

​​​​​​​********

相关推荐
xmh-sxh-13145 分钟前
jdk各个版本介绍
java
天天扭码24 分钟前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶25 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺29 分钟前
Spring Boot框架Starter组件整理
java·spring boot·后端
小曲程序37 分钟前
vue3 封装request请求
java·前端·typescript·vue
gma9991 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️1 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、1 小时前
Spring Boot 注解
java·spring boot
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring