《软件工程》-电子教案-景秀丽 第3章 软件需求分析

上传人:E**** 文档编号:89438714 上传时间:2019-05-25 格式:PPT 页数:35 大小:149.50KB
返回 下载 相关 举报
《软件工程》-电子教案-景秀丽 第3章 软件需求分析_第1页
第1页 / 共35页
《软件工程》-电子教案-景秀丽 第3章 软件需求分析_第2页
第2页 / 共35页
《软件工程》-电子教案-景秀丽 第3章 软件需求分析_第3页
第3页 / 共35页
《软件工程》-电子教案-景秀丽 第3章 软件需求分析_第4页
第4页 / 共35页
《软件工程》-电子教案-景秀丽 第3章 软件需求分析_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《《软件工程》-电子教案-景秀丽 第3章 软件需求分析》由会员分享,可在线阅读,更多相关《《软件工程》-电子教案-景秀丽 第3章 软件需求分析(35页珍藏版)》请在金锄头文库上搜索。

1、第三章 软件需求分析,【本章引言】,软件需求分析就是对软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,在这一步确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须采用行之有效的方法对软件需求进行严格的审查验证。,【本章重点】 需求分析的方法 ; 需求分析的任务和原则 ; 【教学目标】 掌握需求分析的基本概念; 掌握如何使用需求获取技术来进行数据采集; 掌握结构化分析的思想与过程; 掌握数据流建模技术。,第三章 软件需求

2、分析,3.1 需求分析概述 3.2 面向数据流的分析方法 3.3 需求分析方法与图形工具 3.4 实体关系图 3.5 需求规格说明与评审 3.6 小结 3.7 习题,3.1 需求分析概述,3.1.1 需求分析的任务 需求分析需要实现的是将用户对软件的一系列要求、想法转变为软件开发人员所需要的有关软件的技术规格说明,它涉及面向用户的用户需求和面向开发者的系统需求两个方面的工作内容。,3.1 需求分析概述,3.1.1 需求分析的任务 1用户需求 用户需求是关于软件的一系列想法的集中体现,涉及软件的功能、操作方式、界面风格、用户机构的业务范围、工作流程和用户对软件应用的展望等。因此,用户需求也就是关

3、于软件的外界特征的规格表述。,3.1 需求分析概述,2系统需求 系统需求是比用户需求更具有技术特性的需求陈述。它是提供给开发者或用户方技术人员阅读的,并将作为软件开发人员设计系统的起点与基本依据。系统需求需要对系统的功能、性能、数据等方面进行规格定义。,3.1 需求分析概述,3需求分析的任务 确定对系统的综合需求 ; 分析系统的数据需求 ; 导出系统的逻辑模型 ; 修正系统开发计划 ; 开发原型系统,3.1 需求分析概述,3.1.2 需求分析的步骤 1问题识别 2分析与综合 3. 编写文档 4. 需求分析评审,3.1 需求分析概述,3.1.3 软件需求分析的原则 1必须能够表达和理解问题的数据

4、域和功能域 2必须按自顶向下、逐层分解的方式对问题进行分解和不断细化 3要给出系统的逻辑视图和物理视图,3.2 面向数据流的分析方法,3.2.1 基于数据流的分析方法 结构化方法是面向数据流进行需求分析的方法于20世纪70年代末由E.Yourdon等人提出和发展,现已得到广泛应用。 结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其基本思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。,3.2 面向数据流的分析方法,3.2.2 数据流图 1数据流图中的主要图形元素,3.2 面向数据流的分析方法,2分层的数据流图

