软件需求收集:挑战与用例驱动解决方案
1. 软件项目活动概述
在为业务人员提供计算机系统时,团队通常会经历一系列相对固定的活动:
1. 需求收集
2. 分析
3. 设计
4. 构建
5. 测试
6. 部署
7. 维护
团队对每个阶段的重视程度决定了最终计算机系统的方向和质量。然而,在实际情况中,某些活动往往比其他活动受到更多关注。通常被忽视或只是走过场的活动包括需求收集、测试、部署和维护。传统上,用于完成这些活动的炫酷工具较少,这可能就是这些活动对从业者吸引力较小的原因。但实际上,每个活动都需要大量的创造力和广泛的技能。
1.1 需求的重要性
有效的需求对于开发满足用户需求的系统至关重要,可以说需求本身就是用户的需求。然而,由于需求驱动着系统开发的其余部分,任何小的失误在部署阶段都会被放大成重大缺陷。纠正这些缺陷非常耗时且昂贵,因为之前已经在错误的方向上投入了大量工作。
此外,需求难以直接转化为编码计算机系统中的一个离散模块,有时它们体现在跨越多个代码库和组件的原则中。由于需求非常抽象,与计算机程序有很大不同,对于擅长具体计算机编程的人来说,很难正确把握需求。
1.2 传统需求收集的问题
传统的需求收集存在以下问题:
- 耗时过长
- 记录错误的内容
- 对尚未发生的活动进行假设
- 由于业务的快速变化,往往刚完成就需要重新进行
例如,曾有一个需求定义文档包含超过160页的“需求”,如此大量的信息让人阅读和整理时感到恐慌。以下是该需求列表的一个示例:
|
超级会员免费看
订阅专栏 解锁全文
489

被折叠的 条评论
为什么被折叠?



