在软件开发过程中,获取系统需求是至关重要的第一步。以下是一些使用大模型来获取软件系统需求的方法,以及需要注意的问题。
分层递进式需求获取
不要试图一次性获取所有需求,采用分层策略:业务层→用户层→功能层→技术层→质量层。
- 业务层:关注业务目标、价值主张。例如,‘这个系统要解决什么业务问题?’
- 用户层:关注用户画像、使用场景。例如,‘谁会使用这个系统?他们的日常工作流程是什么?’
- 功能层:关注具体功能、业务规则。例如,‘用户需要完成哪些核心任务?’
- 技术层:关注集成需求、技术约束。例如,‘需要与哪些现有系统对接?’
- 质量层:关注性能、安全、可用性。例如,‘系统需要支持多少并发用户?’
多角色模拟法
让大模型扮演不同角色来发现需求盲点。例如:‘你是一位业务专家、技术架构师、最终用户、测试工程师、安全审计员…,请分别从你们的视角分析这个系统的需求。’
指令(Prompt)技巧
(1)结构化模板:提供固定的提问模板,确保覆盖所有关键领域。
(2)反向提问法:基于初步信息,提出关键问题,揭示可能忽略的需求或风险。例如:‘有哪些功能明确不需要?’
(3)场景驱动法:描述用户从登录到完成核心任务的完整流程,包括正常路径和异常场景。
需要注意的问题
- 错误做法:过于宽泛,输出泛泛而谈;信息过载,遗漏关键点;需求不可验证;忽略否定需求。
- 改进方式:限定范围;分模块迭代;接受模糊描述;要求量化指标;显式询问不需要的功能。
用户故事的描述格式
用户故事是敏捷开发中描述需求的标准格式,采用简洁的结构化表达方式。
(1)标准格式:作为<角色>,我想要<功能/能力>,以便<价值/收益>。
(2)扩展格式(含验收标准):提供故事标题、功能描述、业务价值、验收标准等详细信息。
用户故事实例
通过具体的用户故事实例,可以更清晰地了解如何描述和实现需求。
以上就是使用大模型获取软件系统需求的方法以及需要注意的问题。通过这些方法,可以更全面、系统地获取和分析需求,从而提高软件开发的效率和质量。