网站大量收购闲置独家精品文档,联系QQ:2885784924

概要设计与详细设计.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 概述;2 详细设计的基本任务;3? 详细设计流程;4 软件设计的概念和原则 ; 模块化是软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作; 在软件设计阶段通常首先要确定模块的外部特性,这就是软件总体设计需要解决的问题。然后再确定模块的内部特性,这就是软件详细设计需要解决的问题。 模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能,实现问题的求解。 目前,模块化方法已被广泛接受和应用,特别是在面向对象的软件开发模式中很自然地支持了把系统划分成模块化的思想。 ;4 软件设计的概念和原则 ; 一个模块内部各个元素之间的联系越紧密,它的内聚性就越高,对应地它与其他模块之间的耦合性就会减低,模块独立性就越强。相反,模块内聚性越低,模块间耦合性就越强,模块的独立性也就越弱。 在软件设计中我们要追求高内聚低耦合的模块,尽量提高模块的独立性 。;(1).耦合 ; ;数据耦合 (Data Coupling) 一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。 标记耦合 (Stamp Coupling) 一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。;控制耦合 (Control Coupling) 如果一个模 块通过传送开 关、标志、名 字等控制信息, 明显地控制选 择另一模块的 功能,就是控 制耦合。;外部耦合(External Coupling) 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 公共耦合(Common Coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。;公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况。松散公共耦合和紧密公共耦合。;公共耦合 (Common coupling):;内容耦合 (Content Coupling) 如果发生下列情形,两个模块之间就发生了内容耦合: (1) 一个模块直接访问另一个模块的内部数据; (2) 一个模块不通过正常入口转到另一模块内部; (3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中); (4) 一个模块有多个入口。;……;例2:部分代码重叠(常出现在汇编程序中); ; ; 在面向对象的方法学中,对象是最基本的模块,因此耦合主要指不同对象之间相互关联的紧密程度。一般说来,对象之间的耦合可分为交互耦合和继承耦合两大类。 ;⑵.内聚 ;功能内聚(Functional Cohesion) 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。;信息内聚(Informational Cohesion)  这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。;模块设计基础;信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽。即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓。;通信内聚 (Communication Cohesion)  如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。;过程内聚(Procedural Cohesion) 使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。;时间内聚(Classical Cohesion) 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。;逻辑内聚(Logica

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档