一,什么是总体设计

把系统的功能需求分配到一个特定的软件系统结构中。

1.模块结构图

2.层次图

3.HIPO图:H就是层次图+IPO是输入/处理/输出图

模块图例子:

层次图例子:

HIPO图例子

二、总体设计的步骤

将DFD图(流程图)转换成“高内聚,低耦合”的模块结构图。

怎么转换了,两种映射方法

1.变换设计:一个线性的顺序结构,由输入,输出和变换中心三部分组成,变换中心让数据发生一个本质的变换。输入把物理输入变成逻辑输入,输出臂把逻辑输出变成了物理输出。

2.事务设计:有一个事务的处理中心,它将输入分为许多相互平行的加工路径,然后根据输入的属性,选择某一加工路径。

上图中的实心黑点加一个箭头的符号是表示底层像上层传递了一个控制信号。

菱形表示的选择,根据控制信号决定究竟要调哪个。

三,模块化及其启发式规则(什么是启发式规则呀?)

模块:有模块接口和模块体组成

模块化:把一个待开发的软件分解成若干个简单的,具有高内聚低耦合的模块,这一过程称为模块化

四,模块耦合

两个模块之间相互依赖程度的一种度量。

模块之间的耦合越低越好,非得耦合的时候,最差的是内容耦合,最好的是数据耦合

五,模块内聚

一个模块内部成分之间相互关联程度的度量。也就是说,内聚是对模块内各处理动作强度的一种度量。内聚越大越好。

软件工程(四)——结构化设计之总体设计相关推荐

  1. 软件工程-第五章-总体设计

    软件工程-第五章-总体设计 5. 总体设计 5.1 设计过程 5.2 设计原理 5.2.1 模块化 5.2.2 抽象 5.2.3 逐步求精 5.2.4 信息隐藏和局部化 5.2.5 模块独立 5.3 ...

  2. 【软件工程】软件工程系统设计——结构化设计

    halo~我是bay_Tong桐小白 本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言.指点 软件工程系统设计--结构 ...

  3. 软件工程复试——五、总体设计

    五.总体设计 总体设计又称为概要设计或初步设计.其基本目的就是回答"概括地说,系统应该如何实现"这个问题. 设计过程 总体设计过长一般分两个阶段组成:系统设计阶段,结构设计阶段. ...

  4. 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2

    本系列文章为笔记,内容根据北京大学<软件工程>MOOC 初始化模块结构图精化的启发式规则 常见的启发式规则 什么叫做"启发式" 根据设计准则,从长期的软件开发实践中,总 ...

  5. 软件工程导论 05章总体设计

    1.典型的总体设计步骤: ①确定最佳方案 ②功能分解 ③体系结构设计 ④模块设计 ⑤数据结构与数据库设计 ⑥用户界面设计 ⑦设计完成设计文档 ⑧评审 总体设计的目的:概括地回答系统应该如何实现这个问题 ...

  6. 软件工程第五章——总体设计

    总体设计的基本目的就是回答"概括地说,系统应该如何实现"这个问题,因此,总体设计又称为概要设计或初步设计. 总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序 ...

  7. 软件工程--第五章-- 总体设计

    文章目录 设计原理 模块化 ==模块独立性 (最重要的特性)== 抽象 逐步求精 启发式规则 图形工具 面向数据流的设计方法 概要设计说明书 系统的总体设计=概要设计/初步设计 这个阶段任务:划分出组 ...

  8. 第四章 软件总体设计 1

    哎呦,我发现我写的文章这几天点击量稍微高一点的文章开头都是自我吐槽(此处应该放什么表情呢),是不是像我这么善于发现自己缺点且毫不留情吐槽自己的人不多了(偷笑).没办法我一个学渣非要跟老公学编程和测试, ...

  9. 软件工程之结构化设计篇

    1 软件设计的基本概念 完成了需求分析,回答了软件系统能"做什么"的问题后,软件的生命周期就进入了设计阶段.软件设计阶段,研发人员将集中精力研究如何把需求规格说明书里归纳的分析模型 ...

最新文章

  1. 机器学习101:我们天天都在说的机器学习,究竟该怎么入门?
  2. python list越界原因(list assignment index out of range)
  3. BC#65 T5 ZYB's Prime
  4. python代码用c语言封装_树莓派开发ADC芯片CS1237(C语言和python库开发)
  5. linux内核网络协议栈--监控和调优:接收数据(十五)
  6. OpenCV学习--saturate_cast防止数据溢出
  7. 《编译原理》实验报告——TINY语言的词法分析
  8. 210305设计共享内存
  9. 8.元组tup.rs
  10. Swift学习Day01(Object_c 与Swift的相互调用 )
  11. Linux之VI命令详解
  12. opencv入门课程:彩色图像灰度化和二值化(采用skimage库和opencv库两种方法)
  13. Ioc容器Autofac介绍
  14. 大型情感剧集Selenium:6_selenium中的免密登陆与cookie操作 #华为云·寻找黑马程序员#
  15. SecureCRT右键粘贴的设置
  16. 【网络覆盖优化】基于matlab的网络覆盖遗传优化问题仿真
  17. 日记、2021/9/30
  18. java编程语言视频教程,详细说明
  19. [渝粤教育] 西南科技大学 液压与气压传动 在线考试复习资料(1)
  20. 读一个文本文件总是出现乱码怎么办

热门文章

  1. 一款App的开发成本是多少?
  2. 04 - Linux的用户与组文件
  3. 一文搞懂PMP挣值管理那些让你头疼的公式
  4. Spring Boot (三)集成spring security
  5. NFT会接力Defi,成为下一个热点么?
  6. C++中左移运算符<<、右移运算符>>、以及位与运算符
  7. Shiro 权限管理
  8. 06年计算机竞赛,2006年数学建模校内竞赛结果
  9. 维度数据建模的概念和术语
  10. 帅到没朋友 (20分)