以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 软件工程论坛 』 (http://bbs.xml.org.cn/list.asp?boardid=48) ---- [转帖]软件构件技术 (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=31300) |
-- 作者:wcdxyl -- 发布时间:4/26/2006 12:33:00 PM -- [转帖]软件构件技术 软构件技术概述 软件行业的工业化趋势导致了软构件的产生。能够像硬件系统那样,将部分软件组合起来构建软件系统,一直是软件行业多年来追求的目标。特别是对于象很多应用软件的开发(例如很多行业和单位的MIS系统),若能结合系统的实际情况充分利用已有的软件构件,将会大大提高生产效率,减少大量的重复劳动。可以说,软构件技术的出现是对传统软件开发过程的一次变革。构件(Component)是可复用的软件组成成分,可被用来构造其它软件。它可以是被封装的对象类、类树、一些功能模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。从广义上讲,软构件技术是基于面向对象的,以嵌入后马上可以使用的即插即用型软构件概念为中心,通过构件的组合来建立应用的技术体系。狭义上讲,它是通过构件组合支持应用的开发环境和系统的总称。我们可以按多个侧面对构件进行分类: 目前,采用软构件思想开发的软件产品相继出台,而主流是以美、日大公司为首的产品。由于采用其思想的开发工具推出的时间还不足五年。因此,真正使用软构件的用户还屈指可数。尽管软构件技术还存在着很多不成熟之处,但人们都相信软构件带来的好处是不可估量的,它代表了新一代软件技术的发展方向。 传统的MIS开发方法 自底向上法出现于早期的计算机管理应用系统,即在进行系统分析和设计时自下而上,先从底层模块做起,然后逐步完成整个系统。自底向上法使得MIS的开发易于适应组织机构真正的需要;有助于发现系统的增长需要,所获得的经验有助于下一阶段的开发,易于控制和管理。但由于方法的演变性质,自底向上法使MIS难以实现其整体性;同时由于系统未进行全局规划,数据一致性和完整性难以保证;而且为了保证系统性能的需求,往往要重新调整,甚至重新设计系统。 快速原型法 快速原型法的最大优点是能够大大减少软件系统的后期维护费用,使系统功能能正确反映用户的需求。原型本身及这种方法的不足之处在于,如果原型本身功能设置不齐全、性能不好,会导致原型的设计和使用超出预期的花费和时间。另一个关键不足是原型法需要一个合适的软件开发环境,以便原型能直接转换成现实的系统。 以上方法各有其优缺点。“自底向上”法只重局部而忽视了对整体的把握;“自顶向下”法开发周期长、见效慢、缺乏灵活性和适应性;快速原型法虽然具有很明显的优越性,但因其依赖于快速开发工具的支持,又不能不令许多系统开发者望而却步。因此通过对软构件技术的研究,我们提出一种新的开发方法——积木法。 利用软构件技术开发MIS系统 MIS构件的定义、分类和生成流程 由上述软构件定义可知,软构件并不是简单的一段程序,生成应用功能构件的过程是执行规则、产生代码替换宏结点的过程。 通用MIS构件可分为以下两类: 用户软构件 MIS系统生成是建立在一个个积木块——软构件的基础之上的。MIS系统的生成过程也就是从软构件库中提取软构件,并将它们按照集成算法组合的过程。 为了适应多种MIS系统开发的需要,软构件库中应含有大量的各类软构件,但若软构件很多,又会带来软构件的查找、使用和维护的困难。为此,需要设计软构件库的管理程序。 软构件库的管理程序主要完成以下几个功能: 软构件查找:在软构件中查找到所要求的软构件; MIS系统采用软构件设计方法,把应用系统划分为若干积木块,把程序生成问题转化为软构件的设计、处理问题。对于不同的应用系统,通过分析发现它们之间的共性与个性,把共性部分作成标准软构件,把用户要求存入规则库。根据软构件集成算法,将软构件连接成完整的系统。 总结与展望 |
-- 作者:pennyliang -- 发布时间:4/30/2006 9:23:00 AM -- 软件构件的思想早在1968年就已经被提出,轮子只要做一次就可以了,重复劳动是对生产力的巨大浪费,必须找到一个方法,积累过去的知识,重用就成为产业界和学界不断探讨的问题,重用大致分为 人员重用[挖人,或者留人] 设计重用[设计模式] 代码重用[just include it] 框架重用[MFC,或者一些开源的领域特定框架] 重用的层次越来越高. |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |