第三章:需求分析
一、软件需求分析的任务和过程
1、任务:
(1)深入描述软件的功能和性能。
(2)确定软件设计的约束和软件同其他系统元素的接口细节。
(3)定义软件的其他有效性需求。
2、过程:
(1)问题的识别
(2)分析与综合
(3)编制需求分析阶段的文档。
a、软件需求说明书
b、数据要求说明书
c、初步的用户手册
d、修改、完善与确定软件开发实施计划
(4)需求分许评审
二、结构化分析方法
使用抽象的方法,自顶向下,逐层分解。
1、数据流图。
数据流图与加工之间的关系:
每个加工处理至少有一个输入和一个输出。* 号表示与的关系。
2、数据字典:
3、用于书写加工逻辑说明的工具:
a、结构化英语(用英语的关键字)
基本的控制结构有三种:简单陈述句结构(顺序结构)、重复结构、判定结构。
b、判定表(如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表)
优点:适合多个逻辑条件的组合。不足:不能表示不确定的组合和重复的描述。
c、判定树
可以省去不必要的条件组合。
好处:形式比较简单,看起来比较直观。缺点:条件多余两个,简洁度下降,简洁度不如判定表。
三、原型化方法
1、软件原型的分类:
探索型:丛原型中探索需要的数据,了解需求是否全面
实验型:解决数据,取得数据
进化型:以目标系统为核心,不断改进系统。
2、 原型使用的策略:
废弃策略:在目标系统的基础的上修改 和补充系统的不足。
追加策略:在第一次是用的基础上,在使用过程中不断修改。
原型开发的模型:
四、动态分析方法
1、常用的动态分析方法:
状态迁移图:描述体统的状态如何相应外部的信号进行推移的一种图形表示、
时序图:
petri图: 广泛应用于硬件和软件系统,适用于描述与分析相互独立,协同操作的处理系统。 主要解决同步的现象。
五、需求规格说明书:
1、引言
1.1编写目的
1.2项目背景
1.3定义
1.4参考资料
2、任务概述
2.1目标
2.2运行环境
2.3条件与限制
3、数据描述
3.1静态数据
3.2动态数据
3.3数据库介绍
3.4数据词典
3.5数据采集
4、功能需求
4.1功能划分
4.2功能描述
5、性能需求
5.1数据精确度
5.2时间特性
5.3适应性
6、运行需求
6.1用户界面
6.2硬件接口
6.3软件接口
6.4故障处理
7、其他需求
总结:
需求分析是软件定义拾起的最后一个阶段,准确的回答:系统必须做什么。
需求分析任务:描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。