需求-什么时候才算完成

当满足如下要求时,才算完成任务。

已经命名了与系统相关的全部主执行者及其用户目标。

捕获了系统的全部触发条件,既包括用例触发条件,也包括扩展条件。编写了所有用户目标用例及必要的概要用例和子功能用例。每个用例描述得足够清晰,使得:

投资方确认他们能够区分这个用例是或不是实际上要提交的用例。用户确认用例表达了他们的要求,或者能接受这些用例作为系统的行为。

开发人员确认可以实现所有用例表示的功能。

投资方确认用例集覆盖了他们所有的需求。

全部主执行者及其用户目标。通过全部主执行者及其用户目标,可以确定系统的实现范围。由于除了需要人头脑中的系统构想外,没有其他信息来源可与主执行者及用户目标列表进行比较,因此我们无法知道怎样对其进行处理。只能凭猜测来处理,因而有必要采用集体讨论的方式对主执行者及其目标列表进行多次检查。

全部触发条件。这些触发条件表示系统边界的微调,系统必须对它们进行响应。在用例中,一些触发事件以用例触发形式出现,例如,用户把卡插入槽中、客户对保险合同增加或删减条款、用户选择更新或安装软件等。另一些触发事件则作为场景扩展条件,例如,用户单击取消按钮,系统检测电源中断等。

有一个方法可以对系统触发条件集进行重新检查,即通过识别系统中所有具有生命周期的元素并重新审查它们的生命周期,寻找所有改变它们生命周期状态的事件。

概要用例和子功能用例。概要用例建立了用户目标用例的环境。它们回答了一个经常被问及的问题,"所有这些(用户目标)用例如何组装在一起?"事实上,每个用户用例都处于其上层用例中,如此一级一级上升,直到单个根用例。根用例是一张目录表,不再有层次结构。新读者会发现有一个单一的起点很有用处,他们能够从这出发对系统中每个用例进行访问。

子功能用例为用户目标用例提供支持。只有被多个其他用例调用或者分离一个复杂行为时,子功能用例才有存在的必要。

用例的确认。只有投资方和应用专家阅读这些用例并认为用例表达了他们所有的需求,系统开发人员阅读这些用例并认为他们能够根据用例描述开发符合需求的系统时,才能认为这些用例合格。但这是非常艰难的挑战,是编写需求的挑战。

关于"正在完成"

短语"正在完成"给人的印象是在开始设计任务之前,就应该从头到尾编写所有用例。须知情况并非如此。参考17.1节"用例在项目组织中的作用",其中对开发一个可以部分交付用例的项目开发计划进行了讨论。还可以参考Surviving Objecl-Oriented Projects (Cockbum,1998)对增量式开发进行的详细描述, 文章 VW-Staging (http://members.aol.com/acockburn/papers/vw-stage.html)对增量和迭代式开发进行的简短讨论。

不同的项目组根据其不同的实际情况,通常采用不同的策略。一些项目组也许是为了对项目投标,一开始就草拟了所有用例。但他们必须清楚这样编写的用例在项目过程中需要不断修改。一些项目组则只草拟执行者和用户目标,按适当的增量开发方式,开始用例的详细设计。还有一些项目组则花6~9个月时间创建用例,直到这项工作快结束时才开始讨论所有其他需求。还有项目组在每开始一轮工作之前才编写必需的用例。当然,上述每种策略都有其可取之处。

相关推荐
A.说学逗唱的Coke2 分钟前
【人工智能专题】Redis 杀进 AI 数据层:向量搜索、语义缓存与 Agent 记忆工程从入门到踩坑
人工智能·redis·缓存
luckystar513~4 分钟前
AI漫剧满天飞:创作工具全景指南
人工智能
十三画者6 分钟前
【文献分享】ExoFILT:基于深度学习的外泌事件单颗粒追踪数据分类器
人工智能·深度学习·机器学习·数据挖掘·数据分析
beiju11 分钟前
AI 改稿不该直接覆盖:从 Notion suggest edits 设计可审阅的 Patch 协议
人工智能
Summer-Bright12 分钟前
深度 | Hot Chips 2026 英特尔三响炮:256 核 Xeon、480GB 推理 GPU,赌 agentic 让 CPU 回归
人工智能·数据挖掘·回归·intel·hotchip
乌拉布拉乌14 分钟前
用 agents-md-writer 优化你的 AGENTS.md
人工智能·agent
1878770860919 分钟前
妙响和Mureka怎么选,AI音乐工具真实使用对比
人工智能
Bode_200219 分钟前
制造业的知识因果推理网
人工智能·智能工厂
梦想的颜色20 分钟前
【AI科普】什么是计算机视觉:硬核科普,它和大 AI 大模型到底是什么关系
人工智能·深度学习·计算机视觉·多模态·aiagent·#vlm·ai工程实战
whitelbwwww25 分钟前
RKNN静态量化
人工智能·深度学习