- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主模块ABCEFGXYZ数据耦合
第四章 概要设计 一 软件设计 1.软件设计的任务 就是把需求分析阶段产生的分析模型转换为用适当手段表示的软件设计模型。 分析模型=〉设计模型=〉设计文档 一 软件设计 2.软件设计的方法 结构化设计方法 面向对象设计方法 一 软件设计 3.软件设计的内容 数据设计:将实体关系图中描述的对象和关系,以及数据字典中描述的详细数据内容转化为数据结构的定义。 体系结构设计:定义软件系统各主要成份之间的关系。 接口设计:根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。 过程设计:则是把结构成份转换成软件的过程性描述。 一 软件设计 4.软件设计的阶段 概要设计/总体设计 详细设计 二 模块化设计 1.模块(module) 一个大而复杂的软件系统,根据其功能,划分许多较小的单元,或较小的程序,那么我们把这些较小的单元 就称为-----模块。 二 模块化设计 2.模块化设计(module design) 就是按适当的原则把软件划分为一个个较小的,相关而又相对独立的模块。 二 模块化设计 3.模块化设计的思想 1)分解:将问题化大为小,无论其复杂度或求解的工作量都会随之减小。 二 模块化设计 3.模块化设计的思想 1)分解: 二 模块化设计 3.模块化设计的思想 2)模块独立性: 是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。 衡量模块的独立性的标准:模块间的耦合和模块的内聚。 2) 模块独立性 内聚:模块内部各成分之间的联系。 功能内聚 (Functional Cohesion) 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。 功能内聚模块的功能独立性最强。 顺序内聚 (Sequential Cohesion) 模块中各组成部分是顺序执行的。 通常情况下,上一个处理框的输出就是下一个处理框的输入。 通信内聚 (Communication Cohesion) 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。 模块内各个功能是紧密相连的。 过程内聚(Procedural Cohesion) 使用流程图做为工具设计程序时,如果流程图太大,可以把流程图中的某一部分划出组成模块,就得到过程内聚模块。 例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。 时间内聚(Classical Cohesion) 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 例如,初始化模块和终止模块就是时间内聚模块。 逻辑内聚(Logical Cohesion) 这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。 偶然性内聚(Coincidental Cohesion) 当几个模块内正好有一段代码是相同的,将它们抽取出来形成单独的模块,即巧合内聚模块。这种模块没有独立功能,各部分之间没有联系,或联系很松散。 2) 模块独立性 耦合:是程序结构中一个模块与其它模块相互关联的度量。 非直接耦合(Nondirect Coupling) 两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。 非直接耦合的模块独立性最强。 数据耦合 (Data Coupling) 一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。 特征耦合 (Stamp Coupling) 一组模块数据结构信息,就是特征耦合。这个记录是某一数据结构的子结构,而不是简单变量。 控制耦合 (Control Coupling) 如果一个模块通过 传送开关、标志、 名字等控制参数, 明显地控制选择另 一模块的功能,就 是控制耦合。 外部耦合(External Coupling) 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 公共耦合(Common Coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况。松散公共耦合和紧密公共耦合。 内容耦合 (Content Coupling) 如果发生下列情形
文档评论(0)