《下厨房》软件系统
需求分析报告
项目名称 《下厨房》
所属课程 软件工程
项目组长 张军洪
项目成员 袁成杰、胡 俊、梅 庆
唐正奎、蒋利平、秦 超
2017 年 12 月
目录
一、需求规格说明……………………………………………………………………………………………………………….2
1.1、项目开发背景………………………………………………………………………………………………………2
1.2、开发目标………………………………………………………………………………………………………………2
1.3、参考资料………………………………………………………………………………………………………………2
1.4、设计原则………………………………………………………………………………………………………………2
二、需求分析…………………………………………………………………………………………………………………..….3
2.1、项目定义…………………………………………………………………………………………….……………….3
2.2、需求陈述…………………………………………………………………………………………………….……….3
2.3、操作用例……………………………………………………………………………………………….…………….4
2.3.1:操作用例表………………………………………………………………………………………….…………..4
2.3.1:操作用例图………………………………………………………………………………………….……….4
2.3.1.1、游客及用户……………………………………………………………………………….……….4
2.3.1.2:系统管理员……………………………………………………………………………….……….5
2.4、功能分析划分………………………………………………………………………………………….………….5
2.4.1、登录注册……………………………………………………………………………………….….………….5
2.4.3、社区模块……………………………………………………………………………………….….………….5
2.4.4、膳食计划…………………………………………………………………………………………..………….5
三、总体设计与实现………………………………………………………………………………………….……………….6
3.1、系统框架………………………………………………………………………………………….………………….6
3.1.1、总体功能模块划分…………………………………………………………………….………………...6
3.1.2、细分模块…………………………………………………………………………………….….…………….6
3.1.2.1、系统设置功能划分细致图……………………………………………….….…………….6
3.1.2.2、社区功能模块划分细致图……………………………………………….….…………….7
3.1.2.3、饮食计划功能模块划分细致图……………………………………….….…………….7
3.2、数据库………………………………………………………………………………………………….….………….7
3.2、数据流图……………………………………………………………………………………….…..……………….7
3.4、具体实现……………………………………………………………………………………….……..…………….8
3.4.1、登录界面设计………………………………………………………………………….…….…………….8
3.4.2、用户管理界面设计…………………………………………………………………….….…………….8
3.4.3、社区功能模块设9
3.4.4、饮食计划功能模块设计
四、测试
4.1、测试计划……………………………………………………………………………………….……..…………….9
4.2、测试说明书……………………………………………………………………………………….……..…………….9
4.3、测试用例……………………………………………………………………………………….……..…………….10
五:总结
略
一、 需求规格说明
1.1、 项目开发背景
《下厨房》是一款以合理膳食和社交分享为核心的移动应用。
在合理膳食方面,《下厨房》期望通过用户输入的近期身体指标作为参数,系统根据参数检索数据库为用户匹配合理的膳食计划。如此一来,用户可以根据系统提供的科学的饮食计划安排饮食,可以起到养生的功效。
其二,在当下的社会,网络已经成为了人们的生活必需品。人们借助于网络进行社交、工作、娱乐、购物。其中,社交功能变得越来越举足轻重。因此,《下厨房》期望借助网络的社交功能,以烹饪与美食作为切入点,构建一个以分享烹饪与美食为共同兴趣点的交流社区。通过社区所提供的平台,用户可以发布各种内容,包括但不限于自己对于美食与烹饪的理解,以及对自己烹饪过程的记录,或是烹饪的各种教程等等。通过社区的聚合作用,人们可以找到志趣相投的朋友,增进人与人之间的交流,从而获得心理上的满足感与存在感。
1.2、 开发目标
1.目标陈述
对于用户来说,《下厨房》是一个基于Internet的移动应用,该应用为用户提供膳食计划和发布与管理动态的功能,通过社区提供的这些功能,用户可以合理安排饮食以及分享动态。
2.主要功能特性
1:以多种方式注册或登录账号,包括:手机号,邮箱,第三方账号
2:用户输入自己近期身体指标,系统检索数据库匹配并输出膳食计划
3:发布、删除、管理动态
4:查看、收藏、屏蔽、删除他人动态
1.3、 参考资料
该系统核心功能之一是社区,基本模式可以参考知乎、豆瓣。具体模板可以参考网上各种论论坛提供的开源项目。核心功能之二是匹配膳食计划,参考GitHub开源项目。
1.4、 设计原则
运行环境:Android系统
平台开发:Android studio
数 据 库:MySQL
版本控制:GitHub
过程记录:博客园
任务发布:leangoo
二、 需求分析
2.1、 项目定义
序号 |
术语或缩写 |
定义 |
1 |
游客 |
未登录者进入系统的默认身份,可以查看软件的基本功能。 |
2 |
用户 |
注册用户可以进行系统提供的对动态的一切操作 |
3 |
AS |
Android Studio(软件开发环境) |
4 |
MySQL |
数据库存储系统 |
5 |
Leangoo |
提交阶段成果 |
2.2、 需求陈述
应用主要包括两大功能模块和系统设置:
1、 膳食计划
匹配膳食计划功能概述:后台预先向数据库存入相关数据,系统从键盘接收用户键入的相关身体指标参数,然后根据用户键入的相关参数调用算法为用户匹配并输出科学健康的膳食计划。
2、 动态发布
动态发布与管理功能概述:用户根据系统提供的注册方式(任何一种皆可)进行注册获取用户权限,然后登录系统,进入“社区”界面。在“社区”界面中,用户可以发布动态,并且可以对要发布的动态进行相应的权限设置。对于已经发布的动态,系统仍然为用户提供了相应的操作权限,包括修改、删除、设置其他用户(部分或全部)是否可见,以及关闭评论等。同时,在“社区”界面中,用户可以对他人的动态进行浏览(在该动态对此用户为可见权限的情况下)、收藏、评论(在该动态对此用户为可评论权限的情况下)、屏蔽、举报等操作。
3、 系统设置
系统设置方面,用户可以通过系统提供的权限对账户的相关信息进行管理。其二,用户可以通过系统私信就软件有关的问题向管理员提出改进建议。
2.3、操作用例:
2.3.1:操作用例表:
主要参与者 |
用例 |
游客 |
1:浏览用户动态 2:查看基本健康常识 |
用户 |
1:注册账户 2:登录账户 3:修改我的信息 4:发布、删除动态 5:修改已发布的动态 6:浏览、评论(点赞)、收藏、屏蔽他人动态 7:举报违规动态 8:查看基本健康常识 9:输入近期身体状况指标,匹配膳食计划 |
系统管理员 |
1:用户管理 2:数据备份 3:动态审核管理 |
2.3.2:操作用例图:
2.3.1.1、游客及用户:
2.3.1.2:系统管理员
2.4、功能分析划分
2.4.1:注册登录
当用户为非注册用户,即游客身份时,以默认身份进入系统,系统仅为其提供浏览其他注册用户所发布的动态及系统本身所提供的基本的健康常识的权限。游客可以以多种方式注册登录系统,包括手机号注册、邮箱注册、第三方账号注册。注册登录后的用户拥有系统所提供的针对所有普通用户的权限。
2.4.2:用户管理
用户管理是指系统提供的用户对自己账户信息的管理权限,包括修改用户名、修改绑定手机号、修改邮箱、注销账户等操作。
2.4.3:社区模块
社区模块是应用的核心之一,注册用户可以通过社区平台进行对动态的一切操作,包括发布动态、删除动态以及对已发布的动态进行修改等操作,还可以评论、收藏、屏蔽他人的动态,也可以为他人的动态点赞。系统提供了举报功能,用户有权也有义务举报发布不符合国际法律法规以及平台规范的动态的用户。
2.4.4:膳食计划
膳食计划是指在用户输入自己的身体指标之后,系统根据算法为用户检索匹配并输出适合用户的科学的饮食规划。这是《下厨房》应用的核心也是其特色。
三、 总体设计与实现
3.1、系统框架
本系统采用C/S-----客户机/服务端-----模式。
客户服务器模式(Client–server model)简称C/S结构,是一种网络架构,它把客户端 (Client) 与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
3.1.1、总体功能模块划分:
3.1.2、细分模块:
3.1.2.1、系统设置功能划分细致图:
此图显示了系统设置功能模块儿的各个细分模块儿,系统展示相关功能模块儿之间的联系,提供一个详细而全面的视角。
3.1.2.2、社区功能模块划分细致图:
社区模块儿是系统的重要组成部分,该图显示的是组成社区模块儿的各个具体模块儿及其相互之间的关系。
3.1.2.3、饮食计划功能模块划分细致图:
3.2、数据库(略)
3.3、数据流图
数据流图是对软件系统处理过程的一种描述。数据流图以两个因素为制图依据:一、信息处理系统中数据信息的流动过程;二、系统对发生事件的处理过程。数据流图以此二者为依据,使用图表化的方式描述此二者的具体变化过程。规范的数据流图是系统的具体实现的依据,是软件设计过程中必不可少的环节。
在本系统中,使用的软件架构模式为:客户端-服务器。即:一个服务器和多个客户端。服务器组件将为多个客户端组件提供服务。客户端从服务器请求服务,服务器为这些客户端提供相关服务。此外,服务器持续侦听客户机请求。软件的核心功能主要有服务器端完成,在客户端主要完成数据的输入输出。
饮食计划模块流图:
3.4、编码实现
3.3.1、登录界面设计
3.3.2、用户管理界面设计
3.4.3、社区功能模块设计
3.4.4、饮食计划功能模块设计
四、测试
一、测试计划
1. 功能测试
1.1 用户登录界面测试
1.2 用户注册界面测试
1.3 用户查看信息功能测试
1.4 用户修改信息功能测试
1.5 动态显示功能测试
1.6 地图定位功能测试
2.验收测试
测试报告表:
场景ID |
场景名 |
测试结果 |
Bug ID |
1001 |
用户登录 |
2001 |
|
1002 |
用户注册 |
2002 |
|
1003 |
用户查看个人信息 |
2003 |
|
1004 |
用户修改个人信息 |
2004 |
1.1 用户登录
1.2 用户注册
1.3 用户查看个人信息
1.4 用户修改个人信息
1.5 进入社区
1.6 评论动态
3.效能测试
3.1 负载测试
3.1.1 负载每秒钟承受10次客户请求,发生频率分类:
·查看某菜品详情(20%)
·查看个人信息(20%)
·进入社区(30%)
·查看其他人动态(20%)
·所有其他请求(10%)
4.增加用户后的压力测试
正常为每秒钟10次客户请求。
压力测试表:
客户请求次数(单位:次) |
软件反应结果 |
10 |
|
20 |
|
50 |
|
100 |
|
二、测试说明书
1、用户登录界面测试
1.1 登录功能
a. 用户名是否有非法字符(支持数字、字母、中文),及用户名是否存在
b. 用户登录“记得我的账户和密码”功能
c. 用户登录密码错误后的提示
1.2 以上测试通过登录“厨娘”app手动测试,并查看系统是否通过,不通过则记录bug。
1.3 测试是否通过:系统验证登录与注册时的密码、登录名是否符合;“记得”功能通过反复登录验证。
2、用户注册界面测试
2.1 注册功能
a. 用户名是否有非法字符(支持数字、字母、中文)
b. 密码是否有非法字符(支持数字、字母)
c. 验证码错误提示
2.2 以上测试通过注册“厨娘”app手动测试,并查看系统是否通过,不通过则记录bug。
2.3 测试是否通过:注册时的密码、登录名、验证码是否符合要求。
三、测试用例
1. 登录功能
1) 正确输入密码及用户名,预期用户正常登录账号并进入页面。
a. 提示用户名合法且存在此用户名
b. “记得账户及密码”功能可以正常使用
c. 验证码通过
d. 系统验证用户名存在且密码、验证码正确后成功登录“厨娘”
2) 错误输入,且系统给出相应的提示
a. 提示用户名不合法,含有除中文、数字、字母外其他的字符,或者“用户名不存在”
b. “记得账户及密码”功能不能正常使用,这个主要是用户下次登录时系统没有保存用户名或密码、或者都未能保存
c. 验证码未通过,因此系统提示用户重新输入并重新更新一个验证码
2. 注册功能
1) 正确输入
a. 注册时用户名没有非法字符(支持数字、字母)
b. 密码没有非法字符(支持数字、字母)
c. 验证码提示,正确后进入app
2)错误输入
a. 用户名过长(超过30个字符)或者过短(低于6个字符)则停止键盘输入并提示用户名过长或者过短
b. 密码过长(超过30个字符)则停止键盘输入并提示密码超过输入限制
c. 验证码提示,错误则重新更新一个验证码
五:维护
略
原文地址:https://www.cnblogs.com/meiqing/p/8126209.html