【软工】软件需求分析
任务
- 深入描述软件功能和性能。
- 确定接口细节。
- 定义软件的其他有效性需求。
指导性原则
- 在开始建立分析模型前先理解问题。
- 开发原型时的用户能了解将如何发生人机交互。
- 记录每个需求的起源及原因。
- 使用多个需求视图 数据视图。
- 给需求赋予优先级。
- 努力删除含糊性。
需求分析过程
- 问题识别
确定需求,提出需求实现条件及标准,建立通信途径。 - 分析和综合
对数据进行分析,借助各种图形。
常见的分析方法有:
面向数据流的结构化分析方法
面向数据结构的分析方法
面向对象的分析方法
结构化数据系统开发方法 - 编制此阶段文档
此阶段要完成软件需求说明书,数据要求说明书,初步的用户手册,完善软件开发实施计划。 - 需求分析评审
文档完成之后,需要提交评审,查看目标是否一致,文档是否齐全,描述物是否清晰完整等。
方法
结构化分析方法
面向数据流进行需求分析,适用于数据处理类型软件的需求分析
分析过程是自顶向下。
数据流图
主要图形元素
数据流与数据加工之间的关系:
数据流图的层次结构:
自顶向下,逐层分解
检查和修改数据流图的原则:
- 只现于四种基本图形元素
- 包含四种基本图形元素,缺一不可
- 至少有一个输入输出
- 按照数据流层给编号
- 父图与子图要对应,一输入一输出平衡
数据字典
配合数据流图来使用,数据字典是词条的描述及定义,用来写加工逻辑说明的工具。
常见的形式:
结构化英语
判定表
判定树
常用的动态分析方法
状态迁移图
描述系统状态响应外部信息进行推移的图形表示。
表示:
圆圈表示可得到的系统状态。
箭头表示从一种状态到另一种状态的迁移。
优点:
可以直观获取状态间的关系。
可以机械分析许多种情况,很容易建立分析工具。
时序图
Petri图
Petri图适用于描述与分析相互独立、协同操作的处理系统,也就是并发执行的处理系统。
两种结点:
标记:
表明系统当前处于什么状态的标志。
原型化方法
分类:
探索型,实验型,进化型
使用策略:
废弃策略,追加策略
原型开发模型:
需求规格说明书
- 引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料 - 任务概述
2.1目标
2.2用户的特点
2.3假定和约束 - 需求规定
3.1对功能的规定
3.2对性能的规定
3.2.1精度
3.2.2时间特性要求
3.2.3灵活性
3.3输人输出要求
3.4数据管理能力要求
3.5故障处理要求
3.6其他专门要求 - 运行环境规定
4.1设备
4.2支持软件
4.3接口
4.4控制