需求:计算机能做的事及品质。或系统必须完成的事与必备的品质。
分为:1)功能需求 2)非功能需求(性能、可靠性、安全、扩展性、可伸缩性) 3)设计约束(环境)
层次:1)业务需求(问题的定义,与计算机无关) 2)用户需求(人、客户的角度分析) 3)系统需求(开发人员的角度)
失败原因: 1)不完整的需求 2)没有用户的介入 3)不实际的客户期望 4)需求与规范的变更 5)提供了不在需要的功能
需求工程:
基线管理:设置需求优先级,先进行高优先级的需求开发,忽略需求变化。避免频繁变更导致的开发工作难以为继。 变更管理:需求变更工作。响应需求的变化,重新计划以良好的解决问题。 需求跟踪:需求是否已经实现,需求的变更会对那些元素产生影响。
需求开发活动:
明确用