软件开发人员从0到1实现物联网项目:需求分析

文章目录

  • 前言
  • 市场调研
    • 线下考察
    • 竞品参考
  • 项目目标
  • 功能需求
    • 用户端功能需求
    • 商家功能需求
    • 系统管理功能需求
  • 非功能需求
    • 性能
    • 安全性
    • 易用性
    • 扩展性
    • 可靠性
  • 小结

image.png

前言

上文对实现自助棋牌室项目涉及到的技术做了调研,尤其是物联网技术。那接下来就是对需求进行一番分析了,经过几天对棋牌室的线下考察以及对市场竞品的参考,基本上明确了项目需要实现的功能,所以本文将尝试梳理出一份不专业的自助棋牌室系统的需求分析。

市场调研

线下考察

经过几天不全面的线下考察,发现棋牌室大概分几类:

  1. 传统的棋牌室:一间房几张桌子,环境谈不上,一般分布在城中村或是老小区,老年人居多。
  2. 半自助棋牌室:基本上是单间,环境较好,可以线上预约,也有老板坐镇看店,一般分布在公寓、酒店,用户群体主要是中年人、年轻人。
  3. 完全自助棋牌室:单间环境好,用户从预约到离店全部手机操作,一般分布在公寓、商场,用户群体主要是年轻人。

市面上大多数还是半自助,相对完全自助棋牌室,半自助棋牌室环境一般,少了几个硬件设备,使用的软件功能可能没那么完善,也多了人力成本,软件起到一个运营辅助作用。

竞品参考

市面上有很多成熟的竞品,百度一大堆的自助棋牌室Sass产品。

各产品核心功能大差不差,基本上是围绕用户和商家。用户线上预约以及用户留存的营销手段,储存赠送、会员优惠什么的。其次是商家的加盟、门店运营什么的。项目整体难度系数小。

项目目标

自助棋牌室系统主要是通过软件开发结合物联网技术,打造一款自动化、智能化、支持24小时无人运营店面的产品。

针对那些希望开启副业,但又因人力成本问题而犹豫不决的个体,自助棋牌室系统可以提供解决方案,从而减少副业运营的人力成本。

功能需求

用户端功能需求

自助棋牌室系统的使用对象主要就是用户,从用户的角度出发,需要支持以下几个功能:

  1. 一键登录注册:用户端目前主要考虑小程序,一键登录注册,尽量减少不必要的操作。
  2. 门店选择:根据用户的定位由近到远显示商家的门店信息,提供用户选择。
  3. 预约:选择门店后就可以查看各房间的状态及信息并进行预约,可以提前预约减少等待时间。
  4. 支付:预约时可以选择不同的支付方式进行支付,比如储值卡、微信、卡劵、线下等。
  5. 开门:支付成功后则预约成功,在预约的时间内可以通过小程序进行开门进入房间。
  6. 续费:当用户的服务时间即将到期时,可以通过小程序进行续费续时操作,确保服务的无缝衔接。

在这里插入图片描述

商家功能需求

从商家的角度出发,需要支持以下几个功能:

  1. 品牌管理:商家可以创建自己独立的品牌。(当然,小程序也需要单独部署)。
  2. 门店管理:商家的门店管理会涉及到几个功能:
    • 添加门店:只有独立品牌的商家可以添加多个分店或者作为加盟商添加加盟店。
    • 设置门店信息:所有的商家都可以设置自己门店信息,包括店名、地理位置、轮播图、文案什么的。
    • 门店续费:每个门店涉及到软件服务费,所以临近到期时可以进行续费操作,否则小程序将不显示该门店。
  3. 房间管理:每个门店下可以管理自己房间,包括:
    • 添加/删除房间:商家可通过添加删除操作控制小程序显示的房间信息。
    • 设置房间信息:商家可以自己房间的信息进行维护,包括基本信息、标签等。
    • 房间计费设置:每个房间可以设置自己的计费方式及费用,比如小时计费、时段计费、会员价、优惠什么的。
  4. 设备管理:商家的设备管理会涉及到几个功能:
    • 设备添加/删除: 用户在小程序进行开门以及房间电源、语音都需要远程控制,这些设备需要在此进行维护。
    • 绑定房间:要具体到某个房间设备的远程控制,需要与房间进行绑定,建立关系。
  5. 营销管理:通商家可以通过营销管理设置一些活动优惠吸引更多的用户,比如储值卡赠送、优惠卷赠送等。
  6. 订单管理:订单是商家营业最重要的数据,商家可以通过订单管理查看订单数据及状态。
  7. 营业数据:商家通过营业数据直观的看到每天的订单量、收入等营业数据。

