分享

软件需求分析

 查拉图斯特拉如是说 2014-08-04

软件需求分析

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

   本章学习的要点是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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多