Chinaunix首页 | 论坛 | 博客
  • 博客访问: 898153
  • 博文数量: 61
  • 博客积分: 2315
  • 博客等级: 大尉
  • 技术积分: 2560
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-22 18:00
文章分类

全部博文(61)

文章存档

2015年(3)

2014年(3)

2013年(9)

2012年(23)

2011年(23)

分类: 嵌入式

2011-12-11 10:50:16

  1. 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明,否则将追究法律责任。
  2. http://blog.chinaunix.net/space.php?uid=26470037&do=blog&id=3039038


在切入主题之前先要了解“上”与“下”的含意是什么,这需要从图1中找答案。图中,应用层在最上面,其下依次是框架、平台、库和操作系统层,因此“上”是指靠近应用层,而“下”则是指靠近操作系统层。

图1
    
对于一个被设计的软件模块,存在两个视角。一个是从上向下看,这一看,看到的是模块向上层提供的是什么样的接口,或者说“长什么样”;另一个则是从下向上看,即模块的具体实现是什么,是如何通过使用其下的库(或其它的模块)来塑造它自己的“模样”的。

那一个软件模块的设计之初,是应当自上而下呢,还是自下而上?

软件设计最为重要的是塑造形象,即打算将软件设计成什么样,这是软件设计阶段真正要做的事。软件设计时,最重要的不是数据结构的组织,而是形象塑造,当形象有了以后,数据结构的组织就是一件很自然的事了。因此,软件设计应当先是“自上而下”。显然,光有自上而下也不行,当塑造好了模块的形象以后,还得“自下而上”地考虑如何去实现被设计模块。自下而上时还可以审视,现有的哪些模块能被将要设计的模块所重用,从而提高现有软件模块的复用性。

宏观上讲,两种方法各有特点。自上而下更容易把握整体性,但难度更大,成本也相对高;而自下而上则更容易做到复用,进而获得更好的经济性。在进行软件设计审查(注意,不是代码审查)时,审查者需要注意,不能从自下而上的角度去审视被审查的设计,相反,应当采用自上而下的方式,检查被审查的模块是否很好地体现了它的概念或“模样”。
 
本文出自 “李云” 博客,请务必保留此出处 http://blog.chinaunix.net/space.php?uid=26470037&do=blog&id=3039038
阅读(1918) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~