`

需求分析

阅读更多
引用

一、需求分析的任务

  需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。

  通常软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中。它是软件实现的基础。

  需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。在这个阶段结束时交出的文档中应该包括详细的数据流图(DFD),数据字典(DD)和一组简明的算法描述。

  需求分析阶段的任务包括下述几方面。

  1.确定对系统的综合需求

  2.分析系统的数据需求

  分析系统的数据需求是由系统的信息流归纳抽象出数据元素组成、数据的逻辑关系、数据字典格式和数据模型。并以输入/处理/输出(IPO)的结构方式表示。因此,必须分析系统的数据需求,这是软件需求分析的一个重要任务。

  3.导出系统的逻辑模型

  就是在理解当前系统“怎样做”的基础上,抽取其“做什么”的本质。

  4.修正系统开发计划

  5.开发原型系统

二、需求分析的步骤

  结构化分析方法(简称SA方法)就是面向数据流自顶向下逐步求精进行需求分析的方法。需求分析的步骤如下。

  1. 调查研究

  2.分析与综合

  应注意下述两条原则:第一,在分层细化时必须保持信息连续性,也就是说细化前后对应功能的输入/输出数据必须相同;第二,当进一步细化将涉及如何具体地实现一个功能时,也就是当把一个功能进一步分解成子功能后,并将考虑为了完成这些子功能而写出其程序代码时,就不应该再分解了。

  3.书写文档

  在这个阶段应该完成下述四种文档资料:

  (1)系统规格说明。

  (2)数据要求。

  (3)用户系统描述。

  (4)修正的开发计划。

  4.需求分析评审

三、需求分析的原则

  1.必须能够表达和理解问题的数据域和功能域

  2.按自顶向下、逐层分解问题

  3.要给出系统的逻辑视图和物理视图

四、需求分析方法

  大多数的需求分析方法是由数据驱动的,数据域具有三种属性:数据流、数据内容和数据结构。通常,一种需求分析方法总要利用一种或几种属性。

  需求分析方法具有以下的共性。

  1.支持数据域分析的机制

  2.功能表示的方法

  3.接口的定义

  4.问题分解的机制以及对抽象的支持

  5.逻辑视图和物理视图

  6.系统抽象模型

五、面向数据流的需求分析方法

  结构化分析方法是面向数据流进行需求分析的方法。

  结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。

六、数据流图

  数据流图是描述数据处理过程的工具。

  1.数据流图的含义

  数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。

  2.数据流图的特性

  (1)抽象性

  (2)概括性

  (3)层次性

  3. 数据流图基本符号

  (1)数据流图中的主要图形元素

  数据流图的基本图形元素有4种,如图所示。

  

  数据流图基本图形符号

  (2)数据流与加工之间的关系

  其中星号“*”表示相邻的一对数据流同时出现,? 则表示相邻的两数据流只取其一。

  (3)分层的数据流图

   

  数据流图加工关系

4.数据流图的用途

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

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

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

  (3) 根据数据存贮,进一步作数据分析,向数据库设计过渡。

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

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

  5.数据流图的优缺点

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

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

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

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

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

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

  6.数据流图画法

  (1) 画数据流图的一般原则

  画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。具体步骤如下。

  (2) 数据流图的分层方法

  (3) 分层法绘制流程图的几个问题

  7.数据流图的绘制与其它流程图的差别

  (1) 数据流图与系统流程图的区别

  (2) 数据流与程序流程图的区别

  (3) 数据流与程序结构图的区别

  (4) 数据流与控制流的区别

  要求会画第一层数据流图。

七、数据字典

  1.数据字典的定义

  数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型。

  2.数据字典的内容

  数据字典由下列六类元素的定义组成。

  (l)数据流

  数据流名称及其称号;

  数据流的来源:可能是一个外部实体、处理逻辑、数据存储;

  数据流的去处;

  数据流的组成:一个数据流可能包括若干个数据结构,若只有一个数据结构,就不需要专门定义;

  数据流的流通量:单位时间的传输次数;

  高峰时期的流通量:业务的频繁程度和时间有关。

  (2)数据项

  数据项也称数据元素,是“不可再分”的数据单位,是数据的最小组成单位。主要内容有:

  数据项名称及编号:数据项名称必须唯一地标识这个数据项,以区别于其他数据项;给数据项取名时,要反映该数据项的含义,易于他人理解、记忆。

  别名:同一数据项的名称可能不止一个,称为别名。

  取值的范围和取值的含义 。

  数据项的长度:指数据项所包含的字符或数字的位数。

  (3)数据结构

  数据结构的名称及其编号 ;

  数据结构的组成:如果是一个简单的数据结构,只要列出它所包含的数据项即可。如果是一个嵌套的数据结构,只需列出它所包含的数据结构名称,因为这些数据结构同样在数据字典中有定义。

  (4)数据存储

  数据存储是数据结构停留或保存的场所。主要内容:

  数据存储的名称及其编号:在数据流程图中对数据存储给以命名,并编上一个唯一的编号;

  流入、流出的数据流:流入的数据流指出其来源,流出的数据流指出其去向;

  数据存储的组成:指它所包含的数据项或数据结构。

  (5)处理逻辑

  主要内容:

  处理逻辑的名称及编号 ;

  简述:对处理逻辑的简明描述,其目的是使人了解这个处理逻辑是做什么用的;

  处理逻辑的输入和输出;

  处理逻辑的主要功能 ;

  处理逻辑的小说明(文档之一) 。

  (6)外部实体

  外部实体是系统的“人-机”界面,也就是系统的数据流由外部实体流入,或者系统的数据向外部流出。主要内容:

  外部实体的名称及编号;

  与外部实体有关的数据流。

  例如:

  外部实体名称:供应商;

  编号:GS03-22;

  简述:向本公司供应货物的个人和单位;

  有关的数据流:

  数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述三个原因:

  对于同样的数据,不同的用户使用了不同的名字;

  一个分析员在不同时期对同一个数据使用了不同的名字;

  两个分析员分别分析同一个数据流时,使用了不同的名字。

  虽然应该尽量减少出现别名,但是不可能完全消除别名。

  3.定义数据的方法

  4.数据字典的用途

  5.数据字典的实现

  

  八、图形工具

  1、层次方框图

  2、Warnier 图

  3、IPO图

九、需求规格说明与评审

  需求规格说明的主要内容,即需求分析应交付的主要文档是需求规格说明。

  软件需求规格说明的一般格式如下:

  1.引言

  2.任务概述

  3.数据描述

  4.功能要求

  5.性能需求

  6.运行需求

  7.其他要求

  8.附录

  需求分析的评审

  需求分析评审的方法

  必须从一致性、完整性、现实性和有效性等四个不同角度验证软件需求的正确性
  • 大小: 12.4 KB
  • 大小: 24.4 KB
分享到:
评论

相关推荐

    有效需求分析.pdf

    使了解需求工程基本理论,具有一定需求相关工作经验的技术人员、业务骨干的需求分析实战技能迅速提高,能够有效地组织、执行需求分析工作,熟练掌握各种模型并正确选择,编写出更加高效的需求文档。通过该课程的学习...

    软件需求分析国家标准

    《软件需求分析国家标准》是指导软件开发过程中的一个重要标准,旨在规范需求获取、分析、定义、验证和管理的流程,确保软件项目能够满足用户和业务的实际需求。这一国家标准的实施对于提升软件质量、减少开发成本、...

    1.软件需求分析报告模板(完整版)

    软件需求分析报告模板解读 软件需求分析报告是软件开发过程中不可或缺的一部分,它对软件项目的成功至关重要。 本文将对软件需求分析报告模板进行详细的解读,并对其中涉及的知识点进行详细的分析。 范围 软件...

    需求分析训练营(徐锋)

    ### 需求分析训练营知识点详述 #### 一、需求分析全局观 - **需求分析视角与方法** - **需求分析方法发展史**:介绍从传统的瀑布模型到敏捷开发模型的需求分析方法变迁,强调了随着软件工程理论和技术的发展,需求...

    需求分析师面试题

    【需求分析师面试题】知识点详解: 1. 需求收集与分析: 需求分析师在面试中经常被问及如何有效地收集需求。这涉及到与不同干系人的沟通技巧,包括用户、管理层、技术人员等,理解他们的期望和问题。面试者应展示...

    资深需求分析师经验总结

    ### 资深需求分析师经验总结 #### 一、需求分析概述 需求分析是一项至关重要的IT活动,它涉及理解和表达客户、用户以及其他涉众对于软件系统的需求。需求分析的目的是确保开发出的系统能够满足用户的实际需求。...

    软件工程项目需求分析说明书(模板)

    "软件工程项目需求分析说明书(模板)" 软件工程项目需求分析说明书是 software engineering 项目中不可或缺的一份重要文件,该文件的主要目的是对软件系统的需求进行分析、描述和定义,以便于项目团队成员和项目...

    如何做好需求分析

    ### 如何做好需求分析 #### 一、什么是需求 需求是指产品必须完成的任务以及必须具备的品质。在软件开发过程中,需求是整个项目的基石,它决定了产品的最终形态和功能。 #### 二、需求的分类 需求可以分为两大类...

    图书管理系统需求分析报告

    图书管理系统需求分析报告 图书管理系统需求分析报告是对图书管理系统的需求进行详细的分析和描述,以确保系统的设计和开发能够满足用户的需求。下面是图书管理系统需求分析报告的详细内容: 引言 图书管理系统...

    需求分析评审记录表.doc

    "需求分析评审记录表" 本文主要介绍了需求分析评审记录表的知识点,包括需求分析评审的定义、评审日期、地点、主持人、参加部门及人员、评审内容、评审过程、评审结论、编制、审核、批准等。 一、 需求分析评审的...

    需求分析模板(非常详细的软件分析材料)

    需求分析模板(非常详细的软件分析材料) 需求分析模板是软件开发过程中的关键步骤,对软件项目的成功至关重要。这个模板包括软件需求分析报告文档模板、软件概要设计报告文档模板、软件详细设计报告文档模板、软件...

    火车售票系统软件工程需求分析详细过程1

    "火车售票系统软件工程需求分析详细过程" 本文将对火车售票系统软件工程需求分析进行详细的介绍,从标题、描述、标签和部分内容四个方面进行分析,并对相关知识点进行详细解释。 一、标题和描述 标题:“火车售票...

    bbs需求分析说明书(完整版)

    "BBS 论坛需求分析说明书" 本文档是 BBS 论坛需求分析说明书的完整版,旨在对 BBS 论坛的需求进行详细的分析和说明。下面是对标题、描述、标签和部分内容的详细解释和分析。 标题:BBS 需求分析说明书(完整版) ...

    java 学生信息管理系统需求分析

    JAVA 学生信息管理系统需求分析 基于java语言开发的学生信息管理系统是现代教育系统中不可或缺的一部分。该系统的主要目的是为了提高教学办公室的工作效率,减轻行政人员的工作负担,并为学生提供更加方便、快捷的...

    餐厅点餐系统需求分析说明书

    "餐厅点餐系统需求分析说明书" 随着餐厅业的发展和信息化的深入,餐厅的点餐系统变得越来越重要。点餐系统的需求分析是整个系统设计的基础,它直接关系到系统的正确性、可靠性和效率。因此,本文将对餐厅点餐系统的...

    需求分析文档模板(英文版)

    需求分析文档模板(英文版) 需求分析文档模板是软件开发过程中的一份重要文件,用于记录软件的需求规格。该模板提供了详细的指导,帮助开发团队编写高质量的需求规格文档。本文将对该模板进行详细的解释和分析。 ...

    需求分析与系统设计 第3版

    《需求分析与系统设计》第三版是一本深入探讨软件工程中关键步骤——需求分析与系统设计的权威著作。这本书详细阐述了如何有效地理解和提取用户需求,以及如何将这些需求转化为可实施的系统设计方案。在软件开发过程...

    需求分析期末复习思考题(1-8章).docx

    在软件开发过程中,需求分析是至关重要的阶段,它直接影响项目的成功与否。通过对给定的期末复习思考题的分析,我们可以深入了解需求分析的核心概念。 首先,软件项目目标的三个要素是质量、时间和成本。质量是需求...

Global site tag (gtag.js) - Google Analytics