成员:

身份 姓名 分工
组长 陶清然 负责文档编写、ppt,测试
组员 张娜 负责前端
组员 代丽芳 负责后台
组员 江雪 负责数据库
组员 伊穆兰 负责后台

小组成员在本次迭代中的贡献:

姓名 贡献
陶清然 完成了文档博客和ppt的编写
张娜 完成了需求规格说明书和概要设计
代丽芳 确定了需求规格说明书和概要设计,并搭建了源代码管理环境
江雪 展示ppt内容
伊穆兰 搭建源代码管理环境

前言:

本次项目是一个基于网页的智能化衣橱,面向对衣橱整理和搭配已有衣服推荐功能有需求的所有人群,尤其是在快节奏的生活下,具有选择综合症或者健忘症的上班一族和部分女性以及对形象有要求的男性群体。结合调查问卷总结出的实际需求信息,参照传统的衣橱类app和网站的已有功能,我们设计了一款智能虚拟衣橱:今天穿什么。

一、需求分析

1.1 内部分析

在综合的考虑了目标人群的真实需求之上,结合了对不同性别、不同年龄结构的调查者进行了问卷调查,对样本的调查结果和数据作深入分析,总结出如下:

图1.1客户分析图

由上图可分析出以下需求信息:

(1)目标群体:对衣橱整理和搭配已有衣服推荐功能有需求的所有人群,特别是大部分年轻女性和部分对外表有要求的年轻男性。

(2)主要功能:整理衣橱、推荐已有衣服的穿衣搭配等。

今天穿什么主要针对两个方面进行功能设计,分别是个人衣物管理、推荐穿衣。

个人衣物管理方面:将现实中衣橱的所有衣物搬到移动端,通过导入图片或淘宝链接,根据衣物类型完成分类,打造用户个人私有衣柜;设计的具体功能模块包括:衣物分类、上传、淘宝订单或相册导入、删除等。

推荐穿衣方面: 针对服装图像对多个属性同时进行分类和识别的要求,构建了基于多任务学习的卷积神经网络结构。最后决定使用了效率更高的开源代码基于深度学习框架Tensorflow搭建的衣服图片识别服务。

1.2 竞品分析

根据市面已有的智能化衣橱,我们进行了相关测试和分析,得出结果列出如下表格:

图1.2竞品分析图

二、概要设计

2.1 总体架构

在本设计的智能虚拟衣橱web中,客户端与服务器的通信采用http协议,

客户端与服务器之间所有的数据交互通过http协议的HttpServld类实现,服务器端通过Servlet接口接收客户端的请求,Servlet容器解析客户端的http请求,把请求封装成一个HttpServletRequest对象,将对象传给HttpServld的service方法,信息反馈给数据库后生成的响应数据传给客户端,Servlet只用来扩展基于http协议的Web服务器。

图2.12系统的网络结构图

2.2 功能框架

智能虚拟衣橱应用主要由客户端和后台服务器构成针对智能虚拟衣橱应用的实际需求,在客户端和服务端分别进行了功能框架设计。图2.21是客户端功能框架,图2.22是服务端功能框架。

图2.21客户端框架

图2.22服务端框架   

2.3 功能模块

2.3.1用户注册功能

用户第一次使用本应用时需要进行账号注册和密码设置,所有注册的用户信息将会传到服务器以用户信息表的形式储存,使注册过的用户下次可以直接登录。

2.3.2用户登录功能

用户注册后就可以输入账号以及密码登录系统,服务器接收到登录请求后,判断与数据库里的该用户的信息表是否吻合,并将请求的响应数据返回给客户端,信息若一致,客户端将登录成功,否则无法登录。

2.3.3衣橱分类功能

衣橱分类功能是整个应用的基础功能,在对衣橱进行衣物分类的基础上,通过拍照或相册导入的方式加入用户的衣物,所有的图片信息从客户端上传并储存在服务端的数据库。用户通过此功能可以把现实中的衣橱搬到移动终端,打造个人的专属衣柜。

2.3.4我的搭配功能

和衣橱分类功能类似,所有搭配图片都上传到服务端。我的搭配分为己有搭配和收藏搭配两部分,用户可以通过相册导入或拍照将搭配图片保存己有搭配里,操作上同样要输入衣服的属性信息。

2.3.5智能推荐穿衣功能

用户选择已上传的衣服图片,服务端针对服装图像对多个属性同时进行分类和识别的要求,构建了基于多任务学习的卷积神经网络结构。采用了结合度量学习的卷积神经网络结构,克服了背景、光照、变形等因素的影响。根据训练好的卷积神经网络进行图像检索,进而推送搭配给用户。

2.4模块调用:

登录模块提供用户登录的信息,验证登陆状态,并相应的提交给数据库,链接数据库导入衣橱和搭配信息。搭配中的“增加搭配”功能调用衣橱的中单品。

