《教学课件第4讲面向数据流的需求分析方法》由会员分享,可在线阅读,更多相关《教学课件第4讲面向数据流的需求分析方法(37页珍藏版)》请在金锄头文库上搜索。
1、第第4讲讲 面向数据流的需求分析方法面向数据流的需求分析方法毛新军毛新军 教授教授计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程导论软件工程导论 之之用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件Copyright Xinjun Mao1序言序言n需求分析的任务n建模是实现需求分析任务的一种好的方法有助于全面、系统地了解和分析用户的需求有助于发现需求描述中不一致、错误和模糊性确保软件SRS一致化、全面化、准确化n如何建立用户需求的模型?Copyright Xinjun Mao2主讲内容主讲内容1.基
2、本思想和原理2.建模语言3.建模过程4.CASE工具Copyright Xinjun Mao3基本原理和思想基本原理和思想n提出一种建模方法时需考虑的问题用户需求的本质是什么? (原理)表示机制以刻画和描述用户的需求? (语言)建模的过程和步骤? (方法)Copyright Xinjun Mao4面向数据流需求分析方法的产生面向数据流需求分析方法的产生n结构化软件开发方法70年代Edward Yourdon, Tom DeMarco等人提出基本思想: “自顶向下,逐步求精” ,“抽象和分解”n结构化软件开发方法结构化需求分析 + 结构化软件设计 + 结构化程序设计n面向数据流分析方法(DFD)
3、是结构化软件开发方法一员Copyright Xinjun Mao5基本原理基本原理n 用户需求:功能和行为, 性能, 设计约束n从信息处理的角度上看,应用系统的功能本质上对各种数据的加工和处理如何表示各种数据的加工和处理?怎样进行需求分析?Copyright Xinjun Mao6主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具Copyright Xinjun Mao7模型表示工具模型表示工具(语言语言)n数据流图n数据字典n小说明Copyright Xinjun Mao8数据流图数据流图n数据流图是一种描述数据以及对数据进行加工转换的图形工具n一个数据流图主要由以下
4、四个部分组成: 数据流数据流数据处理数据处理外部实体外部实体数据存储数据存储外部实体名称外部实体名称数据存储名称数据存储名称转换转换名称名称数据流名称数据流名称Copyright Xinjun Mao9数据流图例子数据流图例子Copyright Xinjun Mao10数据字典数据字典Copyright Xinjun Mao11数据字典数据字典n面向数据流分析需要引进数据字典n数据字典以一种准确、简洁的方式对数据流图中数据流、外部实体、数据存储作说明n数据字典中的每个数据条目有以下内容:名字(别名)数据类型使用该数据条目的简要说明数据条目的解释性说明其他补充说明:取值范围、缺省值、设计约束等以
5、它作为输入流或输出流的转换的列表Copyright Xinjun Mao12数据字典例子数据字典例子n订票单订票单 名字名字: 订票单 数据类型数据类型: 航班日期 + 目的地 + 出发地 + 航班号 作为输出流的转换列表作为输出流的转换列表: 作为输入流的转换列表作为输入流的转换列表: 预定机票使用说明使用说明: 必须给出各个数据项解释性说明解释性说明: 无缺省值: 出发地 = 填写本地 Copyright Xinjun Mao13小说明小说明Copyright Xinjun Mao14小说明小说明n小说明准确、详细对数据流图中的各个转换的功能、性能和设计约束等作进一步的解释和说明;n需求分
6、析人员通常用结构化的自然语言、判定树和判定表来书写小说明n小说明应该尽可能的简洁、清晰、易于理解Copyright Xinjun Mao15小说明例子小说明例子n记帐(1) 将本次业务记录到中心数据库中(2) 产生帐单(3) 打印账单Copyright Xinjun Mao16主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具Copyright Xinjun Mao17面向数据流的建模过程面向数据流的建模过程nDFD是系统中各处理子功能以及它们之间数据流动的图形表示 - 刻划系统功能和行为nDFD为描述和建模的工具和手段n如何利用DFD进行需求分析,描述用户需求?Cop
7、yright Xinjun Mao18面向数据流的分析方法面向数据流的分析方法n面向数据流分析方法运用了抽象和分解的技术.提供一些经验知识和规则以指导需求分析Copyright Xinjun Mao19步骤步骤1: 建立顶级建立顶级DFD(1/2)n根据问题域与外部环境之间的相互关系定义问题 域的边界,即问题域与外界环境之间的输入输出关系 - 得到最高抽象层次n顶级数据流图仅仅描述待开发的软件系统与外部环境之间的关系,因此在此DFD中,待开发的软件系统被抽象描述为一个转换Copyright Xinjun Mao20步骤步骤1: 建立顶级建立顶级DFD(2/2)Copyright Xinjun
8、Mao21步骤步骤2:自顶向下,功能分解自顶向下,功能分解n自顶向下、逐步求精对顶级数据流图进行精化,生成下一级数据流图n对用户的需求描述进行语法分析名词或名词短语构成潜在数据流、数据存储和外部实体 动词构成潜在的处理功能Copyright Xinjun Mao22案例分析案例分析:顶级顶级(0)DFDCopyright Xinjun Mao23案例分析案例分析:精化生成一级精化生成一级(0.1)DFDCopyright Xinjun Mao24案例分析案例分析: 精化生成二级精化生成二级(0.1.1)DFDCopyright Xinjun Mao25案例分析案例分析: 精化生成三级精化生成三
9、级(0.1.1.1)DFDCopyright Xinjun Mao26步骤步骤2:自顶向下,功能分解自顶向下,功能分解(续续)n在分解、精化过程中,把生成的数据流、数据存储、外部实体在数据字典中加以定义, 对底层转换在小说明中作出描述n什么是底层转换?是一个转换没有被进一步精化和分解Copyright Xinjun Mao27案例分析案例分析: 三级三级DFDCopyright Xinjun Mao28数据字典数据字典n读者基本信息 名字和别名:读者基本信息 数据类型:名字读者类别出生日期系别 照片 限制: 必须提供所有的信息 相关的转换列表:n读者类别 名字和别名:读者类别 数据类型:教师
10、| 本科生 | 硕士研究生 | 博士研究生 限制: 无 相关的转换列表:Copyright Xinjun Mao29案例分析案例分析: 三级三级DFDCopyright Xinjun Mao30小说明小说明n判断读者是否存在判断读者信息的合法性和有效性查询读者信息库,判断该读者是否已经注册Copyright Xinjun Mao31需求分析原则需求分析原则n正确使用数据流图中的各个图形要素;如一个转换既有输入,又有输出n每个数据流、数据存储、外部实体在数据字典中均有定义,数据流图中最底层的转换必须在小说明中说明n父图和子图之间必须保持平衡,即父图中某一转换的输入、输出数据流和分解这个转换的子图
11、的 输入、输出数据流必须完全一致n精化过程适可而止Copyright Xinjun Mao32主讲内容主讲内容1.基本思想和原理2.建模语言3.建模过程4.CASE工具Copyright Xinjun Mao33支持面向数据流分析的支持面向数据流分析的CASE工具工具n建模(数据流图, 数据字典, 小说明)n模型的存储, 显示和检索n模型之间, 数据条目之间的一致性检查nCopyright Xinjun Mao34本讲小结本讲小结1.基本原理和思想2.建模语言(数据流、数据字典、小说明)3.建模方法(规则和经验)Copyright Xinjun Mao35思考题思考题n你认为面向数据流的需求分析方法能否自然,清晰,有效地获取和刻划用户需求? 为什么?n面向数据流的需求分析方法是如何体现抽象、问题分解、建模等需求分析技术的?Copyright Xinjun Mao36Q & AQ & AAn Introduction to Software EngineeringPractice, Practice, and PracticeCopyright Xinjun Mao37