网站首页企业百科 产品百科 技术百科 人物百科

功能模块 我有新说法
477 0

功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。

中文名功能模块外文名functional module类    型模块特    点有多个问题组合而成实    质数据说明、可执行语句等元素集合应用学科机械工程、仪器科学、计算机科学

1模块化依据

功能模块化的根据是,如果一个问题有多个问题组合而成,那么这个组合问题的复杂程度将大于分别考虑这个问题时的复杂程度之和。这个结论使得人们乐于利用功能模块化方法将复杂的问题分解成许多容易解决的局部问题。功能模块化方法并不等于无限制地分割软件,因为随着功能模块的增多,虽然开发单个功能模块的工作量减少了,但是设计功能模块间接口所需的工作量也将增加,而且会出现意想不到的软件缺陷。因此,只有选择合适的功能模块数目才会使整个系统的开发成本最小。

2模块独立性

功能模块独立的概念是功能模块化、抽象、信息隐蔽和局部化概念的直接结果。

抽象是指对事物、状态或过程之间所存在的某些相似的方面集中和概括起来,而暂时忽略他们之间的差异,即考虑抽象事物的本质特征而暂时不考虑他们的细节。信息隐蔽是指再设计功能模块时使得一个功能模块内所包含的信息(过程或数据),对于不需要这些信息的功能模块来说是不能访问的。信息隐蔽原则对于以后在软件维护期间修改软件时会带来极大的好处,因为大量数据和过程是软件的其他部分所不能觉察的,因而再对某个功能模块修改时就不大会影响到软件的其他部分,所谓局部化是指把一些关系密切的软件元素在物理位置上彼此靠近。

功能模块独立性是通过制定具有单一功能并且和其他功能模块没有过多联系的功能模块来实现的。每个功能模块只涉及该软件要求的一个具体子功能,而且与软件结构的其他部分的接口是简单的。

功能模块独立性好的软件接口简单,易于编制,独立的功能模块也比较容易测试和维护,限制了功能模块之间由于联系紧密而引起的修改副作用。独立性是保证软件质量的重要因素。

3独立性度量

功能模块独立性是由内聚性和耦合性两个定性指标来度量的。内聚性是度量一个功能模块内功能强度的一个相对指标。耦合性则用来度量功能模块之间的相互联系的程度。

耦合

耦合是软件结构中各功能模块之间相互连接的一种度量,耦合强弱取决于功能模块间接口的复杂程度、进入或访问一个功能模块的点以及通过接口的数据。

耦合有以下几种,他们之间的耦合度由高到低排列:

☆内容耦合。如一个功能模块直接访问另一个功能模块的内容,则这两个功能模块称为内容耦合。

☆公共耦合。如一组功能模块都访问统一全局数据结构,则称之为公共耦合。

☆外部耦合。如一组功能模块都访问统一全局数据项,则称之为外部耦合。

☆控制耦合。如一功能模块明显地把开关量、名字等信息送入另一功能模块,控制另一功能模块的功能,则为控制耦合。

☆标记耦合。如一组功能模块共享了某个记录,而不是简单变量,即这些功能模块都需某一数据的子结构时,就需要按该记录的结构进行操作,并通过参数表来传递记录信息,这样的耦合称之为标记耦合。

☆数据耦合。如一个功能模块访问另一个功能模块,被访问的功能模块的输入和输出都是数据项参数,则这两个功能模块为数据耦合。

☆非直接耦合。若两个功能模块没有直接关系,他们之间的联系*是通过主程序的控制和调用来实现的,便称这两个功能模块为非直接耦合,独立性强。

上面只是对耦合机制进行了一个分类。原则上讲,功能模块化设计总是希望功能模块之间的耦合表现为非直接耦合方式。但是,由于问题所固有的复杂性和空间方面的考虑,有时则要根据实际情况,全面权衡,选用其它类型的耦合。

内聚

内聚是从功能角度来度量功能模块内的联系,一个好的内聚功能模块应当恰好做一件事。它描述的是功能模块内的功能联系。

内聚有如下的种类,其内聚度由弱到强排列:

☆偶然内聚。一功能模块中的代码无法定义其不同功能的调用。但它使该功能模块能执行不同的功能,这种功能模块称为巧合强度功能模块。

☆逻辑内聚。这种功能模块把几种相关的功能组合在一起,每次被调用时,有传送给功能模块参数来确定该功能模块应完成那一种功能。

