成员:

身份 姓名 分工
组长 陶清然 负责文档编写、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. Java 大黑话讲解设计模式 -- UML类图

    目录 1.啥是UML类图? 2.UML类图有啥用? 3.正式理解UML类图 4.使用idea画第一个UML类图 5.类之间的关系图[必须牢记] 6.类之间的关系 6.1.依赖 6.2.泛化 6.3.实 ...

  2. MySQL5.6.36 自动化安装脚本

    背景 很好的朋友邱启明同学,擅长MySQL,目前任职某大型互联网业MySQL DBA,要来一套MySQL自动安装的Shell脚本,贴出来保存一些. 此版本为 MySQL 5.6.365 ###### ...

  3. OSI案例详解+ARP+DNS

    案例,淘宝买东西 DNS 域名的作用其实就是相对ip地址来说更好记忆和识别,DNS就是根据域名解析出ip 一次请求,DNS解析的过程 1.在浏览器输入一个域名,操作系统首先会检查自己的本地hosts文 ...

  4. 队列&生产者消费者模型

    队列 ipc机制:进程通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁 queue from multiprocessing import Process,Queue ### 案例一 q ...

  5. 鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优

    1.1 CPU与内存子系统性能调优简介 调优思路 性能优化的思路如下: l   如果CPU的利用率不高,说明资源没有充分利用,可以通过工具(如strace)查看应用程序阻塞在哪里,一般为磁盘,网络或应 ...

  6. “copy” 与 “=“赋值

    前拷贝  与  赋值 >>> a = {1:'one',2:'two',3:'three'}>>> b = a.copy()>>> c = a&g ...

  7. Java 中的 Servlet&Http&Request

    # 今日内容 : 1. Servlet 2. HTTP 协议 3. Request (就是 Servlet 中 service 方法的 形参. (有这个))     ## Servlet : 1. 概 ...

  8. iOS开发笔试面试- KVC/KVO简单使用

    转自:http://my.oschina.net/caijunrong/blog/510701 一.对于KVC模式(Key Value Coding): 1.其实在实际开发中用得比较多得就是:接收到j ...

  9. 数据库Oracle的含义

    数据库的含义: 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度. 与应用程序彼此独立的数 ...

  10. [TimLinux] Python 再谈装饰器

    参考链接:https://stackoverflow.com/questions/739654/how-to-make-a-chain-of-function-decorators 1. 函数对象 能 ...