Informational School,Guangzhou University Spring 2005

Slides:



Advertisements
Similar presentations
1 2. 功能建模和数据流图 最初, 结构化分析方法仅讨论数据流建模。目 标系统被表示成如图所示的数据变换流程图。 系统的功能体现在核心的数据变换中。 外部实体 目标 系统 目标 系统 输入信息 输出信息.
Advertisements

1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
第四章 文学类文本阅读 增分突破一 金手一指,让你做好情节作 用分析题.
软件工程 第5章 结构化分析与设计.
软件工程 第四章 结构化分析与设计 制作者 程丽.
Informational School,Guangzhou University Spring 2005
南美洲 吉林省延吉一高中 韩贵新.
愛之花.
实验四 利用中规模芯片设计时序电路(二).
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
常用逻辑用语复习课 李娟.
Oracle数据库 Oracle 子程序.
增分突破二 准确概括传主形象,深入分析传主的人格魅力和品质特征
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
Hadoop I/O By ShiChaojie.
面向对象建模技术 软件工程系 林 琳.
Chinese Virtual Observatory
管理信息结构SMI.
走进编程 程序的顺序结构(二).
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数 控 技 术 华中科技大学机械科学与工程学院.
第 7 讲 软件设计方法.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
第二章 Java语言基础.
数据挖掘工具性能比较.
动态规划(Dynamic Programming)
CPU结构和功能.
《编译原理与技术》 期末复习 计算机科学与技术学院 郑启龙 李 诚 25/12/2018.
第3章 信息与信息系统 陈恭和.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
顺序表的删除.
3.8.1 代数法计算终点误差 终点误差公式和终点误差图及其应用 3.8 酸碱滴定的终点误差
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
静定结构位移计算 ——应用 主讲教师:戴萍.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第9章 多媒体技术 掌握 Windows 画图工具的基本操作; 掌握 Windows 音频工具进行音频播放;
第二节 C语言的特点.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
入侵检测技术 大连理工大学软件学院 毕玲.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

Informational School,Guangzhou University Spring 2005 软件工程 Software Engineering 广州大学信息学院 Informational School,Guangzhou University Spring 2005 Software Engineering

软件工程 Software Engineering 第七章 面向数据流的开发方法 广州大学信息学院 Software Engineering

第七章 面向数据流的开发方法 7.1 概述 7.2 结构化分析 7.3 结构化设计 Software Engineering

7.1 概述 结构化方法的核心是面向数据流技术。 结构化方法=结构化分析(SA)+结构化 设计(SD)+结构化程序设 计(SP)。 结构化思想:基于模块化的思想,按照“自顶向下、逐步求精”的原理对系统的功能和结构进行划分,利用一定的工具,按照特定步骤工作的软件开发方法。 结构化方法的基本原则:抽象与分解。 Software Engineering

7.1 概述 结构化分析:面向数据流进行需求分析的方法。用数据流图+数据字典表示。 结构化设计:从数据流图推导出模块结构图。 优点:简单、实用;适合于瀑布模型;成功率高。 缺点:对于规模大、复杂的应用系统不太适应;难于解决软件重用的问题;难于适应需求的变化;难于彻底解决维护问题。 Software Engineering

7.2 结构化分析 基本思路:先将分析对象抽象成一个系统,然后自顶向下、逐步求精,使复杂的系统分解成足够简单,能够清楚地被理解和表达的若干个子系统。例:见P154图7-1。 使用的工具:数据流图、数据字典、结构化英语、判定表和判断树。 Software Engineering

一、数据流图(Data Flow) 数据流图:图形化地显示出系统中数据的处理过程,表达数据在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换。 Software Engineering

1、数据流图的基本符号 数据流图有四个基本符号:数据流、数据处理、数据存储、外部实体。 (1)数据流 是一束按特定的方向从源点流到终点的数据,它指出了数据及其流动方向。 用一条线表示数据流,用箭头表示流动方向。 数据流可以由某一外部项产生,也可以由处理过程或数据存储产生。 数据流要有合适的名字。命名原则:见P155 Software Engineering

1、数据流图的基本符号 在某些情况下,很难用简单而又恰当的名词来表达某一数据流的内容。处理方法: (2)数据处理 是对数据进行变换操作的单元,即把流向它的数据进行一定的变换处理产生新的数据。 用圆圈表示,处理过程名填在圆圈内,并应适当反映该处理的含义。 Software Engineering

1、数据流图的基本符号 处理过程对数据的操作主要有两类: 变换数据的结构。如将数据的格式重新排列。 在原有数据内容基础上产生新的数据内容。如对数据进行累计或计算平均值。 命名原则:见P155 Software Engineering

1、数据流图的基本符号 (3)数据存储 数据保存的地方,由若干数据元素组成,只是数据存储的逻辑描述。 为避免数据流线条的交叉,有时在一张图中会出现同样的数据存储。 命名方法同数据流。 Software Engineering

