系统设计(三)——约会软件系统设计

一、需求分析

1.功能性需求

  • 拥有一个账户
  • 能够上传照片
  • 通过一些特定指标来获得附近的人资料,例如地理位置、性别、年龄等
  • 通过左滑或右滑的方式来筛选
  • 推荐过的用户不会再次被推荐
  • 当用户匹配时用户之间可以交流
  • 分析/监控
  • 可以进行视频/语音聊天

2.非功能性需求

容错率,高可用性,最小化读/写延迟,可扩展性,数据一致性(consistency),重复性(dualility),代价最小

二、API接口

登录API,返回user_token
登出API
更新个人资料,update_profile(user_token, prof_info)
上传照片,upload_picture(user_token, image)
改变搜索偏好,updateSearchPreference(user_token, preference)
获取其他用户资料,getProfile(user_token, count)
评估匹配程度,rateProfile(user_token, profileRating)

三、high level design

在这里插入图片描述

系统的整体设计如上图,用户通过网络连接到服务器,之后是用户注册服务,与之同时出现的是短信服务(验证码),注册完成后进入个人资料服务,可以对个人资料进行修改,上传照片等,之后是推荐服务用来获得推荐用户,之后使用左滑右滑服务来判断是否喜欢。最后是聊天服务,在聊天服务和左右滑服务需要系统来推送通知。

四、细节描述——如何存储用户图片

存储用户图片有以下几种方式:

  • 和用户信息存储在数据库里:容易实现,灵活的增删改查,缺点是可扩展性差,图片难以存储在数据库中,读写开销很大
    • 存储在同一个表里
    • 存储在不同表里,使用用户ID作为键
  • 存储在文件系统里:无需再数据库中存放大的文件,只需存储文件路径,缺点是增删改查无法仅通过数据库实现,当文件过多时读写速度变慢
  • 存储在对象存储服务中:可扩展性好
基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现遥感图像滑坡识别源码+数据集+训练好的模型基于深度学习CNN网络+pytorch框架实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值