需求的获取与结构化分析


一、软件需求及获取方法

1、概念

  • 软件需求
    (1)用户解决问题或达到目标所需条件或能力(Capability)
    (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。
    (3)一种反映上面(1)或(2)所述条件或能力的文档说明
    包括功能需求和质量需求(非功能需求)
  • 功能需求(Functional Requirement)
    软件系统必须具备的功能特征
  • 质量需求(Quality Requirement)
    软件系统必须拥有的质量特性

在这里插入图片描述

2、需求获取方法(P36-P38)

  • 用户访谈
    调查表
    情景分析
  • 原型法
  • 做用户的学徒等

3、原型法

  • 软件原型
    是软件系统的具体表示,可被用于需求分析、软件设计阶段
  • 包含四个方面内容
    • 原型的表现形式
      原型以什么样的形式展示出来
    • 保真度
      原型的详细程度
    • 交互性
      用户如何与原型交互
    • 生命周期
      原型被使用的周期长短
  • 常使用的技术
    • 第四代技术(4GT)
      软件工程师能够快速地生成可执行的代码
    • 可重用的软件构件
      使用一组已有的软件构件(或称为组件)来装配原型
    • 形式化规格说明
      使得分析员能够交互地创建基于语言的规格说明
      调用自动工具把基于语言的规格说明翻译成可执行的代码
  • 需求不一致
  • 解决方法
    • 优先级方法
      绝对要满足的需求(必须的)
      非常重要但并非必须的需求(值得要的)
      可要可不要的需求(可选的)
    • 商谈
      理解和重视冲突双方的基本需求
      基本需求需要达成一致

二、需求分析

1、概念

发现、精细化、建模、规格说明和复审软件需求的过程

  • 常用的方法
    • 结构化分析(Structured Analysis,SA)
      使用图形化工具分析和定义软件对象的系统方法
      将系统概念转换为数据和处理的表示
    • 面向对象分析(Object Oriented Analysis,OOA)
      运用面向对象方法,对问题域和系统责任进行分析和理解,找出描述问题域及系统责任所需的对象,定义对象的属性、操作以及它们之间的关系

2、结构化分析(P39-P62)

  • 数据流(Data Flow)分析
    • 用于描述系统数据对象的生成、处理、转换、存储和流向

    • 包括
      数据源点/终点:软件的数据来源或去往的终点
      数据流向:数据流动的方向
      数据处理:对数据进行的变换或加工
      数据存储:数据存放的形式或信息库

    • 使用数据流图(Data Flow Diagram)进行可视化建模

  • 数据流分析
    • 数据流图
      使用图像化符号可视化目标软件的数据源/数据终点、数据流向、数据加工/处理、数据存储
      在这里插入图片描述

组成元素

数据源/数据终点
数据流向
数据加工/处理
数据存储

  • 数据流建模步骤

创建顶层数据流图(Context DFD or Level 0 DFD)
分解顶层数据流图中的数据处理,创建1层数据流图(Level 1 DFD)
分解1层数据流图中的数据处理,创建2层数据流图(Level 2 DFD)
继续分解,直到能够展现出全部详细数据流信息为止
优化和验证数据流图

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangkay88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值