目录
[第1章 系统概述](#第1章 系统概述)
[第2章 可行性研究](#第2章 可行性研究)
[2.1 项目背景及意义](#2.1 项目背景及意义)
[2.2 可行性研究](#2.2 可行性研究)
[第3章 需求分析](#第3章 需求分析)
[3.1 功能性需求](#3.1 功能性需求)
[第4章 总体设计](#第4章 总体设计)
[4.1 系统的功能模块图。](#4.1 系统的功能模块图。)
[第5章 详细设计](#第5章 详细设计)
[5.1 食品管理系统页面](#5.1 食品管理系统页面)
[5.3 系统管理页面](#5.3 系统管理页面)
[5.4 数据库](#5.4 数据库)
[第6章 系统实现与部署](#第6章 系统实现与部署)
[6.1 代码实现](#6.1 代码实现)
[6.2 数据库连接图](#6.2 数据库连接图)
[第7章 测试](#第7章 测试)
[7.1 测试目标](#7.1 测试目标)
[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各功能模块简介
- 个人中心:该模块主要包括密码修改功能,用户可以通过该模块修改自己的密码。
- 系统管理 :该模块主要包括用户管理、食材信息管理、食疗处方管理和公告管理功能。
- 用户管理:管理员可以通过该模块添加、删除、修改用户信息。
- 食材信息管理:管理员可以通过该模块添加、删除、修改食材信息。
- 食疗处方管理:管理员可以通过该模块添加、删除、修改食疗处方信息。
- 公告管理:管理员可以通过该模块添加、删除、修改公告信息。
- 食材食品管理系统 :该模块主要包括注册和登录功能,以及登录是登录账号密码验证码,注册是账号密码确认密码。
- 注册:用户可以通过该模块注册一个新的账号。
- 登录:用户可以通过该模块登录到系统中。
- 登录账号密码验证码:用户在登录时需要输入账号、密码和验证码。
- 注册账号密码确认密码:用户在注册时需要输入账号、密码和确认密码。
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 测试结果分析
通过对测试用例的执行,我们发现食品管理系统的各个功能都能够正常运行,系统的性能、安全性和兼容性等方面也满足要求。但是,在测试过程中,我们也发现了一些问题,例如:
- 在密码修改功能中,输入旧密码错误时,系统没有提示错误信息。
- 在用户管理功能中,添加用户时,输入的用户名已经存在时,系统没有提示错误信息。
- 在食材信息管理功能中,添加食材时,输入的食材名称已经存在时,系统没有提示错误信息。
针对以上问题,我们将在后续的开发过程中进行修复和优化。
7.4 测试总结
本次测试是对食品管理系统的一次全面测试,通过测试,我们验证了系统的各个功能是否正常运行,系统的性能、安全性和兼容性等方面是否满足要求。同时,我们也发现了一些问题,这些问题将在后续的开发过程中进行修复和优化。
第8章 总结
8.1 存在的不足
在本次课程设计中,我们虽然完成了食品管理系统的开发,但是在系统的功能、性能和安全性等方面还存在一些不足之处。例如:
- 系统的功能还不够完善,例如在食材信息管理功能中,没有提供食材的图片上传功能。
- 系统的性能还需要进一步优化,例如在系统的响应时间和吞吐量等方面还需要进一步提高。
- 系统的安全性还需要进一步加强,例如在用户认证和数据加密等方面还需要进一步完善
完整源码
********