(软件工程)——需求分析

软件需求分析的任务

1、深入描述软件的功能和性能
2、确定软件设计的约束和软件同其他系统元素的结构细节
3、定义软件的其他有效性需求

一致性、完整性、现实性、有效性、可验证性、
在这里插入图片描述

需求分析的任务:借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。

需求分析的过程

(1)、问题识别

从系统的角度来理解软件并评审 软件范围是否前挡
确定对目标系统的综合要求,即软件的需求
提出这些需求实现条件,以及需求应达到的标准

软件的需求包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求、预先估计以后系统可能达到的目标。

问题识别的另一项工作是建立分析所需要的通信路径,以保证能顺利地对问题进行分析。

在这里插入图片描述

(2)、分析与综合

从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。
常用的分析方法:
面向数据流的结构化分析方法(SA)
面向数据结构的Jackson方法(JSD)
结构化数据系统开发方法(DSSD)
面向对象的分析方法(OOA)等

(3)、编制需求分析阶段的文档

软件需求说明书;数据需求说明书;初步的用户手册;修改、完善和确定软件开发实施计划

(4)、需求分析评审

系统定义的目标是否与用户的要求一致;
系统需求分析阶段提供的文档资料是否齐全;
文档中的所有描述是否完整、清晰、准确反映用户要求、
与所有其他系统成分的重要接口是否都已经描述

在这里插入图片描述

需求分析主要分四部:

理解当前的现实系统;从当前系统的现实模型中,抽象出当前系统的逻辑模型;分析目标系统和现有系统的区别,建立目标系统的逻辑模型;为目标系统的逻辑模型做相应的补充。

软件需求分析的原则

需要能够表达和理解问题的信息域和功能域
要能以层次化的方式对问题进行分分解和不断细化

针对需求分析的指导性原则

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

在这里插入图片描述

软件需求方法

1、需求分析方法由对软件问题的信息域和功能域的系统分析过程及其表示方法组成
2、大多数的需求分析方法是由信息驱动的

结构化分析方法

1、面向数据流进行需求分析的方法
2、结构化分析方法适合于数据处理类型软件的需求分析
在这里插入图片描述

数据流与数据加工之间的关系

在这里插入图片描述

数据流图的层次结构

为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。

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

1、数据流图上所有图形符号只限于前述四种基本图形元素
2、数据流图的主图必须包括前述四种基本元素,缺一不可
3、每个加工至少有一个输入数据流和一个输出数据流
4、在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系
5、规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。
6、图上每个元素都必须有名字
7、数据流图中不可夹带控制流
8、初画时可以忽略琐碎的细节,以集中经历于主要数据流

数据字典

数据字典与数据流图配合,能清楚地表达数据处理的要求
词条描述——对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其他,等

在这里插入图片描述

用于写加工逻辑说明的工具:结构化英语、判断表、判断树

1、结构化英语

结构化英语的词汇表由:英语命令动词、数据字典中定义的名字、有限的自定义词、逻辑关系词
是一种介于自然语言和形式化语言之间的语言
语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示
基本控制结构有三种:简单陈述句结构、重复结构、判定结构

2、判定表

如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适。
优点:描述的加工的基本说明,特别适合多个逻辑条件的加工说明。
缺点:不能表示不确定的加工处理,也不能表示重复循环的加工处理。

3、判定树

判定树也是用来表达加工逻辑的一种工具。有时候它比判定表更直观。

原型化方法

在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。
用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。

软件原型的分类:探索型、实验型、进化型。
在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特征。

原型使用的策略:废弃策略、追加策略

原型优点:
不断改正对用户的需求,使用户能尽快了解样机
提供了一种开发软件的方法
容易确定系统的性能

最常用的动态分析方法
状态迁移图,时序图,Petri图

状态迁移图:

状态迁移图是描述系统的状态如何相应外部的信号进行推移的一种图形表示。
圆圈表示可得到的系统状态,箭头表示从一种状态向另一种状态的迁移

状态迁移图的优点
1、状态之间的关系能够直观地捕捉到
2、由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。

Petra网

Petri网简称PNG,它有两种结点:
位置:符号为圆圈,它用来表示系统的状态
转移:符号为问号,它用来表示系统中的事件。
图中的有向遍表示对转移的输入,或由转移的输出。
标记:或称令牌,是表明系统当前处于什么状态的标志。

需求规格说明书

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、其它需求:安全性,保密,可维护性

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值