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

总体设计过程

在这里插入图片描述

在这里插入图片描述
层次——抽象,模块——求精
在这里插入图片描述

模块化定理(龙军)

在这里插入图片描述
在这里插入图片描述

耦合

数据耦合

两个模块之间只通过参数进行数据传递,是最低程度的耦合,因为模块之间一定会相互调用,除非全都用静态变量。

在这里插入图片描述

控制耦合

两个模块之间交换的数据包含控制信息,一般有因果关系,一个的控制信息决定了另一个的走向
在这里插入图片描述

公共耦合

通过公共区进行数据交换,(可以参考后台开发的不可重入函数)包括静态数据,共享内存通信区(管道,共享内存),任何介质上的物理设备和文件
公共耦合会给调试带来很大困难。
在这里插入图片描述

在这里插入图片描述

内容耦合

直接访问另一个模块的数据,除非另一个模块修改的时候会发送通知给调用模块。
一个模块不通过调用入口进入另一个模块。
一个模块有多个入口。
代码重叠(汇编)

结论

在这里插入图片描述

内聚

模块内部紧密程度

高内聚

功能内聚:10

某块内所有元素完成且仅完成一个功能。

顺序内聚:9

模块内所有元素和一个功能密切相关,而且只能顺序执行,例如,求二次方程的根。
在这里插入图片描述

中内聚

通信内聚:7

模块内所有元素使用同一个输入获得数据,或输出到同一个输出文件中,例如,计算信息熵,append到同一个矩阵中。
在这里插入图片描述

过程内聚:5

模块内所有元素和一个功能密切相关,且必须按一定顺序执行。

低内聚

时间内聚:3

模块包含的任务必须在同一时间段内执行,例如系统初始化工作,银行取钱工作。
在这里插入图片描述

逻辑内聚:1

一个模块内的任务在逻辑上属于同一类,例如一个模块用于各种输出。
在这里插入图片描述
在这里插入图片描述

偶然内聚:0

模块内任务很松散。

顺序内聚和过程内聚

顺序内聚:

数据流
处理单元
处理单元

过程内聚:

控制流
动作
动作

启发式准则

改进软件结构和软件规模,提高软件模块间独立性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用基本数据结构
6.设计单入口,单出口模块
7.模块功能可预测

图形工具

层次图,HIPO图

在这里插入图片描述
hyper+I+P+O
在这里插入图片描述

结构图

在这里插入图片描述
后序遍历结构树,得到最优解
在这里插入图片描述

面向数据流的设计方法

默认都是变换流,如果有明显的事务中心,就是事务流。
事务中心:将输入分离成若干个发散的数据流,形成许多活动路径,并根据输入值选择其中一条路径。
在这里插入图片描述
事务流:输入到输出有固定的映射规则
在这里插入图片描述
在这里插入图片描述

数据流图转化为数据流设计

在这里插入图片描述
在这里插入图片描述
看得出,第四步是最复杂的,也就是流图到软件模块的映射
在这里插入图片描述

变换设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
变化中心都是直接下属模块,输入输出是从事务中心的边界向外辐射,从上向下
在这里插入图片描述

事务设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星辰的野望

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

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

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

打赏作者

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

抵扣说明:

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

余额充值