图片兴趣社区-需求分析与项目设计

tempc_000 2022-01-09 14:59:13

图片兴趣社区旨在建立一个以图片分享为主要信息交流方式的社交平台。区别于国内比较热门的社交平台,图片兴趣社区舍弃繁杂的社交系统仅保留轻量化的社交模式。即一个没有签到,没有会员,没有繁杂的排行榜的社区。以达到给予用户一个只有快乐的相互分享而没有繁杂的既定目标的纯净空间。

一、需求分析

1.选题依据

Instagram(照片墙)是一款运行在移动端上的社交应用,用于以快速、多样化的方式将随时抓拍下的图片彼此分享。截至202111月Instagram的全球月活跃用户数已达到15亿,排在微信之前。
而在中国移动社交用户同时拥有的社交应用矩阵分析中指出:超过一半的移动社交用户拥有3个或以上的社交软件[1]。
该数据说明在中国社交用户的需求越来越多样化。而在用户经常使用的移动社交应用类型中,综合社交、兴趣社交、图片社交、商务社交和校园社交分别依次位列前五;
在用户最常使用的应用类型中,综合社交、兴趣社交依然是用户最常使用的应用类型,牢牢占据着移动社交中的头部位置,但是图片社交应用却有严重的下滑。
图片社交应用并没有真正地渗入到中国大部分人的社交生活中。 
在国内活跃用户数较多的一批社交软件中,均已经包含了图片社交的功能。
但以微信为例,当下软件的图片社交功能均集成在朋友圈一类的个人社交主页中,以个人动态为主,而图片作为个人动态的解释说明。
这说明了中国图片社交市场暂时还没有一个以图片社交为主要社交方式的社交社区。
表情包作为当下中国图片社交的重要载体,已经被广泛接受。仅QQ用户全年累计发送表情包超过万亿次[2]。
根据调查,九成以上的大学生知道并了解什么是表情包并经常使用表情包。因此,图片社交实际上在中国已经被广泛接受,而并非与图片社交应用一样还并未渗透到大部分人群中。
根据RJMetrics公司通过Instagram发布的实时API的统计中得到Instagram 中41%的用户年龄在24岁以下,且用户群分布偏强消费人群[3]。
以图片兴趣为主导的兴趣社区可以通过目前主流的广告投放、贩卖周边产品、提供个性化需求实现盈利[4]。根据用户的使用惯性,在未来的一段时间内,产品仍能保持相当的用户活跃数[5]

2.系统概述

目标用户:⻘少年使用场景:用户想通过相同的兴趣进行交友,想要欣赏好看的图片。
项目目标:设计一个图片兴趣社区,用户可以在该社区上传自己的照片,并对图片打标签后发布到社区。通过图片+标签的形式来结实到有共同兴趣爱好的朋友。
项目架构:使用前后端分离REST架构。后端只提供数据,处理业务逻辑;前端接收数据,返回数据,处理渲染逻辑。
开发方法:第一个大版本使用Scrum敏捷开发方法,完成一个系统原型。第二个大版本改进为微服务架构,降低系统耦合,提高内聚。

3.版本迭代

本次需求分析为项目1.0版本下的第一个版本,旨在开发一个具备基础功能的平台系统。其中包括登录注册功能,首页浏览帖子功能,个人主页与个人信息修改功能,帖子发布功能。

4.系统模块示意图

在这里插入图片描述

5.系统模块原型

(1)登陆注册设计

a.需求描述
能够使用户通过该功能注册账号,并通过注册的账号进行登录。
b.原型图

在这里插入图片描述


在这里插入图片描述

(2)首页设计

a.需求描述
用户登录后转入的页面,可以浏览帖子,及对选择对其他功能的跳转
b.原型图

在这里插入图片描述

(3)个人主页

a.需求描述
显示该登陆账户的个人信息,提供已发布帖子预览,收藏预览,修改个人信息接口。
b,原型图

在这里插入图片描述

(4)用户账户

a.需求描述
对个人账户的管理模块,包含修改账户信息,隐私管理,推送管理,账号注销等。
b.原型图

在这里插入图片描述

(5)发布帖子

a.需求描述
包含上传图片功能以及对上传的图片进行修改。发布帖子功能,其中编辑帖子说明,添加帖子所在地址等高级功能
b.原型图

在这里插入图片描述


在这里插入图片描述

(6)帖子详情

a.需求描述
模块功能包括显示帖子图片,说明,发布用户;对帖子的评论,点赞,转发,收藏;对评论的评论,点赞。
b.原型图

在这里插入图片描述

二、建模

1.用例示意图

在这里插入图片描述

2.类图示意图

在这里插入图片描述

3.数据模型

(1)登陆注册

a.数据结构
登陆注册应均为数组形式,其中登陆包括:账号,密码;注册包括:手机号,密码,确认密码,性别,年龄,邮箱。
b.数据操作
数据信息以cookie从前端形式传送至后端,后端进行验证,并存入数据库。返回前端状态信息,包括成功与否,若成功还应进入首页,进行数据操作。
c.数据约束

在这里插入图片描述

(2)首页

a.数据结构
以一组Json进行传输,每个Json中应包含该用户的id,头像url,nickname,帖子信息(包括帖子预览图片base64码,帖子说明)。其中数据库存储url,图片url存储base64码,前端将base64码转化为图片,进行显示。
b.数据操作
由登录注册模块得到的状态信息进行判定,根据用户id返回其所关注用户的帖子信息给前端,前端显示帖子信息。
c.数据约束

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

