第一章 需求工程导论 读书笔记
第一章需求工程导论从软件生产中的需求问题和需求工程是什么两个方面介绍了需求工程。
一切新事物产生的原因都是为了解决问题,需求工程也不例外。需求工程产生的由来是随着以“应用”为中心的软件的发展,原有个体化“软件作坊式”的软件开发方法带来了诸多问题:
- 对软件开发成本和进度的估计往往非常不准确,开发成本超出预算,实际进度和预定计划一再拖延的现象并不罕见
- 用户对“已完成”系统不满意的情况时常发生
- 软件产品的质量不可靠
- 软件的可维护程度非常低
- 软件通常没有适当的文档资料
- 软件的成本不断提高
- 软件的开发生产效率无法民族人们对软件的生产要求,软件开发生产效率的提高落后于硬件的发展
在这些导致需求问题的原因中,一个最为重要的原因是:未能很好地理解和掌握应用型软件的模拟特性以及由此产生的一系列影响和要求。对前面产生需求工程的原因我基本理解,但这个最为重要的原因软件的模拟特性却是第一次听说,软件的模拟特性来源于其知识载体的特性:软件在运行过程中表现出来的特性,行为应该和应用的现实情况保持一致。这样,人们通过观察软件的表现就可以得出相应显示问题的答案,即软件模拟了现实。
需求工程根据各自的理解有不同的定义,简单来说,需求工程是所有需求处理活动的总和,他收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互相形成的期望效应。
需求工程活动包括需求开发和需求管理两个方面。需求开发是因为需求工程的“需求”特性而存在的,它们是专门用来处理需求的开发技术,包括需求获取、需求分析、需求规格说明和需求验证四个活动。需求管理是因需求工程的“工程”特性而存在的,他的目的是在需求开发活动之后保证所确定的需求能够在后继的活动中有效的发挥作用,保证各种活动的开展都符合需求要求。