软件工程(第二版)教学课件 卢潇 第3章需求分析

上传人:w****i 文档编号:94557541 上传时间:2019-08-08 格式:PPT 页数:58 大小:243.50KB
返回 下载 相关 举报
软件工程(第二版)教学课件 卢潇 第3章需求分析_第1页
第1页 / 共58页
软件工程(第二版)教学课件 卢潇 第3章需求分析_第2页
第2页 / 共58页
软件工程(第二版)教学课件 卢潇 第3章需求分析_第3页
第3页 / 共58页
软件工程(第二版)教学课件 卢潇 第3章需求分析_第4页
第4页 / 共58页
软件工程(第二版)教学课件 卢潇 第3章需求分析_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《软件工程(第二版)教学课件 卢潇 第3章需求分析》由会员分享,可在线阅读,更多相关《软件工程(第二版)教学课件 卢潇 第3章需求分析(58页珍藏版)》请在金锄头文库上搜索。

1、第3章 需求分析,需求分析的概念和任务 获取需求的方法 结构化分析方法 原型法,软件需求分析概述,从开发工作的流程来看,需求分析是软件计划的下一工作步骤,它为软件设计阶段提供一个软件需求规格说明书。,软件计划,需求分析,软件功能,软件作用范围,成本、资源估算,软件规格说明,软件开发工作流程,1、需求的概念 比较权威的定义是IEEE软件工程标准词汇表中的需求定义: 用户解决问题或达到目标所需的条件或权能(Capability)。 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 一种反映上面(1)或(2)所描述的条件或权能的文档说明。,软件需求分析概述,2、需求的层次

2、 需求可分解为4个层次:业务需求、用户需求、功能需求和非功能需求。 业务需求:业务需求是反映组织机构或客户对软件高层次的目标要求。这项需求是用户高层领导机构决定的,它确定了系统的目标、规模和范围。 用户需求:用户需求是用户使用该软件要完成的任务。 功能需求:功能需求定义了软件必须实现的功能。 非功能需求:非功能需求是对功能需求的补充。,软件需求分析概述,3、需求分析的目标和任务,需求分析的目标 构造一个完全地、精致 地目标系统逻辑模型; 确定设计约束和定义软件有效性要求。,软件规格说明,软件需求分析概述,需求分析的任务 需求分析阶段研究的对象是软件项目的用户要求,其任务是借助当前系统的逻辑模型

3、, 调查研究、分析综合,并通过抽象思维、逻辑推理导出目标系统的逻辑模型,解决系统“作什么”的问题,并将结果准确表达。,3、需求分析的目标和任务,软件需求分析概述,返回,软件开发项目是要实现目标系统的物理模型,包括确定待开发软件系统的元素,将功能和信息结构分配到系统元素中。,逻辑模型,忽视实现机制与细节,只描述系统要完成的功能和要处理的信息。,软件需求分析概述,实现步骤: (1)分析现实世界,充分理解当前系统,并用一个具体模型描述,获得当前系统的物理模型。 (2)在理解当前系统“怎么做”的基础上,抽取“作什么”的本质,抽象出系统的逻辑模型。 (3)分析目标系统与当前系统逻辑上的差别,导出目标系统

4、的逻辑模型。 (4)对目标系统逻辑模型进行补充,以求完整地描述。,软件需求分析概述,当前系统,逻辑模型,物理模型,目标系统,理解需求,表达需求,由当前系统建立目标系统模型过程,软件需求分析概述,需求分析的过程 需求分析阶段的工作有以下四个方面:,问题识别,分析与综合,编制需求分析阶段文档,需求分析评审,软件需求分析概述,需求获取,功能要求 性能要求 运行和扩充要求 维护要求 系统文档规格要求,问题识别包括:,软件需求分析概述,问题识别包括:,确定软件需求,经济可行性 技术可行性 法律可行性 对不同方案进行比较选择,进行可行性研究,软件需求分析概述,问题识别包括:,确定软件需求,进行可行性研究,

