软件需求分析

   本章共分为四个部分,一软件需求的任务和过程;二结构化分析方法;三,原型化方法四,动态分析方法。

   本章学习的要点是1。了解软件需求分析的目标和任务;2.了解软件需求的获得方法;3.掌握结构化的分析方法;4.了解需求规格说明和需求评审的主要内容。

     软件需求分析的主要任务 深入描述软件的功能和性能; 确定软件设计的约束和软件同其他系统元素的接口细节;定义软件的其他有效性需求。

       需求分析书要求做到一致性、完整性、现实性、有效性、可验证性。

 需求分析的过程共四个部分:

(1)       问题的识别

           从系统的角度来理解软件并评审软件范围是否恰当;去诶大牛股对目标系统的综合要求,即软件的需求;提出这些需求实现条件,以及需求应达到的标准。

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

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

(2)       分析与综合

            从信息流和信息饥饿哦故出发,逐步细化所有的软件功能找出相同各元素之间的联系、接口特性和设计上的约束,分析他们是否满足功能要求,是否合理。

       常用的分析方法:面向数据流的结构化分析方法(SA面向数据流);面向数据结构的Jackson方法(JSD面向数据结构)、结构化数据系统开发方法(DSSD)、面向对象的分析方法(OOA

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

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

(4)       需求分析评审

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

 

软件需求分析的原则;

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

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

软件需求规格说明的原则:

     从现实中分离功能,即描述要“要做什么“而不是”怎么样实现“;要求使用面向处理的规格说明语言(或称系统定义语言)

     软件需求方法:需求分析方法由对软件问题的信息域(信息流、结构流、信息内容)和功能域的系统分析过程及表示方法组成;大多数的绣球分析方法是有信息驱动的

     结构化分析方法:面向数据流进行需求分析方法;结构化分析方法适合于数据处理类型软件的需求分析。

数据流图

 

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

1.               数据流图上所有图形符号只限于前述四种基本图形元素;

2.               .数据流图的主图必须包括前述四种基本元素。缺一不可

3.               每个加工至少有一个输入数据流和一个输出数据流

4.               .在数据流图中,需按层给加工框编号,标号表明该加工所处层次及上下层的亲子关系。

5.               5.规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。

画数据流图的时候要注意的: 图上每个元素都必须有名字;数据流图中不可夹带控制流;出画时可以忽略琐碎的细节,以集中精力于主要数据流

需求分析流程

 

 

 

 数据字典:数据字典与数据流图配合,能清楚地表达数据处理的要求

 词条描述--------对于在数据流图中每一个别命名的图形元素,均加以定义,其内容有:名字。别号或编号,分类,描述,定义,位置,其他等

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

结构化英语 的词汇表有 英语命令动词、数据词典中定义的名字、有限的自定义词、  逻辑关系词 IF -THEN -ELSE  CASE- OF . WHILE-DO 等。

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

ipo 输入处理图

机器可读性 判定表和结构化英语 优于判定树

描述的直观性来讲 判定树好

逻辑验证和优化能力判断表优于判定树和结构化英语

 

原型化方法:

在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。

用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。

软件原型的分类

探索型  实验型  进化型

原型使用策略  废弃策略  追加策略

 

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

 

圆圈表示可得到的系统中状态

箭头表示从一种状态向另一种状态的迁移。

 

 

状态迁移图的优点:

状态之间的关系能够直接地捕捉到

由于状态迁移图的单纯性,能够机械地分析许多情况,可恨容易地建立分析工具。

   处理连两个进程的同步问题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.其他需求(安全,保密等)

需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

 

在这个阶段结束时交出的文档中应该包括详细的数据流图(DFD),数据字典(DD)和一组简明的算法描述。

需求分析方法

大多数的需求分析方法时由数据驱动的,数据域具有三种属性:数据流

、数据内容和数据结构。

具有的一下的共性:

1.支持数据域 2.功能表示的方法  3.接口的定义  4.问题分解的机制以及对抽象的支持  5.逻辑视图和物理视图 6.系统抽象模型

结构化分析方法使用数据流图DFD与数据字典DD来描述。

数据流图的特性: 抽象性  概括性   层次性

数据流图的用途

  数据流图的作用主要有以下几条;

   1)系统分析员用这种工具可以自顶向下分析系统信息流程

   2)可在图上画出需要计算机处理的部分

   3)根据数据存贮,进一步做数据分析,向数据库设计过度。

   4)根据数据流向,定出存取方式

   5 对应一个处理过程,用相应的语言、判定表等工具表达处理方法。

 

5.数据流图的优缺点

 

1)总体概念强,每一层都明确强调“干什么”“需要什么”,“给出什么”

2)可以反映出数据的流向和处理过程

3)由于自顶向下的分析,同意及早发现系统各部分的逻辑错误,也容易修正

4)容易与计算机处理相对照

5)不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正

 

来得到。

6)如果没有计算机系统帮助的话,人工绘制太麻烦,工作量较大。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值