查看“软件设计”的源代码
←
软件设计
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV1hg411V7Bm/?p=77 === 1)软件设计原则 === 软件设计原则:抽象、模块化、信息隐蔽、模块独立 软件设计的任务与活动 [[文件:软件设计的任务与活动.png|无|缩略图|600x600像素]] === 2)内聚和耦合 === {| class="wikitable" !内聚类型 !描述 |- |功能内聚 |最强的内聚,完成一个单一功能,各个部分协同工作,缺一不可 |- |顺序内聚 |各个处理元素都密切相关与同一功能且'''<big>必须顺序执行</big>''', 前一个功能元素的输出就是下一个功能元素的输入 |- |通信内聚 |所有处理元素集中在同一个数据结构的区域上,或者各处理使用相同 的输入数据或产生相同的输出数据 |- |过程内聚 |模块内部的处理成分是相关的,而且这些处理'''<big>必须以特定的次序执行</big>''' |- |瞬时内聚(时间内聚) |把需要'''<big>同时执行的动作</big>'''组合在一起形成的模块 |- |逻辑内聚 |模块内执行若干个逻辑上相似的功能, 通过参数确定该模块完成哪一个功能 |- |偶然内聚(巧合内聚) |模块内的各处理元素之间'''<big>没有任何联系</big>''' |} 最强内聚类型:功能内聚 {| class="wikitable" !耦合类型 !描述 |- |非直接耦合 |两个模块之间'''<big>没有直接关系</big>''',分别从属于不同模块的控制和调用, 之间不传递任何信息 |- |数据耦合 |两个模块间有调用关系,传递简单的数据值 |- |标记耦合 |两个模块之间传递的是数据结构 |- |控制耦合 |一个模块调用另一个模块时,传递的是控制变量,被调用模块根据控制 变量执行某个功能 |- |外部耦合 |模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通用协议上) |- |公共耦合 |通过一个公共数据环境相互作用的那些模块间的耦合 |- |内容耦合 |一个模块直接使用另一个模块的内部数据; 或通过非正常入口而转入另一个模块内部 |} 非直接耦合是我们最希望的耦合类型。 === 考点1:软件设计的基本概念 === 创建好的程序或文档所需遵循的设计原则不包括()。 A、反复迭代,不断修改 B、遵循好的标准和设计风格 C、尽量采用最新的技术 √ D、简约,省去不必要的元素 === 考点2:内聚和耦合 === 一组无逻辑关系的语句在程序中多处出现,为了节省存储空间,把这些语句放在一个模块中,该模块的内聚是()。 A、逻辑内聚 B、偶然内聚 √ C、过程内聚 D、通信内聚
返回至
软件设计
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息