5、建立分析的通讯关系,软件需求分析概述,编写需求规格说明 (1)需求规格说明包含对目标软件系统的外部行为的完整描述、需求验证标准以及用户在性能、质量、可维护性等方面的要求。 (2)用户手册包括用户界面描述以及有关目标系统使用方法的初步构想。 (3)在需求分析中确立测试标准,作为系统开发目标是否完成的验收依据。 (4)修改的项目开发计划是根据新的分析结果,对可行性分析和软件计划阶段中制订的初步的项目开发计划作必要的修改、补充和完善。,软件需求分析概述,需求验证 由专家、分析人员、开发人员、用户组成评审组,对需求分析所得的结果 进行评审。 完整性 正确性 一致性 必要性 无歧义性 可验证性 优先级的

6、划分,软件需求分析概述,获取需求的方法,需求分析至今仍是公认为的软件开发中最为困难、亟待解决的一个问题。 1、存在问题 (1)对需求的理解问题。 (2)分析人员与用户的通信问题。 (3)用户需求的可变性问题。 分析方法和分析工具问题。,2、 常用方法 (1)访谈:正式的和非正式的访谈 (2)问卷调查 问卷调查即把需要调查的内容制成表格交给用户填写。该方法对需要调查大量人员的意见时,十分有效。 (3)情景分析 情景分析就是对目标系统解决某个具体问题的方法和结果,给出可能的情景描述,以获知用户的具体需求。 (4)实地考察 (5)构造原型,获取需求的方法,3、 需求分析的原则 (1)解决逻辑问题 需

7、求分析是对问题的识别和说明过程,分析员要回答的是“系统必须做什么”的问题,而不是“系统应该怎么做”的问题。 (2)以运行环境为基础 需求分析工作应以具体的运行环境为基础,实事求是 。 (3)用户参与的原则 需求分析工作是系统分析人员同用户不断交互的过程。 (4)构造高质量的需求规格说明 需求规格说明是需求分析工作重要的完成标志。,获取需求的方法,4、需求分析方法概述 不管采用哪种方法进行需求分析,都应满足如下基本要求。 必须能理解问题的数据域和功能域 数据域一般描述为:数据内容、数据结构和数据流。其中,数据内容就是数据项,数据结构就是数据项的组织形式,数据流是数据通过系统时的变化方式。 对数据

8、进行的一系列的转换即系统应实现的功能和子功能。两个功能之间的数据传递就确定了功能之间的接口。,获取需求的方法,4、需求分析方法概述 不管采用哪种方法进行需求分析,都应满足如下基本要求。 必须能按自顶向下、逐层分解的方式对问题进行分解和不断细化. 分解是将求解的复杂问题,分解为若干相对简单问题求解的组合。分解的目的是为了降低问题求解的复杂性,将复杂问题分解成一些小的、容易控制和理解的子问题不仅便于理解,还可以将子问题划分给不同的开发小组,分别完成,然后再装配起来形成一个完整的系统。更重要的是可以促进软件开发走向构件开发的道路。,获取需求的方法,4、需求分析方法概述 不管采用哪种方法进行需求分析,

9、都应满足如下基本要求。 要给出系统的逻辑视图和物理视图 软件需求的逻辑视图描述的是软件要达到的功能和要处理的信息之间的关系,但没有描述实现的细节。 软件需求的物理视图给出的是处理功能和信息结构的实际表现形式,需考虑实际的环境和具体的设备。,获取需求的方法,结构化分析方法,结构化分析方法: 是面向数据流进行需求分析,以结构化的方式进行系统的分析方法。适用于分析大型的数据处理系统。 该方法的特点是利用数据流图来帮助人们理解问题,对问题进行分析。即利用图形工具来模拟数据处理过程。 该方法的核心是数据流图。数据流图是一种用来表示信息流程和信息变换过程的图解方法,它将系统看成是由数据流联系的各种功能的组

10、合。数据流图可以方便的描述用数据流的流动联系的各种功能。通过各种功能的输入/输出结果, 表现现有系统或待开发系统的功能。,此外: 用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以看到数据流图的高层次加工的细节和相关的数据流。结构化分析方法的实质就是采用一组分层的数据流图及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的自顶向下的建模方法,它不仅是需求分析技术,也是完成规格说明文档的技术手段。,结构化分析方法,结构化分析方法(structured analisys),结构

