需求工程-概述

瘦欲@ 提交于 2019-12-05 00:41:49

需求工程

什么是需求分析?

1.软件工程的子领域
2.对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程

需求工程的重要性和意义

1.没有需求就没有软件
2.项目失败原因中,最突出两大原因,缺乏最终用户的参与以及完整的需求又是两大首要原因

需求工程困难性

  1. 应用领域的广泛性
  2. 非功能性需求建模技术的缺乏
  3. 沟通上的困难

需求分类

功能需求
对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要申明系统不应该做什么。

领域需求
是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束。

需求分析的作用

  • 定义软件的范围及必须满足的约束
  • 确定软件的功能和性能及与其他系统成分的接口
  • 建立数据模型、功能模型和行为模型
  • 最终提供需求规格说明,并用于作为评估软件质量的依据

需求分析基本活动

  • 获取需求:深入实际,在充分理解用户需求的基础上,获取系统需求
  • 需求分析与建模:进行需求建模、对模型或原型进行分析
  • 确认需求:确保需求说明准确、完整地表达系统的主要特性
  • 进化需求:客户的需要总是不断(连续)增长的,进化需求是必要的

需求获取的要弄清的三个问题

  • 明确需要获取的信息(What )
  • 明确所获取信息的来源和渠道(Where )
  • 怎样获取需求(How )

需求获取方法

1.面谈法
2.问卷调查
3.需求专题讨论会
4.观察用户的工作流
5.原型化的方法
6.基于用例的方法

需求分析常用技术

  1. 分解 将大问题分解为小问题,通常是自顶而下,不断细化的过程
  2. 抽象 抓住问题的本质特性,从不同抽象层次进行分析,提出解决问题的方案
  3. 多视点 注意从各类开发人员和不同用户的角度考虑问题,才能获得对系统的全面完整的需求
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!