5、 在多层数据流图中,可以把顶层数据流图、底层数据流图和中间层数据流图区分开来。顶层数据流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统的输出数据。顶层数据流图的作用在于表明被开发系统的范围,以及它和周围环境的数据交换关系。底层数据流图是指其加工不须再做分解的数据流图,其加工称为“原子加工”。中间层数据流图则表示对其上层父图的细化。它的每一个加工可以继续细化,形成子图。中间层次的多少视系统的复杂程度而定。,3.2 面向数据流的分析方法,3数据流图的用途 系统分析员用这种工具可以自顶向下分析系统信息流程 ; 可在图上画出需要计算机处理的部分 ; 根据数据存贮,进一步

6、作数据分析,向数据库设计过渡 ; 根据数据流向,定出存取方式 ; 对应一个处理过程,用相应的语言、判定表等工具表达处理方法,3.2 面向数据流的分析方法,4数据流图的优缺点 总体概念强,每一层都明确强调“干什么”,“需要什么”,“给出什么”; 可以反映出数据的流向和处理过程; 由于自顶向下分析,容易及早发现系统各部分的逻辑错误,也容易修正; 容易与计算机处理相对应; 不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到,3.2 面向数据流的分析方法,5数据流图画法 先找系统的数据源点与汇点。它们是外部实体,由它们确定系统与外界的接口。 找出外部实体的输出数据流与输入数据流。 在图的

7、边上画出系统的外部实体。 从外部实体的输出数据流(即系统的源点)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流(即系统的汇点),形成数据流的封闭。 按照下面所给的原则进行检查和修改。 按照上述步骤,再从各加工出发,画出所需的子图。,3.2 面向数据流的分析方法,6进行检查和修改的原则 数据流图上所有图形符号只限于前述四种基本图形元素。 数据流图的主图必须包括前述四种基本元素,缺一不可。 数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不只一个。 每个加工至少有一个输入数据流和一个输出数据流。 在数据流图中,需按层给加工框编号。编号表明该加工处在哪

8、一层,以及上下层的父图与子图的对应关系。,3.2 面向数据流的分析方法,6进行检查和修改的原则 任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。它表明了在细化过程中输入与输出不能有丢失和添加。 图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加工做什么事情。 数据流图中不可夹带控制流。因为数据流图是实际业务流程的客观映象,说明系统“做什么”而不是要表明系统“如何做”,因此不是系统的执行顺序,不是程序流程图。 初画时可以忽略琐碎的细节,以集中精力于主要数据流。,3.2 面向数据流的分析方法,7数据流图的分层方法,3.2 面向数

9、据流的分析方法,8分层法绘制流程图的几个问题 编号的设置 父图与子图的平衡 局部数据存储 处理逻辑的分解 由左到右绘制数据流图 绘制数据流图时,可以先忽略次要的信息 合理地命名,3.2 面向数据流的分析方法,9数据流图与其他流程图的差别 数据流图与系统流程图的区别: 系统流程图中不仅含有数据流,还有物流、资金流,但数据流图将物流与资金流,抽象为数据流的形式。也就是说数据流图仅以数据流的形态来反映一个组织中整个管理业务的过程。 数据流图与程序流程图的区别: 程序流程图中的处理框之间有严格的时间上的顺序,也就是先执行哪个处理框,起始点以及终止点等。而数据流图只反映数据的流向、处理逻辑和必要的数据存

10、贮,它不反映处理逻辑的先后。 数据流图与程序结构图的区别: 程序结构图反映模块之间的控制关系,以及模块之间的调用关系,而数据流图则不反映控制关系、调用关系和控制流,只表示数据流。 数据流和控制流的区别: 如果某线上没有数据流过,则是控制流。,3.2 面向数据流的分析方法,3.2.3 数据字典 1数据字典的定义 数据字典是关于数据信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说

11、明与描述。,3.2 面向数据流的分析方法,图9-6 测试问题3的控制流图,2数据字典的用途 数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析人员和用户之间的通信,避免许多误解的发生。数据字典也有助于改进不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能有助于解决接口问题。,3.2 面向数据流的分析方法,3数据字典的内容 数据流 数据项 数据结构 数据存储 处理逻辑 外部实体,3.2 面向数据流的分析方法,4数据字典的定义方法 数据流图中表现得是对系统得功能和数据流的分解。数据字典中对数据的定义