2.5.模块接口:

  1. userLogin(String UserName,String PassWord),用户登陆。登陆时传入用户帐号和密码。同时将用户的信息放到数据库中。
  2. addClothes(),添加衣物。用户通过该函数上传自己的衣物。同时将衣服的信息导入数库中。
  3. Clothes(),衣物管理。管理用户上传的单品以及用户的自定义搭配。
  4. Match(),实现单品的搭配。用户通过选择各种单品,进行自定义搭配。
  5. Recommend(),推荐搭配。通过识别用户的单品,与数据库中的衣服搭配进行匹配,从而获取推荐的搭配。

2019-11-22

What to wear today需求分析文档的更多相关文章

  1. PSP需求分析文档

    PSP软件需求分析文档 刘杰 1.       引言 1.1  背景 开发项目经常延期不能按时提交,甚至不能给出明确的延迟时间 1.2  术语 PSP,数据库 2.       任务概述 2.1  目 ...

  2. ChengDu University Mental Health Test 需求分析文档

    ChengDu University Mental Health Website 需求分析文档 V4.0 编制人:刘雷,黄凯 日期:2019/4/28 版本修订历史记录: 版本 日期 修改内容 作者 ...

  3. PSP个人软件开发工具需求分析文档

    第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...

  4. 【软件project】 文档 - 银行业务管理 - 需求分析

    ---------------------------------------------------------------------------------------------------- ...

  5. Violet音乐社区设计文档

    目录 Violet音乐社区设计文档 一.引言 1.1 编写目的 1.2 开发背景 二.用例图设计 2.1游客实例设计 2.2 管理员实例设计 2.3 普通用户实例设计 三.类图设计 3.1 歌手类 3 ...

  6. 测试文档(final)

    1 引言 1.1编写目的 编写本测试计划的目的是: (1)     为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2)     此外还帮助安排测试活动,说 ...

  7. springboot 集成 docsify 实现随身文档

    需求分析 文档可以和项目一起进行版本管理 文档可以在线访问 文档可以与springboot项目集成,不需要分开部署 MarkDown支持 文档跟随,打包jar也可以访问 技术选型 对于网上已有的方案, ...

  8. PSP个人软件开发系统面向对象需求分析与设计文档

    1.引言 1.1编写的目的 编写该文档的目的是,对产品进行定义,详尽说明该产品的软件需求,简述我们对 PSP个人软件开发系统的初步设想,及划分的各功能模块以及各模块的实体图和数据流图. 1.2预期的读 ...

  9. 第二阶段:2.商业需求分析及BRD:5.商业需求文档1

    三大文档 FSD一般包含在PRD 1.BRD一般是去向决策层汇报 2.产品介绍的各项是可选的 不是必备的 产品线路图就是roodmap.团队一般是偏技术的团队. BRD案例. 痛点.定性的描述.不会非 ...

随机推荐

  1. python网络爬虫之入门[一]

    目录 前言 一.探讨什么是python网络爬虫? 二.一个针对于网络传输的抓包工具fiddler 三.学习request模块来爬取第一个网页 * 扩展内容(爬取top250的网页) 后记 @(目录) ...

  2. 在React项目中添加ESLint

    1. 安装eslint npm install eslint --save-dev // 或者 yarn add eslint --dev 2. 初始化配置文件 npx eslint --init / ...

  3. PHP开发中session无法获取和保存问题解决方法

    今天在程序设计中无法在session中获得内容,使用编辑器打开php.ini配置文件,在其中搜索"session.save_path", 把行中前面注释用的";" ...

  4. 对Java单例模式 volatile关键字作用的理解

    单例模式是程序设计中经常用到的,简单便捷的设计模式,也是很多程序猿对设计模式入门的第一节课.其中最经典的一种写法是: class Singleton { private volatile static ...

  5. Maven项目多环境之间的配置文件的切换

    前言:对于一个项目,开发和生产环境之间会使用不同的配置文件,最简单的例子就是数据库连接池的配置了.当然,可以在打包上线前对配置文件进行替换,不过这也太low了吧. 简单的pom.xml中的配置内容 比 ...

  6. 带着canvas去流浪系列之二 绘制折线图

    [摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

  7. spring-MVC_笔记

    需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转. ①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet ③创建Controller类和视 ...

  8. springboot-整合多数据源配置

    简介 主要介绍两种整合方式,分别是 springboot+mybatis 使用分包方式整合,和 springboot+druid+mybatisplus 使用注解方式整合. 一.表结构 在本地新建两个 ...

  9. Reachability的使用

    刚到一家新公司 做新项目 关于网络状态的监听和同事产生了不一样的看法 原来我的网络监听都是自己写的 后来发现自己不是一般的傻 有一个叫做Reachability的东西 很简单 很实用 很暴力 下面就是 ...

  10. MAC vim修改hosts文件

    在终端输入sudo vim /etc/hosts 输入密码获取写权限 输入i,执行insert插入修改操作,修改hosts文件内容 修改完成后先按ESC进入命令模式,再按shift + :,在底端出现 ...