系统设计知识:系统设计的基本原理介绍

举报
IT技术分享社区 发表于 2023/01/15 20:54:56 2023/01/15
【摘要】 ​       1、抽象抽象主要用来将复杂的现象简化到可以分析、实验或者可以理解的程度。抽象的最低层就是实现该软件的源程序代码。在进行模块化设计也可以有多个抽象层次,最高抽象层次的模块用概括的方式描述问题的解决方案。较低层次的模块是对更高抽象层次模块对问题描述的细化。2、模块化模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素。比如高级语言的函数、子程序等。在软件...

       

1、抽象

抽象主要用来将复杂的现象简化到可以分析、实验或者可以理解的程度。抽象的最低层就是实现该软件的源程序代码。在进行模块化设计也可以有多个抽象层次,最高抽象层次的模块用概括的方式描述问题的解决方案。较低层次的模块是对更高抽象层次模块对问题描述的细化。


2、模块化

模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素。比如高级语言的函数、子程序等。在软件的体系结构中,模块是可组合、分解、更换的单元。

模块化就是将一个待开发的项目系统分解成若干个简单模块。每个模块可以独立的开发、测试,最后组装成完整程序。采用分而治之的原则。模块化的目的是使程序的结构清晰,容易阅读、理解、测试、修改。


3、信息隐蔽

信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。在设计时首先列出一些可能发生变化的因素,在划分模块时将一个可能发生变化的因素隐蔽在个某个模块的内部,使其他模块与这个因素无关。在这个因素发生变化时,只需修改含有这个因素的模块。而与其他模块无关。

信息隐蔽原则对提高软件的可修改性、可测试性、可移植性都有重要的作用。


4、模块独立

模块独立是指每个模块完成一个相对的特定子功能、并且与其他模块之间的联系简单。衡量模块独立程度标准有两个:耦合性、内聚性。


4.1 耦合 

耦合性是指模块之间联系的紧急程度。耦合性越高,则模块的独立性越差。模块间耦合的高低取决于模块间接口的复杂性、调用的方式及传递的信息。

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

  • 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,类似于高级语言中的值传递。耦合度较低、模块间的独立性较高。

  • 标记耦合:指两个模块之间传递的数据结构。如高级编程语言中的数据组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址。

  • 控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调模块通过该控制变量的指有选择地执行块内的某一功能。

  • 公共耦合:通过一个公共数据环境相互作用的那些模块之间的耦合。

  • 内容耦合:属于程度最高的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部,这种模块之间的耦合为内容耦合,常常会出现在汇编程序设计当中。


4.2 内聚

  • 内聚是指模块内部各元素之间联系的紧密程度。内聚度越低,模块的独立性越差。

  • 偶然内聚:指一个模块内的各个处理元素之间没有任何联系。

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

  • 时间内聚:把需要同时执行的动作组合在一起形式的模块。

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

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

  • 功能内聚:是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

系统划分模块时,尽量做到高内聚、低耦合从而提高软件模块的独立性。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。