结构化设计

结构化设计包括架构设计、接口设计、数据设计和过程设计等任务。它是一种面向数据流的设计方法,是以结构化分析阶段所产生的成果为基础,进一步自顶而下、逐步求精和模块化的过程。

1.概要设计与详细设计的主要任务

概要设计阶段的主要任务是设计软件的结构、确定系统是由哪些模块组成,以及每个模块之间的关系。它采用结构图(包括模块、调用、数据)来描述程序的结构,此外还可以使用层次图和 HIPO(层次图加输入/处理/输出图)。

常使用的工具包括程序流程图、盒图、 PAD(Problem Analysis Diagram,问题分析图)、PDL(ProgramDesign Language,程序设计语言)。

2 . 程序流程图和盒图

程序流程图的特点是简单、直观、易学,但它的缺点也正是由于其随意性而使得画出来的流程图容易成为非结构化的流程图。而盒图正是为了解决这一问题设计的,它是一种符合结构化程序设计原则的图形描述工具。

盒图的主要特点是功能域明确、无法任意转移控制、容易确定全局数据和局部数据的作 用域、容易表示嵌套关系、可以表示模块的层次结构。

模块设计

模块是指执行某一特定任务的数据结构和程序代码。通常将模块的接口和功能定义为其外部特性,将模块的局部数据和实现该模块的程序代码称为内部特性。 模块设计时,最重要的原则就是实现信息隐蔽和模块独立

设计的目标是高内聚、 低耦合。

耦合性从低到高

结构化设计和模块设计相关推荐

  1. 客户管理系统之模块设计(十)

    3,客户选择模块设计 客户选择模块是用来提供对已实用户的选择,当中左边用一个ListBox控件显示全部已经加入的客户,右边用一个ListBox显示选择的客户.每次最多选择两个客户.然后还须要加入一个P ...

  2. 常见模块设计--数据字典

    常见模块设计--数据字典 DROP TABLE IF EXISTS `dict_data`; CREATE TABLE `dict_data` (`id` int(11) NOT NULL AUTO_ ...

  3. 开发笔记:掉落系统模块设计思路

    本文所讨论的掉落系统是一个游戏中的通用模块,不仅局限于打怪时掉落物品,包括抽卡.开宝箱.任务奖励.活动奖励等功能都可以使用.抽象地说,掉落系统是由给定参数按照特定的算法生成一系列可附加在玩家身上的东西 ...

  4. HDLBits答案(6)_硬件模块设计的思考方式

    硬件模块设计的思考方式 HDLBits链接 基本的逻辑门操作 题目描述1:将输入端口in和输出端口out连接. Solution1: module top_module (input in,outpu ...

  5. PWM 发生器模块设计

    PWM 发生器模块设计 PWM 产生原理可得出以下两个主要电路: 定时器/计数器电路以及输出比较电路. 最终输出 PWM 波的频率计算公式为:

  6. UART 异步串行通信发送模块设计与实现

    UART 异步串行通信发送模块设计与实现 串口发送模块接口设计 注意:在每一次设计端口时,我们都要求可以随时控制该模块开始和结束,因此在设计每一个模块时,务必要加模块的使能端口(EN)和模块结束端口( ...

  7. ylbtech-Model-Account(通用账户模块设计)

    ylbtech-DatabaseDesgin:ylbtech-Model-Account(通用账户模块设计) ylbtech-Model-Account(通用账户模块设计) 1.A,数据库关系图(Da ...

  8. Java生鲜电商平台-团购模块设计与架构

    Java生鲜电商平台-团购模块设计与架构 说明:任何一个电商系统中,对于促销这块是必不可少的,毕竟这块是最吸引用户的,用户也是最爱的模块之一,理由很简单,便宜. 我的经验是无论是大的餐饮点还是小的餐饮 ...

  9. OA 办公系统 模块设计

    --连接主数据库 use Master go --如果数据库simpleoa 存在,则先删除simpleoa. if exists (select * from sysdatabases where ...

  10. Java充电宝模型设计_继续探讨点赞功能模块设计

    继续探讨点赞功能模块设计 前几天我们设计了点赞模块的模块,大致思路就是: 用户点赞,首先缓存到redis中进行保存,redis中既要保存点赞总数,还要保存点赞记录.然后定时执行redis数据到数据库中 ...

最新文章

  1. 5个实用的例子,一行 Python 能干嘛?
  2. vue-cli脚手架构建项目注意事项(填坑)
  3. px4 uavcan linux,PX4开发指南-12.2.1.UAVCAN Bootloader
  4. Oracle-RAC等价性验证错误:Result: PRVF-4007 : User equivalence check failed for user grid
  5. 如何使用Webpack
  6. python访问注册表_读取注册表的Python代码
  7. 首次!阿里达摩院将Pure Transformer 应用于目标重识别ReID!
  8. tortoiseSVN svn+ssh
  9. codis-server 集群安装及部署
  10. oracle 的逻辑结构设计,浅谈Oracle数据库逻辑结构
  11. python数据分析有哪些模型-python数据挖掘的基本流程有哪些?
  12. 土壤湿度计检测模块 土壤湿度传感器 机器人智能小车
  13. 安规电容与普通电容的区别
  14. 苹果AppId登录注册
  15. 解决新版本谷歌浏览器CROS跨域问题
  16. odi oracle to mysql_【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
  17. 大学计算机课程实验指导书,《大学计算机基础》课程实验指导书.doc
  18. 静态背景下运动目标检测 matlab_动态拉伸、静态拉伸你做对了么?
  19. jekins自动化部署
  20. c语言程序设计火车站售票系统,C语言程序--火车站售票系统程序

热门文章

  1. 压缩JPG图片大小而且不失真
  2. 八个步骤实现一个Web项目(在线聊天室)
  3. USBKEY全解析---概要介绍
  4. Bootstrap可视化布局系统需要引入的静态资源
  5. python画鱼骨图_这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难...
  6. win10分屏任务快捷键
  7. 游戏运行库microsoft visual c++ 2010 spi 64检测不到
  8. 基于Python的飞机大战游戏系统设计与实现
  9. MPU6050 加速计滤波
  10. Excel怎么合并两个或者多个单元格里面的内容