我通读了这本书的第一部分,这里主要讲述了需求工程的一些入门知识。通读之后,我也有所收获。
下面,我把自己对需求工程的基础的理解进行简单描述。
一、需求过程的第一步时需求获取。需求获取是从人、文档或者环境中获取需求的过程。在需求获取中,需求工程师通常需要执行以下步骤:
1、收集背景资料。
2、定义项目前景和范围。
3、选择信息的来源。
4、选择获取方法,执行获取。
5、记录获取结果。
二、第二步是需求分析,它的主要工作是通过建模来整合各种信息,从而使人们更好的理解问题。同时,需求分析工作还会为问题定义一个需求集合,这个集合能够为问题界定一个有效的解决方案。需求分析还需要检查需求需求中存在的错误、遗漏、不一致等各种缺陷,并加以修正。其主要任务为:
1、背景分析。
2、确定系统边界。
3、需求建模。
4、需求细化。
5、确定优先级。
6、需求协商。
三、下一步是需求规格说明。获取需求需要被编写成文档,而编写文档的主要目的是为了在系统涉众之间交流需求信息,因此编写的文档应该具有一定的质量。
然后是需求验证。为了尽量不给设计、实现、测试等后继开发活动带来不必要的影响,需求规格说明文档中定义的需求必须正确、正确地反映用户的意图。因此,需求规格说明文档至少要满足下面几个标准:
① 文档内每条需求更正确、准确地反应了用户的意图。
② 文档记录的需求集在整体具有完整性和一致性。
③ 文档的组织方式和需求的书写方式具有可读性和可修改性。
另外,需求验证阶段的主要任务包括:执行验证和问题修正。
四、需求管理。在需求开发之后,设计、测试、实现等后续的软件系统开发活动都需要围绕需求开展工作。需求的影响力贯穿于整个软件的产品生命周期,而不是单纯的需求开发阶段。所以,在需求开发结束之后,还需要有一种力量保证需求作用的持续、稳定和有效发挥,需求管理就是这样一个管理活动。
它的主要任务包括:
1、建立和维护需求基线集。
2、建立需求跟踪信息。
3、进行变更控制。
需求开发的过程包含学习和认知的过程,而学习和认知的过程是递进的,即学习一点,增加一些认知,然后在新的认知的基础上继续学习。因此需求获取和需求和分析是交织在一起的,需求工程师需要获取一些信息,随即进行分析和整理,理解、认知到一定程度后再确定要进一步获取的内容。