“果蔬食客”详细设计

2023-11-20 16:21
文章标签 设计 详细 果蔬 食客

本文主要是介绍“果蔬食客”详细设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

详细设计部分

一、引言

1.1编写目的

本部分阐明编写详细设计说明书的目的,指名读者对象。

本文档描述每个模块的细节设计,包括模块的接口、调用关系、处理过程和算法,以及模块测试方案等。本文档的主要读者为软件测试人员、模块开发人员、管理人员、测试人员。

1.2项目背景

本部分包括项目的来源和主管部门等。

本项目由华中农业大学软件工程学习小组提出,由华中农业大学信息学院2017级计算机科学与技术专业学生完成。

1.3定义

本部分列出本文档中所用到的专门术语的定义和缩略词。

本系统只是一个简单的小型养生推荐程序,最终用户为能使用网络且愿意了解水果蔬菜功能性的人群,对教育水平和技术专长没有限制,用户友好性较强,暂无术语分析。

1.4参考资料

[1]详细设计说明书[S].GB 856D-1988.

[2]窦万峰.软件工程方法与实践[M].北京:机械工业出版社,2018.

1.5版本信息

具体版本信息如图表1所示。

图表 1    具体版本信息

 

二、总体设计

本部分简要给出系统的需求和软件结构组成,以便追踪到需求和设计。

2.1需求概述(定义及描述)

果蔬食客系统的需求定义如下:

2.1.1登录注册子系统

该模块用于用户/管理员注册,登录,找回密码,和游客登录;     用户注册/登录/找回密码方式和管理员注册/登录/找回密码方式有所不同,体现在管理员的注册和登录会有更严格的限制和验证,管理员注册登陆后有权权限更改、注销某用户账号;游客访问仅限于访问公共数据库,只能搜索,预览,但是不能下载资源和评论。

 

2.1.2用户使用子系统

浏览:浏览网站有关信息

评论:对喜欢的菜品做评论

搜索:快速搜索,转到相关网页

收藏:将某菜单收藏入收藏夹

三、程序描述

3.1模块基本信息

本部分针对每一个模块进行详细设计。

3.1.1登录注册子系统

该部分uml类图如下

类图1

 

注册登录精化类图 1

 

    

类模型_账号 1                  类模型_注册

  

类模型_登录                        类模型_连接

 类间关系:

用户——账号

账号——注册

注册——登录

注销、更改——登录

 

账户类型:账户——派生——游客、普通用户、管理员

类模型_管理员

程序描述:游客在第一次浏览网页后,点击注册按钮进行注册,如果用户名及密码符合要求,则将用户名及密码保存到数据库中。再次登陆后需要重新输入账号密码,如果和数据库的内容匹配成功则可以登陆。

精度:

输入数据的精度:字符串数据

输出数据的精度:无输出

灵活性:
适用于现在各种操作系统
时间特性:
登录:1S以内
数据处理:0.5s以内
更新:0.5s以内

算法:通过Java程序写出,首先需要引用Java包中的sql和util包。其次将Java程序与数据库进行相连;注册功能的算法是:输入用户名和密码首先进行对数据库表格id进行比对(util包中方法进行比对),如果没有比对成功,则可以注册,即注册成功;登陆功能的算法是输入用户名和密码和数据库中的用户名和密码进行比对,比对成功即可成功登陆。

具体如下所示:

登录顺序图 1

 

登录注册部署图 1

 

3.1.2用户使用子系统——浏览模块

该部分uml类图如下

浏览类图 1

              

              

浏览精化类图 1

食材精化类图 1

 

类模型_食材                    类模型_菜谱

 

 

类模型_话题             类模型_食材菜单

 

专栏——菜谱——食材的关系

精度:

输入数据的精度:无精度,进行点击和浏览操作。

输出数据的精度:无输出

灵活性:
适用于现在各种操作系统
时间特性:
登录:1S以内
数据处理:0.5s以内
更新:0.5s以内

算法:通过相应的点击完成相对应的浏览以及跳转功能。没有比较复杂的算法实现,只需要在html里面写入一些跳转语句即可。

3.1.3用户使用子系统——搜索模块

各部分类图如下:

搜索类图 1

 

搜索模块精化类图 1

 

类模型

 

精度:

输入数据的精度:字符串

输出数据的精度:传送字符串的正确度

灵活性:
适用于现在各种操作系统
时间特性:
数据处理:0.5s以内
更新:0.5s以内

算法:

搜索顺序图 1

 

3.1.4用户使用子系统——评论(聊天)模块

各部分精化类图如下:

评论类图 1

     

       

类模型

评论精化类图 1

 

精度:

输入数据的精度:字符串或者文件。

输出数据的精度:传送字符串或者文件。

灵活性:
适用于现在各种操作系统
时间特性:
登录:1S以内
数据处理:0.5s以内
更新:0.5s以内

算法:

客户端与服务器端建立连接,客户端通过Socket类的构造方法创建一个流套接字并将其连接到指定主机上的指定端口号。服务器端通过ServerSocket类的构造方法实例化ServerSocket对象,并且ServerSocket对象调用accept()方法侦听请求连接指定端口号的该服务器端的客户端,并在接收到客户端请求后返回服务器端的流套接字,即Socket对象,从而服务器端与客户端成功建立连接。建立一个循环监听模式,来一个客户进行一次监听,并创建一个线程。服务器端通过遍历HashMap对象的key值,当找到与userName相等的key值时,利用get()方法取得userName对应的需要私聊的客户端Socket对象,从而将获取私聊的客户端的输出流并将私聊信息进行输出。但是为了客户体验,私聊的客户端需要知道是哪个用户对自己进行私聊操作,故可遍历HashMap对象的value值获取当前客户端的用户名给私聊客户端。群聊信息时,服务器端识别到客户端需要进行的群聊操作,服务器端通过遍历HashMap对象的value值,获取客户端的Socket对象从而利用Socket对象取得输出流后将群聊信息发送给每一个客户端。 客户端的反应与私聊相同。发送信息时,服务器接收到客户端需要进行的传送文件的操作,服务器通过读取文件,并传到相对应的接收着。

聊天室_时序图 1

评论(聊天)部署图 1

3.3程序逻辑

3.4接口

用户管理端和用户端评论接口。

3.5测试要点

3.5.1登录注册子系统

主要测试以下几种情况:

(1).用户账号重复的情况。

(2).用户账户不存在的情况。

(3).管理员真实身份不正确的情况。

(4).管理员邮箱不存在、失效的情况。

(5)测试管理员权限

 

3.5.2用户使用子系统

主要测试以下几个要点

昵称重复的情况;

搜索时模糊搜索的精确度;

 

 

这篇关于“果蔬食客”详细设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395902

相关文章

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

如何在Java Spring实现异步执行(详细篇)

《如何在JavaSpring实现异步执行(详细篇)》Spring框架通过@Async、Executor等实现异步执行,提升系统性能与响应速度,支持自定义线程池管理并发,本文给大家介绍如何在Sprin... 目录前言1. 使用 @Async 实现异步执行1.1 启用异步执行支持1.2 创建异步方法1.3 调用

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1