软工学习笔记(3)- 需求工程

什么是软件需求

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

IEEE中定义:需求
(1) 用户解决某个问题或达到某个目标所需要的条件或能力;
(2) 一个系统或系统组件为了实现某个契约、标准、规格说明或其他要遵循的文件而必须满足的条件或拥有的能力;
(3) 对(1)或(2)中所描述的条件或能力的文档化表示。

软件需求包括

  • 功能需求
  • 性能需求:考虑软件开发的技术性指标,例如:存储容量限制、执行速度、响应时间及吞吐量等。
  • 用户或人的因素:考虑用各种用户对计算机的熟练程度、需要接受的训练、用户理解等。
  • 环境需求:考虑未来软件应用的环境,包括硬件和软件。
  • 界面需求
  • 文档需求
  • 数据需求
  • 资源使用需求
  • 安全保密要求
  • 可靠性需求
  • 软件成本消耗与开发进度需求
  • 其他非功能性要求

什么是需求工程

需求工程是应用已证实有效的技术与方法开展需求分析,确定客户需求、帮助分析人员理解问题、评估可行性、协商合理的解决方案、无歧义地规约方案、确认规约以及将规约转换到可运行的系统时的管理需求。

软件工程六个阶段

软工学习笔记(3)- 需求工程_第1张图片

需求获取方法与策略

  • 建立顺畅的通信途径
  • 访谈与调查
  • 观察用户操作流程
  • 组成联合小组
  • 用况(Use Case)


    软工学习笔记(3)- 需求工程_第2张图片

    创建用况模型的主要步骤如下:

  • 确定谁会直接使用该系统,即参与者(Actor)
  • 选取其中一个参与者
  • 定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况
  • 对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程
  • 描述该用况的基本过程

常用的需求分析方法

  • 面向数据流的结构化分析方法 (SA)
  • 面向数据结构的分析方法
  • 面向对象的分析方法 (OOA)

需求规约与验证

软件需求规约是分析任务的最终产物。

检验标准描述检验系统成功的标志,检验标准是“确认测试”的基础。

需求管理

需求跟踪有两种方式,正向跟踪与逆向跟踪

  • 正向跟踪:以用户需求为切入点,检查《需求规约》中的每个需求是否都能在后继工作产品中找到对应点
  • 逆向跟踪:检查设计文档、代码、测试用况等工作产品是否都能在《需求规约》中找到出处


    软工学习笔记(3)- 需求工程_第3张图片

你可能感兴趣的:(软工学习笔记(3)- 需求工程)