1. 背景
软件需求规格说明书(SRS)是软件项目中定义系统需求的关键文档,涵盖了功能、性能、设计限制等需求细节。SRS的质量直接影响到整个项目的成败,确保文档清晰、准确、无歧义是产品成功的基础。然而,由于需求规格描述的复杂性和人工审查过程的主观性,手动评审往往耗时且容易出现疏漏。
为了提升评审效率和精度,越来越多的软件团队开始考虑引入人工智能(AI)技术辅助SRS文档的自动化评审。AI的自然语言处理(NLP)技术能够快速识别文档中的歧义、重复和不一致的表述,从而减少人为误判,并提升文档评审过程的全面性和一致性。
2. 痛点
- 效率低下:人工评审SRS文档通常需耗费大量时间,而评审过程复杂繁琐,尤其是文档内容庞大时,审阅周期较长。
- 错误遗漏:需求表述中的歧义、不一致和遗漏内容难以被完全检测出来,尤其是在多轮评审中,容易因重复的内容而出现遗漏。
- 主观性强:人工评审人员对需求的理解各异,容易造成不同的解读,导致需求不一致的理解,影响后续设计和开发。 特别对于某些领导一句话的需求。
- 评审反馈周期长:在快速迭代的项目中,手动评审导致反馈周期拉长,影响产品开发的速度和项目的进度。
3. 实践
为了克服这些挑战,以下是使用AI辅助进行SRS评审的实施步骤,以下我们使用项目实践中[需求卡片模板]为例
提示词
我们已定义的需求描述卡片模板如下,请对我提供的[需求]文字描述,进行详细分析与评估,指出需求描述存在的问题,是否满足研发侧设计与编码。
{需求编号:包含“采集时刻 + 采集者”信息
需求类型:(在进行评审时填写)功能需求、非功能需求……
来源(Who):(方便追根溯源)公司提供者:需求提供者的部门、联系方式产生需求的客户:用户需求的公司、部门、联系方式客户背景资料:受教育程度、岗位经验、其他与本单项需求相关经验
场景(Where、When):产生该需求的用户活动特定的时间、地理、环境
描述(What):用(主语+谓语+宾语)的语法结构,禁止使用修饰语句
原因(Why):(保持怀疑的心,很多时候理由是假想出来的)验收标准(How):
1. 用量化的语言
2. 无法量化寻找标竿需求重要性权重(How much):
满足后(1一般~5非常高兴)
未实现(1略感遗憾~5非常懊恼)需求生命特征(When):
1. 需求的紧急度
2. 时间持续性需求关联(Which):
1. 人:需求关联的用户影响人物
2. 事:需求关联的用户业务与关联需求编号
3. 物:需求关联的客户系统、设备;需求关联的公司产品及版本
参考材料:在需求采集活动中的输入材料,仅仅输入援用的条目、章节竞争者对比:(按照1分差~10分好进行评估)
1. 竞争者对该需求的满足方式
2. 用户、客户对竞争者及公司在该需求的评价说明:需求特征的描述,通常有如下几个维度:重要性(细分为“满足后、未实现”,或者说“基本、扩展、增值”,参见KANO模型)、紧急度、持续时间(生命周期)。实用主义的考虑,可以综合抽象为一个指标:商业价值(或者叫商业优先级)。然后除以开发量就得到了“性价比”,我们先做性价比高的需求。}
ChatGPT 4o
GPT帮助我们指出需求描述存在的不足,还帮助完善需求规则
DeepSeek
清晰判断出不足
通义千问2.5
通义更多是补写与格式化
5.进一步
文本解析和预处理
通过NLP技术对SRS文档进行文本解析和预处理,包括词性标注、实体识别、句法分析等,以理解文档的语义结构。基于此步骤,AI能够识别出关键需求、系统限制和设计约束。
需求一致性和歧义检测
利用AI模型检测需求描述中的歧义、不一致和潜在冲突。例如,通过训练模型识别诸如“可能”、“应该”等模糊词汇,并提出相应的替换建议,以提升描述的清晰度和准确性。
需求完整性检查
通过比对SRS文档内容与标准模板、行业基准,识别出需求中缺失的关键组件,如特定的边界条件、用户角色或异常处理场景,确保需求的全面性。
用例和需求的映射
AI辅助审查需求与对应用例之间的关系,检测文档中需求和用例的正确映射,以确保每个需求都有相关的实现用例支持,并识别出遗漏的关联需求。
生成改进建议和评审报告
通过AI生成自动化的改进建议和详细评审报告,包含潜在的改进点、风险提示、歧义描述等。评审人员可结合报告中的内容,进一步优化需求描述,缩短评审时间。
6.总结
- 提高评审效率:AI自动化评审能够快速筛查大量内容,并实时生成反馈报告,缩短需求文档的评审周期,确保项目进度。
- 提升文档质量:借助AI的语言识别能力,能够发现需求中的歧义、不一致,减少需求理解上的偏差,提高文档的准确性和完整性。
- 减少人为失误:通过系统化、标准化的评审,减少了手动评审的疏漏和误判,保证了需求的稳定性和一致性。
- 降低沟通成本:在AI辅助生成报告的基础上,减少了评审团队的沟通成本,使团队成员对需求的理解更加统一,有助于更好地推进后续开发流程。
- 加速产品迭代:在快速迭代的开发模式下,AI的引入使得需求评审更加敏捷,帮助团队迅速响应市场需求的变化。
通过AI技术辅助SRS文档的评审,企业可实现更高质量的需求管理,并降低项目的开发风险,为实现高效、准确的软件开发过程提供有力支持。
今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。