软考103-上午题-【结构化开发】-模块独立

一、命题特点

考试类型:

  • 选择题(3~9分)
  • 综合分系题(数据流图【试题一】,15分)

二、系统设计的基本原理

1、抽象

2、模块化

将一个待开发的软件分解为若干个小的简单部分——模块。

每个模块可以独立的开发、测试,最后组装成完整的程序。

复杂问题,分而治之。

3、信息隐蔽(封装)

4、模块独立

2-1、模块独立

模块独立,是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。

衡量模块独立程度的标准有两个:耦合性、内聚性。

1、耦合

耦合是模块之间的相对独立性(互相连接的紧密程度) 的度量。

耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型等。

一般模块之间可能的耦合方式有7种类型:(背!)

耦合性高,只连接性强,则模块独立性弱。

1)无直接耦合。指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高。

2)数据耦合。指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
3)标记耦合。指两个模块之间传递的是数据结构

4)控制耦合。指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪个功能起作用受调用模块控制。

5)外部耦合。模块间通过软件之外的环境联结(如I/O 将模块合到特定的设备、格式通信协议上) 时称为外部耦合。

6)公共耦合。指通过一个公共数据环境相互作用的那些模块间的耦合。

模块间没有直接的调用关系

7)内容耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。

真题

真题1:

真题2:

真题3:

真题4:

真题5:B

真题6:

真题7:

2、内聚

内聚是对一个模块内部各个元素彼此结合的紧密程度的度量。

一个内聚程度高的模块(在理想情况下)应当只做一件事。

一般模块的内聚性分为7种类型。

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

2)逻辑内聚。指模块内执行若个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

3)时间内聚。把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。(特定时间)

4)过程内聚。指一个模块完成多个任务,这些任务必须按指定的过程执行

5)通信内聚。指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。

6)顺序内聚。指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。

7)功能内聚。这是最强的内聚,指模块内的所有元素共同作用完成一个功能,缺一不可

耦合性和内聚性是模块独立性的两个定性标准,在将软件系统划分模块时,应尽量做到高内聚、低耦合,提高模块的独立性。

真题

真题1:

真题2:

真题3:

真题4:

真题5:

真题6:

真题7:

真题8:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/579256.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

登录者个人信息查询

目录 🥞1.vo层描述 🍿2..vo层创建 🌭3.编写controller层 🥓4.service层 🧂5.测试 1.vo层描述 Spring Boot项目中的实体类通常用于映射数据库表,包含了业务对象的所有属性。然而,前端或其…

QT 最近使用的项目配置文件

目录 1 QT 最近使用的项目配置文件所在路径 2 QtCreator.ini 1 QT 最近使用的项目配置文件所在路径 C:\Users\your username\AppData\Roaming\QtProject QtCreator.ini最好先备份一份 2 QtCreator.ini ProjectExplorer 下面的 RecentProjects\FileNames RecentProjects\…

【AI】命令行调用大模型

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 【AI】命令行调用大模型引入正文初始化项目撰写脚本全局安装 成果展示 【AI】命令…

远程过程调用-buttonrpc源码解析5-函数绑定

前面几节的文章里提到过“通过一定的技术手段,通知远程服务器调用某个函数来执行相应的功能”,本片文章分析服务端如何使用std::bind函数,统一函数调用形式。 1、先看一个简单的例子: 温馨提示:std::bind除了绑定普通…

Linux——共享内存

Linux——共享内存 什么是共享内存共享内存原理Linux下共享内存的接口创建/获取共享内存:shmgetftok函数 映射共享内存到进程地址空间:shmat 解除共享内存映射:shmdt删除共享内存段:shmctl 利用共享内存进行通信 我们之前学习了匿…

关于未来自我的发展和一些学习方法(嵌入式方向)

我是一名大二的学生,考研还是就业,到底是重视专业课还是重视数学英语,这些问题一直困扰了我很久,但如今已经有了一些浅显的认识,所以才会想写这样一篇文章来记录一下自己的状态和未来的规划 下面的看法都是个人的看法&…

蓝桥杯刷题_day7_动态规划_路径问题

文章目录 DAY7下降路径最小和最小路径和地下城游戏 DAY7 下降路径最小和 【题目描述】 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元…

通过node 后端实现颜色窃贼 (取出某个图片的主体rgb颜色 )

1.需求 我前端轮播图的背景色 想通过每一张轮播图片的颜色作为背景色 这样的话 需要通过一张图片 取出图片的颜色 这个工作通过前端去处理 也可以通过后端去处理 前端我试了试 color-thief 的插件 但是 这个插件是基于canvas 的模式来的 我需要在小程序中使用这个插件 而且是…

Qt 完成图片的缩放拖动

1. 事件和函数 主要使用事件paintEvent(QPaintEvent *event)和drawTiledPixmap函数实现绘图。 paintEvent事件在改变窗口大小、移动窗口、手动调用update等情形下会被调用。需先了解下绘图该函数的用法。 - QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPi…

web布局——说清楚fixed布局

极限省流 想要fixed做导航页面:指定清楚top、left、right、bottom,没指定清楚布局位置就会采用默认的方式: 0)父元素的padding:fixed元素相对位移 1)同级元素是fixed元素:覆盖 2&#xff09…

自定义类型:【联合体和枚举】

一.联合体 1.联合体类型的声明 联合体像结构体一样,也是有一个或者多个成员组成,当然也可以不同的类型。但不同的是,比编译器只为最大的成员分配足够的内存空间,所有成员共用同一块内存空间。所以联合体也叫做:共用体…

GEE22:基于目视解译的土地利用分类(随机森林监督分类)

采样点信息: 设置一下采样点参数: 代码: //设置研究区位置 var table ee.FeatureCollection("users/cduthes1991/boundry/China_province_2019"); var roi table.filter(ee.Filter.eq(provinces,beijing)); Map.centerObjec…