引用
一、需求分析的任务
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。
通常软件开发项目是要实现目标系统的物理模型,即确定待开发软件系统的系统元素,并将功能和数据结构分配到这些系统元素中。它是软件实现的基础。
需求分析的任务不是确定系统如何完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。在这个阶段结束时交出的文档中应该包括详细的数据流图(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
分享到:
相关推荐
使了解需求工程基本理论,具有一定需求相关工作经验的技术人员、业务骨干的需求分析实战技能迅速提高,能够有效地组织、执行需求分析工作,熟练掌握各种模型并正确选择,编写出更加高效的需求文档。通过该课程的学习...
软件需求分析报告模板解读 软件需求分析报告是软件开发过程中不可或缺的一部分,它对软件项目的成功至关重要。 本文将对软件需求分析报告模板进行详细的解读,并对其中涉及的知识点进行详细的分析。 范围 软件...
### 需求分析训练营知识点详述 #### 一、需求分析全局观 - **需求分析视角与方法** - **需求分析方法发展史**:介绍从传统的瀑布模型到敏捷开发模型的需求分析方法变迁,强调了随着软件工程理论和技术的发展,需求...
【需求分析师面试题】知识点详解: 1. 需求收集与分析: 需求分析师在面试中经常被问及如何有效地收集需求。这涉及到与不同干系人的沟通技巧,包括用户、管理层、技术人员等,理解他们的期望和问题。面试者应展示...
### 资深需求分析师经验总结 #### 一、需求分析概述 需求分析是一项至关重要的IT活动,它涉及理解和表达客户、用户以及其他涉众对于软件系统的需求。需求分析的目的是确保开发出的系统能够满足用户的实际需求。...
需求分析SRE试题及部分答案 需求分析是软件开发过程中的一个关键阶段,旨在收集、分析和记录软件系统的需求。通过本试题,我们可以了解需求分析的重要性和相关知识点。 1. 在项目初始阶段,开发任务最先需要明确的...
在软件工程领域,需求分析是开发过程中的关键步骤,它为后续的设计、编码和测试奠定了基础。本资料主要探讨了三个核心概念:数据字典、数据流图和需求分析。 1. 数据字典 (Data Dictionary) 数据字典是系统设计中的...
"火车售票系统软件工程需求分析详细过程" 本文将对火车售票系统软件工程需求分析进行详细的介绍,从标题、描述、标签和部分内容四个方面进行分析,并对相关知识点进行详细解释。 一、标题和描述 标题:“火车售票...
"BBS 论坛需求分析说明书" 本文档是 BBS 论坛需求分析说明书的完整版,旨在对 BBS 论坛的需求进行详细的分析和说明。下面是对标题、描述、标签和部分内容的详细解释和分析。 标题:BBS 需求分析说明书(完整版) ...
"餐厅点餐系统需求分析说明书" 随着餐厅业的发展和信息化的深入,餐厅的点餐系统变得越来越重要。点餐系统的需求分析是整个系统设计的基础,它直接关系到系统的正确性、可靠性和效率。因此,本文将对餐厅点餐系统的...
在软件开发过程中,需求分析是至关重要的第一步,它定义了软件系统的核心功能和特性,为后续的设计、编码和测试提供明确的方向。本案例将详细阐述如何进行需求分析,以PDF文档的形式呈现,文件名为"Demands06-10",...
需求分析师笔试题 本资源摘要信息是关于需求分析师笔试题的知识点总结,涵盖了项目立项阶段、需求定义、需求捕获、需求验证、业务建模、用例图、活动图、领域类图等多个方面的知识点。 需求分析师笔试题中的第一个...
软件工程大作业,需求分析的主要工作是确定“客户真正需要的是一个什么杨的系统,该软件必须完成什么功能”,需求获取是否彻底和成功,直接关系到软件开发成败。 需求分析处于软件开发过程的开始阶段,它对于整个...
《软件需求分析报告模板》是软件开发过程中至关重要的一步,它是整个项目的基础,明确地定义了软件的功能、性能以及用户期望。以下将详细介绍该报告的关键组成部分及其重要性。 首先,目录范围部分列出了报告的各个...
### 需求分析说明书知识点解析 #### 一、需求分析概述 **需求分析**是软件开发中的一个重要阶段,旨在明确软件系统所应具备的功能、性能及其约束条件,确保最终开发的产品满足用户的需求。本需求分析说明书以一个...
物流管理系统需求分析是IT行业中一个重要的实践领域,特别是在数字化转型的大潮中,高效、精确的物流管理对于企业来说至关重要。这篇毕业设计开题报告聚焦于如何通过信息技术来优化物流流程,提升整体运营效率。以下...
"固定资产管理系统需求分析说明书" 固定资产管理系统需求分析说明书是对固定资产管理系统的需求进行详细分析和说明的文件。该文件对固定资产管理系统的功能、性能和界面进行了详细的描述,以便开发出一个满足学校...
《音乐网站需求分析报告》 音乐网站是一种在线平台,旨在为用户提供丰富的音乐资源,包括搜索、播放、分类和社交互动等功能。本报告将详细解析其需求分析,涵盖E-R图、数据库设计、业务流程图等多个方面。 首先,...
《需求分析与系统设计》是一本深入探讨软件工程核心领域的经典教材,由Maciaszek著。这本书主要关注软件开发过程中的两个关键阶段:需求分析和系统设计,它们是构建高质量软件的基础。在本课件中,我们将深入学习这...