版本封面
内容:产品logo,项目名称,所属公司,产品名称,文档类型,版本号,时间,相关人员(最好说明下负责人)。
作用:
- 突出重要信息,将关键信息以最明显的方式呈现。
- 高大上的版本封面让人有种仪式感。
- 增加团队凝聚力,激发参与感,增强对自己工作的意义和目标感。
示例:
一、文档综述
1. 修订记录
内容:修订时间,修订人,修订内容。
作用:
- 追溯变更,了解文档更新修改过程,避免冲突与混淆。
- 修订过程可视化和透明度,经过审查和授权的文档质量更高。
示例:
2. 输出说明
内容:文档名称,版本,撰写人,撰写时间,阅读对象、相关文档。
示例:
二、产品概述
1. 项目背景
内容:政策,需求,市场,技术,社会。
作用:
- 帮助理解:使各方更好地理解PRD中所描述的需求和功能。
- 建立共识:帮助各方对项目的重要性和目标达成一致,从而促进合作和共同努力。
- 支持决策:为决策提供依据,帮助各方了解项目范围和限制,以便做出明智决策。
示例:
国家对畜牧业信息化、智能化和规模化生产能力的重视为科技企业提供了政策支持(政策背景),同时随着居民生活水平的提高,对畜牧业相关食品的需求也逐渐增加(需求背景)。作为畜牧业大国,我国在全球畜牧总量中居前列,这对我国的国民经济发展至关重要。
畜牧业产值不断增长为智慧养殖行业创造了市场增长空间(市场背景),因此各大中型猪场纷纷采用智能化的养猪管理平台,使养猪业步入了信息化和数据化的时代。这一趋势对推动我国养猪产业的进步和生产力的发展具有积极意义(社会背景)。
随着技术和经济水平的提高,我国的畜牧业生产力也将逐渐提升,智能化管理平台的使用将成为主要选择。物联网、云计算、大数据、人工智能技术以及智能设备等先进技术为智慧养殖提供了强大的推动力(技术背景)。
2. 产品介绍
内容:所属公司/产品名称,产品logo,产品定位,产品slogan,简介,愿景。
示例:以喜马拉雅为例。
3. 用户画像
内容:角色划分,故事,描述。
作用:
- 帮助团队明确目标用户群体,提供符合其需求的解决方案,确保产品设计和开发过程始终以目标用户为中心。
- 帮助团队确定用户需求、特征,并以此为基础优化产品设计和用户体验,提高产品的可用性和用户满意度。
示例:
4. 产品里程碑
内容:时间,阶段名称,迭代版本,功能拆解,目标。
作用:
- 资源管理:明确开发周期和里程碑,有助于合理安排资源和任务,提高项目可控性。
- 沟通合作:共同时间框架和关注点,推动成员及时共享进展、讨论问题并做出决策。
示例:
三、需求分析
1. 业务流程图
2. 功能流程图
3. 功能清单
内容:模块,子模块,功能点,描述(5W2H),优先级,来源,类型,预期结果。
模块:产品可划分为几大功能模块;子模块:进一步明确模块下的子模块,以变更清晰地划分功能;功能点:具体的功能需求或特性;描述:功能点的详细描述;优先级:重要性及紧急程度共同决定;来源:用户、业务方、领导等;类型:基础型、期望型、兴奋型等;预期结果:功能点需要达到的目标。
作用:
- 功能清单是产品需求的具体表现,明确的功能清单可避免需求模糊和遗漏。
- 作为产品测试和验证的依据,及时发现和修复可能存在的问题和缺陷。
示例:
4. 产品结构
内容:功能结构图,信息结构图,产品结构图。
功能结构图:产品的功能组织结构,反映各个功能模块之间的层次和依赖关系,一般为“模块→子模块→功能点”。
信息结构图:产品的实体项所具备的字段集合。
产品结构图:产品的整体结构,包括组件、模块、字段等,产品结构图可以直接作为原型图的参照。
产品结构图的清晰区分和正确绘制对整个产品至关重要,但很多人仍无法明确区分。未来的文章中,我将针对如何输出有效的结构图进行更加详细的说明,以帮助大家更好地理解和绘制。
四、功能性需求
1. 功能模块一
基础信息
内容:场景描述、功能目标,页面信息(名称&入口&所在端),前置条件。
示例:
- 场景描述:当用户在商品查看页面时,能将有意愿购买的产品加入到购物车。
- 功能目标:产品能加入到购物车,并且购物车需要支持下订单。
页面信息:
- 页面名称:【设备管理】
- 页面入口:点击“物联网管理平台”的“设备管理”一级菜单
- 所在端:web端
前置条件:
网络连接正常,已登录状态。
若用户处于未登录状态,进入到页面前,需要先跳转到登录页进行登录操作。
功能描述
内容:界面元素,交互说明,数据字典,逻辑流程(页面跳转,功能操作,异常处理逻辑)。
示例:
① 界面元素
- 筛选项:设备类型(下拉框),创建时间(时间范围控件)
- 列表(从左至右):字段1,字段2,字段3,操作
② 交互说明
功能点1:商品加购
功能点2:购买商品
功能点3:分享商品
③ 数据字典
④ 逻辑流程
页面跳转:
功能操作:
五、非功能性需求
内容:安全,埋点,性能,可用性,易用性,兼容性,运维,验收,数据。
作用:
- 系统性能:响应时间、并发用户数、吞吐量等。可确保系统在处理大量用户请求或高负载情况下仍能保持高效和稳定。
- 可用性:界面友好性、操作简单性、一致性等。有助于确保系统具有良好的用户体验,提高用户满意度和用户粘性。
- 数据安全:身份验证、数据加密、访问控制等。可保护用户隐私和敏感信息,防止潜在的安全威胁和数据泄露。
- 可靠性/可维护性:容错性、可恢复性、易于扩展和维护等。有助于确保系统持续稳定地运行,方便团队进行系统维护升级。
- 法规合规:数据隐私法规、行业规范等。可确保系统符合相关法规和标准,避免可能的法律风险和违规行为。
六、全局说明
1. 名词解释
2. 交互说明
内容:常用手势,键盘说明,交互组件。
作用:
- 交互澄清:明确组件、模块或功能之间的交互方式,帮助团队全面了解系统交互逻辑。
- 技术规划:描述系统交互方式,帮助选择合适的架构和接口,确保系统的可扩展性和性能。
- 沟通协作:交互说明促进团队沟通和协作,传达和分享交互细节,避免混乱和不一致。
示例:
① 常用手势
- 点击:选择、激活、打开元素
- 左滑:返回上一级页面
- 右滑:暂无交互
- 上滑:向上滚动浏览内容
- 下滑:刷新
- 按住:触发上下文菜单 or 拖拽 or 进入编辑模式
② 键盘说明
点击输入框,自动从底部弹出键盘。
③ 交互组件1- 弹窗
左上方:弹窗标题;右上方:点击“×”图标,关闭弹窗;右下方:点击“取消”图标,关闭弹窗。点击“确定”图标,检查数据是否符合要求,符合要求,关闭弹窗保存数据。
3. 功能权限
1)登录认证
- 未登录状态:可以浏览界面,但进行操作时,将会跳出注册登录提示对话框。点击对话框中的“确定”按钮,可以跳转至注册登录页面进行注册或登录操作。
- 登录状态:在应用中进行所有操作。
2)导航和界面访问
通过配置权限管理下的角色权限,用户在系统中可访问不同模块、页面和功能,详情参见“XXX”的需求描述。
4. 数据规则
1)网络判断
要求:系统需要在用户设备上进行数据同步,并确保在网络连接不可用时提供离线功能。
描述:
- 若网络连接正常,系统将执行实时数据同步,并提供在线功能;若网络连接不可用,系统将自动切换到离线模式,使用本地缓存的数据提供基本功能。
- 当网络连接恢复时,系统将自动重新进行数据同步,将离线期间的操作同步到服务器,并更新本地缓存。
2)缓存机制
要求:系统需要提供高性能和响应速度,并减轻服务器负载。
描述:
- 系统将使用缓存机制来存储经常访问的数据,以减少对后端服务器的请求次数。
- 当用户请求数据时,系统首先检查缓存中是否存在所需数据。若存在于缓存,系统将直接从缓存中获取数据并返回给用户。若数据不在缓存中,系统将从服务器获取最新数据,并将其存储在缓存中供后续访问使用。
- 缓存数据将根据一定的策略进行更新和失效处理,以确保缓存数据的有效性和一致性。
3)中断机制
要求:系统需要处理意外中断事件,如系统崩溃、断电等情况。
描述:
- 系统将实施中断机制以应对意外中断,保护数据完整性和系统稳定性。
- 系统将定期进行数据备份,以便在系统恢复后能够回到最近的可用状态。
- 系统重新启动或电源恢复时,进行自检及恢复,确保系统的正确性和一致性。
- 若系统无法自动恢复到正常状态,将提供相应错误提示或通知用户,并尽可能提供数据恢复或修复的解决方案。
写在最后
- 多数情况下,针对简单的优化迭代,并不需要繁琐的PRD结构。重点把调整内容讲清楚,主要体现在“功能性需求”模块。
- 不要花费太多时间纠结于模板上,结合目标提供最为简洁的结构即可,形式不是关键。
- 站在读者(通常是技术人员)的角度去读自己的文档,反问自己,他们能从中获得哪些信息?你是否有清楚表达?是否有遗漏部分?