☆时间内聚。这种功能模块顺序完成一类相关功能,比如初始化功能模块,它顺序为变量置初值。

☆过程内聚。如果一个功能模块内的处理元素是相关的,而且必须以特定次序执行则称为过程内聚。

☆通信内聚。这种功能模块除了具有过程内聚的特点外,还有另外一种关系,则它的所有功能都通过使用公共数据而发生关系。

☆顺序内聚。如果一个功能模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常一个处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。

☆功能内聚。如果一个功能模块包括并仅包括未完成某一具体任务所必需的所有成分,或者说功能模块中所有成分结合起来是为了完成一个具体的任务,此功能模块称为功能强度模块。

4软件功能模块指标 

系统中的各功能模块在纳入时间、激活机制和控制方式等方面可以不相同。

1)纳入时间

纳入时间是指一个功能模块被归并到软件的源语言描述之中的时间。比如宏功能模块是由编译器把它作为程序的一部分直接插入到引用位置上去的。而普通的子程序则是通过产生目标代码与连接代码而纳入到软件中的。

2)激活机制

功能模块的激活机制通常有两种:一个是通过引用来调用功能模块,另一个是通过中断来调用一个功能模块。在实时系统中,通常使用后者。比如,使用一个外部时间来引起处理过程的中断,然后使控制转到另一个功能模块。

3)控制方式

一般功能模块具有单一入口和单一出口,并作为程序的一部分顺序地执行,有时,也需要更为复杂的控制方式,如可重入功能模块。这种功能模块不以任何方式修改它自己或它所访问的局部地址,从而这样的功能模块就可以同时被几个任务使用。

4)结构分类

在软件结构中,功能模块可以分为以下几类:

顺序功能模块:它在没有明显中断情况下被应用软件调用和执行。

增量功能模块:它在调用结束之前可以被应用程序中断,然后在中断点重新启动。

并行功能模块:它在并行多处理机环境中与别的功能模块同时执行。

5设计要素 

1.提高功能模块独立性

在得到软件结构之后,就应首先着眼于改善功能模块的独立性,考验是否应该把一些功能模块提取或合并,力求降低耦合提高内聚。例如,多个功能模块共有的一个子功能可以独立成一个功能模块,由这些功能模块调用,有时可以通过分解或合并功能模块以减少控制信息的传递及对全局数据的引用,并且降低接口的复杂度。

2.功能模块规模适度

经验表明,当功能模块过大时,功能模块的可理解性就会迅速下降。但是对过大的功能模块分解时,也不应降低功能模块的独立性。因为当对一个大的功能模块分解时,有可能增加功能模块之间的依赖。

3.深度、宽度、扇出和扇入要适当

如果深度过大则说明有的控制模块可能简单了。如果宽度过大则说明系统的控制过于集中。而扇出过大则意味着功能模块过于复杂,需要控制和协调过多的下级模块,这时应适当地增加中间层次,扇出太小则可以把下级模块进一步分解成若干个子功能模块,或者合并到上级功能模块中去。一个功能模块的扇入是表明有多少个上级功能模块直接调用它,扇入越大则共享该模块的上级模块数目越多,这是有好处的。

4.要使模块的作用范围保持在该模块的控制范围内

功能模块的作用范围是指受该功能模块内一个判定影响的所有功能模块的集合。功能模块的控制范围是指这个功能模块本身以及所有直接或间接从属于它的功能模块的集合。在一个设计得很好的系统中,所有受判定影响的功能模块应该都从属于作出判定的那个功能模块,最好局限于做出判定的那个功能模块本身及它的直接下级模块。对于那些不满足这一条件的软件结构修改的办法是:将判定点上移或者将那些在作用范围内但是不在控制范围内的功能模块移植到控制范围内。

5.应减少功能模块的接口的复杂性和冗余度,并改善一致性

功能模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。

6.设计成单入口、单出口的功能模块,避免病态连接

要防止内容耦合性,如果功能模块都是从顶部入口、从底部出口的话,这样的软件也更易于理解和易于维护。病态连接关系是指从中部进入或访问一个模块。

7.模块的功能可预测

如果一个功能模块可以当做一个黑箱,即只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。而那些具有内部记忆的功能模块则可能是不可预知的,因为它可能记载了某个内部标志并且利用这个标志去选择处理方案。由于这个标志对上级功能模块来说是看不见的,因而可能引起混乱。

