软件设计师考试|软件设计师考试 | 第五章 软件工程基础知识 | 需求分析

(一)软件需求 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
需求包括:

  • 功能需求
  • 性能需求
  • 用户或人的因素
  • 环境需求
  • 界面需求
  • 文档需求
  • 数据需求
  • 资源使用需求
  • 安全保密需求
  • 可靠性需求
  • 软件成本消耗
  • 开发进度需求
(二)需求分析原则 遵循的原则:
  • 必须能够表示和理解问题的信息域
  • 必须能够定义软件将完成的任务
  • 必须能够表示软件的行为
  • 必须划分描述数据、功能和行为的模型、从而可以分层次地揭示细节
  • 分析过程应该从要素信息移向细节信息
(三)需求工程 需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。
1.需求获取
在需求获取阶段,系统分析人员通过与用户的交流、对现有系统的观察以及对任务进行分析确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景及为更好地定义需求而开发的原型。
2.需求分析与协商
需求获取结束后,分析活动对需求进行分类组织,分析每个需求与其他需求的关系,以检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。
3.系统建模
常用的分析和建模方法有面向数据流方法、面向数据结构方法和面向对象方法。
常用的分析方法有:
  • 面向数据流的结构化分析方法(SA
  • 面向对象的分析方法(OOA
4.需求规约
软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
软件需求规约包含:
  • 引言
  • 信息描述
  • 功能描述
  • 行为描述
  • 检验标准
  • 参考书目
  • 附录
5.需求验证
目的是检验需求功能的正确性、完整性和清晰性,是否能够反映用户的意愿。
检查的内容:
  • 系统定义的目标是否与用户的要求一致
  • 系统需求分析阶段提供的文档资料是否齐全;文档中的描述是否完整、清晰、准确地反映用户要求
  • 被开发项目的数据流与数据结构是否确定且充足
  • 主要功能是否已包括在规定的软件范围之内,是否都已充分说明
  • 设计的约束条件或限制条件是否符合实际
  • 开发的技术风险是什么
  • 是否详细地制定了检验标准,它们能否对系统定义进行确认
6.需求管理
【软件设计师考试|软件设计师考试 | 第五章 软件工程基础知识 | 需求分析】软件需求管理是一组用于帮助项目组进展中的任何时候去标识、控制和跟踪需求的活动,对需求工程所有相关活动的规划和控制。

    推荐阅读