欢迎来到天天文库
浏览记录
ID:40479752
大小:2.85 MB
页数:53页
时间:2019-08-03
《《模块的独立性》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.模块的独立性模块独立性的概念模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小模块独立性的度量模块独立性取决于模块的内部和外部特征。SD方法提出的定性的度量标准:模块自身的内聚性模块之间的耦合性•偶然内聚:各成分之间并没有关系,只是把分散在多处的功能合在一起•逻辑内聚:仅仅是逻辑功能相关成分合在一起•时间内聚:必须在同一时间执行,并无功能逻辑的成分合在一起•过程内聚:过程顺序相关的功能成分合在一起•通讯内聚:需要对相同的外部数据进行操作的成分合在一起•顺序内聚:一个内部成分的输出是另一个内部成分的输入,将它们合起来•功能内聚:只完成单一的功能低高
2、•内容耦合:一个模块直接修改另一个模块的内容•公共耦合:两个以上的模块共同引用一个全局数据•外部耦合:若允许一组模块访问同一个全局变量•控制耦合:接收模块的动作依赖于控制信号•标记耦合:两个模块接口的参数包含相同的内部结构•数据耦合:仅是模块之间的数据传递•非直接耦合:模块之间没有消息传递低高内聚----模块内部各成分之间的关联程度耦合----模块之间的依赖程度2.模块独立性的度量之一:内聚性一个模块内部各成分之间相互关联的强度设计目标:高内聚(一模块的所有成分都直接参与并且对于完成同一功能来说都是最基本的)软件设计的概念和原理内聚:一个模块内各个元素彼此结合的紧密程度。
3、偶然内聚:一个模块完成一组任务,任务之间的关系很松散。公共语句。逻辑内聚:若干个逻辑功能类似的任务组成一个模块。时间内聚:若干个任务必须在同一段时间内执行。如初始化工作。低内聚中内聚高内聚过程内聚:模块内的处理元素是相关的,且必须以特定次序执行。通信内聚:模块中所有元素都使用同一个输入数据,和/或产生同一个输出数据。顺序内聚:模块中所有处理元素和同一个功能密切相关,且这些处理必须顺序执行。功能内聚:所有处理元素属于一个整体,完成一个单一的功能。模块A模块B模块CS1;S2;模块A模块B模块C模块A模块B模块C模块D模块的内聚性类型:低巧合内聚内逻辑内聚聚时间内聚性过程内聚
4、通信内聚信息内聚高功能内聚模块独立性弱(功能分散)强(功能单一)(1)巧合内聚(偶然内聚)模块内各部分间无联系ABCMMOVEOTORREADFILEFMOVESTOT模块M中的三个语句没有任何联系缺点:可理解性差,可修改性差。例:(2)逻辑内聚把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。逻辑内聚模块ABCEFGABCEFGA1B1C1EFG模块内部逻辑E、F、G逻辑功能相似,组成新模块EFG公用代码段公用代码段缺点:增强了耦合程度(控制耦合)不易修改,效率低。(3)时间内聚模块完成的功能必须在同一时间内执行,这些功能只因时
5、间因素关联在一起。例如:初始化系统模块、系统结束模块、紧急故障处理模块等。(4)过程内聚模块内各处理成分相关,且必须以特定次序执行。过程内聚模块建立方程组系数矩阵全部任务纳入一个模块,得到一过程性模块高斯消去法回代高斯消去法解题流程过程内聚模块读入成绩单读入并审查成绩单审查成绩单统计成绩打印成绩统计并打印成绩(5)通信内聚模块内各部分使用相同的输入数据,或产生相同的输出结果。通信内聚模块例产生工资报表计算平均工资职工工资记录职工工资报表平均工资产生职工工资报表并计算平均工资模块通信内聚模块例开领书单登记售书发票领书单售书登记表文件删除修改(6)顺序内聚一个内部成分的输出是
6、另一个内部成分的输入,将它们合起来。顺序内聚模块建立方程组系数矩阵高斯消去法回代高斯消去法解题流程(7)功能内聚模块仅包括为完成某个功能所必须的所有成分。(模块所有成分共同完成一个功能,缺一不可)内聚性最强功能内聚模块建立方程组系数矩阵高斯消去法回代高斯消去法解题流程模块独立性的度量之二:耦合性是模块间相互依赖程度的度量,耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。耦合性越高,模块独立性越弱内容耦合:一个模块直接修改另一个模块的内容公共耦合:两个以上的模块共同引用一个全局数据外部耦合:若允许一组模块访问同一个全局变量控制耦合:模块之间
7、传递的参数含有控制信息标记耦合:两个模块接口的参数包含相同的内部结构数据耦合:模块之间通过参数交换数据信息。非直接耦合:模块之间没有消息传递低高耦合----模块之间的依赖程度软件设计的概念和原理----耦合非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合弱耦合中耦合较强耦合强耦合模块1模块2模块3模块4数据耦合通过简单变量交换数据特征耦合通过数据结构交换数据非直接耦合模块之间没有信息传递模块A模块B模块C模块D模块L模块N全局性数据结构公共耦合Flag=1?S1S2模块1控制耦合模块之间传递的是控制信息TF全局性简单
此文档下载收益归作者所有