山东公务员考试网计算机常识-软件设计的基本原理
软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念。
(1)抽象
抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。软件设计中考虑模块化解决方案时,可以定出多个抽象级别。抽象的层次从概要设计到详细设计逐步聊低。在软件概要设计中的模块分层也是由抽象到具体逐步分析和构造出来的。
(2)模块化
模块化是指把一个待开发的软件分解成若干个小的简单的部分。如高级语言中的过程、函数、子程序等。每个模块可以完成一个特定的子功能,各个模块可以按一定的方法组装起来成为一个整体,从而实现整个系统的功能。
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
为了解决复杂的问题,在软件设计中必须把整个问题进行分解来降低复杂性,这样就可以减少开发工作量并降低开发成本和提高软件生产率。但是划分模块并不是越多越好,因为这会增加模块之间接口的工作量,所以划分模块层次和数量应该避免过多或过少。
(3)信息隐蔽
信息隐蔽是指,在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
(4)模块独立性
模块独立性是指,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。是评价设计好坏的重要度量标准。衡量软件的模块独立性作用耦合性和内聚性两个定性的度量标准
○1内聚性:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。内聚是从功能角度来度量模块内的联系。
内聚有如下的种类,它们之间的内聚性由弱到强排列为:
偶然内聚 逻辑内聚 时间内聚 过程 通信内聚 顺序内聚 功能内聚
内聚性是信息隐蔽和局部化概念的自然扩展。一个模块的内聚性越强则该模块的模块独立性越强。作为软件结构设计的设计原则,要求生一个模块的内部都具有很强的内聚性,它的各个组成部分彼此都密切相关。
○2耦合性:耦合性是模块间互相连接的紧密程度的度量。
耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。耦合可以分为下列几种,它们之间的耦合度由高到低排列为:
内容耦合:如一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。
公共耦合:若一组模块都有访问同一全局数据结构,则它之间的耦合称之为公共耦合。
外部耦合:一组模块都访问同一全局简单变量(而不是同一全局数据结构),且不通过参数表传递该全局变量的信息,则称为外部耦合。
控制耦合:若一模块明显地把开头量、名字等信息送入另一模块,控制另一模块的功能,则为控制耦合。
标记耦合:若两个以上的模块都需要其余某一数据结构子结构时,不使用其余全局变量的方式而是用记录传递的方式,即两模块间通过数据结构变换信息,这样的耦合称为标记耦合。
数据耦合:若一个模块访问另一个模块,被访问模块的输入和输出都数据项参数,即两模块间通过数据参数交换信息,则这两个模块为数据耦合。
非直接耦合:若两个模块没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,则称这两个模块为非直接耦合。非直接耦合独立性最强。
耦合性越强,独立性越弱,希望模块之间的耦合表现为非直接耦合方式。但是,由于问题所固有的复杂性和结构化设计的原则,非直接耦合往往是不存在的。
耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有得提高模块的独立性。
更多精彩资讯请关注查字典资讯网,我们将持续为您更新最新资讯!