8.组装软件根据设计的约束和移植的需要

组装是指用来把软件组合起来,以便把软件放入特定的处理环境或送往其他的地方。有时,设计约束要求一个程序要在内存中覆盖自己。如果有这种要求的话,原设计结构就可能必须重新组织以便按照重复的次数、存取的频率以及各次调用之间的间隔来把功能模块组合起来。

参考资料

参考资料编辑区域


相关产品RELEVANT PRODUCTS
  • 三相四线多功能模块电力仪表*

    模块化网络多功能电力仪表是一种具有可编程测量、显示、数字通讯和电能脉冲输出等功能的多功能电力仪表,能够完成电量测量、电能计量、数据显示采集及传输,能够高精度测量三相电网系统中常用的电量参数:三相电压、电流、有功功率、无功功率、实在功率、功率因数、电网频率、有功电能、无功电能,并带有通讯接口、四路开关量输入、两路开关量输出和三路模拟量输出功能,可实现本地或远程的开关信号检测和控制功能。
  • 芯明天多功能模块化压电陶瓷控制器

    芯明天多功能模块化压电陶瓷控制器 e00/e01系列多功能模块化控制器是由四个模块组成:功率放大模块、pzt传感控制模块、显示与通信模块及机箱供电模块。可以驱动芯明天全系列压电产品及进口压电产品。
  • gl7000系列记录仪

    gl7000系列记录仪大可安装至10个模块,主模块多可支持到112个通道。可拆卸式的显示模块能安装在主模块上操作,也可以嵌入至其它装置里使用。显示模块装上主模块后,也不影响另外通过pc端软件来设置和测量信号。
  • 江阴泰兰 8500b-dy电源模块 功能模块

    江阴泰兰 8500b-dy电源模块 功能模块,接受宽范围额交流输入电压,转换成直流电源供整个系统工作,同时完整电源监视。
  • 双通道轴向位移功能模块

    双通道轴向位移功能模块 型号:jz04-8000b/032库号:m209277
    主要功能
    ■ 同时显示两个通道的位移值(位移测量范围4mm).
    ■ 通过组态软件或掌上电脑设置报警值、报警延时值、报警复位方式、清除历史峰、谷值, 使用或禁止任何一个或两个通道等.
    ■ 每个通道分上限报警和上上限报警两个报警接点输出,分别由led发光管指示.
    ■ 自动记忆和保存在某一段时间内检测到的大值
  • 环保用电监管平台使用带无线通讯功能模块

    adw400 环保用电监管平台使用带无线通讯功能模块主要用于计量低压网络的三相有功电能,同时可选择最大四个回路的电流输入,具有rs485 通讯和 470mhz 无线通讯功能,方便用户进行用电监测、集抄和管理。可灵活安装于配电箱内,实现对不同区域和不同负荷的分项电能计量,统计和分析。
  • 2路网口4路rs485带断电告警功能模块化网关

    2路网口4路rs485带断电告警功能模块化网关,型号anet-2e4sm-d,将传 统管理机的接口拆分成可拼装搭配的模块,其中主模块可作为标准智能通信管理机独立工作。
  • 冷热冲击试验机 功能模块

    广泛用于:电子、电器、连接器、五金、led、lcd、模组、模块、手机、塑胶、显示器、二三极管、机箱、电镀、插头、电线、ic、磁铁、线路板、马达、电机、汽车配件、家电、通信、化工、科研、航天、模组、家具、主板、集成电路、太阳能光伏等领域。
  • releco继电器 releco时间功能模块

    releco继电器 releco时间功能模块 releco开关 releco时间继电器
    c4-x20x/dc24v rf5619
    c4-a48fx/24v
    c3-a30x/ac220v
    c3-t31/dc24v
    c3-t31/dc110v
    c3-t31/ac220v
    ct3-e30/h
    s3-s
  • 8500b-zd832轴振动监控保护功能模块

    8500b-zd832轴振动监控保护功能模块,旋转机械转子径向的振幅以及径向位置,是衡量其全面机械状况zui基本的指标,很多的机械故障,包括转子不对中,不平衡,轴承磨损,轴裂纹以及发生动静摩擦,都能通过该监控模块来测量,为了对一个轴承进行全面的监测,该监测通道配接两个电涡流传感器,探头安装应尽量靠近轴颈位置,两者夹角为90 度,且位于同一个垂直于轴中心线的截面上。
查看更多
×

是否已完成本次百科编辑