我们的社会正在步入知识经济时代。知识经济的特点在于创造价值的主要源泉已不再是依赖于资源、资本和人的简单劳动,而是依赖于人的智慧和科技的创新。1999年2月美国总统 IT 顾问委员会的一份报告列举了大量的事实论证 IT 技术对社会和国家以及人民生活的重要作用。建议美国政府加大对IT 技术发展研究的投入。在建议重点支持的四大项目中,把软件列在首位。因为报告认为软件是信息所时代社会的最重要的基础设施,然而现实上这个基础却相当脆弱和不可靠。软件越来越普及而且越来越复杂,但缺乏开发可靠安全的各种软件的合用技术。软件的生产能力远远满足不了飞速发展的实际需求。为此,报告建议重点支持四个方面的软件技术的发展和研究。第一就是支持软件开发方法和构件技术的基础研究。作为解决软件危机、提高软件生产率和质量的一种现实可行的途径,软件重用越来越成为计算机界的研究热点,并把众多精力投入到其核心技术——软构件技术的研究上,许多构件描述语言如IDL,CKL,RESOLVE等的出现,EJB,COM,.NET组件等标准的提出为构件的描述、管理与组装提供了思路和技术支持。
构件软件技术还处于发展阶段,目前迫切需要解决以下问题:针对如何开发应用,需要有一套开发规范和质量保证体系;如何提取领域构件,仍然是处于摸索阶段。1998年以来,Carnegie Mellon大学每年举办一次的CBSE国际会议(CBSE, Component-Based Software Engineering)。每次会议发表论文20余篇,为软构件查询(component retrieval)集成(component integrity)等的技术研究奠定理论基础,同时又提出新的研究方向(例如软构件测试,质量评估等)。在国内,在理论上,北京大学、中科院软件所、吉林大学、南京大学、复旦大学、中山大学等单位,均发表了不少有价值的学术论文。在实际工程上,青鸟公司、中软公司、华科电脑公司、特宝科公司、天中公司等均采用基于构件技术开发应用软件,积累了不少经验,获取极好的效益。但是软构件库及软构件库管理技术仍没有得到广泛的重视;基于软构件的软件工程理论还不成熟;异构软构件的装配集成问题尚未得到很好地解决。
构件的表示和检索机制的研究一直是构件库研究的热点:一方面,拥有大量可复用构件的组织必须以一种易于分类管理而又方便复用者检索的机制来表示和保存构件资产;另一方面,有效的构件检索机制能够降低构件查找和理解的成本,而构件的合理表示和分类正是实现高效方便的检索的基础。
软构件定义
软件复用已经融入软件工程研究的主流,被视为是使软件开发真正走上工程化和产业化道路的希望。人们在实践中认识到软件复用是一个涉及到技术、方法学、管理和文化等多个方面的复杂问题。除了日常隐含发生的对专业知识和经验的复用之外,最为典型的复用活动表现为借鉴、理解、修改和集装各种不同抽象层次(从产品的概念、系统模型和违约到程序源码甚至目标码)、不同粒度(从系统构架、框架、类簇到代码片断)、不同形式(黑盒构造块、生成器、模板、设计模式等)的可复用软件构件来构造新系统和实现系统演化过程。
构件(component)是可复用的软件组成成份,可被用来构造其他软件。构件具有相对独立的功能和可复用价值。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析文件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件。
软件构件技术是支持软件复用的核心技术,其主要研究内容包括:
1. 构件获取:有目的的构件生产和从已有系统中挖掘提取构件;
2. 构件模型:研究构件的本质特征及构件间的关系;
3. 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组装问题;
4. 构件分类与检索:研究构件分类策略、组织模式及检索策略,建立构件库系统,支持构件的有效管理;
5. 构件复合组装:在构件模型的基础上研究构件组装机制,包括源代码级的组装和基于构件对象互操作性的运行级组装;
6. 标准化:构件模型的标准化和构件库系统的标准化。
分享到:
相关推荐
在实际开发过程中,软构件系统的一般开发过程包括定义软构件接口、实现软构件、构建软构件容器、部署和管理软构件。OSGI框架提供了一套标准服务,使得软构件之间可以互相发现、交互和依赖管理,确保了系统的互操作性...
【嵌入式软构件技术】 嵌入式软构件技术是一种在嵌入式软件开发中提升模块重用性和开发效率的方法。它通过将软件功能分解为独立的构件,每个构件只通过预定义的接口与其他构件或外部环境通信,从而简化系统集成和...
Java是一种支持并行和分布式处理的面向对象的编程环境,在这样的环境中,动态对象技术和继承机制使得动态数据结构和软构件重用的实现成为可能。接下来,我们将详细探讨如何通过Java实现动态数据结构以及如何利用继承...
- **EJB构件的接口**:使用**Java interface**定义。 - **WebService的接口**:使用**WSDL (Web Services Description Language)**定义。 ### 4. 分布式对象访问的桩/框架结构 - **客户端桩(Stub)**:负责替客户端...
静态导航是指页面转换是由组件定义的,而动态导航则依赖于用户输入。JSF还区分了重定向和非重定向两种导航机制。在重定向中,客户端被引导至另一个URL,而在非重定向中,页面流在原始URL上继续。 最后,中间件技术...
1. 基于构件的软件开发技术的定义和特点 2. 基于构件的软件开发技术的分类(CORBA、EJB、COM) 3. 构件获取的方式(改造现有系统、使用构件库、集成第三方服务) 4. 构件开发的原则(高内聚、低耦合) 5. 构件组装的...
- **集成算法**:定义软构件之间的连接规则,确保各构件能够协同工作形成完整的应用系统。 #### 五、结论 基于软构件的数据库系统开发方法是一种有效的解决方案,它不仅可以显著提高开发效率,还能够增强软件的...
对象恳求代理 ORB 规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;公共对象服务可以供应诸如并发服务、名字服务、事务(交易)服务、平安服务等各种各样的服务...
3. **构件接口**:构件通过接口与外界通信,接口定义了构件提供的服务和所需的资源。接口设计应遵循开放封闭原则,即修改内部实现时不应影响外部接口。 4. **构件实现**:构件的实现封装了具体的功能,可以是代码、...
例如,第1组由较软的木材组成,适合用于握钉力中等的场合;第4组由硬木材组成,具有最大的握钉力,但加工性能较差。 #### 2.5 技术要求 - **构件尺寸**:对木构件的厚度和宽度的基本尺寸及其允差有具体规定,确保...
它不仅涉及到软件系统的组成部分(即构件),还涉及到这些构件之间的组织关系以及它们之间的交互模式。 1. **面向对象架构风格** - **特征**: 将数据表示和基本操作封装在对象中。 - **构件**: 对象。 - **交互...
- **定义**: 构件构建为一系列按固定顺序排列的计算单元,构建之间仅通过数据传递进行交互。 - **特点**: 强调整体性,无交互性。 - **管理过滤器** - **定义**: 构件作为过滤器,读取输入数据流并进行内部处理...
标签“复杂异型cad图形构件在广联达软”突出了处理的关键点,即复杂形状的CAD图形在广联达软件中的应用。 主要内容中提到了三种处理方法: 1. “移花接木”法:当遇到非1:100比例的CAD图形时,首先在CAD软件中将...
"软工概论软件体系结构与设计模式推选PPT文档.ppt" 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。软件体系结构设计是一系列决策和基本原理的集合,这些决策的目标...
1. 面向对象程序设计:面向对象程序设计是程序设计的一种方法,以对象为基本逻辑构件,用类来描述具有共同特征的一组对象,以继承机制实现代码重用。知识点包括类、对象、继承、多态、封装等。 2. 数据结构:数据...