移动 APP 需求类型
移动 APP 研发需求是移动 APP 研发交付的起点,只有明确了移动 APP 的各类研发需求,才能保证最终的交付满足要求。
一、需求概述
产品的需求通常分为四类:业务需求、用户需求、功能需求、非功能需求
类别 | 介绍 | 举例 |
---|---|---|
业务需求(Business requirement) | 表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标 | 对应的是组织或者客户,可以类比为平台和商家 |
用户需求(User Requirement) | 描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么 | 对应的是购买产品的用户,可以类比买家 |
功能需求(Functional Requirement) | 规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求 | 对应的是产品,即你的产品有怎样的功能或价值,能相应的满足买家的需求;可以类比为你现售卖的产品 |
非功能需求(Non-Functional Requirement) | 是指依一些条件判断系统运作情形或其特性,而不是针对系统特定行为的需求,非功能性需求也可以视为为了满足客户业务需求而需要符合,但又不在功能需求中的特性 | 对应的是产品开发及使用过程中的限制及品质等,如稳定性(stability)及可移植性(portability)、保安性、易用性、可测试性(英语:software testability)、可维护性、可扩展性、可伸缩性(scalability)等 |
注意:一般会在系统设计(英语:Systems design)中详细列出实现功能需求的计划,而会在系统架构(英语:Systems architecture)中详细列出实现非功能性需求的计划。一般而言,功能需求会定义系统的行为,而非功能性需求会定义系统的特性。
二、业务需求
表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。对应的是组织或者客户,可以类比为平台和商家。不同的平台和商家实际的业务需求也不一样,即使同行业的平台和商家,也会追求差异的竞争优势而不断制定新的组织或客户高层次的目标。
三、功能需求
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。功能需求定义了对系统提供的服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。
常见的移动 APP 功能需求包含如下:
账号(注册、登录、注销)
- 账号登录
- 邮箱登录
- 手机号登录
- 混合登录
- 第三方登录(支持三方登录的 APP 必须同时支持苹果账号登录)
- 其它登录
- 账号注销
- 邀请
分享
- 自建 or 三方(ShareSDK)
音视频(多媒体)
- 华为
- 腾讯
- 网易
- 阿里
即时通讯
- 环信
- 融云
- 腾讯 IM
- 网易云信
地图
- 百度
- 高德
- 腾讯
支付
- 支付宝
- 微信
- 苹果
- 统一支付平台(Ping++等)
生物识别
- 人脸识别
- 指纹识别
二维码
- 生成与识别
版本更新
- 更新提示
- 强制更新
搜索
Web 容器
用户反馈
举报
拉黑
电话
短信
通讯录
通话记录
日历
提醒事项
闹钟
相册
健康
语音识别
文件和存储
社交媒体账户
相机
麦克风
蓝牙
传感器
推送
- 推送权限
- 自建 or 三方(个推、极光、阿里云)
网络
- 网络权限
- HTTP/HTTPS
- Socket
- RPC
- 网络不稳定场景
- 网络模式切换场景
- 低网速场景
位置
- 位置权限(获取经纬度坐标)
- 火星坐标
- 根据经纬度获取地图位置(高德、百度、腾讯)
四、非功能需求
非功能需求描述了系统展现给用户的行为和执行的操作等。非功能需求源于用户的限制,包括预算的约束、机构政策、与其他软硬件系统间的互操作,以及如安全规章、隐私权保护的立法等外部因素。
非功能性需求一般会称为系统的“品质”,有时也会称为“限制”、“品质属性”、“品质目标”、“品质属性”、“品质服务需求”或“非行为性的需求”。有许多非功能性需求的英文都是以“ilitiy”结尾,例如稳定性(stability)及可移植性(portability),因此非功能性需求有时也称为“ilities”。
非功能性需求可以分为以下的二类:
- 运行品质(Execution qualities),可以在系统运作时观察到的品质,例如保安性及易用性等。
- 发展品质(Evolution qualities),和软件系统结构及开发过程有关的品质,例如软件可测试性(英语:software testability)、可维护性、可扩展性、可伸缩性(scalability)等。
移动 APP 所需要支持的非功能需求通常相对统一,常见的移动 APP 非功能需求如下:
模块(组件)化
- 路由总线
- 事件总线
性能需求
- 性能监测
- 性能优化
安全需求
- 应用加固
- 代码混淆
- 身份认证
- 法律合规(敏感词等)
- 恶意注册
- 运营风控
- 网络加密
- 数据库加密
统计分析
- 统计方法:自建 or 三方(友盟)
- 数据类型:页面访问:用户行为
- 字段确
- 统计场景:事件、基础数据(AARRR模型)、产品特性数据
风险控制
- 调用的第三方 SDK 出故障
- 服务器出现故障
- iOS、Android官方紧急升级系统
- 技术无法解决的故障
接口管理
- 内部接口管理
- 外部接口管理
数据管理
- 闪退后数据是否丢失
- 卸载删除软件数据如何处理
- 数据安全
- 数据存储极限/跨平台同步
- 数据被移除时会发生的情况
- 数据过多或者过少数据需求导致布局和UI的改变
- 在不同时段/不同数据权限数据推荐显示机制
- 如何处理大量数据
- 数据同步被打断
- 数据或架构更新时会造成影响
- 无效数据的处理
兼容管理
- 软件系统兼容
- 硬件设备兼容(不同屏幕、横竖屏)
- 应用版本兼容
- 多平台兼容
语言需求
- 多语言管理
参考
- 各类引用及参考资料
测试
- 测试包统一平台管理
- 合并 iOS、Android 的下载地址
- 模拟器安装包
- 应用内测试辅助工具(网络、运行日志等)
后端
- 接口数据
- 推送消息
- 数据延迟处理
- 交互失败处理
- 新旧数据覆盖处理
产品
- 产品验收清单
- 产品研发账号统一管理
设计
- 设计验收工具
营销
- 产品层面:需要对流失用户进行召回、用短信、邮件的方式。
- 运营层面:做活动冲业绩,需要对高价值用户进行付费引导。
帮助
是否需要产品提供FAQ?
1
请提供内部使用者或者客户在使用此产品时所需要的说明文档。
是否需要提供客户服务?
1
产品里面留官方电话,邮箱,或者其他联系方式。
法务
以下授权需要法务协助
1
2隐私权、知识产权、专利权、商标、服务条款(TOS)、版权、合同责任、客户沟通
APP著作权需要法务协助,如果没有,容易被人侵权;并且部分应用市场无法上架。以下事宜需要法务协助
1
商户入驻,财务结算,黑白启动页
财务
以下事宜需要财务协助
1 | 财务结算 |
客服
- 产品上线是否需要客服协助?
- 此产品计划的服务优先级和重要性如何?
- 当此产品上线后,你想要从客服中得到什么信息?(比如,客服每周处理多少客诉?花多少时间回复e-mail?会员常问的问题是什么?)
- 客服应如何支持?对客服有何影响?客服最常遇到什么状况?应如何回应?
- 此产品尚未上线前或上线时,客服可或不可与客户沟通,沟通什么?(请与客户服务部和技术支持讨论确定)