需求规格说明活动就是将需求极其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。编写需求规格说明文档:清晰明确结构化的文档可以将软件系统的需求信息和解决方案更好的传递给所有的开发者;可以拓展人们的知识记忆能力;可以成为各方人员之间有关软件系统的协议基准;可以成为项目开发活动的一个重要依据;可以尽早发现和减少可能的需求错误,从而减少项目的返工,降低项目的工作量;可以成为有效的智力资产。需求规格说明文档的类型不同表现在,名称,内容,组织方式,表达方式,用途和作用,使用的辅助性。需求规格说明文档的写作需要注意:内容的组织,表达方式,细节描述。优秀的需求规格说明文档应该具备正确性,无歧义,完备性,一致性,根据重要性和稳定性分级,可验证,可修改,可跟踪。
(1)需求验证确保需求集是正确,完备和一致的,技术上是可解决的,它们在现实世界中的满足是可行和可验证的。方法有需求评审,原型与模拟,开发测试用例,用户手册编制,利用跟踪关系,自动化分析。(2)需求确认的目的是确保需求的内容正确性。(3)系统验证:正确地建立系统,确保系统能够在预期的环境中正确地执行设定的功能。(4)系统确认:建立的系统是正确的。问题修正有需求澄清,发现缺失需求,解决需求冲突,修正不切实际的期望的几种。
需求基线就是被明确和固定的需求集合,内容包括软件需求自身和软件需求相关的描述信息。基线的维护包括配置管理和状态维护两个方面。还有需求跟踪,控制变更等模块
需求工程的过程管理:需求工程过程需要依赖的环境因素有市场特性,领域特性,技术成熟度,组织文化,项目特性等。需求工程过程的建立包括建立过程框架和选择工作组件两个步骤。需求工程过程需要专门特定的评价标准和改进方法。评价可以参照REGPG的66个实践。改进的实施步骤有评价当前过程,计划改进活动,培训参与人员,实现新过程,度量新过程,确定下一步行动等六个步骤。过程改进中需要注意以下事项:将需求工程过程放在软件过程的背景下实施改进,改进的实施要建立在现有过程的评价之上,过程的改进要针对目标,过程的改进要有计划,过程的改进应该是渐进和持续的。
关于项目的含义对编程系统产品的论述给出很好的启发,区分了下面几个概念:程序、编程产品、编程系统、编程系统产品。需求工程中的项目管理活动包括资源管理、活动管理和交付物件管理。资源支持主要有一定数量技能良好的可用人员;可行的时间限制和充足的资金支持;可用的系统运行环境、软件工具、道具、文档模板、可复用资源等其他资源支持。维持需求团队内部的有效共同应该建立一致的目标,建立有效的共同机制,利用有效的沟通技巧,利用辅助的工具和技术等。需求风险管理就是管理风险的活动,关注软件开发活动和任务的风险和不确定性,并采取行动减少其中的不确定性或者降低风险的影响范围。过程包括风险识别,风险分析,制定风险管理计划,风险跟踪,风险控制等几个方面。