)
考点频率★★★★☆选择题常考下午题偶尔结合DFD考查映射关系难度⭐⭐⭐建议重点掌握变换流和事务流的识别特征以及各自映射为SC图的步骤1️⃣ 什么是面向数据流的设计面向数据流的设计是结构化设计方法中的核心内容。它回答的问题是有了DFD数据流图怎么把它变成SC图结构图简单来说就是根据数据在系统中的流动特征决定程序模块应该怎么划分。DFD中的数据流按形态可以分为两种类型特征映射方式变换流数据呈线性流动输入 → 加工 → 输出变换流映射事务流数据在某个节点根据条件分岔走不同路径事务流映射一个大型系统的DFD中可能同时包含变换流和事务流。通常先识别事务流再对每个分支应用变换流映射。2️⃣ 变换流映射2.1 什么是变换流变换流是指数据沿“输入 → 变换加工 → 输出”的线性路径流动整体呈直线型或流水线型结构。外部实体 → 输入数据 → 加工A → 加工B → 输出数据 → 外部实体识别方法DFD中不存在明显的“事务中心”即没有根据条件选择不同路径的加工数据就是一路向前流经过若干加工后输出结果。举例工资计算系统考勤数据 → 计算工资 → 工资条数据统计系统原始数据 → 数据清洗 → 统计分析 → 报表计费系统通话记录 → 计费规则计算 → 账单2.2 变换流映射为SC图的步骤把变换流DFD映射为SC图本质上是“三步定位、三类模块”第一步在DFD中找到三个关键区域区域位置内容输入流传入部分数据流入主加工之前的部分负责接收原始数据、进行初步校验和格式转换的加工中心变换主加工DFD中真正发生“转化”的加工对输入数据进行核心业务处理输出流传出部分主加工结束到数据输出之间的部分负责对结果进行格式化和输出的加工第二步分别映射为三类SC模块┌─────────────────┐ │ 主控模块 │ ← 调度整个流程 └────────┬────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ 输入模块 │ → │ 变换模块 │ → │ 输出模块 │ │ (传入) │ │ (中心) │ │ (传出) │ └───────────┘ └───────────┘ └───────────┘举例工资计算系统的DFD中考勤数据输入→计算工资→生成工资条映射为“输入模块→工资计算模块→输出模块”。3️⃣ 事务流映射3.1 什么是事务流事务流是指数据在某个加工处根据条件或类型选择不同的处理路径整体呈分支结构类似switch-case。┌─────────────────┐ │ 事务中心加工 │ ← 接收数据判断类型 └────────┬────────┘ │ ┌──────────┬─────────┼─────────┬──────────┐ ▼ ▼ ▼ ▼ ▼ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │动作A │ │动作B │ │动作C │ │动作D │ │动作E │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘识别方法DFD中存在一个加工它接收输入数据后根据某个条件如订单类型、用户等级、支付方式将数据分发到不同的下游加工。举例订单处理根据订单类型普通/加急/国际走不同流程支付系统根据支付方式支付宝/微信/银联调用不同接口审批流程根据金额大小走不同审批路径3.2 事务流映射为SC图的步骤第一步在DFD中找到事务中心事务中心通常是一个“判断型加工”——输入数据进来后根据某个条件变量决定走哪条分支。在DFD中通常表现为一个加工有多条输出流每条流向不同的下游加工。第二步将DFD映射为SC图┌─────────────────────┐ │ 主控模块 │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ 事务调度模块 │ ← 对应DFD中的事务中心 └──────────┬──────────┘ │ ┌────────────────────┼────────────────────┐ ▼ ▼ ▼ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ 动作模块1 │ │ 动作模块2 │ │ 动作模块3 │ │ (普通订单)│ │ (加急订单)│ │ (国际订单)│ └───────────┘ └───────────┘ └───────────┘事务流与变换流的组合在实际项目中事务流的每个动作分支内部往往又包含完整的变换流结构输入→处理→输出。所以映射时通常是先找事务中心把大的分支结构定下来再在每个分支内部做变换流映射。4️⃣ 变换流 vs 事务流对比项变换流事务流数据流向线性直线型分支树型核心特征输入→加工→输出根据条件选择路径DFD中特征数据一路向前无分岔存在“事务中心”加工映射产出输入模块变换模块输出模块调度模块多个动作模块典型场景批处理、数据转换、报表生成订单分流、支付路由、审批流转5️⃣ 经典例题例题1某DFD中数据从“客户信息”经“验证身份”加工后进入“处理订单”加工再经“生成回执”加工输出给客户。数据流整体呈线性路径。这种数据流类型属于 映射为SC图时“处理订单”应映射为 模块。A. 变换流输出模块B. 事务流变换模块C. 变换流变换模块D. 事务流输出模块解析数据呈线性流动客户信息→验证身份→处理订单→生成回执→客户属于变换流。“处理订单”是数据真正发生转化和核心计算的位置属于中心变换应映射为变换模块。选C。例题2某订单管理系统中DFD中有一个加工“订单分类”它根据订单类型普通/加急/国际将订单分发到三个不同的下游加工。这种数据流类型属于 映射为SC图时需要先确定 。A. 变换流事务中心B. 事务流事务中心C. 变换流中心变换D. 事务流中心变换解析数据在“订单分类”处根据条件走不同分支路径属于事务流。映射时需要先定位事务中心即“订单分类”加工再为每个分支建立动作模块。选B。6️⃣ 记忆口诀变换流线性走事务流岔路分。变换找中心事务找调度。输入变换输出三模块调度加动作分支分。7️⃣ 小测验评论区对答案某DFD中数据从“原始数据”经过“数据清洗”加工再进入“统计分析”加工最后经过“报表生成”输出。以下说法正确的是 。A. 该DFD属于事务流“统计分析”是事务中心B. 该DFD属于变换流“统计分析”是中心变换C. 该DFD属于事务流“数据清洗”是事务中心D. 该DFD属于变换流“报表生成”是中心变换本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #变换流 #事务流 #结构化设计 #软件工程