1、数据流图的基本符号 (4)外部实体 是系统之外的实体,不受系统控制。 系统之外的人、程序、机构等。 对系统提供数据流的外部实体称为数据源点,接受系统输出数据流的外部实体称为数据终点。数据源点和终点可以是同一外部实体。 其它几种附加符号:P156图7-3。 Software Engineering

2、数据流图的建立 (1)数据流图的画法 画系统的输入/输出 先不考虑系统包括哪些功能 画系统的内部 从输入端逐步画到输出端。在数据流的组成或值发生变化的地方画上一个“加工”,其作用就是实现这一变化,在需要暂时存储的静态数据的地方画出“数据存储”。 画数据处理的内部 若加工的内部还有细节,可将这个加工用几个子加工代替,并在子加工之间画出这些数据流。 (2)注意事项 见P157 Software Engineering

2、数据流图的建立 例:招考公务员成绩处理系统 考生报名后将考生基本情况输入到考生情况文件; 工作人员根据考生报考的专业、地址进行编排准考证号、安排考场等考前工作,并将这些信息存入考生文件之中; 考试后每位考生各门课的成绩输入到系统中; 计算每个考生的总成绩,并打印考生成绩单; 各专业分别将考生按成绩总分从高分到低分排序,供录取单位在录取时作参考; 按考生总成绩从高到低进行筛选录取,总分相同时专业课成绩高的优先; 输出录取通知单,将录取通知单发给被录取的考生; 考试后进行各种统计:实考人数、总成绩平均分、各专业成绩平均分。 Software Engineering

二、数据字典(Data Dictionary) 数据字典:以一种准确的和无二义的方式对数据流图中所有名字进行定义(或说明)的汇总。是数据流图的辅助资料,对数据流图起注解作用。 包括:数据流、数据存储、数据项、数据结构、处理过程。 数据字典中把数据的最小组成单位定义为数据项,而若干个数据项可以组成一个数据结构。 数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。 Software Engineering

关系: 数据流 数据存储 数据结构 数据元素 Software Engineering

1 数据项 数据项:是数据的最小组成单位,即不可再分的数据单位。 描述内容: 例: 数据项的名称 数据项的值域 数据项的数据类型 数据项的长度 例: Software Engineering

2 数据流的描述 定义:表示数据流的逻辑组成; 包括:组成这个结构的各个数据元素,以及它们之间的组合关系; 描述所用的符号:见P160表7-1。 数据结构: 数据流条目的主要内容: 数据流名称 数据流来源 数据流去处 数据流的组成:数据结构 例: Software Engineering

3 数据存储的描述 数据存储条目的主要内容: 数据存储名称 流入、流出的数据流 数据存储的组成:数据结构 存储方式: 例: Software Engineering

4 数据处理的描述 对某个加工处理进行描述 描述内容: 处理逻辑的名称 简述 处理逻辑的输入/输出 处理逻辑的主要功能 加工逻辑 例: Software Engineering

三、加工逻辑的描述工具 为何要对处理功能作进一步的描述? 描述系统逻辑结构的工具----DFD; 用自然语言描述存在几类问题: (1)界限不明确 (2)逻辑条件的次序不明确 (3)意义模糊的形容词或副词 Software Engineering

1 判断树 例: 表示经过不同条件的判断和决策,作出相应处理的过程; 用于有条件分支情形; 方法: ①确定有哪些条件; ②确定每个条件有几种可能的状态; ③确定有哪些动作; ④确定每一项动作要依赖哪些条件及取值; 例: Software Engineering

2 判定表 采用表格方式来表示具有条件分支情形的处理逻辑的一种工具; 表格分为四大部分: ①左上角----条件说明; ②左下角----动作说明; ③右上角----条件组合; ④右下角----各种条件下组合下的行动; 有些条件组合在实际中可能是矛盾或无意义,需将它们删除。有些组合条件下的行动相同,可合并; 例: Software Engineering

3 结构式语言 是一种介于自然语言和程序设计语言之间的一种语言; 用于描述三种基本的逻辑结构:顺序结构、判断结构、循环结构; 使用的词汇: ①祈使句中的动词; ②在数据字典中定义的名词; ③某些逻辑表达式中的保留字; Software Engineering

3 结构式语言 使用的语句: ①祈使句: *动词开头,并包括一个名词作为宾语,表示动作的对象; *句中不要使用形容词或副词; Software Engineering

3 结构式语言 ②判断句 *用于有条件分支情形; *语句的一般形式: 如果 条件1 则 动作A 否则 就 动作B 如果 条件1 则 动作A 否则 就 动作B Software Engineering

3 结构式语言 ③循环句 *在某种条件下,连续执行相同的动作,直到这个条件不成立为止; *语句的一般形式: 对每一个(处理对象): 动作(祈使句) 或 执行如下动作: 直到(条件)满足为止 *处理功能定义的书写格式: 例: Software Engineering

7.3 结构化设计(由数据流模型导出系统结构) 系统结构特征可归纳为两种典型形式: 变换型结构 事务型结构 数据流图可分为两种类型: 变换型数据流 事务型数据流 Software Engineering

