软件需求分析——阅读笔记6
读《需求工程——软甲建模与分析》 第五部分 需求管理与工程管理有感
在需求开发活动之后,需求基线应该成为后序软件系统开发的工作基础和粘合剂。需求管理在需求开发之后的产品生命周期中保证需求作用的有效发挥。作为需求开发的结果,最终的需求应该被明确和固定,需求基线就是被明确和固定的需求集合,是项目团队需要在,某一特定产品版本中实现的特征和需求集合。需求基线是需求开发过程中的成果总结,他需要在后续的产品生命周期中持续发挥作用。因此,需求基线要以一种持续、恒定和易于项目涉众访问的方式存在,通常的做法是将需求基线编写成正式的文档,纳入配置管理。
重要的需求描述信息包括:标识符、当前版本号、源头、理由、优先级、状态、成本、工作量、风险、可变性等。需求描述信息的收集、存储和维护是一个繁琐的工作,所以在必要的情况下,可以使用专门的需求管理工具作为辅助手段。
将需求基线纳入配置管理,它的主要工作有:标识配置项、版本控制、变更控制、访问审计、状态报告。
需求基线是需求开发阶段之后各种项目工作的基础,他也能很好地反映各种项目工作的进展状况,进而反映整个项目的实际进展状况。
需求跟踪是以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力。它分为前向跟踪和后向跟踪。需求跟踪的实现是一个需要进行大量手工劳动任务,需要组织提供支持。在系统开发和维护的过程中,一定要随时更新这些联系链信息,如果信息已经过时,就可能再也无法重建这些信息了。
在实际工作中,需求跟踪实现的具体内容是依赖于项目的跟踪策略的。不同的项目有不同的策略需要,会实现不同的需求跟踪联系。将项目的跟踪策略分为三个不同的层次。最低的层次上,需求跟踪仅仅捕获产品内容各个系统组件之间的依赖、满足和实现关系。在一个更高的层次上,还要捕获各个组件之间的联系,还要捕获各个组件的工作背景。除了产品本身所包含的各种联系之外,项目的组织过程也应该是需求跟踪内容的一个部分。实现了工作背景和过程背景捕获的需求跟踪是闲着被称为高端用户。
需求跟踪的实现方法主要有矩阵、实体联系模型和交叉引用三种。
在需求跟踪的各种联系中,有一种特殊的跟踪依赖——需求依赖。大多数的需求并不是完全独立的,它们在一种复杂的机制中互相影响,这就是需求依赖。需求开发是一个获取、明确并定义的需求过程,但需求并不是在需求开发结束之后就会恒定不变的。需求的变更时正当和不可避免的,在需求开发之后冻结需求是不恰当的做法。正确的做法是在形成需求基线之后,进行需求的变更控制。
变更控制中的注意事项:(1)认识到变更的必要性,并为之制定计划。(2)维护需求基线,审计变更记录。(3)管理范围蔓延。(4)灵活应对变更请求。(5)使用辅助工具。
需求的不稳定性和对实践的调查和研究中一再被发现和关注。认为对需求变化的有效处理是项目成功的关键因素。将“需求变化”和“糟糕的项目计划”并列为导致项目失败的两个主要因素。
需求工程需要依赖的环境因素有:市场特性、领域特性、技术成熟度、组织文化、项目特性。
建立需求工程过程包括两个步骤:(1)建立过程框架,建立需求工程的高层结构,说明过程中应该包括哪些工作部分以及怎样建立它们之间的协作和联系。(2)选择工作组件,为过程框架下的每一个过程工作部分选择实现的时间方法,明确需要的工具支持和资源支持。
软件项目的目的就是保证所有重要的工作都能得到应有的关注,都能顺利有序的完成,以最终产生高质量的软件产品。