标签:
第4章 需求工程
软件需求是决定软件开发是否成功的一个关键因素。
一、软件工程
需求的概念涵盖用户角度(系统的外部行为)和开发人员角度(系统的内部特征),关键在于需求一定要文档化。
软件需求划分:业务需求、用户需求、系统需求、功能需求和非功能需求等类型。
功能需求描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。
非功能需求是从各个角度对系统的约束和限制,反映了应用对系统质量和特性的额外要求。
系统需求是更加详细地描述系统应该做什么,通常包括很多分析模型。系统需求模型的描述方法:结构化英语、可视化模型、形式化方法。
二、需求工程过程
获取需求:聆听用户的需求、分析和整理所获取的信息和形成文档化的描述。
需求分析:定义系统的边界、建立软件原型、分析需求可行性、确定需求优先级、建立需求分析模型、创建数据字典。
主流分析建模方法:传统的结构化分析方法、当今流行的面向对象分析方法。
软件需求规格说明是需求开发的结果,它精确地阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件。
需求验证是为了确定需求说明准确、完整地表达必要的质量特点。
需求验证主要围绕需求规格说明的质量特性展开。质量特性:正确性、无二义性 、完整性、可验证性、一致性、可修改性和可跟踪性等。
在软件过程能力成熟度模型中,需求管理作为CMM二级所应达到的目标能力之一,其目的在于为软件需求建立一个基线供软件工程和管理使用,并使软件计划、产品和活动与其保持一致。
需求管理的任务是分析变更影响并控制变更过程,主要包括变更控制、版本控制和需求跟踪等活动。
三、需求获取技术
常见的需求获取技术包括面谈和问卷调查、需求专题讨论会、观察用户工作流程、基于用例的方法、原型化方法等,而选择这种技术需要根据应用类型、开发团队技能、用户性质等因素来决定。
标签:
原文地址:http://www.cnblogs.com/little-clever/p/4298856.html