面向构件编程技术初探
面向代码的构件技术在PLM系统开发中的应用

1.引言构件技术是在软件开发中避免重复劳动的解决方法,被视为解决软件危机、提高软件生产效率和质量的切实可行的途径。
人们期望通过复用以前的代码或组件来减少编码的工作量,提高软件开发效率。
其中,软件复用适用于系统生存周期的各个阶段,表现为分析复用、设计复用、代码复用、测试复用以及以项目为中心的文档复用等。
其中,代码复用技术最直接、应用最广[1-3]。
本文在面向构件开发思想的基础上,设计并架构了覆盖PLM 业务范围的多层分布式系统结构,将构件技术,UML [4]和FORM L 设计相结合,详细介绍了面向代码的构件开发方式,并分析了其组成部分在PLM 系统中的实现。
2.基于构件技术的PLM 的系统结构产品生命周期管理(PL M ,Product life cy cle m anagement)是指管理产品从需求、规划、设计、生产、经销、运行、使用、维修保养、直到回收再用的全生命周期中的信息与过程。
其涵盖CAD 、PDM 、SC M 、C RM 等产品全生命周期各阶段的解决方案,并通过PLM 进行连接与集成[2]。
PL M 系统是以J2EE 中间件技术为主线,设计模式采用MVC ,在各层开发中采用了基于构件的中间件技术。
图一基于构件的中间件开发的P L M 系统技术结构如图一所示,传统的构件(CORBA 、COM 、VCL 、E JB)也具有粒度大,松耦合的特点,都可以实现可插拔,可替换。
我们的系统中主要应用的是COM 、VCL 和EJB 。
其中EJB 用在商务逻辑层,COM 、VCL 用在界面表现层做底层技术。
实现支持SDI 、M DI 、M TI 界面风格和属性化开发,即直接引用OM 类和OM 接口的一些属性,由编译器自动生成代码。
界面层每个构件都是一个子窗口,都有属性和方法。
每个属性都有个属性名,如BiCo lor,Fo ntSize 等。
属性类型可以是字符型或整型或浮点型。
构件的方法与函数类似。
由一个符号作为名称,还有一组参数和返回值。
面向构件的学习

面向构件技术在任何行业中,复杂情况通常是通过应用很多关键概念来解决的。
这些概念是通过像抽象、分解、迭代和细化这们的方法来表达的。
其中的关键是分解技术---把一个较大的问题分解成较小的、可管理的单元,那样每一个单元都可以单独处理。
这个技术是软件工程的许多方法的核心。
这些方法可以称为结构化设计、模块化编程或面向对象,它们产生的单元称为模块、包或构件。
最近,人们开始关注于通过有计划地集成现有的软件部分来进行软件开发。
这通常称为基于构件的开发(Component-Based Development, CBD)或基于构件的软件工程(Component-Based Software Engineering, CBSE),而其中的各个部分称为构件,在此我们通称为面向构件。
什么是构件关于到底什么是构件、什么不是构件的问题有很多不同意见,但无论如何,CBD的基本是从定义良好、独立开发的部分来建立系统。
对于CBD而言,构件远非模块化编程方法中的子程序、面向对象方法中的对象或类、或系统模型中的包。
在CBD中,构件的概念既包含了这些思想又扩展了它们。
构件是设计、实现以及维护基于构件的系统的基础。
现在我们将采用一个相当广泛、全面的构件定义:构件是一个独立发布的功能部分,可以通过它的接口访问它的服务。
这个定义强调了构件的很多重要方面。
第一,它将构件定义为一个可交付的单元。
第二,构件会提供一些有用的功能,这些功能集合到一起会满足一些需求。
这些功能的设计符合一些设计准则。
第三,构件通过接口提供服务构件和对象之间的关系考察对象和构件的关系,为理解构件方法提供了一个很好的起点。
构件可以认为是一种包装对象实现的简便方法,并且可以使它们组装成一个更大的软件系统构件可以看作是在构件模型的环境中的一个或多个对象的实现。
这种构件模型定义了一套构件必须遵守的规则,使其它对象可以访问那些对象实现。
经外,它描述了一套标准服务,这些服务是构件和构件系统组装工具可以利用的(如构件及操作的命名,对那些操作的访问安全性、事务管理等等)。
面向构件方法