11、化分析法 使用的工具,结构化分析法 使用的工具,数据字典,数据流图,结构化英语,判定表或判定数,结构化分析方法(structured analisys),结构化分析法 使用的工具,数据字典,数据流图,结构化英语,判定表或判定数,结构化分析方法(structured analisys),数据流图,1、组成元素:四种基本图形符号 圆框:表示从输入到输出的数据流中的一个加工,在框内注明加工的名称; 方框:表示数据的源点或数据的汇点,即外部实体,在框内注明实体的名称; 箭头:表示被加工数据的路径和流向,即数据流,可用名词和或名词性短语命名; 双杠:表示数据存储,可以是一个记录或一个数据文件,可用名词和

12、或名词性短语命名。,结构化分析方法(structured analisys),数据流描述DFD中各成分的接口。数据流的方向可以: 从加工流向加工: 从加工流向数据存储; 从源点流向加工; 从加工流向终点。,数据流:,结构化分析方法(structured analisys),数据流的含义: (1)数据流是一组成分已知的数据。可以是一个数据,也可以是一组数据。 (2)两个加工之间可以有多个数据流。当数据流间毫无关系,也不是同时流出(或同时到达时)如果强制和为一个数据流会使问题含糊不清。 (3)数据流应有良好的命名,它不仅作为数据的标识,还有利于深化对系统的认识。,数据流:,结构化分析方法(stru

13、ctured analisys),(4)同一数据流可流向不同加工,不同加工也可流出相同的数据流。(合并与分解)。 (5)流入/流出简单存储的数据流不需要命名。因为数据存储名已有足够的信息来表示数据流的意义。 (6)数据流不代表控制流。数据流反映了处理的对象,控制流是一种选择或用来影响加工的性质,而不是对它进行加工的对象。,数据流的含义:,数据流:,结构化分析方法(structured analisys),加工是对数据执行某种操作或变换,是把输入数据流变成输出数据流的一种变换。每个加工应有一个名字代表它的意义。分层的DFD中每个加工还应进行编号。,加工,结构化分析方法(structured an

14、alisys),数据存储可以表示文件、文件的一部分、数据库的元素或记录的一部分等。数据可以存储在磁盘、磁带、存储器和其他任何介质上。应对数据文件进行命名。在DFD中应注意指向数据文件的箭头的方向(可以是双向的)。,数据存储,结构化分析方法(structured analisys),源点和终点是代表系统之外的人、物或组织。它们发出或接受系统的数据,其作用是提供系统和外界环境之间关系的注释性说明,说明数据的来龙去脉,使数据流图更清晰。,源点和终点,结构化分析方法(structured analisys),数据流图实例,顾客,验证 订单,图书目录文件,顾客档案,顾客信 用情况,汇总对 各出版社 的要

15、求,订单,待处理订单文件,出版社档案文件,正确订单,一批订单,书目、地址,订货存根文件,订货存根,出版社,对出版社,的订单,图书预定系统的数据流图,结构化分析方法(structured analisys),数据流图的画法: 基本原则: 数据流图中所有图形符号必须是四种元素之一; 数据流图的主图必须含有四种元素,缺一不可; 数据流图的主图必须封闭在外部实体之间,实体可以有多个; 加工框至少有一个输入数据流和一个输出数据流; 任何一个数据流子图必须与它的父图上的一个加工框对应,两者的输入/输出数据流必须一致; 图中的每一个元素都必须有名字。,结构化分析方法(structured analisys)

16、,数据流图的画法: 基本原则: 可以在数据流图中加入物质流; 不可在数据流图中夹带控制流; 初画时,可忽略一些细节。 注意:画数据流图时,不考虑初始化,暂不考虑出错路径等细节,不画控制流和控制信息。基本原则是“先外后内”。,结构化分析方法(structured analisys),画数据流图的步骤: 1、找外部实体,找到外部实体即可确定系统与外部世界的界面,也就可确定数据流源和数据终点; 2、找出外部实体的输入和输出数据流; 3、画出外部实体; 4、从外部实体的输出流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工框,直至数据终点; 5、按照一般原则进行检查和修改; 6、按上述步骤画出所需的子图。,结构化分析方法(structured analisys),控制系统复杂性的基本思想: 对大型、复杂系统,最困难的是处理复杂性。在软件工程中,控制复杂性的主要手段是“分解”和“抽象”。 SA方法采用这种“分解”和“抽象”的手段来对付复杂。,结构化分析方法

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

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

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