在这里插入图片描述

目前考虑商家分为小程序端和PC端,小程序中展示一些关键数据及操作,比如门店的营业数据和营业报表,也可以通过小程序远程控制房间设备等。

系统管理功能需求

系统管理功能除支撑用户和商家的功能外,还要有一套权限管理功能,包括用户管理、角色管理、菜单管理等。因为商家的入驻、加盟以及相关的业务数据可以通过权限设计进行数据隔离,实现一个简单的多租户系统。

在这里插入图片描述

非功能需求

除功能需求之外,还要考虑系统的性能、安全性、易用性、可扩展性以及可靠性等非功能需求,因为这个事关用户的体验以及留存。

性能

  • 响应时间:95%的情况下,用户请求响应时间不超过1.5秒,高峰时段不超过4秒。
  • 并发数:弹性。

保障手段:数据库优化、负载、缓存、监控

安全性

  • 严格权限访问控制,用户只能访问其权限范围内的数据和操作。
  • 提供日志管理及安全审计功能,可追踪系统的历史使用情况。
  • 能经受来自互联网的一般性恶意攻击。

保障手段:权限控制、日志、限流、DDoS防护

易用性

  • 80%的用户应该可以在30秒内完成预约支付或充值操作。
  • 90%的商家在接受系统培训后,可以品牌、门店、房间以及设备的维护。

保障手段:用户问卷、在线反馈

扩展性

  • 在增加新功能模块时,避免影响其他功能。
  • 根据请求量、数据量的增大,系统可相应增加服务器实现扩展。

保障手段:无状态、弹性伸缩、模块低耦合

可靠性

  • 在服务、数据节点故障时可以迅速恢复服务,最小化对业务的影响。
  • 系统出现异常或潜在风险时及时发出报警,以便快速响应和处理。
  • 服务进行升级时不可影响现有用户使用。

保障手段:容错与故障恢复、监控与报警、灰度发布

小结

系统功能涵盖了小程序端和Web端,同时需要关注系统安全以及维护运维工作。鉴于个人精力有限,计划在后期主要采用云开发的方式进行开发部署,从而降低运维成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

王道机试C++第 5 章 数据结构二:队列queue和21年蓝桥杯省赛选择题Day32

目录 5.2 队列 1.STL-queue 课上演示: 基本代码展示: 2. 队列的应用 例:约瑟夫问题 No. 2 题目描述: 思路提示: 代码展示: 例:猫狗收容所 题目描述: 代码表示&#xff1…

蓝桥杯-List集合

目录 List集合实例化 List集合实例化步骤 常用方法 ArrayList方法 1:add(Object element) 2:size() 3:get(int index) 4:isEmpty() 5:contains(Object o) 6:remove(int index) 总结ArrayList list集合的特点…

应用方案 | DCDC电源管理芯片MC34063A

DCDC电源管理芯片 MC34063A MC34063A 为一单片 DC-DC 变换集成电路,内含温度补偿的参考电压源(1.25V)、比较器、能有效限制电流及控制工作周期的振荡器,驱动器及大电流输出开关管等。外配少量元件,就能组成升压、…

Redis缓存、缓存穿透、缓存雪崩、缓存击穿

1.认识Redis缓存 先来认识一下缓存,再了解redis用作缓存时的作用和问题,以及如何解决redis缓存在的问题。 1.1.什么是缓存 1.2.缓存的优缺点(作用和成本) 2.redis缓存的作用 正常客户端请求服务器,服务器会直接访问数据库,这有…

Selenium自动化测试细节讲解

与以前瀑布式开发模式不同,现在软件测试人员具有使用自动化工具执行测试用例套件的优势,而以前,测试人员习惯于通过测试脚本执行来完成测试。 但自动化测试的目的不是完全摆脱手动测试,而是最大程度地减少手动运行的测试。自动化…

【智能家居】东胜物联ODM定制ZigBee网关,助力能源管理解决方案商,提升市场占有率