面向构件方法面向构件方法(Component-based approach)是一种软件开发方法论。
它采用将软件系统划分为多个独立的模块(构件)来进行软件开发的方式。
每个构件实现一个具体的功能,构件之间通信通过标准接口实现,构件可以被复用并可以自由组合形成一个完整的软件系统。
面向构件方法的优势显而易见,即使在大型软件开发的情况下,它也可以有效的管理软件系统的复杂度及维护成本。
面向构件方法从它的起源至今已经经历了多个发展阶段,本文将对面向构件方法的起源、重要概念及发展历史等进行介绍。
一、起源面向构件方法起源于20世纪80年代末期和90年代初期的研究和实践,随着软件规模的扩大和复杂性的增加,人们逐渐意识到软件开发模式应该更注重软件复用和系统开放性。
于是面向构件方法应运而生。
面向构件方法的目标是推广“资产复用”的方法,即把软件开发中可重用的部分进行模块化,然后将这些模块以标准化接口的形式封装起来,以实现更高效的可重用性。
面向构件方法强调将软件开发过程分解成多个可组合的部分,每个部分都是面向对象的类或可行的组件。
二、重要概念1.构件(Component)构件是系统中最小的功能单元,是一个可独立编译和部署的软件单元。
一个构件可以是一个库、一个框架、一个可执行文件等,它能够提供某种特定的服务。
构件通过标准化接口与其他构件通信,实现模块化和可重用性。
2.接口(Interface)接口是两个模块(构件)之间的交互点,它描述了一个模块提供的服务和内部实现。
面向构件方法中,接口主要包括输入参数、输出参数和状态信息等。
组件库是一组可重用的构件集合,这些构件的设计、实现和测试都是独立的,可以任意组合形成不同的应用程序。
在组件库中,每一个构件都是经过设计、实现、测试和文档化的,拥有明确的接口和规范。
三、发展历史1. 初始阶段(1987~1995)2. 标准化阶段(1996~2001)面向构件方法的发展进入标准化阶段,随之而来的,是由OMG(Object Management Group)主导开发的面向构件的中间件规范。
soa从面向构件开始

soa从面向构件开始SOA技术专题SOA技术专题 (1)SOA从面向构件开始 (1)也谈SOA从面向构件开始 (1)关于构件的一点随想 (2)通向SOA-美国和中国不同的道路 (3)“SOA”的时代,“面向构件”老了吗? (8)高效率的中国式报表 (10)SOA从面向构件开始构件,是构造应用软件的标准单元。
面向构件,是基于构件的软件开发方法、技术和标准。
SOA,面向服务的企业架构,服务成为企业应用的新资源。
是与非,应用为本,SOA成就企业架构,软件构件造。
远景,SOA从面向构件开始,面向构件从SOA开始。
也谈SOA从面向构件开始我们说SOA从面向构件开始,就是SOA通过面向构件去实现,因为面向构件是SOA的自然实现方式。
.面向构件的概念着眼于软件的构造,其语义内涵包括:1、层次化。
软件呈现层次化构造,整体可以由一系列有内在结构的器官,即构件,构成。
而构件可以由更小的构件构成。
2、可复用。
这些构件可以在不同的软件中以相同的形式出现,完成大致相同的功能。
SOA概念着眼于软件的功能,其语义内涵包括:1、层次化。
软件的功能呈现层次化复合,综合功能由单项功能复合而成,复杂功能由简单功能复合而成。
2、可外化。
一个软件需要的功能可以由另一个软件提供。
由于“功能外化”可以看作是互联网时代功能复用的一种形式,面向构件与SOA 完全同构。
因此,我们说SOA从面向构件开始,就是SOA通过面向构件去实现,因为面向构件是SOA的自然实现方式。
从实现本质看SOA从面向服务开始而又基于构件的SOA架构体系层次结构中,构件应该是“service component”层的主要技术,其之上的层次是“enterprise service”层。
(当然这个可以是系统内,也可以是系统间);再次看一下JEE(这里聚焦在系统内),对应的就是服务实现和服务接口这个层,并一定程度上借助Facade Pattern。
因此赞成“SOA从面向服务开始而又基于构件的”的说法。
面向构件化软件开发

