1 / 37

第 4 讲 面向数据流的需求分析方法

软件工程导论 之. 第 4 讲 面向数据流的需求分析方法. 毛新军 教授 xjmao@nudt.edu.cn 计算机科学与技术系 602 教研室 0731-(45)73649. 用工程化的方法来开发软件. 序言. 需求分析的任务 建模是实现需求分析任务的一种好的方法 有助于全面、系统地了解和分析用户的需求 有助于发现需求描述中不一致、错误和模糊性 确保软件 SRS 一致化、全面化、准确化 如何建立用户需求的模型?. 主讲内容. 基本思想和原理 建模语言 建模过程 CASE 工具. 基本原理和思想. 提出一种建模方法时需考虑的问题

honora
Télécharger la présentation

第 4 讲 面向数据流的需求分析方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 软件工程导论 之 第4讲 面向数据流的需求分析方法 毛新军 教授 xjmao@nudt.edu.cn 计算机科学与技术系602教研室 0731-(45)73649 用工程化的方法来开发软件

  2. 面向数据流的需求分析方法 序言 • 需求分析的任务 • 建模是实现需求分析任务的一种好的方法 • 有助于全面、系统地了解和分析用户的需求 • 有助于发现需求描述中不一致、错误和模糊性 • 确保软件SRS一致化、全面化、准确化 • 如何建立用户需求的模型?

  3. 面向数据流的需求分析方法 主讲内容 • 基本思想和原理 • 建模语言 • 建模过程 • CASE工具

  4. 面向数据流的需求分析方法 基本原理和思想 • 提出一种建模方法时需考虑的问题 • 用户需求的本质是什么? (原理) • 表示机制以刻画和描述用户的需求? (语言) • 建模的过程和步骤? (方法)

  5. 面向数据流的需求分析方法 面向数据流需求分析方法的产生 • 结构化软件开发方法 • 70年代Edward Yourdon, Tom DeMarco等人提出 • 基本思想: “自顶向下,逐步求精”,“抽象和分解” • 结构化软件开发方法 • 结构化需求分析 + 结构化软件设计 + 结构化程序设计 • 面向数据流分析方法(DFD)是结构化软件开发方法一员

  6. 面向数据流的需求分析方法 基本原理 • 用户需求:功能和行为, 性能, 设计约束 • 从信息处理的角度上看,应用系统的功能本质上对各种数据的加工和处理 • 如何表示各种数据的加工和处理? • 怎样进行需求分析?

  7. 面向数据流的需求分析方法 主讲内容 • 基本思想和原理 • 建模语言 • 建模过程 • CASE工具

  8. 面向数据流的需求分析方法 模型表示工具(语言) • 数据流图 • 数据字典 • 小说明

  9. 数据存储名称 面向数据流的需求分析方法 数据流图 • 数据流图是一种描述数据以及对数据进行加工转换的图形工具 • 一个数据流图主要由以下四个部分组成: • 数据流 数据流名称 • 外部实体 外部实体名称 转换名称 • 数据处理 • 数据存储

  10. 面向数据流的需求分析方法 数据流图例子

  11. 面向数据流的需求分析方法 数据字典

  12. 面向数据流的需求分析方法 数据字典 • 面向数据流分析需要引进数据字典 • 数据字典以一种准确、简洁的方式对数据流图中数据流、外部实体、数据存储作说明 • 数据字典中的每个数据条目有以下内容: • 名字(别名) • 数据类型 • 使用该数据条目的简要说明 • 数据条目的解释性说明 • 其他补充说明:取值范围、缺省值、设计约束等 • 以它作为输入流或输出流的转换的列表

  13. 面向数据流的需求分析方法 数据字典例子 • 订票单 • 名字: 订票单 • 数据类型: 航班日期 + 目的地 + 出发地 + 航班号 • 作为输出流的转换列表: • 作为输入流的转换列表: 预定机票 • 使用说明: 必须给出各个数据项 • 解释性说明: 无 • 缺省值: 出发地 = 填写本地 • ……

  14. 面向数据流的需求分析方法 小说明

  15. 面向数据流的需求分析方法 小说明 • 小说明准确、详细对数据流图中的各个转换的功能、性能和设计约束等作进一步的解释和说明; • 需求分析人员通常用结构化的自然语言、判定树和判定表来书写小说明 • 小说明应该尽可能的简洁、清晰、易于理解

  16. 面向数据流的需求分析方法 小说明例子 • 记帐 (1) 将本次业务记录到中心数据库中 (2) 产生帐单 (3) 打印账单

  17. 面向数据流的需求分析方法 主讲内容 • 基本思想和原理 • 建模语言 • 建模过程 • CASE工具

  18. 面向数据流的需求分析方法 面向数据流的建模过程 • DFD是系统中各处理子功能以及它们之间数据流动的图形表示 -- 刻划系统功能和行为 • DFD为描述和建模的工具和手段 • 如何利用DFD进行需求分析,描述用户需求?

  19. 面向数据流的需求分析方法 面向数据流的分析方法 • 面向数据流分析方法运用了抽象和分解的技术.提供一些经验知识和规则以指导需求分析

  20. 面向数据流的需求分析方法 步骤1: 建立顶级DFD(1/2) • 根据问题域与外部环境之间的相互关系定义问题 域的边界,即问题域与外界环境之间的输入输出关系 --> 得到最高抽象层次 • 顶级数据流图仅仅描述待开发的软件系统与外部环境之间的关系,因此在此DFD中,待开发的软件系统被抽象描述为一个转换

  21. 面向数据流的需求分析方法 步骤1: 建立顶级DFD(2/2)

  22. 面向数据流的需求分析方法 步骤2:自顶向下,功能分解 • 自顶向下、逐步求精对顶级数据流图进行精化,生成下一级数据流图 • 对用户的需求描述进行语法分析 • 名词或名词短语构成潜在数据流、数据存储和外部实体 • 动词构成潜在的处理功能

  23. 面向数据流的需求分析方法 案例分析:顶级(0)DFD

  24. 面向数据流的需求分析方法 案例分析:精化生成一级(0.1)DFD

  25. 面向数据流的需求分析方法 案例分析: 精化生成二级(0.1.1)DFD

  26. 面向数据流的需求分析方法 案例分析: 精化生成三级(0.1.1.1)DFD

  27. 面向数据流的需求分析方法 步骤2:自顶向下,功能分解(续) • 在分解、精化过程中,把生成的数据流、数据存储、外部实体在数据字典中加以定义, 对底层转换在小说明中作出描述 • 什么是底层转换? • 是一个转换 • 没有被进一步精化和分解

  28. 面向数据流的需求分析方法 案例分析: 三级DFD

  29. 面向数据流的需求分析方法 数据字典 • 读者基本信息 • 名字和别名:读者基本信息 • 数据类型:名字+读者类别+出生日期+系别+ 照片 • 限制: 必须提供所有的信息 • 相关的转换列表:…… • 读者类别 • 名字和别名:读者类别 • 数据类型:教师 | 本科生 | 硕士研究生 | 博士研究生 • 限制: 无 • 相关的转换列表:……

  30. 面向数据流的需求分析方法 案例分析: 三级DFD

  31. 面向数据流的需求分析方法 小说明 • 判断读者是否存在 • 判断读者信息的合法性和有效性 • 查询读者信息库,判断该读者是否已经注册

  32. 面向数据流的需求分析方法 需求分析原则 • 正确使用数据流图中的各个图形要素;如一个转换既有输入,又有输出 • 每个数据流、数据存储、外部实体在数据字典中均有定义,数据流图中最底层的转换必须在小说明中说明 • 父图和子图之间必须保持平衡,即父图中某一转换的输入、输出数据流和分解这个转换的子图的 输入、输出数据流必须完全一致 • 精化过程适可而止

  33. 面向数据流的需求分析方法 主讲内容 • 基本思想和原理 • 建模语言 • 建模过程 • CASE工具

  34. 面向数据流的需求分析方法 支持面向数据流分析的CASE工具 • 建模(数据流图, 数据字典, 小说明) • 模型的存储, 显示和检索 • 模型之间, 数据条目之间的一致性检查 • ……

  35. 面向数据流的需求分析方法 本讲小结 • 基本原理和思想 • 建模语言(数据流、数据字典、小说明) • 建模方法(规则和经验)

  36. 面向数据流的需求分析方法 思考题 • 你认为面向数据流的需求分析方法能否自然,清晰,有效地获取和刻划用户需求? 为什么? • 面向数据流的需求分析方法是如何体现抽象、问题分解、建模等需求分析技术的?

  37. 面向数据流的需求分析方法 An Introduction to Software Engineering Q & A Practice, Practice, and Practice

More Related