尽展体育的魅力,创造历史辉煌!2008让我们为奥运加油,为中国加油!
 
 奥运金牌榜
  
  高级搜索
  首页   技术论坛   博客   产品中心   资源中心   银弹在线   商城  

 
  本文的标签
EOS (收录2012篇)EOS知识库 (收录442篇)EOS感悟 (收录10篇)
  SOA2007 - SOA实践
我们何时迈向SOA
——SOA在中国的整体发展现状究竟如何?
我们如何迈向SOA
——中国企业如何迈出实施SOA的第一步?
我们应采用何种技术
——SOA国际标准SCA/SDO的具体内涵?
我们还需要何种技能
——SOA将如何改变系统架构设计以及项目管理过程?

面向构件技术的一些思考


发布时间:2005-08-01 00:00:00 作者:cservice 出处:goComDevCenter 语言:中文 阅读次数:1282
面向构件技术的特色在于:迅速、灵活、简洁,曾经提出"没有银弹”的Frederick Brooks后来表示构件技术就是软件行业的银弹。从中可以看出对构件技术寄予何等的期望.



1 面向构件技术是软件业发展的需要

面向构件技术之于软件业的意义正如由生产流水线之于工业制造,是软件业发展的必然趋势。软件业发展到今天,已经不是那种个人花费一段时间即可完成的小软件。软件越来越复杂,时间越来越短,软件代码也从几百行到现在的上百万行。把这些代码分解成一些构件完成,可以减少软件系统中的变化因子。



2 面向构件技术的基础

世界著名科学家牛顿说过他是站在巨人的肩膀上。面向构件技术的思想基础在软件复用,技术基础是根据软件复用思想设计的众多构件。面向构件将软件系统开发的重心移向如何把应用系统分解成稳定、灵活、可重用的构件喝如何利用已有构件库组装出随需而变的应用软件。



3基于面向构件技术的系统组成

系统=框架+构件+组建

框架是所有构件的支撑框架;每个构件实现系统的每个具体功能;组建,可以视为构件的插入顺序,不同构件的组成顺序不同,其实现的整体功能也就不同



4 结构化设计、面向对象技术和面向对象构件技术

三种技术各有特点,软件设计中选取何种技术,根据实际情况,如软件系统特点、规模、技术现状等等。甚至只要有需要有可能,你可以选取其中的一种、两种甚至同时使用三种,又有何不可?

举个例子,在系统分析过程中,采用面向对象技术,将整个系统分解成各个对象,分别设计;在各个对象的分析设计中,找出可复用部分,采用面向构件技术设计;在特定部分,采用结构化设计。



5面向构件技术的瓶颈

(1)构件的质量

面向构件的软件开发技术将系统分解成不同的构件,因此,构件是否高效稳定势必影响整个系统性能。



(2)标准化和知识产权限制了构件的复用

标准化和知识产权分别从技术角度和法律角度限制了构件的复用。如何让构件得以更好的储存复用,降低劳动重复劳动量应该从这两方面考虑。



(3)应用框架技术还不够成熟完善





(4)关于构件组建技术

要把珍珠串成项链,选择牢固可用的链子是重要的。同样的,如何把独立的构件组建成一个可用系统,组建技术同样也是举足轻重的。



6 面向构件技术的发展

在我的想法中,面向构件技术将把软件开发分成几种:框架开发设计、构件开发设计、组装

如果用现代的工业生产做比喻,框架设计就是基本的生产机器的开发研究,构件开发就是零件的生产,组装就是把零件组装成汽车、飞机等等各种产品。



7 面向构件开发的不足之处

(1)系统资源耗费

从软件性能角度看,用面向构件技术开发的软件并不是最佳的。除了有可能的代码冗余外,因为它的灵活性在很大程度上是以空间和时间等为代价实现的。(但与硬件的发展和硬件成本降低,这个问题可以说不算问题。)



(2)面向构件开发的风险

从细节来看,构件将构件的实现细节完全封装,如果没有好的文档支持,有可能导致构件的使用结果不是使用者预期的。比如,构件使用者对某构件的出错机制认识不够







8 面向构件技术不是唯一和永远的银弹

没有放之四海皆准的真理。面向构件技术同样不是软件业唯一和永远的银弹。

未来,站在面向构件技术这个巨人的肩膀上又将发展出何种软件技术?





附:

关于框架,可以看《框架不是框框—应用框架的基本思想》

http://www.loveunix.net/bbs/index.php?showtopic=123

 评论 查看全部评论

 

声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。