05-软件的需求分析

nobility 发布于 2020-10-28 741 次阅读


软件的需求分析

对系统描述=>构建分析模型=>构建设计模型

概述

  • 起始:客户和开发人员初步的交流和合作
  • 导出:范围问题、理解问题、易变问题
  • 精化:形成分析模型,信息域、功能域、行为域
  • 协商:需求工程师通过协商调解冲突
  • 规格说明:描述功能和性能,以及系统开发约束
  • 确认:正式的技术评审机制
  • 管理:在项目迚展中标示、控制和跟踪需求以及变更。

功能和非功能需求

  • 功能需求:对外提供的服务,为人们能做些什么
  • 非功能需求
    • 过程需求:交付方式、实现方式、验收标准
    • 产品需求:性能、可移植性、安全性、存储空间
    • 外部需求 :互操作性、道德、法律、成本

需求的描述

要求

  • 无二义性:使用自然语言描述避免二义性

  • 完整性:不遗漏需求

  • 正确性:正确的反应用户需求

  • 可行性:技术、经济、操作可行性

  • 必要性:不自作主张添加需求

  • 可验证性:对非功能性的度量

    划分优先级:对所有需求进行排序,制定执行计划

方法

  • 自然语言
  • 图形化符号
    • 数据流图
    • UML语言
    • 实体关系图
  • 数学描述

需求分析方法

域分析:对领域知识进行分析,构建域分析模型

结构化分析方法(SA)

  • 数据流图(DFD图):功能建模
    • 包括
      • 外部项
      • 加工
      • 数据存储
      • 数据流
    • 分为
      • 关联图(系统边界)
      • =>TOP图(系统与外部实体的交互)
      • =>第一层图(细化数据输入输出关系)
    • 数据字典
      • 外部项的定义描述
      • 加工的定义描述:策略树(面向编程)、策略表方式(面向测试,因果图)
      • 数据存储的定义描述
      • 数据流的定义描述
      • 数据元素的定义描述
  • 业务流图(TFD图):业务处理过程
  • 实体关系图(ER图):数据建模
  • 状态迁移图:行为建模

面向对象方法(OO方法)

此作者没有提供个人介绍
最后更新于 2020-10-28