SA实验一:信息隐藏原则实践.ppt

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

软件体系架构

实验一信息隐藏原则初探实验简介图灵奖得主EdsgerWybeDijkstra是THE操作系统的设计者和开发者;他在著名文献《TheStructureoftheT.H.E.multiprogrammingSystem》,CommunicationsoftheACM18(8),1968.中提到“软件开发不应当仅为得出某个正确的结果,而是要更多地关心软件是如何划分、如何构建的”Parnas对SA的基本原则做了深入研究,他说,如果构架设计有一个基本原则的话,必是信息隐藏原则:关于如何将一个系统分解成若干元素以提高可维护性和可重用性。通过下面的实验,体会信息隐藏原则(informationhiding)如何提高软件重用性。用C++编写程序,显示如下图形:矩形、零、箭头、菱形要求完成其中任意3个图形。信息隐藏原则:如何将一个系统分解成若干元素,以提高可维护性和可重用性。设计软件系统前,应当仔细规划,哪些元素是可重用的,然后——用函数或类来实现它们——这就是信息隐藏原则在这个简单软件中,我们要重用的是4个形状以任一形状为例,重用包括:打印符号的改变,*→+。一个变量marker即足够,将变量理解为一个最简函数如果不是这样,你将在程序中修改多次任意位置打印如果采用的全部是cout语句,满足这个重用要求,需做大量的人工工作放大缩小相似形状间,仅仅是尺寸比例改变,如果采用的全部是cout语句,满足这个重用要求,相当于每次都重新编写代码。从重用一个形状,到重用多个形状——实现真正的重用从1个到多个形状,这里面有质的不同当形状间存在耦合时,需要解耦合未解耦合,形状的顺序可能不能改变,一个形状可能覆盖另一个形状。等等这里,会遇到我们初见系统需求时,所未预料的“隐藏”问题——gotoxy对新软件系统的认识,不可能一步到位,很大程度上取决于经验仔细规划:哪些东西需要隐藏,提供哪些接口,传递什么参数对重用来说,相对位置的重要性大于绝对位置,因为每次用户需要的图形,其具体位置可能不同。通过信息隐藏,把这些绝对位置的变化屏蔽——由函数来做每次的具体计算,以应对每次的不同要求,程序员只要将最基本的、不可缺少的、屏蔽不掉的关于形状的变化信息传给函数,即可绝对位置作为参数传递给函数;或作为对象的私有数据,然后提供访问方法。必须的绝对位置的数量尽可能少(一个形状只需x,y坐标各一个),形状的相对位置,由绝对位置计算出来,动态地变换,满足用户对同类形状的不同位置、大小需求。可重用元素的具体划分4个形状间有本质的不同(相对于基位置的计算方法有本质不同),所以需要4个函数来完成计算(面向对象方法也必须有这个过程)解耦形状之间的关联,需要函数gotoxy所以这软件系统可划分5个重用元素将这5个部分封装,单独实现,它们甚至可以应用到其他完全不同的软件系统中其余部分,例如每次用户的要求,可作为参数,在main函数中,传递给对象或形状函数

文档评论(0)

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

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

1亿VIP精品文档

相关文档