(3)个人主页

a.数据结构
用户信息以数组形式,帖子信息以一组json形式。其中图片均以base64形式存储在json中。
b.数据操作
前端传入用户id信息,后端根据id查询用户信息表,帖子表,图片表返回用户信息以及帖子信息。
c.数据约束

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

(4)用户账户

a.数据结构
前端返回修改信息数组,后端对将返回信息存入数据库。
b.数据操作
通过个人id对该id下所属信息进行修改,根据前端返回数据对数据库相应信息进行增删改。
c.数据约束

在这里插入图片描述

(5)帖子发布

a.数据结构
用户信息以数组形式传输,图片组以一组json传输,其中图片以base64存储在json中。
b.数据操作
前端将图片以一组json形式传入后端,图片以base64存储在json中。其他用户信息以数组传输。后端读取json,帖子id存入数据库,图片存储在相应url下。
c.数据约束

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

(6)帖子详情

a.数据结构
帖子信息以一个数组形式,图片为base63码。评论以数组返回该帖子下所有评论。
b.数据操作
前端返回帖子id,后端通过帖子id查询帖子信息表,评论表,将帖子信息以及评论信息返回给前端。
c.数据约束

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

三、详细设计

1.模块介绍

在目前版本中,我的工作是登陆注册模块与帖子上传模块的前端部分。

2.软件架构

登陆注册模块:模块考虑使用cookie与session进行前后端交互,在浏览器端cookie存储用户登录信息,在服务端session存储用户业务信息。
帖子上传模块:使用MVVM架构,设置观察者捕获用户行为,自动地对页面进行渲染更新。

3.交互原型

(1)登陆注册

登录:

在这里插入图片描述


1.登录按钮,点击跳转首页。
2.注册链接,点击跳转注册页。
3.输入框为手机号、邮箱,密码。
注册:

在这里插入图片描述


1.注册按钮,点击跳转登录页。
2.登录链接,点击跳转登录页。
3.输入框为电话、密码、确认密码、性别、年龄。

(2)帖子上传

图片上传修改:

在这里插入图片描述


1.加号点击,上传图片。
2.左右箭头点击,切换图片。
3.剪切、滤镜、标签点击,显示不同详细功能。
4.上一步左箭头点击,跳转首页。
5.分享右箭头,跳转发送帖子页。

贴子发布:

在这里插入图片描述


1.加号点击,上传图片。
2.左右箭头点击,切换图片。
3.上一步左箭头点击,跳转编辑图片页。
4.分享按钮点击,跳转首页。
5.文本编辑点击,输入文本。

4.系统流程演示

登陆注册流程
https://app.mockplus.cn/run/rp/LzSHdG4Ic84l9/wZAen8I81Lpp/PRFHOWpV4JUXx?nav=1&cps=expand&rps=expand&ha=0&la=0&fc=0&out=1
贴子发布流程
https://app.mockplus.cn/run/rp/SrhpXoo8Wz5X/onFMTFjl5qD3n/eiis0hnipZ-t?nav=1&cps=expand&rps=expand&ha=0&la=0&fc=0&out=1&rt=0

5.系统交互设计

用户在前端登陆注册界面输入用户信息,登陆后,信息传入后端。后端比对前端传入的信息组与数据库存储的信息,返回是否成功登录状态信息,同时对于成功登录,查找帖子表,返回若干帖子信息。前端通过后端返回登录状态信息,判断用户是否登陆成功,给出错误信息或跳转至首页。首页显示后端返回的若干个帖子。并给予用户发帖以及个人首页功能接口。
用户通过前端首页进入发帖功能,上传若干图片以及帖子说明后点击发送帖子,前端返回后端用户id以及用户上传的图片帖子说明。后端将图片存入服务器,并在数据库帖子表中增加帖子项。操作完成后返回是否成功状态信息。前端根据状态信息报错或跳转首页。
用户通过通过前端首页进入某个帖子,前端向后端返回帖子id。后端获得帖子id后查询帖子表,将帖子详细信息,帖子图片,帖子评论返回给前端。前端根据返回信息显示帖子详细信息,图片以及帖子的评论或显示错误信息。
用户通过帖子详情页发送点赞评论等,前端将数据返回后端,后端增改数据库并返回状态信息,前端根据状态信息,提示用户操作成功或失败。
用户通过首页进入个人主页,前端返回用户id及是否为本人状态,后端通过用户id查询用户信息表,帖子表,返回用户信息以及用户所发表帖子。前端根据返回信息显示用户个人主页或提示错误。
用户通过个人主页进入用户账户页,前端返回用户id及是否为本人状态,后端根据用户id查询用户信息表,返回用户详细信息。前端显示用户详细信息。
用户通过用户账户页修改个人信息,前端将修改信息返回后端,后端将返回的信息与数据库比对。修改数据库并返回修改是否成功状态信息。前端根据状态信息更新页面。

参考文献

[1]洪洋. 社交媒体中表情包使用情况调查报告[D]. 河南工业大学.
[2] 分析图片社交国内外市场,思考Instagram如何本土化运营[EB/OL].http://www.woshipm.c/
om/evaluating/1174413.html
[3] Instagram调研报告[EB/OL]. https://zhuanlan.zhihu.com/p/40644797
[4]李晶. 社交网站的发展现状及赢利模式探讨[J]. 商业时代, 2010.
[5]耿瑞彬. 基于贝叶斯建模的社交网络用户连续性行为的实证研究[D]. 浙江大学, 2017.

作者:274

...全文
206 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