【软工】软件需求分析

任务

  1. 深入描述软件功能和性能。
  2. 确定接口细节。
  3. 定义软件的其他有效性需求。

指导性原则

  1. 在开始建立分析模型前先理解问题。
  2. 开发原型时的用户能了解将如何发生人机交互。
  3. 记录每个需求的起源及原因。
  4. 使用多个需求视图 数据视图。
  5. 给需求赋予优先级。
  6. 努力删除含糊性。

需求分析过程

  1. 问题识别
    确定需求,提出需求实现条件及标准,建立通信途径。
  2. 分析和综合
    对数据进行分析,借助各种图形。
    常见的分析方法有:
    面向数据流的结构化分析方法
    面向数据结构的分析方法
    面向对象的分析方法
    结构化数据系统开发方法
  3. 编制此阶段文档
    此阶段要完成软件需求说明书,数据要求说明书,初步的用户手册,完善软件开发实施计划。
  4. 需求分析评审
    文档完成之后,需要提交评审,查看目标是否一致,文档是否齐全,描述物是否清晰完整等。
    【软工】软件需求分析

方法

结构化分析方法

面向数据流进行需求分析,适用于数据处理类型软件的需求分析
分析过程是自顶向下。

数据流图

主要图形元素
【软工】软件需求分析
数据流与数据加工之间的关系:
【软工】软件需求分析

数据流图的层次结构:
自顶向下,逐层分解
【软工】软件需求分析

检查和修改数据流图的原则:

  1. 只现于四种基本图形元素
  2. 包含四种基本图形元素,缺一不可
  3. 至少有一个输入输出
  4. 按照数据流层给编号
  5. 父图与子图要对应,一输入一输出平衡

数据字典

配合数据流图来使用,数据字典是词条的描述及定义,用来写加工逻辑说明的工具。
常见的形式:
结构化英语
判定表
判定树

常用的动态分析方法

状态迁移图

描述系统状态响应外部信息进行推移的图形表示。
表示:
圆圈表示可得到的系统状态。
箭头表示从一种状态到另一种状态的迁移。
优点:
可以直观获取状态间的关系。
可以机械分析许多种情况,很容易建立分析工具。

时序图

Petri图

Petri图适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
两种结点:
【软工】软件需求分析
标记:
表明系统当前处于什么状态的标志。
【软工】软件需求分析

原型化方法

分类:
探索型,实验型,进化型
使用策略:
废弃策略,追加策略
原型开发模型:
【软工】软件需求分析

需求规格说明书

  1. 引言
    1.1编写目的
    1.2背景
    1.3定义
    1.4参考资料
  2. 任务概述
    2.1目标
    2.2用户的特点
    2.3假定和约束
  3. 需求规定
    3.1对功能的规定
    3.2对性能的规定
    3.2.1精度
    3.2.2时间特性要求
    3.2.3灵活性
    3.3输人输出要求
    3.4数据管理能力要求
    3.5故障处理要求
    3.6其他专门要求
  4. 运行环境规定
    4.1设备
    4.2支持软件
    4.3接口
    4.4控制

感谢阅读~