软件设计师-结构化开发

77 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情

在将软件系统划分模块时,应尽量做到高内聚,低耦合,提高模块的独立性

耦合

耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合取决于各个模块之间接口的复杂程度调用模块的方式以及通过接口的信息类型等。

耦合分类

image.png

image.png

耦合种类以及关键字

  • 无直接耦合:没有直接关系
  • 数据耦合:简单数据值
  • 标记耦合:数据结构
  • 控制耦合:控制变量
  • 外部耦合:软件之外的环境联结
  • 公共耦合:公共数据环境
  • 内容耦合:内部数据,非正常入口

试题

2011年上半年16题

  • 关键词:内部数据

image.png

2016年上半年29题

  • 关键词:全局变量和数据结构 image.png

2017年下半年34题

  • 关键词:结构体

image.png

2018年上半年33题

  • 关键词:耦合取决于各个模块之间接口的复杂程度调用模块的方式以及通过接口的信息类型

image.png

2018年下半年33题

  • 关键词:数据结构

image.png

2019年上半年32题

  • 关键词:数据结构

image.png

2021年上半年31题

  • 关键词:非正常入口

image.png

内聚

内聚是对一个模块内部各个元素彼此结合的紧密程度的度量。一个内聚程度高的模块(在理想程度下)应当只做一件事

内聚分类

image.png

  • 内聚种类以及关键字

    • 偶然内聚(巧合内聚):没有任何联系
    • 逻辑内聚:逻辑上相似的功能
    • 时间内聚:同时执行的动作,特定的时间
    • 过程内聚:指定的过程
    • 通信内聚:数据结构
    • 顺序内聚:顺序执行
    • 功能内聚:共同完成一个功能,缺一不可

试题

2012年上半年16题

  • 关键词:逻辑上相似的功能

image.png

2014年下半年16题

  • 关键词:语句之间没有联系

image.png

2015年上半年32题

  • 关键词:数据结构

image.png

2016年下半年36题

  • 关键词:数据结构

image.png

2017年上半年33和34题

  • 关键词:没有任何联系

image.png

2017年下半年35题

  • 关键词:以特定的次序执行

image.png

2019年下半年16题

  • 关键词:顺序执行

image.png

2020年下半年31题

  • 关键词:数据结构

image.png

系统结构设计原则

  • 分解-协调原则
  • 自顶向下原则
  • 信息屏蔽、抽象原则
  • 一致性原则
  • 明确性原则
  • 独立性原则:高内聚、低耦合
  • 扇入、扇出适中:模块扇入和扇出系数要合理
  • 模块的规模要适当
  • 模块的作用范围应该在其控制范围之内

试题

2010年上半年30题

  • 独立性原则:高内聚、低耦合

image.png

2012年下半年18题

  • 模块的作用范围应该在其控制范围之内

image.png

2018年下半年32题

  • 模块的规模要适当

image.png

2019年下半年15题

  • 模块的规模要适当

image.png

2020年下半年16题

  • 模块的规模要适当

image.png

2021年上半年16题

  • 模块的作用范围应该在其控制范围之内

image.png

2021年下半年16题

  • 模块的规模要适当 image.png