事务型 结构 由输入、变换中心和输出三部分组成 变换型结构 输入 变换 中心 输出 接受 路径 动 作 路 径 基本模型 特征 由输入、变换中心和输出三部分组成 变换型结构 输入 变换 中心 输出 接受 路径 动 作 路 径 具有在多种事务中选择执行某类事物的能力 事务型 结构 事务 中心 Software Engineering

变换型 数据流 结构 事务型 数据流 结构 传入 部分 变换 中心 传出 部分 传入 变换 传出 接受 部分 事务 中心 动作 1 事务 分析 动作 2 接受 动作 3 Software Engineering

处理 显示 变换型数据流举例 传入部分 变换中心 传出部分 结果 数据 输入 信息 正确 信息 格式 检查 物理 输入 逻辑 输入 逻辑 输出 物理 输出 特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD Software Engineering

变换流示意图 信息 信息流 输入流 输出流 外部 表示 交换流 内部 表示 时间 Software Engineering

事务型数据流图举例 L E B A H F C I O M D G N Software Engineering

大型系统DFD中,变换型和事务型 结构往往共存: 传出 变换 传入 T 事务中心 Software Engineering

SD方法的两种设计方法 变换分析 变换型DFD 系统结构图 事务分析 事务型DFD 系统结构图 Software Engineering

系统结构图的组成 处理 调用:一般调用、选择调用、循环调用 通讯 Software Engineering

初始的SC 主模块 输入模块 主加工模块 输入模块 由变换分析产生 事务控制模块 由事务分析产生 接受模块 动作发送模块 动作1模块 动作2模块 动作3模块 Software Engineering

(1)将数据流划分为三部分 变换分析设计方法 确定逻辑输入端和逻辑输出端; 数据流划分为输入、变换中心、输出三部分; 注:物理变换 Software Engineering

a b w c r u d v e p 变换中心 W A B C 传出部分 传入部分 P R Q D E U V Software Engineering

变换分析设计方法步骤 (2)第一级分解(建立初始SC框架) 设计顶层和第一层模块 Software Engineering

第一级分解的方法 MC MA MT ME Software Engineering

MC c,e MA MT ME u,w c,e u,w 顶层 第一层 第一级分解后的SC 中心变 换模块 传入模块 传出模块 Software Engineering

变换分析设计方法步骤 (3)输入、输出和变换部分分别分解 Software Engineering

e c c e c,e MA Get C Get E b d b d Get B B to C b a a A to B Read D 输入分支的分解 MA c e Get C Get E c e b d b d Get B B to C Read D D to E b a a Read D A to B Software Engineering

u w w u v v w,u w,u ME ME W U V Put U u v U to V (1) (2) Write W 输出分支的分解 ME ME u w w u W U Put U Write W v v u v V U to V Write V (1) (2) Software Engineering

中心加工分支的分解 MT u,w e p r c,p r Q P R Software Engineering

任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时 (有一个明显的事务中心),以采用事务分析方法为宜。 事务分析设计方法 任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时 (有一个明显的事务中心),以采用事务分析方法为宜。 Software Engineering

事务分析设计方法步骤: (1)在DFD上确定事务中心、接收部 分和发送部分。 (2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。 (3)分解细化接收分支和发送分支, 完成初始SC。 Software Engineering

事务流设计举例 E L B A F C I M D G N 事务中心 Software Engineering

事务流设计举例 系统 (主模块) A B G F C E D L 取 A M N 事务加工模块 Software Engineering

事务流设计举例 (另一种画法) XX系统 A 变换控制 输出 E、F、G 输入 A L M N E、F、G A E、F、G G E、F、G B H C H F E D L M N O 输出H Software Engineering

2.2 2.3 2.1 2.5 2.4 一层数据流图 (a) 要求类 型处理 当前日期 有效图书管理要求 入库单 目录文件 借书单 借书 新书入库 入库单 2.3 目录文件 借书单 2.1 借书 要求类 型处理 注销单 2.5 当前日期 借 注销图书 书 单 2.4 还书 罚款单 一层数据流图 (a) Software Engineering

1 5 10 3 4 6 8 9 11 2 7 传入 变换中心 传出 事务型 (3) 混合流设计举例 Software Engineering

混合流设计举例 事务 中心 接收部分 传入 传出 变换 T 发送 部 分 Software Engineering

e b a 变换中心 传出 传入 m c1 h d g k c2 b3 c3 f j T1 b1 b2 T2 T3 事务流子系统 混合流设计举例 变换中心 传出 传入 m EH T1 c1 LM b1 h e b d g k L b2 c2 AB BC T2 CD DE HK KL a b3 c3 f j T3 FJ 事务流子系统 Software Engineering

混合流设计举例 XX系统 k d d k 输入D 变换控制 输出K d k c c L L 输入C 输出L m L m 事务子系统 输出M CD DE FJ EH HK KL 输出L m L m 事务子系统 LM 输出M Software Engineering