软件架构笔记期末复习资料

软件架构笔记期末复习资料

ID:42103192

大小:517.52 KB

页数:23页

时间:2019-09-08

软件架构笔记期末复习资料_第1页
软件架构笔记期末复习资料_第2页
软件架构笔记期末复习资料_第3页
软件架构笔记期末复习资料_第4页
软件架构笔记期末复习资料_第5页
资源描述:

《软件架构笔记期末复习资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、chapter模块化>理解模块化(结构化)模块化的设计思想使得我们能够从简单的、独立的、可复用的模块开始,构建复杂的系统,从而达到复杂系统的易开发、易修改、易复用。>模块化的优点“从简单性考虑:减少了调试和修改的时间。通过将系统划分为独立的各个模块,每个模块能够在极少的去考虑对其他模块的影响下,独立的被考虑、实现、修改。/从可观察性考虑:每个模块在逻辑上是清楚正确的,能够很容易的看出逻辑行为是如何以及为何发生。减少了开发和修改的时间。/从模块的角度考虑:系统的其他部分可以通过模块的名字对该模块进行调用。每个模块只专注于解决一个问题,减少了问题

2、的复杂度,易于实现和修改。在模块化的思想下,每个模块能够得到独立的对待:独立理解独立使用或复用独立被构建一个模块的失效不会影响到其他模块一个模块的修改不会影响到其他模块>降低耦合:最小化模块之间的联系耦合:模块之间建立的联系的强度的度量耦合分为两大类:模块与公共环境之I'可的联系、模块与模块之I'可的联系。•>原则共享变量是有害的!参照公共耦合。亠原则2:语法语义清晰,降低隐式关系理解一个模块不需要依赖其他模块的含义。(PPT例子)・>原则3:避免重复否则,外部的修改会导致各个模块中重复的部分也需要修改。・>原则4:面向接口编程接口:模块白身

3、实现:模块内部通过模块的名字与整个模块建立的联系产生的耦合v与模块内部元素产生的耦合“内容耦合:模块之间的完全依赖数据和控制元素混合在一起,通过一个模块来修改另外一个模块,被修改的模块完全依赖与修改它的模块。一个模块完全依赖与另外一个模块的内容。(PPT例子:goto)/公共耦合:共享全局变量、拥有共享的上下文环境解决方案:提高信息内聚,实现数据封装,减少公共耦合。将共享数据进行子划分。将共享数据的访问限制于最小的子模块。“控制耦合传递必要的参数以外的信息,而且参数的内容影响模块的逻辑,影响程序执行的分支。经常出现的现象:接收到参数,然后开始

4、进行if-else或switch判断。解决方案:将判断转移到传送参数的模块,使得耦合关系变成可以接受的数据耦合。“印记耦合传递必要的参数以外的信息。例如,传递的参数为某一复杂的数据结构,依赖与该数据结构的结构信息。/数据耦合传递必要的参数产生的联系。(PPT例子)内容耦合>公共耦合>控制耦合=印记耦合>数据耦合内容耦合最差公共耦合也不可接受数据耦合好一些>提高内聚:最大化模块内部元素的关系/偶然内聚随意放在一起。main函数?/逻辑内聚在逻辑上相似(加减乘除)。if-elseswitch-caseEDITALLDATAEDIT:PROC(TY

5、PE,DATA)/*dosomecommonedits*/IFTYPE="A"THEN/*editbytypeArules*/IFTYPE二"B"THEN/*editbytypeBrules*//时间内聚一系列的事务在同一时间段内完成。例如:所有的初始化“通信内聚由于对共同数据的引用而建立的内聚。如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。"Read"and"Print"inputdata/顺序内聚为解决某个问题而实现一系列顺序的步骤。如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输

6、入,则称为顺序内聚。readdealupdateoutput/功能内聚具有一个共同的目标,完成一个功能。/信息内聚信息内聚>功能内聚>顺序内聚=通信内聚=时间内聚>逻辑内聚>偶然内聚>【面向对象】中的耦合关系1.交互耦合同结构化思想中的耦合关系相同,包扌心共享数据变量访问方法调用隐式关系2.组件耦合:类之间的关系,一个类使用另一个类的实例对象(PPT例子)组件耦合的四种类型:全局的变量:聚合关系参数:方法调用之间的传参创建:方法内部的局部变量隐式关系:由其他对象供给组件耦合乂可分为以下三种类型:1)隐式组件耦合:(PPT)例了最差的耦合关系。

7、U的对象出现在C的某个方法实现中,但是U在C的规格说明和实现中都没有说明。2)分散的组件耦合:U作为局部变量或实例变量在C的实现中出现,但是没有在C的规格中说明。表现:聚合关系:全局变量局部变量分散式组件耦合是可以接受的。3)规格化组件耦合:C,在C的规格中说明。1.继承耦合1)修改式继承耦合:(P+CT+N)最差的继承耦合。子类对父类进行没有任何规则的修改。如果外界拥有父类的引用,必须知道父类+子类所有方法。2)改进式继承耦合:(P+C重写的一些方法=1+小N)在预定义的基础上的修改。如果外界拥有父类的引用,必须知道父类+子类修改的。3)扩

8、展式继承耦合:(ONLYPJ)继承的都没有修改,只是添加方法和变量。如果外界拥有父类的引用,只需要知道父类。chapter信息隐藏>信息隐藏的含义每个模块都隐藏了关

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。