产地类别 | 进口 | 电动机功率 | 2.1KW |
---|---|---|---|
外形尺寸 | 42*86mm | 应用领域 | 化工,能源,建材,电子,纺织皮革 |
重量 | 2kg |
西门子模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。
模块独立性编辑
西门子模块独立的概念是功能模块化、抽象、信息隐蔽和局部化概念的直接结果。
抽象是指对事物、状态或过程之间所存在的某些相似的方面集中和概括起来,而暂时忽略他们之间的差异,即考虑抽象事物的本质特征而暂时不考虑他们的细节。信息隐蔽是指再设计功能模块时使得一个功能模块内所包含的信息(过程或数据),对于不需要这些信息的功能模块来说是不能访问的。信息隐蔽原则对于以后在软件维护期间修改软件时会带来极大的好处,因为大量数据和过程是软件的其他部分所不能觉察的,因而再对某个功能模块修改时就不大会影响到软件的其他部分,所谓局部化是指把一些关系密切的软件元素在物理位置上彼此靠近。
功能模块独立性是通过制定具有单一功能并且和其他功能模块没有过多联系的功能模块来实现的。每个功能模块只涉及该软件要求的一个具体子功能,而且与软件结构的其他部分的接口是简单的。
功能模块独立性好的软件接口简单,易于编制,独立的功能模块也比较容易测试和维护,限制了功能模块之间由于联系紧密而引起的修改副作用。独立性是保证软件质量的重要因素。
独立性度量编辑
功能模块独立性是由内聚性和耦合性两个定性指标来度量的。内聚性是度量一个功能模块内功能强度的一个相对指标。耦合性则用来度量功能模块之间的相互联系的程度。
耦合
耦合是软件结构中各功能模块之间相互连接的一种度量,耦合强弱取决于功能模块间接口的复杂程度、进入或访问一个功能模块的点以及通过接口的数据。
耦合有以下几种,他们之间的耦合度由高到低排列:
☆内容耦合。如一个功能模块直接访问另一个功能模块的内容,则这两个功能模块称为内容耦合。
☆公共耦合。如一组功能模块都访问统一全局数据结构,则称之为公共耦合。
☆外部耦合。如一组功能模块都访问统一全局数据项,则称之为外部耦合。
☆控制耦合。如一功能模块明显地把开关量、名字等信息送入另一功能模块,控制另一功能模块的功能,则为控制耦合。
☆标记耦合。如一组功能模块共享了某个记录,而不是简单变量,即这些功能模块都需某一数据的子结构时,就需要按该记录的结构进行操作,并通过参数表来传递记录信息,这样的耦合称之为标记耦合。
☆数据耦合。如一个功能模块访问另一个功能模块,被访问的功能模块的输入和输出都是数据项参数,则这两个功能模块为数据耦合。
☆非直接耦合。若两个功能模块没有直接关系,他们之间的联系*是通过主程序的控制和调用来实现的,便称这两个功能模块为非直接耦合,独立性*。
上面只是对耦合机制进行了一个分类。原则上讲,功能模块化设计总是希望功能模块之间的耦合表现为非直接耦合方式。但是,由于问题所固有的复杂性和空间方面的考虑,有时则要根据实际情况,全面权衡,选用其它类型的耦合。 [1]
内聚
内聚是从功能角度来度量功能模块内的联系,一个好的内聚功能模块应当恰好做一件事。它描述的是功能模块内的功能联系。
内聚有如下的种类,其内聚度由弱到强排列:
☆偶然内聚。一功能模块中的代码无法定义其不同功能的调用。但它使该功能模块能执行不同的功能,这种功能模块称为巧合强度功能模块。
☆逻辑内聚。这种功能模块把几种相关的功能组合在一起,每次被调用时,有传送给功能模块参数来确定该功能模块应完成那一种功能。
☆时间内聚。这种功能模块顺序完成一类相关功能,比如初始化功能模块,它顺序为变量置初值。
☆过程内聚。如果一个功能模块内的处理元素是相关的,而且必须以特定次序执行则称为过程内聚。
☆通信内聚。这种功能模块除了具有过程内聚的特点外,还有另外一种关系,则它的所有功能都通过使用公共数据而发生关系。
☆顺序内聚。如果一个功能模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常一个处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。
☆功能内聚。如果一个功能模块包括并仅包括未完成某一具体任务所必需的所有成分,或者说功能模块中所有成分结合起来是为了完成一个具体的任务,此功能模块称为功能强度模块。