背景 本文案例服务的客户是专业从事智能家居能源管理的解决方案商,其产品与服务旨在帮助用户监测、管理和优化能源消耗,以提高能源使用效率。 随着公司的扩张,为了增加市场占有率,他们希望找到更好的硬件服务支持,以…

算法刷题day25:多路归并

目录 引言概念一、鱼塘钓鱼二、技能升级三、序列 引言 关于这个多路并归蓝桥杯考的不是很多,如果要出的话,可能模型都会差不多,因为不会出太难的题,难题基本上都是贪心、DP之类的,所以好好刷题刷熟练就行了&#xff0…

最大的单入口空闲区域

最大的单入口空闲区域 问题描述输入输出代码实现 问题描述 找到最大的单入口空闲区域。 空闲区域是由连通的’O’组成的区域,位于边界的’O’可以是入口, 单入口空闲区域即有且只有一个位于边界的’O’作为入口的由连通的’O’组成的区域。 如果两个元素…

力扣:链表篇章

1、链表 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。 2、链表的类…

Python高级二

一、异常 1、定义 异常是在程序执行过程中出现的错误或意外情况。当程序遇到异常时,它会中断当前的执行流程,并尝试找到相应的异常处理机制来解决问题。 2、常见异常类型 SyntaxError:语法错误,通常是代码书写不符合Python语法规则…

【前端】移动端布局

目录 1.移动端特点 分辨率 二倍图 2.百分比布局 3.flex布局 3.1flex布局模型 3.2主轴对齐方式 3.3 侧轴对齐方式 3.4flex属性 1.移动端特点 PC端网页和移动端网页的不同 PC端网页:屏幕大,网页固定版心 jd.com移动端网页:屏幕小 没…

实战案例——Kafka集群部署

1. 规划节点 IP主机名节点192.168.100.10zookeeper1集群节点192.168.100.20zookeeper2集群节点192.168.100.30zookeeper集群节点 2. 基础准备 使用ZooKeeper集群搭建的3个节点来构建Kafka集群,因为Kafka服务依赖于ZooKeeper服务, 所以不再多创建云主机…

接口自动化测试的三个阶段

根本目标 测试环境中,保证新增接口功能正确性,原有接口的回归(保证原有接口不被修改“坏”); 生产环境中,保证接口层面服务可用,功能的正确性(保证服务挂掉时,及时发现…

户口本怎么翻译成英文

户口本翻译件一般用于出国旅游签证、商务签证、移民留学等业务时,申请人所需提交的文件之一。户口本翻译件需要正规有资质的翻译机构翻译并加盖翻译专用章,这样才能得到有关部门的认可。那么,英国签证户口本翻译,中译英怎么翻译比较好&#x…

鸿蒙Harmony应用开发—ArkTS声明式开发(模态转场设置:全屏模态转场)

通过bindContentCover属性为组件绑定全屏模态页面,在组件插入和删除时可通过设置转场参数ModalTransition显示过渡动效。 说明: 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 不支持横竖屏切换。…

TCP三次握手,四次挥手状态转移过程

1.TCP状态转移过程 TCP连接的任意一端都是一个状态机,在TCP连接从建立到断开的整个过程中,连接两端的状态机将经历不同的状态变迁.理解TCP状态转移对于调试网络应用程序将有很大的帮助. 2.三次握手状态转换 3.四次挥手状态转换 4.TIME WAIT状态详解 为什么要有一个"TIME…

数据标注专业团队

数据标注服务 在跟一些淘宝、多多商家老板合作后,客户一般付款后,中介是有20%左右的提成,我们主要是希望可以实现数据标注无中介化,有需求可以直接联系数据标注团队直接负责人, 若有意愿请添加添加v:shu_ju…

9. 内核、文件系统加载工具

内核、文件系统加载工具 内核、文件系统加载工具是嵌入式开发必备的工具 1. 烧写BootLoader 1.1 通过超级终端方式 烧写 Bootloader 可以使用超级终端的“传送” |“发送文件”命令进入发送文件对话框,使用 Xmodem 协议和 Kermit 协议发送 Bootloader 的各个文件…

docker安装rocketMq

在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需要提前安装 docker。 此外,由于 rocketmq 需要部署 broker 与 nameserver ,考虑到分开部署比较麻烦,这里将会使用docker-comp…

网络模块使用Hilt注入

retrofit的异步回调方法已经做了线程切换&#xff0c;切换到了主线程 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"><uses-permission android:name"andr…