“果蔬食客”详细设计

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

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在