软件工程导论-第三章 需求工程

软件需求

需求

需求的特点

多样性:功能性需求,性能需求,环境需求,界面需求,文档需求,数据需求等
变化的:不变是不可能的,变化是必然的,如何去应对这种变化
需求是需要挖掘的
因此需求需要:可验证、优先级、可量化、折中

需求的重要性

  • 需求是产品的根源。
  • 需求工作的优劣对产品影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了
  • 如果只有一些零碎的对话、资料或邮件,你就以为自己已经掌握了需求,那是自欺欺人,必须经过分析,确认才是软件需求

需求工程的定义

  • 需求工程是系统工程及软件工程的重要分支的解决方案

工程的定义

  • 自然科学是揭示自然界的本质和现象的科学
  • “工程”则可以诠释为“人工”(artificial)的科学,或设计的,制造的科学
  • 工程就是运用科学知识,对现实问题提供性能价格比合理

需求工程的领域划分

本书将软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证以及需求管理6个阶段。
在这里插入图片描述

一、需求获取

  • 需求获取又称为需求收集,在进行需求获取前,要明确需要获取什么,即需求包含哪些内容。通常包括:
    功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求、其他非功能性需求。
  • 需求获取的参与者包括了软件分析员,开发者和客户等,涉及软件设计人员如何与客户建立有效的沟通
  • 例如,当你和客户合作时,你就会问一些问题,并且取得他们所提供的信息,这就是需求获取
  • 所有的需求获取参与者只有在他们充分地理解了问题之后,才能开始设计系统
  • 需求获取还有多种需求来源和获取需求的技术
需求获取方法
  1. 自悟、交谈、观察、小组会、提炼、综合运用
  2. 建立顺畅的通信途径
  3. 访谈与调查
  4. 观察用户操作流程
  5. 组成联合小组
  6. 用况
    在这里插入图片描述

二、需求分析与协商

  • 需求获取结束后,分析活动来对需求进行分类组织,分析每个需求与其它需求的关系,以检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序
  • 例如,获取需求后,你将处理这些信息以理解它们,并把它们分成不同的类别,还要把客户需求同可能的软件需求相联系,这就是分析
  • 在需求获取阶段,经常出现以下问题:
    • 用户提出的要求超出软件系统可以实现的范围或实现能力;
    • 不同的用户提出了相互冲突的需求
  • 系统分析人员需要通过一个谈判过程来协调这些冲突,这就是协商

三、系统建模

  • 建模工具的使用在用户和系统分析人员之间建立了统一的语言和理解的桥梁,同时系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确保需求文档正确反映用户的真实意图
  • 常用的分析和建模方法有面向数据流的结构化方法(SA)(详见第五章 结构化分析与设计、面向数据结构方法(JSP)(第六章 面向数据结构的分析与设计)和面向对象的方法(OOA)(第七章 面向对象方法基础)

四、需求规约

  • 软件需求规约是分析任务的最终产物,通过建立完整的信息描述详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求
  • 例如,需求分析和建模后,你可以使客户信息结构化,并编写成文档和示意图
  • 需求规约作为用户和开发者之间的一个协议,在之后的软件工程各 个阶段发挥重要作用

五、需求验证

  • 作为需求开发阶段工作的复查手段,需求验证对功能的正确性、完整性和清晰性,以及其它需求给予评价
  • 例如,需求规约形成文档后的下一步,就可以让客户代表评审文档并纠正存在的错误
  • 为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行

在实际的开发过程中,获取、分析、建模、编写规约和验证这些需求开发活动不会是线性地、顺序地完成。实际上,这些活动是交叉的递增的反复的

在这里插入图片描述

需求管理

  • 需求工程包括获取、分析、建模、规约、验证和管理软件需求,而“软件需求管理”则是对所有相关活动的规划和控制
  • 需求管理就是:一组用于帮助项目组在项目进展中的任何时候去标识控制跟踪需求的活动
  • 在需求管理中,每个需求被赋予唯一的标识符,并可以为需求建立跟踪表
  • 例如,特征跟踪表,记录需求如何与产品或系统特征相关联;来源跟踪表,记录每个需求的来源;依赖跟踪表,描述需求间如何关联等
  • 这些跟踪表可以用于需求跟踪,需求跟踪的目的是为了建立和维护从用户需求开始到测试之间的一致性和完整性

需求跟踪

正向跟踪
逆向跟踪


总结

需求工程的六个阶段

需求获取
需求分析与协商
系统建模
需求规约
需求验证
需求管理

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值