需求-什么时候才算完成

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

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

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

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

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

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

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

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

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

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

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

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

关于"正在完成"

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

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

相关推荐
数智工坊3 分钟前
视觉SLAM第2讲|初识SLAM:经典框架、传感器选型与工程环境全梳理
人工智能·深度学习·数码相机·机器人
旖旎夜光3 分钟前
【LangGraph实战】LangGraph 学习笔记(四):持久化——从线程记忆到跨会话长期记忆
人工智能·笔记·python·学习·ai编程·langgraph
workflower4 分钟前
汽车自动驾驶9 要素
人工智能·机器学习·重构·云计算·汽车·无人机
hhb_6188 分钟前
大模型工具链选型实战方案
人工智能
PascalXie9 分钟前
地面机器人VSLAM技术调研与实现方案参考:算法、硬件平台与工程落地
算法·机器人
2601_9507607913 分钟前
GDF-15重组蛋白:从孕期免疫耐受到多发性硬化神经保护的关键调控因子
人工智能·蛋白
楚楚25115 分钟前
2026最新6款企业级AI编程软件免费实测深度对比
ai编程
一切皆是因缘际会17 分钟前
穿透多维场景
人工智能
七牛云行业应用24 分钟前
Dots 完整教程:从安装入口、跑第一个任务到给 Codex 派活(2026 年 10 月)
人工智能·大模型·agent
镜象科技4 小时前
AI情感大模型应用场景全解:从校园到医院再到企业的落地地图
人工智能