OO重用的挑战和神话——craig larman

fangsoft 2003-06-11 03:12:30
UP是为采用对象技术(Object Technology,简称OT)的项目开发的。为了实现软件重用,经常推崇OT的应用。意义重大的重用是值得赞许的目标,但是却难以达到。这不仅仅是采用OT和编写类的问题。为实现有意义的重用,不得不实施一系列技术上、组织上和交流机制上的变革,OT只不过是其中一项有用的技术。当然,技术服务类库,如Java技术库是非常成功的重用例子,但我指的困难是在机构里创建重用代码,而非创建核心类库。


对曾采用OT的机构进行调查,询问其采用OT的实际价值所在。有意思的是,重用的价值被列在名单最后|Cutter97|。在经验颇多的OT实践者和机构中,这并不鲜见:

他们明白通俗刊物对OT重用性的描述在某种程度上是一种神话,大多数机构都看不到什么重用性。这不是说重用性没有价值,或者根本不存在重用性——它是值得研究的,而且也有一些重用的例子,只不过有些文章和书本提到的不是高层次的重用。许多经验丰富的OT开发人员都能说出某机构受媒体误导而大规模尝试为公司创建宏大的“可重用库”或服务的战役,结果花费一年时间,耗资数百万美元,项目却以失败告终,或者项目勉强成功,却没有充分体现初衷。实现重用很难,且无可争议地是一个社会和组织机构范畴的问题,而不仅仅是技术问题。

那么这是不是意味着OT就没有价值了呢?当然不是,只不过它的价值被错误地主要同重用联系在一起,其实它更能显著地帮助项目实践活动:灵活机动,易于改变,便捷的复杂度管理。同一调查[Cutter97]列出了通过实际采用OT而体会到的主要价值:易于维护应用程序,节约成本。对象系统如果设计得好,与不采用OT技术相比,能相当简易快捷地得到改进和扩展。这的确很重要,因为许多机构发现,应用程序长期成本的大部分都在修改和维护上,而不是最初的开发上,因此,降低修改成本的策略就很重要。尽管想要降低新系统开发成本的想法是合理的,但有些可笑的是,很少有投资者会想到接下来的问题:如何降低修改和维护系统的成本?——其实最大的开销常常就在于此,这也正是OT能提供贡献的地方,此外它还能强有力地、游刃有余地处理复杂系统。

fangsoft,摘自《applying uml and pattern》 2nd
6/11,2003
...全文
49 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