12、也表现为对数据的自顶向下的分解。当数据被分解到不需要进一步解释说明,而且每个参与该项目的人员都清楚其含义时,对数据的定义就完成了。,3.2 面向数据流的分析方法,5数据字典的实现 实现数据字典的常见方法有3种:全人工过程、全自动过程和混合过程。全自动过程一般依赖于数据字典处理软件。混合过程是指利用已有的实用程序来辅助人工过程。,3.2 面向数据流的分析方法,5数据字典的特点 通过名字能方便地查阅数据定义; 没有冗余; 容易修改和更新; 能单独处理描述每个数据元素的信息; 定义的书写方法简便而严格。,3.2 面向数据流的分析方法,3.2.4 加工逻辑说明 1结构化语言 2判定表 3判定树,3.3

13、 需求分析方法与图形工具,1层次方框图 2Warnier图 3IPO图,3.4 实体关系图,3.4.1 数据对象、属性与关系 现实世界是存在于人们头脑之外的客观世界,现实世界中的事物可分成对象和属性两大类。 对象可以是人、是物,还可以是实际的东西或概念的东西,例如,大学、城市等。对象还可以指事物与事物间的联系。 属性则是指事物的性质或特征,数据对象由其属性刻画。,3.4 实体关系图,3.4.2 实体关系图和实体模型 实体关系方法(Entity-Relationship Approach)是最常用的表示概念性数据模型的方法,这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方

14、法。用这种方法表示的概念性数据模型又称为E-R模型。 实体关系图是表示数据对象及其关系的图形语言机制。数据对象用长方形、关系用菱形表示。 方框表示实体型。在框内写上实体名,如“学生”实体型。 椭圆框表示实体有关的属性。椭圆内标记属性的名字。 箭头表示实体与属性之间的联系。 菱形框表示实体之间的联系。在框内写上联系的名字。它可以表示两个实体类型间的实体联系,还可以表示一个实体类型内的实体联系。,3.5 需求规格说明与评审,1需求规格说明书的主要内容 2需求分析的评审 3需求分析评审的方法,3.6 小结,需求分析是软件定义阶段中的最后一步,确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、

15、清晰、具体的要求。需求分析活动可按照需求提出、需求分析与描述及需求评审三个子阶段进行。需求分析的结果是系统开发的基础,必须用行之有效的方法对软件需求进行严格的审查验证。 结构化分析方法是面向数据流自顶向下逐步求精进行需求分析的方法,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层地分解下去,直到仅剩下若干个容易实现的子处理为止。当所分解出的子处理已经十分简单,其功能显而易见时,就停止这种分解过程,并写出各个最底层的处理描述。处理描述可以用IPO图、判定树或其他工具表示。 建立软件模型是需求分析活动的焦点,通常用数据流图、数据字典和主要的处理算法描述这个逻

16、辑模型,没有数据字典数据流图就不严格。然而,没有数据流图数据字典也难于发挥作用。只有数据流图和数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。 利用图形工具辅助描绘数据结构。常用的图形工具有层次直方图和Warnier图等。 对复杂数据及数据之间复杂关系的分析和建模是需求分析的重要任务。为此在数据流分析方法中引进适合于复杂数据建模的实体关系图。,3.7 习题,需求分析过程主要有哪几个步骤? 数据字典的作用是什么?它有哪些基本条目? 数据流图的作用是什么?它有哪些基本成分? 需求规格说明书的主要内容是什么?它的作用是什么? 为什么数据流图要分层?画数据流图要遵循哪些原则? 画出图书借阅管理系统顶层数据流图。,3.7 习题,什么是用户需求?什么是系统需求? 加工逻辑描述有哪些方法? 需求分析阶段的图形工具有哪些? 需求分析的任务是什么?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号