1、什么是模块?

模块可以认为是组成系统的基本单位,它具有可组合、分解、更换的特点。系统中任何一个处理功能都能看成是一个模块。模块根据具体化的程度可划分为逻辑模块和物理模块。

模块的要素:

  • 输入输出:模块的输入来源和去向都是来自同一个调用者。

  • 处理功能:主要指把输入转换成输出所需要完成的任务。

  • 内部数据:模块本身引用的数据。

  • 程序块:实现模块功能的代码。

其中前两个反映了模块的外部特征。后两个属于模块的内部特性。针对结构化设计中,主要考虑的是模块的外部特征。

2、模块结构图介绍

模块结构图主要关注模块的外部特征,即上下级模块、同级模块之间的数据传递和调用关系。模块结构图是结构化设计中描述系统结构的图形工具。作为一种文档,它必须严格定义模块名、功能、接口,同时还应当在模块结构图上反映结构化设计的思想。

模块结构图组成:模块、调用、数据、控制、转接。

  • 模块:主要指用一个名字就可以调用一段程序语句。

  • 调用:用箭头形状表示调用。箭头总是由调用模块指向被调用模块。调用包含直接调用、条件调用、循环调用。

  • 数据:调用模块把数据传送到被调用模块以供处理,然后被调用模块可以把处理的结构送回到调用模块。

  • 控制信息:模块之间有时需要传送某些控制信息。控制信息和数据的主要区别是前者只反映数据的某种状态,不用处理。

  • 转接符号:如果一张纸画不下的话,可以用转接符号转接到另外一张纸上,或者避免图上线条的交叉都可以用转接符号,圆圈内需要加标号。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

系统设计知识:系统模块结构设计知识笔记相关推荐

  1. 我问chatGPT如何学习SAP系统以及如何学习各模块的知识

    文章目录 文章目录 前言 如何利用chatGPT进行学习 1.问题1:请给我提供一个学习SAP的路线图 2.问题2:如何学习SAP系统 3.问题3:刚开始学习SAP,有什么比较好的建议 最后想说 前言 ...

  2. 斯坦福大学CS520知识图谱系列课程学习笔记:第三讲高级的知识图谱是什么样的

    这一讲的主题是:一些高级的知识图谱是什么样的.三位讲者分别从他们各自带领的团队构建出来的高质量的知识图谱实例出发,从中我们可以认识到一些大佬们构建的优秀的知识图谱产品有哪些特点和优势,从中对我们自己构 ...

  3. 资料搜集-JAVA系统的梳理知识

    <!-- TOC -->- [Java](#java)- [基础](#基础)- [并发](#并发)- [JVM](#jvm)- [Java8 新特性](#java8-新特性)- [代码优化 ...

  4. 【知识图谱】 | 《知识图谱——方法、实践与应用》阅读笔记

    <知识图谱--方法.实践与应用>的阅读笔记 知识图谱--方法.实践与应用 第1章 知识图谱概述 1.1 什么是知识图谱 1.2 知识图谱的发展历史 1.3 知识图谱的价值 1.4 国内外典 ...

  5. 硬件基础:嵌入式物联网系统软硬件基础知识大全

    本文主要介绍嵌入式系统的基础知识,涉及嵌入式软件和硬件的方方面面,希望对各位有帮助. 嵌入式系统基础 1.嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功 ...

  6. 斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱

    上一讲我们学习了知识图谱的一些基本概念: 斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱 本节课程关于如何构建知识图谱,因为知识图谱的构建是整个知识图谱领域的一个非常核心且基础的工 ...

  7. java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...

    1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月:   1 第 ...

  8. 蓝牙模块基础知识介绍

    蓝牙模块基础知识介绍 随着近年来蓝牙技术的不断发展,在功耗不断降低的情形下,蓝牙的传输速率也不断地得到提高,使蓝牙的应用范围更加广泛.但若想设计一套完善的蓝牙系统,就必须充分掌握蓝牙的相关技术知识,如 ...

  9. 知识图谱赵军学习笔记(十)--知识问答与对话

    知识问答与对话 知识图谱最直接和最重要的任务是满足用户的精确信息需求,提供个性化知识服务. 目前的问答只能事实型问题,不能很好地处理复杂问题.例如:为什么天是蓝色的.关注回答事实型问题的相关技术. 自 ...

最新文章

  1. Android系统Google Maps开发实例浅析
  2. 淘淘商城FTP服务器、Redis和solr集群配置
  3. 力扣【下一个更大元素】leetcode-503.下一个更大元素 Ⅱ:单调栈解法+循环数组解法
  4. VTK:vtkNew<vtkDenseArray<double>>用法实战
  5. 用计算机进行资料检索工作是,用计算机进行资料检索工作是属于计算机应用中的什么...
  6. 英特尔x722网卡驱动_产品详情 | 从核心到边缘,英特尔加速5G网络基础设施建设...
  7. hbase sqoop 实验_SQOOP安装及使用-实验
  8. android的AIDL的调用
  9. [转载]qt信号signal和槽slot机制
  10. 3-4笔刷的详细设定
  11. SAP License:SAP评论
  12. php excel 导入大量,用phpExcelReader不能导入大量数据解决办法
  13. 统计学中常被误用的分析方法
  14. 计算机编程及常用术语英语词汇大全
  15. css+js制作循环轮播图——可滑动
  16. 电子实训与毕业设计开放式训练装置
  17. 微信小程序开发(九)之开发版和测试版小程序打不开的问题
  18. iptables之raw表
  19. 人工智能英文原版PDF教材1.03G资源包Artificial Intelligence
  20. Linux服务器使用php发送邮件,sendmail配置

热门文章

  1. 唐骏给李开复泼冷水:创业不可复制
  2. ffmpeg文档6:同步音频
  3. Halcon: 畸变矫正与标定(1)
  4. HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷
  5. 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置
  6. 将bgr彩色矩阵归一化到0-255之间 【RGB image normalization】
  7. java9特性_96.java基础10(java9/10/11新特性)
  8. bean覆盖 springboot_SpringBoot中如何进行Bean配置
  9. 如何解决ORA-04031错误
  10. Python_堆栈和队列