
第3章需求分析
第3章 需求分析

学习目标了解需求分析的目的与意义;熟悉需求分析的任务与步骤;熟悉获取需求的常用方法掌握结构化分析方法和需求描述的图形工具;了解需求管理和需求验证的基本内容;能够承担一般复杂度的软件需求分析任务,撰写软件规格说明书并进行基本的需求验证
l 了解需求分析的目的与意义; l 熟悉需求分析的任务与步骤; l 熟悉获取需求的常用方法; l 掌握结构化分析方法和需求描述的图形工具; l 了解需求管理和需求验证的基本内容; l 能够承担一般复杂度的软件需求分析任务,撰写软件规 格说明书并进行基本的需求验证。 学习目标

目录01需求分析的任务02需求分析的步骤03结构化需求分析方法04需求分析的图形工具05需求验证与管理本章小结06
目录 01 02 04 需求分析的任务 需求分析的步骤 结构化需求分析方法 需求分析的图形工具 03 05 06 需求验证与管理 本章小结

需求分析的任务01
需求分析的任务 01

需求分析的意义软件开发实质上是围绕用户需求的软件实现,对用户需求的深入理解和准确描述是软件开发获得成功的关键,模糊、残缺、变化的需求描述是导致软件开发和维护各种问题的主要根源。在分析和统计以往开发失败的软件工程项目的原因的过程中发现,因为需求不完整而导致失败的项目占13.1%,缺少用户参与导致项目失败的占12.4%,需求和需求规格说明书更改的占8.7%,可见需求分析完成的质量直接影响后续软件开发的质量
需求分析的意义 软件开发实质上是围绕用户需求的软件实现,对 用户需求的深入理解和准确描述是软件开发获得成功 的关键,模糊、残缺、变化的需求描述是导致软件开 发和维护各种问题的主要根源。在分析和统计以往开 发失败的软件工程项目的原因的过程中发现,因为需 求不完整而导致失败的项目占13.1%,缺少用户参与 导致项目失败的占12.4%,需求和需求规格说明书更 改的占8.7%,可见需求分析完成的质量直接影响后续 软件开发的质量

需求分析的目标软件按照软件生存周期的划分,需求分析阶段位于软件定义时期的最后一个阶段。在需求分析阶段,软件组织经过可行性研究阶段对软件项目大大压缩简化了的系统分析和设计工作,已经对待开发的软件系统有了初步的了解,为了进入实质性的开发阶段,需求分析的任务还不是确定软件系统怎样实现它所应该完成的工作,而仅仅是确定软件系统必须完成哪些工作才能满足用户对软件的需要,也就是需要确定软件应该“做什么”,而不是确定软件“怎么做”。为此,需对待开发系统的各项功能、性能以及可靠性、安全性、可操作性等质量指标进行进一步的具体化、明确化
需求分析的目标 软件按照软件生存周期的划分,需求分析阶段位于软件 定义时期的最后一个阶段。在需求分析阶段,软件组织经过可 行性研究阶段对软件项目大大压缩简化了的系统分析和设计工 作,已经对待开发的软件系统有了初步的了解,为了进入实质 性的开发阶段,需求分析的任务还不是确定软件系统怎样实现 它所应该完成的工作,而仅仅是确定软件系统必须完成哪些工 作才能满足用户对软件的需要,也就是需要确定软件应该“做 什么” ,而不是确定软件“怎么做” 。为此,需对待开发系统 的各项功能、性能以及可靠性、安全性、可操作性等质量指标 进行进一步的具体化、明确化

需求分析的特征软件项目最困难、最艰巨的工作是弄清楚开发什么,因为,任何需求否都来源于用户,而在实际软件项目中,开发方往往面对的是用户也不知道或描述不清楚、不完全他的需求到底是什么的局面,同时,软件组织可能需要面对各个领域应用开发,而需要沟通的用户特征也于差万别,这又使得获取需求、理解需求进一步复杂化,与用户知识背景的鸿沟必然造成双方交互、沟通的障碍,难以提取出完整、准确、清晰的用户需求
需求分析的特征 软件项目最困难、最艰巨的工作是弄清楚开发什么 ,因为,任何需求否都来源于用户,而在实际软件项目 中,开发方往往面对的是用户也不知道或描述不清楚、 不完全他的需求到底是什么的局面,同时,软件组织可 能需要面对各个领域应用开发,而需要沟通的用户特征 也千差万别,这又使得获取需求、理解需求进一步复杂 化,与用户知识背景的鸿沟必然造成双方交互、沟通的 障碍,难以提取出完整、准确、清晰的用户需求

需求分析的特征因此,需求分析过程必须采取行之有效的沟通技术,集中精力的细致工作,而且必须对需求分析的结果进行严格审查和验证。需求分析的另外一个特点是,在不同软件阶段修复由于需求分析阶段引发的问题所带来的成本将大幅度上升
需求分析的特征 因此,需求分析过程必须采取行之有效的沟通 技术,集中精力的细致工作,而且必须对需求分析 的结果进行严格审查和验证。需求分析的另外一个 特点是,在不同软件阶段修复由于需求分析阶段引 发的问题所带来的成本将大幅度上升

需求分析的特征软件需求分析的最终阶段性结果是软件需求规格说明书,该报告必须遵守如下准则(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型;(2)必须定义软件应该完成的功能,要求建立功能模型(3)必须描述作为外部事件结果的软件行为,要求建立行为模型;(4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节
需求分析的特征 软件需求分析的最终阶段性结果是软件需求规格说明 书,该报告必须遵守如下准则。 (1)必须理解并描述问题的信息域,根据这条准则应该建 立数据模型; (2)必须定义软件应该完成的功能,要求建立功能模型; (3)必须描述作为外部事件结果的软件行为,要求建立行 为模型; (4)必须对描述信息、功能和行为的模型进行分解,用层 次的方式展示细节

需求分析的特征对于单一需求,必须具有如下五个基本性质(1)必要的,即该需求是用户所要求的;(2)无歧义的,即该需求只能用一种方式解释;(3)可测的,即该需求是可进行测试的;(4)可跟踪的,即该需求可从一个开发阶段跟踪到另一个阶段;(5)可测量的,即该需求是可以量化的
需求分析的特征 对于单一需求,必须具有如下五个基本性质。 (1)必要的,即该需求是用户所要求的; (2)无歧义的,即该需求只能用一种方式解释; (3)可测的,即该需求是可进行测试的; (4)可跟踪的,即该需求可从一个开发阶段跟踪到 另一个阶段; (5)可测量的,即该需求是可以量化的