软件开发人员从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,一经查实,立即删除!

相关文章

力扣 239. 滑动窗口最大值

题目链接 chatgpt写的代码, 首先这是个滑动窗口的问题,要用单调队列来解决,这个就是毋庸置疑的,就直接接受就行了 其次,不知道单调队列是啥,知道单调队列是啥了,又不知道单调队列该如何实现&…

王道机试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集合的特点…

Web服务器需要警惕的一些安全隐患

Web服务器需要警惕的一些安全隐患有哪些,今天德迅云安全就带您来了解下。熟悉了解了就知道怎么规避风险。不过无论是什么漏洞,都体现着安全是一个整体的真理,考虑Web服务器的安全性,必须要考虑到与之相配合的操作系统。 1.物理路径…

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

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

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

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

Selenium自动化测试细节讲解

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

R语言系列2——R语言数据处理技巧

目录 写在开头1. 数据导入与导出1.1 基础操作详解1.1.1 导入数据1.1.2 导出数据 1.2 高级技巧详解1.2.1 自定义导入1.2.2 自定义导出 1.3 常见问题 2. 数据清洗基础2.1 缺失值处理2.1.1 删除含缺失值的行或列2.1.2 填充缺失值2.1.3 预测模型填充2.1.4 使用特定值填充 2.2 数据类…

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

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

mysql笔记:7. 索引

文章目录 索引含义和特点索引分类普通索引和唯一索引单列索引和组合索引全文索引空间索引 索引设计原则创建索引直接创建索引在已经存在的表上创建索引 删除索引 在关系数据库中,索引是一种可以加快数据检索速度的数据结构,主要用于提高数据库查询数据的…

人工智能指出数学教育问题

国内的数学教育长期以来都以其注重的计算能力而著称。从小学开始,学生们就接受严格的算术训练,九九乘法口诀表几乎成为了每个人的必修课。然而,尽管中国在数学方面的成绩屡获佳绩,但是锻炼的都是很容易被计算器或者计算机取代的能…

零基础学习JS--基础篇--使用类

JavaScript 是一个基于原型的语言——一个对象的行为取决于它自身的属性及其原型的属性。 在 JavaScript 中,类可以看作是已有的原型继承机制的一种抽象——所有语法都可以转换为原型继承。类本身也是不过是 JavaScript 里一种普通的值,它们有其自己的原…

JavaScript 技术100问?

JavaScript 是一种高级的、解释型的编程语言,通常用于为网页添加交互性和动态功能。作为 Web 开发中最重要的技术之一,JavaScript 在前端开发中扮演着重要角色。它可以直接嵌入到 HTML 中,并通过浏览器解释执行。JavaScript 的语法类似于 Jav…

2.Linux文件IO基础

Linux 文件 I/O(Input/Output)基础是 Linux 应用程序开发中的重要组成部分。在 Linux 系统中,文件 I/O 涉及到文件的读取和写入,以及文件描述符、系统调用等概念。以下是 Linux 文件 I/O 的基础知识: 1. 文件描述符 …

GEE Rgee——使用 eemont 和 geemap来进行Landsat 8数据的反演NDSI

简介 用 rgee 在 R 中使用 eemont 和 geemap来快速进行NDSI反演。 Landsat 8是一颗运行于太阳同步轨道上的遥感卫星,可以获取高分辨率的光学遥感数据,其中包括多光谱和热红外波段。NDSI(Normalized Difference Snow Index)是一种用于检测和分析雪被覆盖情况的指数。本文将…

算法刷题day25:多路归并

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

ms office学习记录10:Excel㈣

自动填充时也可输入前几个值,选中单元格双击右下角黑色箭头进行填充 将填充样本行列粘贴至原列后要注意删除样本行列内容 排序与筛选 “数据”选项卡中的“排序”与“开始”选项卡中的“排序和筛选”实质相同 排序依据:数值内容和数值格式 “选项”…

最大的单入口空闲区域

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

Docker使用之Docker Compose【入门篇】

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许用户通过一个单一的文件来定义多个容器,然后使用一个命令来启动、停止和管理这些容器。在本文中,我们将详细介绍如何使用Docker Compose进行多容器管理,并提供一个范例…

大数据开发(Spark面试真题-卷六)

大数据开发(Spark面试真题) 1、Spark HashPartitioner和RangePartitioner的实现?2、Spark DAGScheduler、TaskScheduler、SchedulerBackend实现原理?3、介绍下Sparkclient提交application后,接下来的流程?4…