关于基于组件的软件开发的一些看法

原创 2004年01月14日 11:07:00
基于组件的软件开发

 

最近在看一些关于基于组件的软件开发的资料,有一些收获和看法。

 

组件并不是指VCL类库形式的东西,组件应该是后期绑定的二进制程序。

 

组件是封装成独立的二进制单元并且可复用的自描述程序。可以通过面向对象的方式进行访问,组件是语言无关的,组件是后期绑定的(相对于编译时链接),在最终产品环境中,组件是可以通过不同部署策略而实现部分替换的。

 

实行基于组件的软件开发模式(CBD)能带来以下优点:

 

1、提高产品资源的可复用性。

CBD最大程度的适应软件开发平台的迁移以及软件体系架构的变化,使已有的产品资源得到充分的利用。

 

2、版本控制更为简单

基于组件的软件开发,使我们只需要维护核心组件代码的版本更迭,而这一部分的版本管理相对比较简单,它可以避免出现很多的版本分支或者其他复杂情况。

而将组件连接在一起的项目代码,仅仅是可以工作就可以了,没有很高的重用价值,也没有太多精心维护的必要。很多的版本分支甚至不需要考虑合并。

 

3、有效利用人力资源

开发人员的实际水平良莠不齐,CBD使人力资源分配更加合理。只需要少数人员来进行核心组件的开发和维护,降低多数项目实施人员的人力资源成本,使人力资源得到合理利用。

此外,由于只有少数人员参与,CBD还可以有效的保证核心代码的质量。

 

4、从销售软件到销售软件实施,从做项目和做产品之间找到平衡点

实际项目的功能将仅仅是已有组件产品的一个功能子集,项目的实施实际上只需要根据客户的要求进行二次开发。而在不断维护中的组件产品资源使项目的实施越来越方便。

 

5、开发效率提高,编译调试更加方便

组件的使用,使软件开发过程中的编译链接过程更加快速。

 

实行基于组件的软件开发模式的缺点:

 

没想出来。现有可见的问题都不是致命的,都可以通过一定手段避免,可参照后面的“要求”部分。

 

实行基于组件的软件开发模式的前提:

 

在一定时期内,企业有数个相同业务领域的项目需要实施,并且有计划在这个领域内发展,就可以在这个领域内实施一定程度的CBD。

 

实行基于组件的软件开发模式的要求:

 

1、拥有一个具有较强设计实现能力的核心团队,设计良好的软件接口,保证组件的高可用性和版本兼容性。并可以对项目实施团队进行一些关键性的培训。

2、有较多数量进行项目实施的初级软件开发人员。

3、要发挥CBD的优势,积累很重要,需要一个过程。

基于Qt的组态监控软件实现以及分析(转)

转自:http://yleesun.blog.163.com/blog/static/2941340220094695359894/ 组态软件部分作为自动化网络平台客户端的实现部分,仅仅是其中的...
  • zcx515545
  • zcx515545
  • 2014年08月13日 15:07
  • 2259

关于开源云计算平台软件的一些个人想法

综观许多云计算服务模式,比如用户云(又叫软件即服务)、开发云(又叫平台即服务)和系统云(又叫基础设施即服务),有大量多种多样的应用程序可供选择,既有商业产品,又有免费的开源产品。本文列举目前主流的开源...
  • English0523
  • English0523
  • 2015年12月25日 14:57
  • 3522

对常用的软件开发模型的总结与个人理解_Phoenix-晶

软件开发模型(SoftwareDevelopment Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。   软件开发模型能清晰、直...
  • u014627143
  • u014627143
  • 2015年06月11日 21:31
  • 2277

换新工作了,谈谈工作6年对软件开发的看法

本人工作六年工资水平刚刚达到中等水平(1w),一直都做.net开发(asp.net, asp.net mvc)近段时间才开始接触linux、vim、python这些东西。明天要去的新单位是做i...
  • fuadam
  • fuadam
  • 2011年01月12日 22:33
  • 1858

Android软件开发之PreferenceActivity中的组件

Android软件开发之PreferenceActivity中的组件 1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以...
  • ogog123
  • ogog123
  • 2017年08月01日 18:33
  • 70

Android软件开发之PreferenceActivity中的组件(二十八)

Android软件开发之PreferenceActivity中的组件雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyuson...
  • xys289187120
  • xys289187120
  • 2011年08月28日 22:55
  • 7020

Android软件开发之PreferenceActivity中的组件

From: http://xys289187120.blog.51cto.com/3361352/656784/
  • dongge825
  • dongge825
  • 2014年09月23日 15:11
  • 429

ubuntu14.04如何在线安装eclipse以及C/C++开发组件,搭建软件开发平台

在ubuntu14.04操作系统中进行C/C++软件开发,需要安装eclipse以及CDT等各种组件,下载安装包一一安装,之后再进行各种配置可能比较麻烦,在这里推荐一种在线安装方式,安装配置较为方便。...
  • qq_34041083
  • qq_34041083
  • 2017年07月16日 16:44
  • 195

软件开发工程师(JAVA)中级考试大纲之--五 J2EE WEB高级组件开发--(三)Tomcat服务器的环境及配置;应用发布和数据源配置;

首先定义tomcat6的安装根目录为 ${CATALINA_HOME} 在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中。因...
  • liuganggao
  • liuganggao
  • 2015年03月04日 16:54
  • 1101

Android软件开发之PreferenceActivity中的组件(二十八)

Android软件开发之PreferenceActivity中的组件 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www...
  • menuconfig
  • menuconfig
  • 2012年08月07日 11:27
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于基于组件的软件开发的一些看法
举报原因:
原因补充:

(最多只允许输入30个字)