BPML/ Workflow
J2EE .Net Corba MSQ
Data DI
Java C#
内容
流程定义
规则
权限
报表
面向构件的中间件的特征
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
页面
展现
服务
对象
数据
COM+
CORBA
J2EE
EAI
SOA
COA
业务
Portal
业务构件的艺术性
软件建筑师是业务专家和艺术家
软件建筑师不是技术工人
构件就是艺术
01
确定业务范围和框架
02
确定应用环境和技术
03
选择开发平台
04
建立构件化开发体系
05
建立构件库
面向构件的软件开发
面向构件的开发跟踪点
Stabilizing Approved
Blueprint Approved
Position Approved
面向构件的体系 -软件产业化-
黄柳青 博士
面向构件是产业成熟的标志
2023
01
裁缝是量身订制的艺术家
03
木匠是因才施用的艺术家
02
号码是人体身材的标准化
04
组合家具是需求的产业化
构件的软件开发技术和方法

38 •电子技术与软件工程 Electronic Technology & Software Engineering软件开发• Software Development【关键词】构件 软件开发 技术构件的软件开发流行于20世纪90年代,一个软件构件是可执行软件的一个可分离的单元。
构件可以提高软件开发中构件复用成度,缩短软件的开发周期,提高系统的稳定性,软件构件是软件复用的基本单元,为了实现软件的复用,必须不断地积累软件部件,并将其组成软件库。
了解构件的软件开发技术和方法可以从构件的概念及应用优势、构件的主要内容和构件的软件开发过程来了解。
1 构件的概念及构件的应用优势构件是软件的构成元素,它几乎是独立并可被替换的一部分。
其可以明确辩识,可以通过构件接口访问它所提供的服务。
而且构件和语境有明显依靠关系,是可以组装的软件实体。
从广义上讲构件可以是数据,也可以是被封装的对象类、软件构架、文档、测试用例等。
软件构件是由第三方提供的可组装软件实体,软件构件都承载着一些有用的功能,并且遵循某种构件模型。
可复用构件则是指具有可复用价值的构件。
当前我国软件企业方面面对着日益增加的竞争压力,在国际市场上稍不注意就有可能会被淘汰,角逐愈激烈愈能促进软件这个行业的发展。
传统软件开发方式仅仅是通过软件开发人员手工设计的模式,如果稍有变动就必须重新开发系统。
这样很难跟得上现在软件行业的发展。
然而现在的构件软件技术在碰到业务流程发生变化或系统升级等情况时,不需要全盘推翻重新开发,只需要增加新的构件或改动原来的构件即可完成。
这样不仅节省时间和成本,还大大提升了软件开发的效率。
相比于传统的软件开发技术,构件的软件开发的软件产品更能吻合客户的需求,上市时间和软件质量也是遥遥领先于传统的软件开发。
2 构件的主要内容构件的主要内容可以从构件的基本特点、构件的软件开发技术和方法文/车雪构件的要素和常用构件的基本模式进行大致的了解。
面向构件的软件开发方法学分析研究

面向构件的软件开发方法学研究陈良山 200305018009从软件建模方法论的角度看, 信息系统的开发方法已历经两代技术跨越: 面向过程, 包括面向功能和面向数据流。
面向对象, 体现功能与数据抽象方法的统一.20 世纪90 年代中期以来, 由于分布对象技术与软件重构工程的有机结合, 促使面向构件的软件开发方法应运而生.面向构件方法(COM >与面向对象方法(OOM > 的本质差异在于: 对象化建模过程一般针对单一应用系统, 对象抽象一般针对问题域, 对象模型的生成过程是静态的, 软件重用粒度是原子级的。
而构件化建模过程一般针对领域应用系统, 构件抽象则针对解域, 构件化模型即构架的生成过程是动态的, 软件重用粒度是组合级的. 领域应用是多个单一应用通用化和重用化的应用集群, 解域是问题域的过程与层次深化, 构件则是对象的软件实现与集成。
因此,COM 法与OOM 法在研究范畴、研究对象及其研究方法上都是有区别的. 不言而喻, 面向构件方法是21 世纪软件方法学的主流研究方向. 下面用过程与方法的组合理念来展开研究内容.面向构件软件开发的一般过程构件化软件开发的过程模型所谓构件化, 是指软件体系结构可重组以及软件成份可重用的系统开发方法. 这种方法的基本内涵是: 应用需求领域化, 软件结构框架化, 软件元素构件化, 应用原型实例化. 这一思想可以概括为四个阶段、三个层次和两大过程, 如图 1 所示从工程化与过程管理的角度讲, 整个软件系统的开发过程可定义为四个阶段: 分析, 设计,实现, 评价. 但这并不是单纯的串行式瀑布模型, 而是过程并行与增量迭代等多种方法相结合的工作流模型. 多年来, 人们往往把系统阶段控制方法与软件建模抽象方法混为一谈。
最典型的是把生命周期法和原型法与面向过程和面向对象的方法混为一谈.信息系统是一种具有生命周期的开放系统, 这是毋庸置疑的. 因此, 从工程管理及大的阶段控制过程看, 构件化方法与结构化方法和对象化方法一样, 仍然应该遵循软件生命周期规律。
面向构件的软件开发方法学研究

面向构件的软件开发方法学研究
万麟瑞;胡宏;孙红星
【期刊名称】《小型微型计算机系统》
【年(卷),期】2003(024)003
【摘要】文章以集成供应链管理软件的研究开发为背景,从中抽象出面向构件的软件开发的一般过程、原理和方法.首先提出构件化软件开发的过程模型,阐述与过程相适应的阶段和内容划分思想以及建模机制;进而阐述领域工程及需求分析方法,重点探讨构架和构件设计思想及多种建模方法的综合应用,给出基于软件体系结构风格和形式描述的构架模型和构件模型;最后给出构架与构件实现的典型案例.所提出的过程论和方法论具有一定的理论系统性和工程实践基础.
【总页数】6页(P365-370)
【作者】万麟瑞;胡宏;孙红星
【作者单位】南京航空航天大学,计算机科学与技术系,江苏,南京,210016;南京航空航天大学,计算机科学与技术系,江苏,南京,210016;南京航空航天大学,计算机科学与技术系,江苏,南京,210016
【正文语种】中文
【中图分类】TP311
【相关文献】
1.综合电子信息系统面向构件的软件开发与集成技术研究 [J], 柳永齐;乐勇
2.综合电子信息系统面向构件的软件开发与集成技术 [J], 成静
3.综合电子信息系统面向构件的软件开发与集成技术研究 [J], 成晓东
4.综合电子信息系统面向构件的软件开发与集成技术 [J], 陈浩
5.面向构件的电子信息系统软件开发与集成技术设计 [J], 吕健
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向构件编程技术初探
张成伟;孙惠生
【摘要】本文主要介绍了面向构件编程的基本概念和一般方法,并从面向构件编程的实现方法、高层架构设计等方面对面向构件编程技术进行了输入的阐述,最后简
单介绍了面向构件编程的发展趋势.
【期刊名称】《科技创新导报》
【年(卷),期】2010(000)033
【总页数】1页(P38-38)
【关键词】程序设计;构件;系统架构
【作者】张成伟;孙惠生
【作者单位】长春职业技术学校,长春,130102;长春职业技术学院网络中心,长
春,130033
【正文语种】中文
【中图分类】TP311.5
软件开发提高开发效率的途径有很多,这里我只谈一点,就是各种资源重新利用。
软
件复用是在软件开发中避免重复劳动的解决方案,可以提高软件开发的效率和质量。
面向对象技术为软件复用提供了基本的技术支持。
在分布对象研究领域,这项技术
也是一个重要的研究内容。
软件构件技术是一种利用构件组装应用系统的技术,使
传统从最基础的代码编写开始,然后对每个对象进行配置的开发方式,有新的改变。
开发过程中所使用的每一个构件之间通过事先确定的接口进行信息交互,整个应用
系统通过构件的替换或更新满足不同的需求,通过添加新的构件或进行构件组装以增加新的功能。
构件就是面向对象程序设计的扩展与延伸,由业务构件和服务构件构成,服务构件是业务逻辑类,业务构件是由子系统集合而成。
用集合的观点去整合对象。
面向构件开发是九十年代提出的一种软件开发新范型,它是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。
任何一个行业的发展都与当时的技术发展状况有着直接或间接的关联。
但是软件就其本身特征而言更加具有复杂性,它从一开始应用于简单计算到现在渗透到各行各业。
成为管理制度的载体。
软件的发展大体可分为四个阶段:第一面向机器(指令,存储),第二面向过程(算法,功能),第三面向对象(抽象,封装),第四面向构件(复用,组装)。
(1)构架设计、构件选择、构件组装、系统维护与演化的一套开发方法。
(2)设计开发了面向企业的领域构件库,构件形式除了以数据库方式存储代码级构件外,还包含各种文件级构件,提高了复用的范围。
(3)对页面层构件的开发,将其分为WEB构件管理、表单建模器、业务组件管理三部分。
(1)用户交互设计:进行用户界面原型设计和用户界面流程设计,来决定和优化用户和系统的交互过程,从而提高系统的可用性。
(2)架构选型:选择系统的架构风格,提出备选架构方案;同时,“架构选型”给开发组织提供了考虑“如何利用构件平台提供的技术定义架构”的时机。
(3)业务构件分析:对业务构件所承载的需求进行分析,获得“理想化”的解决方案;该活动是架构设计的基础之一。
(4)数据模型设计:设计系统所需的概念数据模型和物理数据模型。
(5)业务构件设计:对业务构件白盒化,确定业务构件接口,确定完成业务构件的服务构
件集、以及每个服务构件的接口。
(6)确定系统架构:基于上游的选型、分析、设计活动,最终确定系统架构。
(7)可复用资产分析:识别可复用的服务构件。
(8)确定服务构件需求:根据上游分析和设计活动的结果,确定每个服务构件的服务级需求。
为了满足客户提出的越来越多的新要求,软件公司必须适应这种改变,否则就难以生存,而IT基础设施必须支持企业提高适应能力。
企业组织正在从相互隔离的垂直业务部门,以及业务流程的水平结构,向新的生态系统业务范例发展。
重点是扩展供应链。
为了减少异构性、增强互操作性和适应不断改变的需求,这样的体系结构应该提供平台来构建具有下列特征的构件服务: (1)松散耦合。
(2)位置透明。
(3)协议独立。
应用基于这样的构件服务的体系结构,服务使用者甚至不必关心与之通信的特定服务,因为底层基础设施或服务“总线”将代表使用者做出适当的选择。
基础设施对请求者隐藏了尽可能多的技术细节。
通过对已有服务构件的组装又可以创造出新的服务构件。
构件服务使用户在构建企业应用时不再直接面对具体的技术细节的层次,而是通过服务构件的方式来构建应用。
这种方式也使得客户的企业应用具有良好的分层架构,能够很好地分离应用的业务逻辑和IT逻辑。
在构件化概念应用的早期,以CORBA、微软公司的DCOM、Sun公司的EJB为构件技术的代表。
当时构件的复用体现在用户界面上的构件复用,这个层次上的构件应用确实对当时的软件开发起到了促进作用。
随着技术层次构件的积累和成熟,企业应用开发迫切需要的不再是细粒度的技术构件,而是粗粒度的业务构件。
以业务构件为中心的面向构件的开发才能真正提升开发的速度、降低开发成本,并改善软件质量。
从面向构件到面向业务构件,企业实现了更高层次的应用积累,使应用业务功能模型与耦合度方面更加优化。
面向构件技术的构件业务化强调的是粗粒度的构件,是对一个完整业务功能的实现与复用。
模型从某一个建模观点出发,抓住事物最重要的方面而简化或忽略其他方面。
模型包含两个主要方面:语义方面的信息和可视化的表示法。
语义方面,模型表达一种逻辑,一种业务描述。
可视化的表达方式可以用方便使用者观察、浏览和编辑的形式展示语义信息。
[1]黄罡,张路,周明辉.构件化软件设计与实现.
[2]赵海燕,张伟,麻志毅.面向复用的需求建模.
[3]黄柳青.构件中国:面向构件的方法与实践.
[4]Clemens ponent Software--Beyond Object-Oriented Programming.
【相关文献】
[1]黄罡,张路,周明辉.构件化软件设计与实现.
[2]赵海燕,张伟,麻志毅.面向复用的需求建模.
[3]黄柳青.构件中国:面向构件的方法与实践.
[4]Clemens ponent Software--Beyond Object-Oriented Programming.
中图分类号:TP311.5。