物联网软件工程复习.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

(一)、模块的概念1.定义所谓模块,是指具有相对独立性的,由数据说明、执行语句等程序对象构成的集合。程序中的每个模块都需要单独命名,通过名字可实现对指定模块的访问。在高级语言中,模块具体表现为函数、子程序、过程等。一个模块具有输入/输出(接口)、功能、内部数据和程序代码四个特征。(一)、模块的概念1.定义模块化是指将整个程序划分为若干个模块,每个模块用于实现一个特定的功能。(三)、信息隐蔽信息隐蔽:在设计和确定模块时,使得一个模块包含的信息对于不需要这些信息的其它模块来说是不能访问的。信息隐蔽的目的主要是为了提高模块的独立性,减少将一个模块中的错误扩散到其他模块的机会。(四)、模块的独立性模块独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的联系最小且接口是简单的.一般采用两个准则度量模块独立性即模块间耦合和模块内聚耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。

非直接耦合(NondirectCoupling)两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非直接耦合的模块独立性最强。数据耦合(DataCoupling)

一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来传递交换输入、输出信息的(“传值”)。标记耦合(StampCoupling)

一组模块通过数据结构(标记)传递记录信息,就是标记耦合。这个标记是某一数据结构的子结构,而不是简单变量(“传地址”)。例如高级语言中的数组名,记录名,文件名等即为标记,其实传递的标记的地址.控制耦合(ControlCoupling)如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。外部耦合(ExternalCoupling)

一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。公共耦合(CommonCoupling)

若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。内容耦合(ContentCoupling)

如果发生下列情形,两个模块之间就发生了内容耦合

(1)一个模块直接访问另一个模块的内部数据;

(2)一个模块不通过正常入口转到另一模块内部;

(3)两个模块有一部分程序代码重迭(只可能出现在汇编语言中);

(4)一个模块有多个入口。总结:非直接耦合的程度最低,其次是控制耦合,再其次是公共耦合,程度最高的是内容耦合。

模块内聚模块内聚偶然内聚(CoincidentalCohesion)

巧合内聚(偶然内聚)。当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。逻辑内聚(LogicalCohesion)

这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。时间内聚(ClassicalCohesion)

时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。过程内聚(ProceduralCohesion)

使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。通信内聚(CommunicationCohesion)

如果一个模块内所有处理元素都在同一个数据结构上或各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。顺序内聚(SquenceCohesion)一个模块内的处理元素和同一个功能密切相关,且必须顺序执行。功能内聚:是最强的内聚(FunctionalCohesion)

一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,不可分割的。则称

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档