软件需求与基本原理:协作式开发的关键路径
1. 引言
当代软件项目困难重重,一个主要原因是软件开发人员自身并不具备创建有效系统所需的全部知识。用户掌握着大量关于使用场景的专业知识,但这些知识多为隐性知识,往往在系统使用过程中才能被充分获取。因此,获取完整准确的软件需求并非一蹴而就,而是一个迭代的过程,一些关键需求只有在用户对系统设计做出反应后才能被激发出来。成功的项目依赖于与用户的广泛协作,尽早发现新需求能最大程度减少返工工作量。
2. 需求获取的迭代性
2.1 迭代式软件开发
近年来,软件开发尤其是需求识别方面,出现了向迭代式方法转变的趋势。“敏捷软件开发”是较为全面的方法集合,此外还有“进化式”和“自适应”开发等变体。迭代式开发源于开发者在前沿实际项目中的经验,且得到了学术研究的支持,非迭代的瀑布式方法往往导致更高的项目失败率和用户不满。迭代式开发的一个共同特点是进化式需求分析,即需求定义不限于初始阶段,在开发后期也可发现和更改。
2.2 多层次软件开发展模型
2.2.1 简单多层次模型
软件规格说明是一组明确陈述的目标,每个目标指定了所需的程序行为,软件实现则是达成这些规格说明的过程。顶级规格说明即软件需求,包括所需功能和软件质量属性。实现规格说明中的目标可能是一步或两步过程,递归会产生包含多个且越来越具体的规格说明和实现层次的结构,最终以编写代码结束。
2.2.2 扩展简单多层次模型
简单模型未考虑用户所属组织的更大目标背景。软件需求只是组织总目标的一小部分,一些组织目标是软件需求的原因,另一些则是外部目标。组织的更大目标背景是新需求
超级会员免费看
订阅专栏 解锁全文
1327

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



