结构化设计方法(Structured Design, SD)是一种面向数据流的软件设计方法

结构化设计方法(Structured Design, SD)是一种面向数据流的软件设计方法,主要用于将需求分析阶段得到的数据流图(DFD)转换为软件的模块结构。该方法通过结构图(Structure Chart)、层次图和 HIPO 图来描述系统的模块划分及其调用关系。

其中,结构图是核心工具,用于表示软件系统的模块组成及模块之间的调用关系。其主要成分包括:

  1. 模块(Module):用矩形表示,矩形内标注模块名称,代表一个功能独立的程序单元。
  2. 调用关系(Call):用从调用模块指向被调用模块的箭头或直线表示,说明控制流的方向。
  3. 数据传递(Data):在调用线上可标注数据参数,表示模块间传递的数据信息,体现数据流。

此外:

  • 层次图展示模块间的上下级关系,体现系统的分层结构。
  • HIPO 图(Hierarchy plus Input-Process-Output)是在层次图的基础上,为每个模块附加 I-P-O(输入-处理-输出)说明,更全面地描述模块功能。

这些图形工具共同帮助开发人员清晰地理解系统结构,提升模块的内聚性与降低耦合度,从而增强软件的可维护性和可读性。

示例结构图片段:
   +-----------+       +-------------+
   |  主模块   | ----> | 输入模块    |
   +-----------+       +-------------+
         |
         v
   +-------------+
   | 处理模块    |
   +-------------+
         |
         v
   +-------------+
   | 输出模块    |
   +-------------+

结构图(Structure Chart)与数据流图(Data Flow Diagram, DFD)是结构化软件开发过程中两个重要的图形工具,它们在系统分析与设计的不同阶段发挥作用,既有区别又有密切联系。

区别:

比较维度数据流图(DFD)结构图(Structure Chart)
目的描述系统中数据的流动、变换和存储过程,强调“数据如何被处理”描述软件的模块结构及模块间的调用关系,强调“程序如何组织”
关注点数据流、加工(处理)、数据存储、外部实体模块、调用关系、接口参数(数据/控制信息)
表示内容数据的来源、去向、处理逻辑和存储程序的模块划分及其控制层次结构
使用阶段需求分析阶段软件设计阶段(尤其是概要设计)
图形元素圆角矩形(处理)、箭头(数据流)、方框(外部实体)、双线(数据存储)矩形(模块)、箭头或直线(调用关系),可标注数据或控制信号
方向性强调数据流动方向强调控制调用方向

联系:

  1. 转化关系:结构图通常由DFD导出。通过分析DFD中的处理流程(如变换型或事务型数据流),可以映射为相应的模块结构。
  2. 一致性要求:结构图中的模块应实现DFD中对应处理的功能,确保功能覆盖完整。
  3. 共同目标:两者都服务于系统的结构化建模,帮助开发人员从不同角度理解系统逻辑。

简言之,DFD回答“做什么”(What)的问题,而结构图回答“怎么做”(How)的问题。DFD是结构图设计的基础,结构图是将DFD中的逻辑功能转化为程序结构的关键步骤。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值