面向对象软件工程 面向构件软件工程

面向对象软件工程 面向构件软件工程
如何更好地实现软件重用一直是软件工程的重要研究课题。OO技术的出现是软件开发技术的巨大进步,但怎样实现大粒度的重用以提高软件的可维护性和可扩展性仍是一个难题,CBSE的发展从根本上解决这一问题:由于COM/DCOM、JavaBeans/EJB等组件标准的出现,CBSE趋向实用。1990年开始在基于面向对象技术的基础上发展了组件技术,它丰富了重用手段和方法,逐渐成为研究的热点。组件(Component)是可用来构成软件系统的即插即用(plug and play)的软件成分,是可以独立地制造、分发、销售、装配的二进制软件单元。CBSE是指用装配可重用软件组件的方法来构造应用程序。它包含了系统分析、构造、维护和扩展的各个方面,在这些方面中都是以组件方法为核心的。

与传统的软件重用方法比较,CBSE有以下特点[4]:

1)即插即用。组件可以方便地集成于框架中,不用修改代码,也不用重新编译。

2)以接口为核心。组件的接口和实现是分离的。组件通过接口实现与其他组件的框架的交互,组件的具体实现被封装在内部,组装者只关心接口,不必知道其实现细节。

3)标准化。组件的接口必须严格地标准化,这是组件技术成熟的标志之一,目前主要的组件标准有Microsoft的COM/DCOM,Java的JavaBeans和EJB,OMG组织的COR-BA。可以说,计算机界很久以前就有用组件来装配成应用软件的想法,但始终未能成为现实,其中的一个主要原因是组件标准的缺乏。正是由于出现了以上较为成熟的组件标准,才使得CBSE由梦想走向现实。

4)组件通过市场销售和分发。大量成熟的组件可以通过市场购得,市场的竞争机制也可以保证组件生产的质量的提高、种类的增加和价格的降低。

CBSE的意义[5]:

(1)CBSE从根本上改变了软件生产方式

正是福特创造了汽车的流水线制造法,才开创了工业化大规范生产的新纪元。而福特制造的精髓就是将汽车生产的重点从制造每一个零件转到装配,汽车制造者不必自己设计制造每一个零件。大部分零件由外购而来。过去的软件生产方式与旧的汽车生产方式十分相似,开发者往往要编写程序中的绝大多数代码。因此,如果能实现像组装汽车或机器一样地进行软件开发,将是软件工程的巨大进步。

(2)CBSE提高了软件重用率,保护了已有的投资

生产好的组件可以分发销售给多个其他用户,一方面大大降低单个组件的成本,另一方面大大降低软件开发中的重复劳动。目前在各家企事业单位中存在着许多旧的计算机软件系统,可以将这些系统分成模块后通过组件技术封装起来,成为新系统的组成部分。这种通过标准的接口将旧的程序代码隐藏起来的做法,巧妙地保护了已有的软件投资。

(3)CBSE使开发者将更多的注意力放到业务流程和业务规则上去

由于开发者的主要工作是构造框架和装配组件,使他们可以摆脱编程的细节问题,将更多的精力投入到与用户交流。另外,一切业务管理者也可以在更高的层次上,用偏近于业务而不是偏近于计算机的语言进行讨论。

(4)CBSE开发的系统的维护十分方便

由于CBSE是模块化开发,如果某个模块需要修改,只需用修改好的模块替换掉以前的模块,不用重新编译整个系统。若想扩展系统的功能,也只需将符合框架的约束条件的接口要求的扩展模块直接加入到该系统即可。由此可见,CBSE开发的系统的维护和升级都十分方便。

(5)CBSE降低了对系统开发者的要求

尽管CBSE没有消除系统开发者和使用者之间的分界线,但却移动了这条分界线。这是因为CBSE的开发者主要任务是装配已有模块,不需要有很高的编程技巧。从而使更多的人可以构造适用于自己的系统。在开发环境中,仅仅在构造组件时才需要对编程语言的熟悉和高超的技巧。

  

爱华网本文地址 » http://www.aihuau.com/a/8103350103/69330.html

更多阅读

在职研究生网答疑:读软件工程硕士有用吗?

软件工程硕士有用吗?这是考生最关心的问题,其实软件工程硕士研究生方向很多,如:项目管理方向,战略管理方向,战略财务方向可以供不同需求的在职人员选择报考。学习必定会有用,而且软件工程毕业后就业前景非常好,这也是软件工程硕士火爆的原因

软件工程导论应用实例 软件工程导论 pdf

软件工程应用实例1、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨

软件工程专业 自动化专业

软件工程A软件工程毕业之后一般做什么?近几年的就业率和收入怎么样,能不能说一下你们毕业班的情况?毕业找工作啊。做software的developer或者tester,当然,也不局限于此。很多方向都可以的。也有打算读博士的。软件工程的领域还是比较广

声明:《面向对象软件工程 面向构件软件工程》为网友諟莪啲寶分享!如侵犯到您的合法权益请联系我们删除