“软件设计”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
 
(未显示同一用户的3个中间版本)
第17行: 第17行:
 
|-
 
|-
 
|顺序内聚
 
|顺序内聚
|各个处理元素都密切相关与同一功能且必须顺序执行,
+
|各个处理元素都密切相关与同一功能且'''<big>必须顺序执行</big>''',
 
前一个功能元素的输出就是下一个功能元素的输入
 
前一个功能元素的输出就是下一个功能元素的输入
 
|-
 
|-
第25行: 第25行:
 
|-
 
|-
 
|过程内聚
 
|过程内聚
|模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行
+
|模块内部的处理成分是相关的,而且这些处理'''<big>必须以特定的次序执行</big>'''
 
|-
 
|-
 
|瞬时内聚(时间内聚)
 
|瞬时内聚(时间内聚)
|把需要同时执行的动作组合在一起形成的模块
+
|把需要'''<big>同时执行的动作</big>'''组合在一起形成的模块
 
|-
 
|-
 
|逻辑内聚
 
|逻辑内聚
第35行: 第35行:
 
|-
 
|-
 
|偶然内聚(巧合内聚)
 
|偶然内聚(巧合内聚)
|模块内的各处理元素之间没有任何联系
+
|模块内的各处理元素之间'''<big>没有任何联系</big>'''
 
|}
 
|}
 +
最强内聚类型:功能内聚
 +
 +
 +
{| class="wikitable"
 +
!耦合类型
 +
!描述
 +
|-
 +
|非直接耦合
 +
|两个模块之间'''<big>没有直接关系</big>''',分别从属于不同模块的控制和调用,
 +
之间不传递任何信息
 +
|-
 +
|数据耦合
 +
|两个模块间有调用关系,传递简单的数据值
 +
|-
 +
|标记耦合
 +
|两个模块之间传递的是数据结构
 +
|-
 +
|控制耦合
 +
|一个模块调用另一个模块时,传递的是控制变量,被调用模块根据控制
 +
变量执行某个功能
 +
|-
 +
|外部耦合
 +
|模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通用协议上)
 +
|-
 +
|公共耦合
 +
|通过一个公共数据环境相互作用的那些模块间的耦合
 +
|-
 +
|内容耦合
 +
|一个模块直接使用另一个模块的内部数据;
 +
或通过非正常入口而转入另一个模块内部
 +
|}
 +
非直接耦合是我们最希望的耦合类型。
 +
 +
 +
=== 考点1:软件设计的基本概念 ===
 +
创建好的程序或文档所需遵循的设计原则不包括()。
 +
 +
A、反复迭代,不断修改
 +
 +
B、遵循好的标准和设计风格
 +
 +
C、尽量采用最新的技术  √
 +
 +
D、简约,省去不必要的元素
 +
 +
 +
=== 考点2:内聚和耦合 ===
 +
一组无逻辑关系的语句在程序中多处出现,为了节省存储空间,把这些语句放在一个模块中,该模块的内聚是()。
 +
 +
A、逻辑内聚
 +
 +
B、偶然内聚  √
 +
 +
C、过程内聚
 +
 +
D、通信内聚

2022年9月24日 (六) 07:04的最新版本

https://www.bilibili.com/video/BV1hg411V7Bm/?p=77

1)软件设计原则

软件设计原则:抽象、模块化、信息隐蔽、模块独立

软件设计的任务与活动

软件设计的任务与活动.png


2)内聚和耦合

内聚类型 描述
功能内聚 最强的内聚,完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚 各个处理元素都密切相关与同一功能且必须顺序执行

前一个功能元素的输出就是下一个功能元素的输入

通信内聚 所有处理元素集中在同一个数据结构的区域上,或者各处理使用相同

的输入数据或产生相同的输出数据

过程内聚 模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行
瞬时内聚(时间内聚) 把需要同时执行的动作组合在一起形成的模块
逻辑内聚 模块内执行若干个逻辑上相似的功能,

通过参数确定该模块完成哪一个功能

偶然内聚(巧合内聚) 模块内的各处理元素之间没有任何联系

最强内聚类型:功能内聚


耦合类型 描述
非直接耦合 两个模块之间没有直接关系,分别从属于不同模块的控制和调用,

之间不传递任何信息

数据耦合 两个模块间有调用关系,传递简单的数据值
标记耦合 两个模块之间传递的是数据结构
控制耦合 一个模块调用另一个模块时,传递的是控制变量,被调用模块根据控制

变量执行某个功能

外部耦合 模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通用协议上)
公共耦合 通过一个公共数据环境相互作用的那些模块间的耦合
内容耦合 一个模块直接使用另一个模块的内部数据;

或通过非正常入口而转入另一个模块内部

非直接耦合是我们最希望的耦合类型。


考点1:软件设计的基本概念

创建好的程序或文档所需遵循的设计原则不包括()。

A、反复迭代,不断修改

B、遵循好的标准和设计风格

C、尽量采用最新的技术 √

D、简约,省去不必要的元素


考点2:内聚和耦合

一组无逻辑关系的语句在程序中多处出现,为了节省存储空间,把这些语句放在一个模块中,该模块的内聚是()。

A、逻辑内聚

B、偶然内聚 √

C、过程内聚

D、通信内聚