第3章需求分析 31需求分析的任务 32与用户沟通获取需求的方法 33分析建模与规格说明 34实体联系图(?) 35数据规范化(?) 36状态转换图+有穷状态机 3.7其他图形工具 38验证软件需求 39小结
第3章 需求分析 3.1 需求分析的任务 3.2 与用户沟通获取需求的方法 3.3 分析建模与规格说明 3.4 实体-联系图 (?) 3.5 数据规范化(?) 3.6 状态转换图+有穷状态机 3.7 其他图形工具 3.8 验证软件需求 3.9 小结
需求分析的意义 软件需求的深入理解是软件开发工作获得成 功的前提条件,不论我们把设计和编码做得如何 出色,不能真正满足用户需求的程序只会令用户 失望,给开发带来烦恼
需求分析的意义 软件需求的深入理解是软件开发工作获得成 功的前提条件,不论我们把设计和编码做得如何 出色,不能真正满足用户需求的程序只会令用户 失望,给开发带来烦恼
需求分析是软件定义时期的最后一个阶段, 它的基本任务不是确定系统怎样完成它的工作, 而是确定系统必须完成哪些工作,也就是对目标 系统提出完整、准确、清晰、具体的要求。 在需求分析阶段结束之前,由系统分析员写 出软件需求规格说明书,以书面形式准确地描述 软件需求。即: 准确地回答“系统必须做什么?
需求分析是软件定义时期的最后一个阶段, 它的基本任务不是确定系统怎样完成它的工作, 而是确定系统必须完成哪些工作,也就是对目标 系统提出完整、准确、清晰、具体的要求。 在需求分析阶段结束之前,由系统分析员写 出软件需求规格说明书,以书面形式准确地描述 软件需求。即: ---- 准确地回答“系统必须做什么?
管理人员 软件开发小组 ∏用户 分析人员 软件计划 软件需求规格说明 原型 在分析软件需求和书写软件需求规格说明书的过程中, 分析员和用户都起着关键的、必不可少的作用
在分析软件需求和书写软件需求规格说明书的过程中, 分析员和用户都起着关键的、必不可少的作用
软件需求的组成 业务需求 项目范 围文档 用户需求 质量属性)非功能需求 其他非功 文档 能需求 设计约束 系统需求 功能需求 需求规约 (specification 需求组成的全景图
业务需求 项目范 围文档 用户需求 文档 功能需求 质量属性 其他非功 能需求 设计约束 需求规约 (specification) 非功能需求 系统需求 需求组成的全景图 软件需求的组成
其中: ·业务需求:反映组织机构和客户对系统、产品高层次 的目标要求。 用户需求:从用户使用的角度给出需求的描述。 如一个小型超市需要一个商品的查询系统。 业务需求:进货人员需要查询商品库存以便保证及 时进货;收款员需要查询商品的销售价格以便结账 经理需要查询商品的销售及盈利情况 用户需求这三类用户怎样去查询系统,查询哪些 信息,还需要哪些操作
其中: • 业务需求:反映组织机构和客户对系统、产品高层次 的目标要求。 • 用户需求:从用户使用的角度给出需求的描述。 如一个小型超市需要一个商品的查询系统。 业务需求:进货人员需要查询商品库存以便保证及 时进货;收款员需要查询商品的销售价格以便结账; 经理需要查询商品的销售及盈利情况。 用户需求:这三类用户怎样去查询系统,查询哪些 信息,还需要哪些操作
·系统需求:从系统的角度描述要提供的服务以及所受到的约 束。即系统对外必须提供的服务和达到的要求。 功能性需求:描述系统应该做什么,即为用户和其它系统完 成的功能、提供的服务。 非功能性需求:产品必须具备的属性或品质,如性能、可靠 性等等。 ·设计约束:设计与实现必须遵循的标准、约束条件。如运行 平台、协议、选择的技术、编程语言和工具等 软件需求的描述 结构化语言、PDL 图形化表示 数学描述(形式化语言描述)
• 系统需求:从系统的角度描述要提供的服务以及所受到的约 束。即系统对外必须提供的服务和达到的要求。 • 功能性需求:描述系统应该做什么,即为用户和其它系统完 成的功能、提供的服务。 • 非功能性需求:产品必须具备的属性或品质,如性能、可靠 性等等。 • 设计约束:设计与实现必须遵循的标准、约束条件。如运行 平台、协议、选择的技术、编程语言和工具等。 软件需求的描述 • 结构化语言、PDL • 图形化表示 • 数学描述(形式化语言描述)
3.1需求分析的具体任务 1确定对系统的综合要求 -功能需求、性能需求、可靠性和可用性 需求、出错处理需求、接口需求、约束、 逆向需求、将来可能提出的要求。 2分析系统的数据要求 3导出系统的逻辑模型 4修正系统开发计划
1 确定对系统的综合要求 ---功能需求、性能需求、可靠性和可用性 需求、出错处理需求、接口需求、约束、 逆向需求、将来可能提出的要求。 3.1 需求分析的具体任务 2 分析系统的数据要求 3 导出系统的逻辑模型 4 修正系统开发计划
软件需求获取 需求分析是一个包括创建和维持系统需求文档所必需的 切活动的过程。它包含了如下活动: 需求获取和分析、需求描述和文档编写、需求有效性验 证、需求管理(管理需求工程的变更)。 需求管理 需求获取 和分析 需求描述 需求有效 系统模型 用户需求和系 性验证 统需求 需求规约 软件需求过程
软件需求获取 需求分析是一个包括创建和维持系统需求文档所必需的 一切活动的过程。它包含了如下活动: 需求获取和分析、需求描述和文档编写、需求有效性验 证、需求管理(管理需求工程的变更)。 需求获取 和分析 需求描述 需求有效 性验证 系统模型 用户需求和系 统需求 需求规约 软件需求过程 需求管理
>需求获取是开发人员与客户或用户一起对应用领域 进行调查研究,收集系统需求的过程。 需求分析是将获取到的需求准确的理解、求精,并 将其转化为完整的需求定义(包括建模),进而生 成需求规约的过程。 >需求获取和分析有一定的难度,因为: )项目相关人员通常并不真正知道希望计算机 做什么,让他们清晰的表达出需要系统做什么是件 困难的事,他们或许提出不切实际的要求
➢ 需求获取是开发人员与客户或用户一起对应用领域 进行调查研究,收集系统需求的过程。 ➢ 需求分析是将获取到的需求准确的理解、求精,并 将其转化为完整的需求定义(包括建模),进而生 成需求规约的过程。 ➢ 需求获取和分析有一定的难度,因为: 1)项目相关人员通常并不真正知道希望计算机 做什么,让他们清晰的表达出需要系统做什么是件 困难的事,他们或许提出不切实际的要求