软件设计原则: 软件设计的原则对提高软件的设计质量有很大的帮助。

◆ 抽象

抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。过程抽象和数据抽象是常用的两种主要抽象手段。

◆ 模块化

模块化是指将一个待开发的软件分解成若干个小的简单的部分——模块,每个模块可独立地开发、测试、最后组装成完整的软件。这是一种复杂问题的“分而治之”的原则。

模块是指执行某一特定任务的数据结构和程序代码。一个模块有它的外部特征和内部特征。

◆ 信息隐蔽

信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中
,定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽原则对提高软件的可修改性、可测试性和可移植性都有重要的作用。

◆ 模块独立

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

耦合是指模块之间联系的紧密程度。耦合度越高则模块的独立性越差。

按耦合度从低到高依次有7种耦合方式。

        非直接耦合(独立运行)

        数据耦合(用参数表传递简单数据)

        标记耦合(传递数据结构或者一部分)

        控制耦合(传递的信息包括控制模块的信息)

        外部耦合(模块与软件之外的环境有关)

        公共耦合(多个模块引用同一全局的数据区)

        内容耦合(访问内部数据,代码重叠或者多个入口)

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

按内聚度从低到高依次有7种内聚种类。

        偶然内聚(模块完成的多个任务,任务之间的关系松散)

        逻辑内聚(模块完成逻辑相关的一组任务)

        瞬时内聚(模块的所有任务必须在同一时间间隔内执行)

        过程内聚(模块的处理元素相关而且按照特定的次序执行)

        通信内聚(模块的所有元素集中在一个数据结构区域上)

        顺序内聚(模块的处理元素相关,必须顺序执行)

        功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)

技术
©2019-2020 Toolsou All rights reserved,
华为认证HCIA-AI人工智能NOI2019 游记消息质量平台系列文章|全链路排查篇过拟合和欠拟合的形象解释Unity 场景异步加载(加载界面的实现)Faster RCNN系列算法原理讲解(笔记)纽约年轻人计划“重新占领华尔街”:维护散户利益用C++跟你聊聊“原型模式” (复制/拷贝构造函数)初识python之技巧总结篇中级JAVA程序员应该掌握的数据结构知识