文档库 最新最全的文档下载
当前位置:文档库 › 基于构件库_工作流的可视化软件开发

基于构件库_工作流的可视化软件开发

基于构件库_工作流的可视化软件开发
基于构件库_工作流的可视化软件开发

1引言

1.1构件与构件库研究现状

自1968年Mcilroy在NATO软件工程会议中首次提出“软件复用、软件构件、构件工厂”等[1]概念以来(在商业软件和商务活动中,Component通常也被称为组件),虽然软件构件的定义不断变迁[1-3],但基于构件的软件开发(CBSD)一直被视为解决软件危机,实现软件工业化生产切实可行的重要途径[4]。

近40年来,国内外同行从不同的角度对软件构件技术进行了许多有价值的研究[5]。这些研究涉及到了软件构件的整个生命周期过程,从软件构件的定义[1-3,6]到构件的属性[7];从构件的描述[7]和分类,构件的标准化[4,8]到构件之间的关系[7];从构件的制作与生产,构件的查询与获取及构件的表示和检索[6],构件的模型与裁剪,构件的组装与反馈[15]到最终的构件复用。在国内软件构件技术当前已经发展成为软件复用的一个非常重要的学科分支[8]。

随着软件构件技术的深入人心,各种异构的软件构件的数量愈来愈庞大,构件开发者关注的重点已经从最初强调构件的可复用性,转变到支撑软件构件整个生命周期管理的构件库的

基于构件库/工作流的可视化软件开发

张成1,2,吴信才1,2,罗津1,胡茂胜1

ZHANGCheng1,2,WUXin-cai1,2,LUOJin1,HUMao-sheng1

1.中国地质大学信息工程学院,武汉430074

2.教育部地理信息系统软件及应用工程中心,武汉430074

1.FacultyofInformationEngineering,ChinaUniversityofGeosciences,Wuhan430074,China

2.GISSoftwareResearchandApplicationEngineeringCenteroftheMinistryofEducation,Wuhan430074,China

E-mail:zhchwyl@163.com

ZHANGCheng,WUXin-cai,LUOJin,etal.Visualsoftwaredevelopmentbasedonsoftwarestructuralcomponentlibrary/workflow.ComputerEngineeringandApplications,2008,44(10):82-87.

Abstract:Anewapproachtomakevisualsoftwaredevelopmentbasedonthecombinationofworkflowtechniqueandsoftwarecomponentlibrarytechniqueispresented.Theauthorbringsuptheideaofvisualsoftwaredevelopmentmethodwhichisbasedonsoftwarecomponentlibrary,whichistoprogrammingvisuallyusingtheworkflowvisualedittoolstofabricatenewsoftwarewiththesoftwarecomponentsinsomesoftwarecomponentlibrary.Andalsobringsuptheideaofseparatingtheprocesscontrolfromsoftwarecomponent,whichistousingtheworkflowenginetodrivesoftwarecomponentstoworktogether.Softwarecomponentlibraryisemphasizedtobethefoundation,itcontainsthecomponentstobuildupcomplicatedsoftware,andthecomponentscanbeanyscaleandlevel;it’sanopensystem,supportsassemblingsoftwarewithcomponentsandalldevelopmentmethodsofB/S,C/S.Itcanbeusedtoconstructsoftwareprojectfrombottomtotoporfromtoptobottom.Finallytheadvantagesanddisadvantagesarediscussed,too.

Keywords:softwarecomponent;softwarecomponentlibrary;visualprogramming;workflow

摘要:在研究构件技术的基础上,结合工作流技术提出了一种新的软件开发模式,即通过将可视化的构件库与可视化的工作流编辑系统全面融合实现零编程的软件搭建平台。构件库包含了多层次和多粒度的可视化软件构件集合。工作流以业务流程为核心来组装各种构件以实现可视化的软件开发。论文提出了软件构件运行与逻辑控制分离的思想,通过构件库不同层次构件为用户提供良好的软件扩展性和移植性,通过工作流引擎的流程控制取代程序流程的过程控制实现面向业务的快速软件搭建,并支持任意流程的实时测试。这种软件开发模式拓展了传统软件工程的过程开发方式,能较好兼容自上而下和自下而上的软件工程方法,并能适用于BS/CS开发模式。该模型已在新一代GIS平台——

—MapGIS搭建平台中得到成功应用。最后分析了该软件开发方法的优缺点。关键词:软件构件;构件库;可视化编程;工作流

文章编号:1002-8331(2008)10-0082-06文献标识码:A中图分类号:TP311

基金项目:国家高技术研究发展计划(863)(theNationalHigh-TechResearchandDevelopmentPlanofChinaunderGrantNo.2006AA12Z218);国家科技公关计划项目(theKeyTechnologiesR&DProgramofChinaunderGrantNo.2002BA107B01)。

作者简介:张成(1975-),男,博士生,主要研究方向为地理信息系统、构件式GIS技术;吴信才(1953-),男,教授,博士生导师,主要研究方向为基础地理信息系统研究与应用;罗津(1979-),男,博士后,主要研究方向为地理信息系统应用软件开发;胡茂胜(1981-),男,博士生,主要研究方向为地理信息系统与空间数据库。

收稿日期:2007-09-19修回日期:2007-12-17

建设。大部分构件库系统对构件的管理和维护原理类似,差异主要表现在各个构件库所采用的实现技术、系统的侧重目标,以及处理的构件类型和形态方面。

构件实现技术已经比较成熟。业界通用的构件模型主要有OMG(ObjectManagementGroup对象管理集团)的CORBA技术;微软的COM/DCOM(ComponentObjectModel/DistributedComponentObjectModel);SUN的JavaBeans/EJB(EnterpriseJavaBeans企业JavaBeans)。它们都满足Tracz提出的3C模型。即构件三个部分的描述:概念(concept)描述构件的功能;内容(content)描述构件怎样完成概念所描述的功能;语境(context)描述构件与其他构件的关系。

按构件组织形式不同,构件库可以分为集中式构件库和基于网络的分布式构件库。前者由于构件功能相对集中,多用于专业领域的传统软件开发。后者所管理的构件集在物理上呈分布结构,在逻辑上是一个整体,为不同领域构件提供一个开发的注册、管理、检索、交易的场所,是目前构件库的主流趋势。

国内外比较有代表性的构件库有欧盟信息技术计划ESPRIT中开发的REBOOT(ReuseBasedonObjectOrientedTechniques)系统,北京大学青鸟构件库管理系统(JBCLMS)(JadeBirdComponentLibrarySystem),CMUSEI开发的Ago-ra构件搜索引擎,和美国Colorado大学开发的CodeBroker构件库[9]。这些模型均是学术界提出的指导性模型,抽象层次比较高,用户可以根据不同的问题域对其进行扩展[9,10]。其中RE-BOOT构件库系统由一个存储构件的复用库以及一组支持构件生产、考查、分类、选择、评估和适配的复用工具组成。JBCLMS是国家九五重点科技攻关项目,它是一个基于Internet的软件资产库管理系统,包括构件库、构架库以及相应的库管理工具。JBCLMS是国内比较成熟的构件库管理系统,诸多文献均有关于JBCLMS的应用实例描述。根据青鸟构件库模型,广义的构件包含分析件、设计件、测试件、代码件等多种构件。由于分析件、设计件和测试件难以形成一个可以让机器理解的形式化描述,因此这类构件并没有为软件生产效率的提高带来多大的价值,只有代码件即狭义的构件随着高级语言的不断发展而得到广泛应用。如无特殊说明,下文中描述的构件专指狭义构件。

Agora构件搜索引擎[9]提供一种类似于UDDI的机制,允许构件开发者通过Web方式在线搜索或注册构件。CodeBroker是美国Colorado大学开发的一个面向Java程序开发的构件库原型,其最大特色是构件库与源程序编辑工具实现无缝集成,为用户提供主动查询服务[9,11]。

除上述典型构件库外,商业构件库还有[9]ReuseReposito-ry、SALMS软件资产库管理系统、ASRR自动软件复用库、RLT(复用库工具集)和HSTX复用库,政府级构件库如DSRS美国国防部软件库系统、LID构件库互操作示范工程、I-CASE(计算机辅助软件工程集成环境)、MORE(面向多媒体的构件库)、SAIC/ASSET面向软件工程的软件资产复用技术、PAL公共A-da库、CAPS软件可复用构件库和DISA(Ada库暨美国国防部信息系统代理复用库[12]等。

上述构件系统研究关注的重点集中于构件的注册、设计、查询、分类等构件的管理功能,其构件的产生仍然离不开手工编写代码,缺乏可视化编码的工具。即便构件的组装能够在相匹配的构架中实现热插拔,但却往往与构架紧密结合缺少柔性,很难适应其它异构环境,影响构件在不同的构架下的通用性,往往更多地强调构件的复用性可用性等方面[13,14],对构件库

的研究局限于为了软件开发者查询,理解和选取构件的阶段,缺乏对构件库的分层分类描述和重构的设计。在一定的构架下进行组装业务时,当现有的构件不能够满足全部要求,需要进行重组时往往需要“大动手术”。对程序员而言,软件开发始终不能摆脱编写程序代码的窘境。

1.2工作流研究现状

工作流的思想起源于20世纪70年代中期办公自动化(OA)和工业控制(CSCW)领域的研究工作[15]。在不同发展阶段和技术角度,研究者及工作流产品供应商对工作流和工作流管理系统有不同的定义[16,17]。1993年工作流管理联盟(WorkflowManagementCoalition,WFMC)的成立标志着工作流技术开始进入相对成熟的阶段[18-20]。工作流管理联盟对工作流和工作流管理的标准定义是[17]:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流管理系统是一个完全定义、管理和执行工作流的系统,它通过在计算机中预先定义好的工作流逻辑来驱动工作流事例的执行[21,22]。

90年代后期,随着网络的普及和各种分布式技术的成熟,工作流的协作优势开始显现,更多、更新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、Internet服务等都已被容纳到工作流管理系统之中[16]。根据所采用的任务项传递机制的不同,工作流系统分为4类[27]:(1)基于文件的工作流系统:以共享文件的方式来完成任务。代表产品有FileNet的VisualWorkFlow,IBM的FlowMark。(2)基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。代表产品有Novell与FileNet合作开发的Ensemble,JetForm的InTempo,Keyfile的Keyflow。(3)群件与套件系统:因为这类产品都需要依赖自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM的LotusNotes,MicrosoftOffice的Exchange,Novell的GroupWise。(4)基于Web的工作流系统:通过WWW来实现任务的协作,已成为一种最新的市场流行趋势[16]。如Microsoft大力推行的Biztalk和免费的WWF都比较适用于Web工作流开发[22]。国内的科研和学术机构对于工作流的研究起步较晚,近年来取得了一定的成果,但尚未形成产业化。

在工作流系统设计中,工作流建模最为关键。WFMC1994年提出了工作流的参考模型及相关标准,接口组成与详细定义说明[18,22]。常见的工作流建模方法有流程图、状态图、活动网络图、IDEF系列、ECAA(事件一条件一动作规则)、事件驱动的过程链模型、Petri网等建模方法。其中,基于活动网络图和Petri网理论的建模方法应用最广,典型工作流产品都是基于这几类模型实现的。文献[18]对各种工作流模型优缺点进行了详细地比较,在此不再赘述。

2基于构件库/工作流可视化软件开发方案

构件技术作为面向对象的软件开发过程中实现业务功能的技术应用已经比较成熟,而工作流作为解决业务流程的利器一直在局限于各行业的OA办公,企业信息化及工业控制领域[21,22]。两者都只部分解决了面向对象软件开发过程中的功能设计和流程设计的问题。程序指令流也是一种工作流,程序中各种操作都可以封装为构件库中的构件,包括各种基本的操作,程序流的各种操作都可以映射为工作流中的活动。能否将

两者优势有机整合到程序设计过程进一步提高软件开发的效率呢?基于这种思路,做了一定的探索性研究。

文献[15]提出了一种面向行业的工作流系统构件化开发方法。但这种方法仅适用于领域构件,通用性和移植性不强,且未能实现构件库对构件的可视化管理,可扩展性有限。本文将从可视化软件开发角度,结合软件构件及构件库设计和工作流的可视化流程建模实践提出一整套基于构件库/工作流的可视化软件开发解决方案。

一个现实的软件系统一般地由数据、功能、界面、过程几个层面的协同合作来完成。为了使构件库能更好面向实际应用,需要建立相应的界面控制和过程控制的子系统以协助软件开发,即工作流管理系统。

以工作流驱动构件运行,不同于构件在特定构架下的运行模式。构件库作为通用功能和业务功能构件仓库,业务流程和权限的管理在工作流管理系统通过可视化界面预置定义。一个流程包含一连串按业务逻辑连接的节点,每个节点上绑定一个功能构件。系统调用起始节点即启动整个流程,根据一定条件依次执行被调用流程节点上绑定的功能构件以实现流程的功能目标。工作流负责管理业务控制流程和数据流。构件仅仅负责功能的执行,从而达到业务逻辑和功能的分离。

2.1开放灵活的软件构件库设计

基于构件的软件开发必须建立相应的构件库以满足各种

不同层次的软件开发需要。构件库支持纵向分层,横向分类管理,便于用户根据自身行业特点进行自定义细分子类和扩展。通过对构件库的分层管理,屏蔽构件的实现细节,保证构件属性的独立。多个低层细粒度的简单构件聚合可以组成复杂的粗粒度高层构件,这种结构不同于以往构件库的描述,极大地提高了构件库本身的完备性和扩展性,灵活性。用户可以根据需要用底层构件快速开发原型系统,并在适当的时候通过高层构件直接替换复杂的聚合构件来提高系统的运行效率。

构件库的分层图如图1所示。

Layer1:构件驻留层,其中按照构件粒度及应用性又可以划分为3个子层:

(1)基础构件,这一层提供原子粒度构件,可以由构件库系

统自带,也可以由用户添加。

例如:加,减,乘,除,乘方等基本构件,由于这些原子粒度构件的引入,增强了构件库的完备性,才使得基于工作流的可视化编程具有强大的功能以至于取代手工编写代码。这一层是基础性的构件,适应各种应用。本部分可以参考程序语言提供的基本操作,建立原子构件层,保证构件库的完备性。

(2)中间粒度的通用构件,可以通过基础性的构件组装而成,也可通过编写代码而得。这一层属于通用构件,与具体业务

无关。通过建立标准构件层,保证易组装性和适应性。

(3)领域构件,由中间粒度构件与基础构件重组而成,往往面向某一个专业领域提供服务。该层提供具有高可扩展性。

Layer2:构件调度层,负责构件运行环境的准备及与调用

端建立Session,维护Session中各种参数的生命周期。

Layer3:Handle过滤层,其作用主要是提供了扩展构件库

系统的能力,用户可以写专用的插件来截获上层的每次调用及其参数,这个功能可以用来调试构件,观察构件的行为,也可以搜集调用数据做一些构件的调用统计,例如:在一个时间段上哪些构件被调用及其被调用的次数等等。

Layer4:用户调用接口层,对用户提供多样性的调用手段。

这层是用户最关心的与用户关系最大的,这一层对外要提供丰富的调用接口,例如:API调用、COM调用,以服务的方式提供调用。注册到构件库的构件可能是某个COM组件,但在该层中可以自动生成其它类型的调用接口。

构件库的主要功能是提供对构件的管理,包括构件的注册、注销、删除、更新等。用户可以根据需要自行开发符合通用规范的各类构件,也可以直接导入已存在的外部构件。这些外部构件可以来自网络上远程分布式部署的子构件库、Internet上的网络构件库,以及WebService构件。外部构件的存在丰富了构件库的功能,满足各种应用需求,增强了构件库的扩展性和完备性。

值得说明的是,由于开发平台的局限,所描述的构件通常指基于微软的COM技术(C++的COM组件,或者C#的程序集)实现的,因此构件库具有COM技术的部分特征,如跨平台的异构特征,它不依赖于加载构件的操作系统和运行环境,使得构件库具有良好的平台兼容性和适应性。同理而言,基于

CORBA或JAVABEANS技术同样可以建立与之适应的构件

库。由此可见基于上述思路设计的构件库具有扩展性、移植性、兼容性、适应性。其软件开发流程如图2所示。

2.2工作流系统设计

WFMC1994年发布的工作流参考模型约定了工作流管理

系统需要包含6个基本模块[15]:(1)工作流执行服务:激活并解

释过程定义,完成工作流过程实例的创建、执行与管理,为工作流程的运行提供一个运行时环境。(2)过程定义工具:提供对实际业务过程进行分析、建模的手段,生成业务过程描述(过程定义)。(3)其它工作流执行服务:与其它异质的工作流执行服务来辅助完成复杂系统。(4)客户应用程序:提供人工干预手段以辅助过程实例运行。(5)被调应用程序:工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处理的程序。(6)管理及监控工具:对WFMS中过程实例的状态进行监控与

管理。工作流参考模型如图3所示,下面结合该模型详细论述设计思路。

2.2.1工作流执行服务

工作流执行服务即工作流引擎。它负责解释流程定义(被

称为复合构件)及复合构件的实例化并向构件库发送构件执行命令,但在基于构件库的面向编程的工作流引擎中,主要依照定义的构件运行逻辑激活相应的节点,激活节点的过程就是将即将执行的任务发送给构件库,节点具体任务的执行是由构件库来执行。由此实现了构件与业务逻辑的分离。构件库则负责维护Session的状态信息负责维护对象的创建及对象的生命周期,功能的具体运行仍然在构件库的环境下运行。

2.2.2过程定义工具

工作流的过程定义部分包括对流程实体、控制类型、用户

权限等管理。其中用户权限管理在管理工具部分介绍。

(1)流程实体

对于工作流的过程定义的实体部分,采用活动网络图模型来实现工作流的过程建模,用XPDL来记录过程描述。为更好地结合软件构件建模,对活动网络图进行了适当的改进。

①将文献[23]所定义的15种节点抽象为4种节点:

起始节点:一个工作流的开始;终止节点:一个工作流的结束;

普通节点:工作流执行过程中的活动节点,执行完当前功能后,程序逻辑过渡到下一节点。

子流程节点:用于嵌套子流程的活动节点,主要负责主流程与子流程的控制流的切换。

每一个独立的流程中只能有一个开始节点,但可以有多个终止节点。因为流程可能会在不同状态下结束。

子流程节点允许多层嵌套子流程,子流程节点不作为所负载子流程的起始节点和终止节点。它仅负责主流程与子流程的控制流切换。所嵌套子流程自身有起始节点和终止节点。子流程不允许自身嵌套。

②将文献[23]所定义的三种连接弧综合为一种有向连

接弧。

实际工作流由一系列节点和有向连接弧组成。基于构件库的工作流可以理解为一个有向图构成。有向图中的节点元素表示可执行的任务,它被映射到构件库中的一个构件功能,节点间的连接弧代表过程中的控制流。以连接弧体现过程逻辑,数据的传递主要体现在构件参数之间的传递,再加上连接弧上的条件,就实现了用工作流的逻辑控制能力驱动构件的运行。

为了适应工作流的移植性和扩展性,系统为流程设计提供

了一定数量的模板,用户在可视化的客户端程序通过简单的拖拽实现业务和逻辑控制的工作流建模,并允许设计模板的数据

库记录与描述工作流设计的XPDL文档相互导入导出功能,极大地方便了资源的共享。

(2)控制类型

对于工作流的过程定义的控制类型部分。不同的文献有不同的分类[27]。简单起见,流程控制提供最简单的“顺序,选择,循环”控制以匹配可视化的程序设计逻辑控制过程。其他文献[23,24,27,28]所描述的复杂控制流程均可由这三者复合而成。图

4-图7为三种简单逻辑控制示意图。

构件运行控制的工作流模型:(1)顺序(如图4)

顺序控制,是最简单的控制,只要连接弧上的条件设为

true,工作流引擎就会按照顺序向构件库发送调用请求信息。(2)选择(如图5)

选择控制,同样依赖连接弧上的条件是true还是false,哪条连接弧上的条件为true,就按哪条路径执行。但这里与编程中的逻辑控制可以有不同,两条或分支出来的多条连接弧上的条件可以同时为真,这种控制能力实际上已经丰富了编程中逻辑控制能力,具体如何调度参见2.4节。

(3)循环(如图6)

循环控制,同样依赖连接弧上的条件是true还是false,放在封闭的回路上的构件都将被循环执行,在闭合回路中只要有一条连接弧上的条件为false,那么整个循环宣告结束。在循环体及循环体向下连接部分,基于工作流引擎调度算法中要优先调度循环体,而仅当循环体执行完,才能继续向下执行。在循环控制中,同样要注意循环条件的构造,避免条件永远为真而造成死循环。

(4)带子流程的复合控制(如图7)

S表示开始(Start)节点,E表示终止(End)节点,C表示普通(Common)节点,Sn表示子流程(Subnode)节点。2.2.3其他工作流执行服务

系统数据库清晰地记录了工作流建模中设计活动网络图及其相互关系,只要将数据库记录按照一定的协议导出成

XPDL文档,再转发给异构的工作流系统。对方按约定协议解

析XML文档即可转换为相应的工作流模型,从而实现异构工作流系统的交互式的操作。

2.2.4客户端程序

工作流管理系统提供客户端可视化界面。目前工作流建模部分需要在服务器端进行配置,而权限管理部分可以通过B/S模式的浏览器直接登录系统进行配置管理。

2.2.5被调用应用程序

被调用的应用程序在本文前面重点描述的功能构件。工作流建模中每一个节点都可以绑定一个构件。当流程驱动到当前节点时,系统将建模过程中节点预置的参数传给绑定的构件,执行构件代码实现其相应功能。节点间的流程跳转通过连接节点的有向连接线上的条件来实现。一个流程就是一连串按照条件执行预置构件的过程,以此来实现程序的逻辑控制从而实现实际的业务流程。

2.2.6管理与监控工具

为适应各个业务环境下不同用户角色与权限设置,在设计工作流管理系统时,单独建立了一个开放式的机构管理模块。用来配置系统用户的机构,职务与特殊功能集。工作流节点的操作权限可以赋给机构(即机构内所有用户),单个用户,或者某个职级的部分用户。不同级别之间的操作权限允许向下传递。对于用户机构、职务交错的特别操作允许以功能集的方式给特定用户赋权。

在工作流监控方面,流程设计过程中允许任意节点的热拔插,提供所见即所得的实时调试功能,并支持在节点和连接线上设置断点跟踪,而无需更改设置和频繁编译,为设计人员节省了大量的调试时间。

该工作流设计模型提供了完整的工作流元素概念定义和工具,并支持界面化图例表示,具有完整的工作流分层与嵌套表达能力,且能随业务流程的变化而实时优化,总的说来,一定程度具备文献[26]提出的理想工作流模型的6点要求,即(1)形式化要求。(2)图形化特征。(3)较完整的表达能力。(4)层次性。(5)便于性能分析与优化。(6)柔性。

2.3构件与工作流的相互依赖

基于工作流/构件可视化开发包括业务流程的建立和应用功能的实现两个部分,分别由工作流和构件库中的构件来实现。两者相对独立,而又紧密合作。

独立是指构件和工作流的设计开发均可以脱离于对方环境独立进行,彻底从软件开发角度将功能和控制逻辑分离,从而提高软件开发的效率。构件库负责管理构件运行的环境及调用构件运行,返回工作流引擎关心的结果,维护调用状态(如:变量的生命周期,参数传递等),而工作流引擎完全负责解释构件的执行逻辑,并将任务交给构件库去执行。

构件运行与流程控制分离还有如下优势:

(1)部署灵活:构件库的部署可以与工作流的部署分开,它们即可以运行在本地,也可以运行在远程;运行的PC环境可以相同,也可以不同;可以进程内,也可以在不同的进程中,这种特性使开发出来的应用系统可以实现分布式;

(2)开发快捷:构件库可以作为独立产品并行开发;流程与功能的分离简化了过程定义的复杂度,可先对已知的流程进行定义,把未知部分流程留待构件完备后进行设计,也缩短了开发周期;

(3)扩展方便:构件库和工作流允许用户随意扩展和改装。例如:可以增加构件库的负载均衡和系统过滤功能等;业务流程变化时只需要局部重建工作流模板,配置相应处理构件和权限即可,甚至不需要去编译,调试就能再次启动应用系统,保持了工作流系统的灵活性和扩展性;

(4)封装性高:通过构件库可以对外统一暴露调用接口,构件库内部的变化不影响上层调用。

合作是指构件与工作流统一于业务应用流程,流程节点将各种层次和粒度的构件与工作流节点的直接绑定来实现业务应用目标。对于程序员来说,工作流与构件库的结合就是将一个代码段(动态库,类,程序集)映射到一个流程,代码中的各个函数映射为构件库中相应的构件,构件需要工作流引擎的调度运行才能完成相应的功能。

2.4编程的可视化

从汇编语言开始,人们就已经习惯用代码方式进行软件设计,随着计算机技术的发展,编程语言及手段都在不断提高,可视化编程的出现正在逐步取代传统的手工编码方式。现在的可视化编程还主要集中在界面的可视化,编码的可视化即搭建式开发领域较少有人涉足。在基于构件库/工作流的可视化软件开发中,假设基础构件足够完备时,任何程序功能的实现都可以归结为对现有构件的组装,编码的可视化即可转换为构件的可视化组装,极大地降低了软件开发的门槛,更多的程序员将从手工编写代码的工作中解脱出来。

将构件映射为流程节点上的活动,由连接弧上的条件控制来判定构件之间的运行次序。构件运行过程中参数的传递以及参数的生命周期由构件库进行维护。在工作流可视化编辑环境中必须嵌入构件库的可视化表达。构件库可以采用树形结构按照功能进行分类,用户在进行编程时只需要将构件库中的构件向流程面板中拖放,鼠标操作连接弧上的各个节点,通过界面配置连接弧上的条件和节点上的传递参数,就可完成一个复合构件的可视化组合。在构件库完备的情况下,基于构件/工作流可视化软件开发可以实现无编码的快捷编程。

由于这种可视化开发方法对等于手工编写代码,因此适合自下而上的软件开发,也适合C/S,B/S的模式的开发。随着构件库对外服务能力的增强,构件库可以部署在intranet/internet上对外提供功能服务。使用这种方法成功地开发了MapGIS可视化搭建平台,为用户提供了全新的可视化开发手段,证实了该方法的可行性。

当然,不可否认,基于构件库/工作流的软件可视化开发方法目前还存在一些有待改进之处:构件运行与流程控制逻辑分离带来了一些性能损失,不适合做性能要求非常高的功能。原子粒度密集的复合构件也会影响系统的性能,建议首先采用编码方式实现中粒度的领域通用构件,然后再用领域通用构件来构建系统,有助于提高系统的性能。可视化工作流设计部分有待进一步丰富操作元素和界面,以增强系统的表现能力。

3结论与展望

在基于构件的软件开发方法下,程序开发模式也相应地发生了根本变化,软件开发不再是算法+数据结构,而是构件开发+基于体系结构的构件组装[25]。在基于构件库/工作流的可视化软件开发模式中,软件开发将更为简捷:软件开发=构件组装+流程拼接,称之为搭建式开发。目前,软件开发者已经从注重构件重用性开始转向构件库的体系结构建设,尚缺乏通用成熟的构件库管理系统。本文认为构件库系统应该象数据库系

统一样去发展,通过不断抽象而最终建立相对成熟的符合一定通用规范的标准构件库。就像数据库系统通过实现数据与程序的分离而得到广泛应用一样,构件库/工作流的可视化开发模式实现了流程与功能的分离以及无编码软件开发,将来也一定会受到人们的青睐,成为构建各种应用系统必不可少的基础设施。

参考文献:

[1]McllroyMD.Mass-producedsoftwarecomponents,softwareengi-neeringconceptsandtechniques[C]//1968NATOConferenceonSoftwareEngineering,VanNostrandReinhoid,1976:88-98.

[2]马亮,孙艳春.软件构件概念的变迁[J].计算机科学,2002,29(4):28-30.

[3]艾萍.构件柔性组装描述的形式化方法研究及其在水利领域的应用[D].南京:河海大学,2005.

[4]赵俊峰.软件构件标准概述[J].信息技术与标准化,2006(6):10-13.[5]杨芙清.构件技术引领软件开发新潮流[J].中国计算机用户,2005(6):42-43.

[6]李朝辉.基于构件复用技术的组态模型及平台研究[D].大连:大连理工大学,2005.

[7]张建奋.基于构件的GIS软件开发研究[D].杭州:浙江大学,2002.[8]杨芙清.软件复用与软件构件技术[J].电子学报,1999,27(2):68-75.[9]潘颖,赵俊峰,谢冰.构件库技术研究与发展[J].计算机科学,2003,30(5):90-93.

[10]费玉奎.构件技术发展综述[J].河海大学学报:自然科学版,2004,32(6):696-698.

[11]YeYun-wen.Anactiveandadaptivereuserepositorysystem[C]//Procof34thHawaiiIntlConfonSystemSciences(HIC-SS-34),SoftwareTechnologyTrack.Maui,HI:IEEEPress,2001-10.

[12]GuoJ,Luqi.Asurveyofsoftwarereuserepositories[C]//ProcoftheIEEEIntlConfandWorkshopontheEngineeringofComputer

BasedSystems(IEEEECBS’2000),Edinburgh,Scotland,UK,2000.[13]CaballeroR,DemurjianS.Towardstheformalizationofareusabil-ityframeworkforrefactoring[C]//GacekCed.LNCS2319:Procofthe7thIntilConfonSoftwareReuse.Berlin:Springer-Verlag,2002:293-308.

[14]AldaS,CremersAB.Towardscompositionmanagementforcom-ponent-basedpeer-to-peerarchitectures[J].ElectronicNotesinTheoreticalComputerScience,2005(114):47-64.

[15]金正晔.工作流系统的构件化开发[J].计算机工程与设计,2006,27(23):4592-4595.

[16]罗海滨.工作流技术综述[J].软件学报,2000,11(7):899-907.

[17]付伟.工作流技术综述[J].河北北方学院学报:自然科学版,2007,23(1):68-70.

[18]蒋国银.工作流过程建模理论综述[J].计算机系统应用,2006(3):90-93.

[19]陈丽萍.基于构件的工作流系统[J].科技信息,2007(17):214-216.[20]赵瑞东.工作流与工作流管理技术综述[J].科技信息,2007(8):105-107.

[21]朱金华.OA系统中工作流引擎的设计[J].微计算机信息,2007,24(5):216-217.

[22]谢熹.基于工作流的继电保护定值管理系统[J].电网技术,2006,30(16):64-68.

[23]范玉顺.一种提高系统柔性的工作流建模方法研究[J].软件学报,2002,13(4):833-838.

[24]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001:63-66.

[25]杨芙清.软件复用及相关技术[J].计算机科学,1999,26(5):1-4.[26]曾炜.工作流模型研究综述[J].计算机应用研究,2005(5):11-13.[27]蒋建民.基于组件和工作流技术的系统模型[J].计算机工程与应用,2002,38(15):63-64.

[28]孙瑞志,史美林.支持工作流动态变化的过程元模型[J].软件学报,2003,14(1):62-66.

移,而极值方法则在周边随机分布,对于后续的拟合计算来说,细化方法导致等相位面整体偏移更多。定位误差比较大的部分为条纹两端,当条纹被截断方向与条纹方向不垂直的时候,条纹延伸方向产生了改变,导致结果偏差特别大,需要进一步进行研究,可行的方法是摒弃两端的数据。

4结束语

本文采用先去噪后分割条纹,再细化条纹的方法,最后用多项式拟合条纹垂直方向的灰度数据,用极值法计算条纹中心的精确位置,既避免了细化条纹方法的方法误差,又提高了条纹中心的定位精度。该方法适合于噪声比较严重的干涉条纹处理分析系统。

参考文献:

[1]MalgorzataK,WolfgangO.Fringepatternanalysismethods:up-to-datereview[C]//RastogiPK,GyimesiF.InternationalConferenceonAppliedOpticalMetrology,SPIE,1998,3407:56-66.

[2]GeZong-tao,TkedaMitsuo.Ahighprecision2-Danglemeasure-mentinterferometer[C]//WolfgangO,InterferometryXI:Applications,SPIE,2002,4778:277-287.

[3]戴福隆,王朝阳.条纹图像的数字化自动分析处理技术之一:条纹中心法[J].光子学报,1999,28(8):700-706.

[4]张伟,刘剑峰,龙夫年,等,基于Zernike多项式进行波面拟合研究[J].光学技术,2005,31(5):675-678.

[5]章毓晋.图像处理和分析[M].北京:清华大学出版社,1999:91.[6]李自勤,王骐,李琦,等.激光成像系统图像散斑抑制算法比较[J].红外与激光工程,2003,32(2):130-133.

[7]杨利红,施浣芳,陈智利,等.基于CCD采集的Mach-Zehnder干涉条纹图的处理算法[J].应用光学,2005,26(2):40-42.

[8]陶卫,张敏,浦昭邦,等.基于多项式拟合的条纹图象处理方法[J].光电工程,2000,27(6):34-36.

(上接63页)

基于构件组装的应用软件开发过程研究_叶俊民

收稿日期:2007-06-25;修回日期:2007-09-04 基金项目:湖北省自然科学基金资助项目(2007ABA034);华中师范大学科学技术研究基金资助项目(2006AA22) 作者简介:叶俊民(1965-),男,教授,博士,主要研究方向为高可信软件工程(j m yee @m ai.l https://www.wendangku.net/doc/ea15764154.html, .cn);陈卓(1986-),男,学士,主要研究方向为软件工程;雷志翔(1982-),男,硕士研究生,主要研究方向为软件工程;叶焰锋(1983-),男,硕士研究生,主要研究方向为软件工程;詹泽梅(1979-),女,硕士研究生,主要研究方向为软件工程. 基于构件组装的应用软件开发过程研究 * 叶俊民,陈 卓,雷志翔,叶焰锋,詹泽梅 (华中师范大学计算机科学系,武汉430079) 摘 要:基于构件的软件开发方法是目前一种流行的软件生产技术,其核心围绕着构件的开发与组装技术。但如何结合实际应用要求实施基于构件组装的软件开发过程是一个值得进一步研究的课题。为此,根据基于构件的软件组装技术的概念和原理,提出一种应用系统组装框架,从软件体系结构的角度研究了构件的开发与组装方法,并将这一技术应用到软件工程网络课堂教学系统的开发上。相关实践活动表明,提出的方法可有效地获得一个适应性强的应用系统。 关键词:构件;软件体系结构;构件组装;网络课堂教学系统 中图分类号:TP311 文献标志码:A 文章编号:1001-3695(2008)06-1736-03 R esearch on applicati on deve l opm ent process based on com ponen t compositi on Y E Jun -m i n ,CHEN Zhuo ,LE I Zh-i x iang ,Y E Y an -feng ,Z HAN Ze -m ei (D e pt .of C o mpu t er Sc i ence ,H uazhong N or ma l Un i v e rsit y,W uhan 430079,C hina ) Abstract :Soft ware devel op m en tm ethod based on co m ponents is a popular technol ogy on soft ware producti on ,the key i ssue i s development and co mposite technol ogy ,but how to comb i ne the practical app licati on calls for t he i n troduction of componen-t based compositi on i n the soft w are devel op m ent process is a s ubject of a f u rt her study This paper refered to the soft w are co m po -nent compositi on technol ogy concep ts and pri nci ples ,presented a fra m ework f or asse mb li ng appli cations ,and research devel op -m ent and co m pos i tion met hod for m soft ware arch i tect ure ,and t h i s technol ogy appli ed t o devel op i ng t he soft w are engineeri ng net work teachi ng cl assroo m syste m The resu lts show that thism ethod can be an effecti vem eans to obtai n a strong adaptab ilit y app licati on Key words :co m ponen;t soft ware architecture ;co m ponent composite ;net work teach i ng syste m 在当前信息化社会中,各行各业对应用软件的需求量越来越大,所需软件的规模和复杂度也不断增加。传统的 数据结构+算法=程序 设计模式已经无法满足不断增长、日趋复杂应用的需求,而庞大的软件系统在维护上也困难重重,人们不断地探索着这一危机的解决方法,基于构件的软件开发方法就是这一探索中的方法之一。基于构件的软件开发能有效地缩短开发周期,降低应用系统的开发成本,提高系统的可维护性。 目前国内外对构件组装技术的研究已取得一定成果。美国OM G 的CORBA 、M icroso ft 的COM 、S UN 的JavaBeans/EJB ;国内北京大学软件工程研究所的青鸟工程也已取得了很好成果。我国自主研发的 和欣 操作系统(英文名E l astos)就是使用构件技术开发的典型,创新性地实现了C AR (co m ponent assemb l y runti m e)构件技术,即一种完全面向下一代的网络服务。 在基于构件的软件开发中,构件的开发、构件组装及其开发过程是关键技术。目前,对于构件组装技术的应用基本上还停留在手工组装的阶段,半自动化甚至自动化的构件组装的实现还有待时日。 1 研究基础 构件是指是指可方便地插入到语言、工具、操作系统、网络软件系统中的一种接口定义良好的、独立可重用的二进制形式的代码和数据;而可复用构件是指具有相对独立的功能和可复用价值的构件[1]。1 1 构件的开发[2] 构件包括构件接口和构件规约两部分。构件接口是构件间的契约(图1)。一个接口提供一种服务,完成某种逻辑行为。构件接口包括名称部分和行为(图2)。前者是构件本身提供服务的描述;后者是构件行为的描述。一个构件可以有一个或多个接口,而构件接口可以由多个构件实现。构件接口是外部访问构件的访问点。构件规约是构件开发商向构件使用者提供的、用于进行构件组装的文档。 从上述构件的定义可以看出,构件的开发涉及两个方面:设计构件接口和实现构件的行为。众所周知,接口是构件描述其行为的机制,并且提供了对其所提供服务的访问。由于实现是完全隐蔽的,接口描述就成为构件的潜在客户所能依赖的所有信息。这使得接口描述的表达力和完整性在任何基于构件 第25卷第6期2008年6月 计算机应用研究Application R esearc h of C o m puters Vo.l 25,N o .6 Jun .2008

基于组件的嵌入式软件开发方法

基于组件的嵌入式软件开发方法研究 郑久寿 夏德天 何小亚 (中国航空计算技术研究所 十室 陕西 西安 710068) 摘 要: 为提高嵌入式系统软件的通用性和重用性,缩短同类软件的开发周期,从嵌入式系统的特点出发,提出一种基于可重用组件的嵌入式软件开发方法。首先介绍组件的基本概念,然后着重阐述嵌入式系统组件划分方法及设计具体组件接口的一般原则。最后通过对比传统嵌入式系统和基于组件的嵌入式系统软件开发方法的异同,提炼出基于组件的嵌入式软件开发方法的特点。具体项目实践证明该方法的可行性,具有良好的应用前景。 关键词: 嵌入式系统;软件重用;组件;接口设计 中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1120094-02 EJB,COM/DCOM,ActiveX,Web Services等形式存在的可运行 0 引言 二进制程序,也包括经过封装的源代码程序。从广义上来说,目前嵌入式电子产品发展日新月异,更新换代很快,软件 随着对软件重用理解的不断深入,软件组件概念的外延在不断代码量和复杂度随着功能的复杂性呈几何级的增加。在这种情 扩展,从组件实体到规格需求、系统架构、设计文档、测试用况下,传统的基于先前基础代码进行二次开发变的愈发困难。 例等各种具有重用价值的软件资源都是组件的组成部分。 倘若原来程序员离去,其他人员或新手修改源程序则变的愈加 2 嵌入式系统组件架构 困难和不可控。另外由于绝大多数程序内部结构之间相互耦 合,即使只对源代码的很小一部分进行修改,为了保证产品的根据IEEE的定义,嵌入式系统是“控制、监视或者辅助装质量,也应该对整个产品的源代码进行回归测试。在这种开发置、机器和设备运行的装置”,从中可以看出嵌入式系统是软模式下,程序的可重用性低,整个产品的软件开发和测试周期件和硬件的综合体。另外由于嵌入式系统涉及的领域很广,各长,软件成本高。因此寻求一种新的可重用可扩展的软件开发个不同领域的应用往往差别很大。因此不同领域应该针对本领 方法是解决这些问题的根本途径。域特定应针对这些问题,本文从嵌入式软件开发的特点和需求出 发,提出了一种新的基于可重用组件的软件开发方法,并在实 践中取得了较好的效果。 1 组件概述 软件组件(Component)的概念共生于软件重用。早在 1968年,在北大西洋公约组织(NATO)会议上就提出了软件重 用的概念,后来还为此制定了一整套软件重用的指导性标准, 其中包含了利用标准组件实现软件重用的基本思路。也是在这 次会议上,Mcllroy提出了软件组件、组件工厂等概念[1]。 基于组件的软件重用是产品重用的主要形式,软件组件技 术是当前重用研究的焦点。组件技术的基本思想在于,创建和 利用可重用的软件组件来解决应用软件的开发问题。与面向对 象编程语言不同,组件技术是一种更高层次的对象技术。它独 立于语言,只面向应用程序,只规定组件的外在表现,而不关 心其实现方法。 目前关于组件还没有一个统一的定义,以下是关于组件的 一些有代表性的观点[2]: 1)组件是一个独立的可传递的操作的集合; 2)组件是由对象类组合起来的物理意义上的包; 3)组件是软件开发过程中一个可替换的软件单元,它封 装了设计决策,并作为一个大单元的一部分和其他组件组合起 来; 4)组件是具有特定功能,能够跨越进程的边界实现网 络、语言、应用程序、开发工具和操作系统的“即插即用”的 独立对象; 5)组件是指应用系统中可以明确辨识的构成成分。而可 重用组件是指具有相对独立的功能和可重用价值的组件。 关于组件的定义可以从狭义和广义两方面来理解。从狭义 上来说,软件组件是指软件系统中具有相对独立功能、可以明 确辨识、接口由契约指定、和语境有明显依赖关系、可独立部 署、且多由第三方提供的可组装的软件实体。它既包括以用来开发组件,应用组件构建自己的应用系统。开发 出来的组件可以在本领域的不同型号产品间广泛重用。本文选取温度控制器作为应用对象来进行说明基于组件的嵌入式软件开发方法。所谓的温度控制器简单来说就是在暖通系统中通过控制压缩机的开关来达到精确控制温度的装置。具体来说,温度控制器定期测量环境温度,通过其温度算法将环境温度和该时间段的设定温度进行对比决定何时应开启或关闭压缩机使环境温度能迅速而平缓的达到设定温度而又不会产生温度的过冲,始终给用户舒适的感受。用户在任何时候也可对实时时钟和各个不同的时间段的温度设置点进行编辑或设定,并使其应用到温度算法中。另外点式或段式显示屏可以给用户显示环境温度、设定温度、时钟信息、电源状态等信息。 组件是软件系统中具有相对独立功能的软件实体,合理的划分组件,有利于组件的复用和实现,以及系统的配置管理。组件粒度越大,其复用程度就越高,但实现和理解组件就相对困难,重用难度加大;粒度越小,组件越易于复用,但管理组件等代价将增大,甚至大于复用带来的好处。划分组件时应从功能模块的完整性、高内聚和低耦合性等方面出发。依据重用原则、闭包原则、单人组件原则、消息传递原则[3],将通用温控器组件划分如图1所示(虚线框内为可重用组件)。 图1 组件架构 3 嵌入式组件接口设计 组件划分后需要进行接口设计,它是组件设计的重要部分。一个组件接口是一组逻辑上相互关联的操作,这些操作定 义了某类公共行为。接口是一组操作的规范,而非任何特定的

面向构件的软件设计

面向构件的软件设计 9.1 术语、概念 1、构件 构件的特征如下: 独立部署单元。 作为第三方的组装单元。 没有(外部的)可见状态。 独立可部署,意味着必须能跟他所在的环境及其他构件完全分离。 原子性,构件不但必须具备足够好的内聚性,还必须将自己的依赖条件和所提供的服务说明清楚。 缓存具有这样的特征:当它被清空时,除了可能会降低性能以外,没有其它后果。 构建本质上没有状态,同一操作系统进程中装载多个构件的拷贝是毫无意义的,至多会存在一个特定构件的拷贝。 许多系统中,构建被实现为大粒度的单元,工资管理服务程序就是一个构件,工资数据只是实例(对象),将不易变的“模型”和易变的“实例”分离的做法避免了大量的维护问题。 2、对象 对象的特征如下: 一个实例单元,具有唯一的标志。 可能具有状态,此状态外部可见。 封装了自己的状态和行为。 显式存在的实例化方案称为类,也有隐式的实例化方案,既通过克隆一个已存在的对象来实现,即原型对象。 新生的对象都必须被设置一个初始状态,创建与初始化对象的代码可以是一个静态过程——类的一部分,称为构造函数。 如果这个对象是专门用来创建与初始化对象的,称为工厂。

对象中专门用来返回其他新创建的对象的方法称为工厂方法。 3、构件与对象 构件通常包含了若干类或不可更改的原型对象。还包括一系列对象。 但构件并非一定要包含类元素,它甚至可以不包含类,可以拥有传统过程体,甚至全局变量。 构件创建的对象——更确切地说是对这些对象的引用——可以与该构件分离开来,并对构件的客户可见。构件的客户通常是指其他构件。 一个构件可以包含多个类元素,但是一个类元素只能属于一个构建。将一个类拆分进行部署通常没有什么意义。 4、模块 模块化方法成熟的标志是其对分离编译技术的支持,包括跨模块的正确的类型检查能力。 模块没有实例化的概念,在任何情况下,模块都可以包含多个类。类之间的继承关系并不受模块界限的限制。 模块本身就可以作为一个最简单的构件,这些库是功能性的,而不是面向对象的。 资源可以参数化一个构件,重新配置该构件而无需更改构件代码,例如,本地化设置可以通过资源配置实现。 某些情况下,模块并不适合作为构件,构件没有外部可见的状态,但是模块却可以显式地用全局变量来使其状态可见。 5、白盒抽象、黑盒抽象与重用白盒抽象中,可以通过继承对构件的实现细节进行修改,白盒方式中实现细节对外界是完全可见的。 绝大多数系统中,(Application Programming Interface,API)相当于黑盒重用这些接口的实现。白盒重用不可以轻易地被另外的软件替换,因为依赖于细节。 软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖,软件构件可以被独立地部署并由第三方任意地组装。 6、接口 接口是一个已命名的一组操作集合。

2018年5大可视化BI工具选型对比分析

2018年5大可视化BI工具选型对比分析

2018年5大可视化BI工具选型对比分析 如今,有大量功能强大的可视化工具和BI工具能快速的实现数据可视化,帮助业务分析推动决策。 在本文中,5类BI可视化工具(QlikView、Tableau、Power BI、帆软FineBI 和Google Data Studio)的特性、优点和缺点。主要比较它们的关键参数,包括可用性、设置、价格、支持、维护、自助服务功能、不同数据类型的支持等。 一、QlikView QlikView是一种将用户作为数据接收者的解决方案。它允许用户在工作流程中探索和发现数据,这与开发人员在处理数据时的工作方式类似。为了保持数据探索和可视化方法的灵活性,该软件致力于维护数据之间的关联。这可以帮助最终用户发现您的数据,即使这些搜索项目的来源是令人难以置信的,这些数据也会提醒您检索相关项目。 QlikView比较灵活,展示样式多样。它允许设置和调整每个对象的每个小方面,并自定义可视化和仪表板的外观。QlikView数据文件(QVD文件)概念的引入,一定程度上取代了ETL工具的功能,拥有可集成的ETL(提取,转换,加载)引擎,能够执行普通的数据清理操作,但是这可能会很昂贵。 1.产品差异化 Qlikview的设计是在avant-garde预构建的仪表板应用程序和联想仪表板的基础上开发的,这些应用程序既创新又直观易用。由于具有先进的搜索功能,它还提供了避免使用数据仓库和使用关联仪表板在内存中提取数据的功能。 2.特征 Qlikview的独特性和灵活性的完美结合使其在其他BI供应商中占有一席之地,并为各行各业处理了大量不同规模的业务提供各种有用的应用程序。 其中一个特点是QlikView能够自动关联数据:识别集合中各种数据项之间的关系,无需手动建模。 另一个特性,Qlikview处理数据输入,是将其保存在多个用户的内存中,即保存在服务器的RAM中。这样可以加快查询速度,从而加快数据探索速度,并改

软件体系结构作业完整版

第一章: 1.根据自己的经验,谈谈对软件危机的看法。 软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。 以下几个原因导致:(1)软件自身特点 (2)开发人员的弱点 (3)用户需求不明 (4)缺乏正确理论指导 (5)开发规模越来越大 (6)开发复杂度越来越高 可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。 软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。 2.什么是软件重用,软件重用的层次可以分为哪几个级别? 软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次: (1)代码重用(2)设计结果重用(3)分析结果重用 3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求? 可充用构件表示软件重用过程中,可重用的软件构件元素。 可重用构件的特殊要求: (1)可重用构件应该具有功能上的独立性与完整性; (2)可重用构件应该具有较高的通用性; (3)可重用构件应该具有较高的灵活; (4)可重用构件应该具有严格的质量保证; (5)可重用构件应该具有较高的标准化程。 4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难? 优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开发商提供的构件,它 们之间的兼容性可能是开发过程中所要面对的一个严峻的问题 挑战和困难: (1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题; (2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力; (3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。 5.简述3种应用最为广泛的构件技术规范COM、CORBA和EJB的各自特点。 CORBA的特点: (1)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。 (2)应用程序间的统一接口。

基于构件的软件复用技术研究与应用实践

基于构件的软件复用技术研究与应用实践 基于构件的软件复用技术研究 谷今杰莫继红 ((湖南大学软件学院,长沙410082) 通常情况下.应用软件系统的开发过程包含以下几个阶段:需求分析、设计、编码、测试、维护等。当每个应用系统的开发都是从头开始时,在系统开发过程中就必然存在大量的重复劳动,如:用户需求获取的重复、需求分析、编码、测试的重复和文档等。探讨应用系统的本质,发现其中通常包含:①通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中;②领域共性构件:是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中;③应用专用构件:是每个应用系统的特有构成成分。应用系统开发中重复劳动主要在于前两类构成成分的重复开发。 软件复用是在软件开发中避免重复劳动的解决方案。其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等.从而将开发的重点集中于应用的特有构成成分。 通过软件复用,在应用系统开发中可以充分利用已有的开发成果.消除了包括分析、设计、编码、测试等在内的许多重复劳动,从而提高了软件开发的效率:同时,通过复用高质量的已有开发成果时,避免了重新开发可能引入的错误,从而提高软件的质量。 软件复用指重复使用“为了复用目的而设计的软件”的过程。相应地,可复用软件是指为了复用目的而设计的软件。与软件复用的概念相关,重复使用软件的行为还可能是重复使用“并非为了复用目的而设计的软件”的过程,或在一个应用系统中的不同版本间重复使用代码的过程,这两类行为都不属于严格意义上的软件复用。真正的复用是为了支持软件,使用“为复用而开发的软件(构件)”来更快、更好地开发新的应用系统。 复用技术在整体上对软件产业的影响却并不尽如意。这是由于技术方面和非技术方面的种种因素造成的,其中技术上的不成熟是一个主要原因。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点。被视为解决软件危机。提高软件生产效率和质量的现实可行途径。 (复用分类)软件复用可以从多个角度进行考察。依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用指复用已有的软件构件.通过构件集成(组装)得到新系统。过程复用指复用已有的软件开发过程.使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技术的发展,目前只适应于一些特殊的应用领域。产品复用是目前现实的、主流的途径。 依据对可复用信息进行复用的方式。可以将软件复用区分为黑盒(Black—box)复用和白盒(White—box)复用。黑盒复用指对已有构件不需作任何修改,直接进行复用。这是理想的复用方式。白盒复用指已有构件并不能完全符合用户的需求。需要根据用户需求进行适应性修改后才使用。而在大多数应用的组装过程中,构件适应性修改是必需的。 软件复用按抽象程度的高低, 可以划分为如下的复用级别: (1) 代码的复用, 包括目标代码和源代码的复用。当前大部分编程语言的运行支持系统都提供了连接(L ink) 、绑定(Binding) 等功能来支持这种复用; ( 2) 设计的复用, 设计结果比源程序的抽象级别更高, 因此它的复用受到实现环境的影响较少, 从而使可复用构件被复用的机会更多, 并且所需的修改更少; (3) 分析的 复用, 可复用的分析成分是针对问题域的某些事物(问题) 的抽象程度更高的解法。

可视化程序开发工具

可视化程序开发工具 一、教学目标 (1)熟悉 VB 集成开发环境。(2)了解可视化编程的一般步骤。 (3)理解控件、对象、属性等基本概念。(4)学会使用 VB 中的标签、文本框、按钮等基本控件。 二、教学内容分析 建议使用1课时。学生在初学打字的时候,喜欢使用金山文字练习,该软件提供了很多游戏:如地雷战、打地鼠、青蛙过河等,当玩到某一时间,游戏会说:“你输了!还要再来吗?”难道计算机会说话?不,是电脑编程高手赋予电脑会说话的本领。从今天开始,我们将学习用 VB 制作一些简易的程序,学习过程将涉及高级程序语言。熟悉 VB 的“工作室”,懂得利用 VB 工具箱中的工具设计程序界面;通过例子,了解可视化编程的一般步骤,学会修改对象的属性,加深对“打字测试软件”程序中代码的理解。 三、教学策略 教师在教学中要发挥学生的主体作用,让学生自主探索,在任务的驱动下启发、引导学生主动探究知识,然后上机实践练习,教师总结指导,使学生先掌握操作,后理解理论,对不同组和不同任务的学生,先让他们实行自我评价,再相互评价,教师最后实行评价。 四、教学过程 1. 熟悉 VB 的“工作室” (1) VB 是一种可视化程序设计工具。 可视化:主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木一样构造应用程序的各种界面,然后再编写少量的代码就可构建应用程序。 (2) VB 集成环境。 ①与绝大部分软件有共同点,如有标题栏、菜单栏、工具栏、工具箱、工作区。 ②不同地方: VB 有工程管理器、属性窗口、代码窗口、窗体布局窗口; Photoshop 中也有一个预览全局的窗口,但内容和 VB 不一样; Dreamweaver 中有代码窗口。 (3)制作一个简单的程序。 ①启动 VB,创建一个窗体 Form1 。 ( 回顾上节课的内容,如何创建窗体文件? ) ②双击 Form1 窗体,弹出代码窗口 ( 如下图所示 ),左边对话框是对象框,选择“Form ”,右边列表框是事件过程列表框,选择“ Click ”。 ③在 Private Sub cmdEnd_Click() 和 End Sub 两行代码之间插入代码: print ″欢迎进入 VB 世界!″。 ④保存文件。 选择“文件”菜单中的“保存工程”命令,设置保存位置及文件名,单击“保存”按钮,可保存窗体文件 “ *.frm ”。 接着又提示保存工程文件,文件名为“ *.vbp ”。 ⑤单击工具栏中的“运行”按钮。程序运行后,会显示一个窗体,当单击窗体时,会显示“欢迎进入 VB 世界!”如果运行时有借,系统会提示你修改代码,按 F8 功能键停止运行,返回设计界面。 2. 可视化编辑的一般步骤 例:制作一个打字测试程序。 第1步,启动 VB,新建一个 VB 标准 EXE 工程。

云计算大数据的55个可视化分析工具介绍

云计算大数据的55个最实用 可视化分析工具 近年来,随着云和大数据时代的来临,数据可视化产品已经不再满足于使用传统的数据可视化工具来对数据仓库中的数据抽取、归纳并简单的展现。传统的数据可视化工具仅仅将数据加以组合,通过不同的展现方式提供给用户,用于发现数据之间的关联信息。新型的数据可视化产品必须满足互联网爆发的大数据需求,必须快速的收集、筛选、分析、归纳、展现决策者所需要的信息,并根据新增的数据进行实时更新。因此,在大数据时代,数据可视化工具必须具有以下特性: (1)实时性:数据可视化工具必须适应大数据时代数据量的爆炸式增长需求,必须快速的收集分析数据、并对数据信息进行实时更新; (2)简单操作:数据可视化工具满足快速开发、易于操作的特性,能满足互联网时代信息多变的特点; (3)更丰富的展现:数据可视化工具需具有更丰富的展现方式,能充分满足数据展现的多维度要求; (4)多种数据集成支持方式:数据的来源不仅仅局限于数据库,数据可视化工具将支持团队协作数据、数据仓库、文本等多种方式,并能够通过互联网进行展现。

为了进一步让大家了解如何选择适合的数据可视化产品,本文将围绕这一话题展开,希望能对正在选型中的企业有所帮助。下面就来看看全球备受欢迎的的可视化工具都有哪些吧! 1.Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上课选择的范围有限,这也意味着用Excel很难制作出能符合专业出版物和网站需要的数据图。 2.Google Chart API Google Chart提供了一种非常完美的方式来可视化数据,提供了大量现成的图标类型,从简单的线图表到复杂的分层树地图等。它还内置了动画和用户交互控制。 3.D3 D3(Data Driven Documents)是支持SVG渲染的另一种JavaScript库。但是D3能够提供大量线性图和条形图之外的复杂图表样式,例如Voronoi图、树形图、圆形集群和单词云等。 4.R

面向构件的软件开发方法学分析研究

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

实现, 评价. 但这并不是单纯的串行式瀑布模型, 而是过程并行与增量迭代等多种方法相结合的工作流模型. 多年来, 人们往往把系统阶段控制方法与软件建模抽象方法混为一谈。 最典型的是把生命周期法和原型法与面向过程和面向对象的方法混为一谈. 信息系统是一种具有生命周期的开放系统, 这是毋庸置疑的. 因此, 从工程管理及大的阶段控制过程看, 构件化方法与结构化方法和对象化方法一样, 仍然应该遵循软件生命周期规律。差别在于, 前者的阶段论观点是弱化的历递归和过程重构特征. 换句话说, 在构件化方法中, 可以引入并行工程思想和能力成熟度模型(CMM > 来进行局部过程改造, 以提高系统开发效率和持续优化效果。 可以引入领域工程思想和面向对象方法来改善建模机制, 以提高系统实施过程 的可操作性. 这就是面向构件方法论的主要过程特征. 从模型化与内容抽象的角度讲, 构件化软件开发过程可按三个层次展开: 概念层, 逻辑层, 物理层. 这与UML 描述、数据库设计模式和元建模技术等多种方法是一致的, 差别只在术语不同. 例如, 在基于UML 形式描述的面向对象建模中, 上述三个层次称概念层、说明层和实现层。而在元建模中, 则称元知识层、结构知识层和算法知识层.整个建模层次展开过程是: 首先从特定应用需求出发, 通过领域分析进行共性需求识别、领域对象抽象和领域知识获取, 以建立概念级的领域模型. 进而通过领域设计为领域需求寻求软件解决方案, 包括构架级和构件级的设计模型。这种模型体现了初步设计和详细设计成果, 体现了框架结构和部件结构的组成原理可行性, 因而是一种逻辑模型. 由问题域的领域模型转化为解域的构架模型和构件模型, 是一个知识提取(正向> 和分析精化(逆向> 的迭代式增量开发过程. 第三, 根据领域应用开发或直接重用需要, 进行领域实现。包括领域构件的识别、设计、编码和测试等局部过程集成, 系统构件的分类、检索、引用和构件库维护, 领域构件与系统构件的演化、例化、组合和应用原型的动态生成等领域框架整体集成, 从而建立符合领域应用的各种物理模型. 第四, 通过运行模拟(正向>和设计优化(逆向>等措施, 对领域化软件原型进行可用性评价和可重构验证, 并对符合确认测试条件的应用系统进行全局封装和使用规范生成。 最终获得一个真正构件化的目标系统, 这是一个经过版本逐次寻优的实用软件系统.整个过程模型充分体现重构工程思想, 并把面向构件的软件开发分离为正向工程和逆向工程两大过程. 正向工程侧重体现自顶向下与过程并行特征, 解决软件构架和构件的可用性问题。逆向工程侧重体现自底向上与增量迭代特征, 解决构架及构件的可重构性问题. 过程重构的基本内涵是, 概念重定义, 结构重说明, 算法重用, 系统重生成. 面向构件的建模支持机制 常用的构件化建模方法如, 面向对象方法及UML 描述,框架、实例及其规则描述, 巴科斯范式、谓词逻辑和体系结构描述语言(ADL >等形式化描述, Petri 网和导航图等可视化描述. 支持上述建模方法的典型机制如, 抽象类型, 元模式, 模板, 分布对象, 协作代理, 参数化框架, 导航图标, 软件总线, 以及设计词汇表. UML 描述提供了静态和动态两种建模机制. 在静态建模过程中, 可通过用例图来描述反映功能需求的领域模型,

SOA 从面向构件开始

面向构件的中间件 [EOS产品白皮书] SOA从面向构件开始

目录 要点 (3) 1.变化和可控的挑战 (3) 2.SOA从面向构件开始 (5) 2.1.SOA的本质 (5) 2.2.中国SOA需求呈现和美国不一样的特点 (6) 2.3.面向构件是构建SOA服务的最佳方式 (7) 2.4.面向构件与SOA (7) 3.面向构件技术体系 (8) 3.1.软件技术发展的4个阶段 (8) 3.2.什么是面向构件? (10) 3.3.面向构件的核心特征 (11) 3.4.面向构件的应用 (12) 4.面向构件的中间件-EOS产品组成 (12) 4.1.EOS产品概述 (12) 4.2.EOS集成开发环境 (15) 4.3.EOS构件运行环境 (17) 4.4.EOS管理控制台 (18) 4.5.EOS基础构件库 (20) 4.6.EOS工作流(选件) (21) 4.7.EOS富页面控件(选件) (22) 4.8.EOS报表(选件) (24) 5.EOS特点与优势 (24) 5.1.EOS构件运行环境(EOS Server) (24) 5.2.EOS集成开发环境(EOS Studio) (25) 5.3.EOS管理控制台(EOS Manager) (26) 5.4.EOS基础构件库(EOS Foundation Component Library) (26) 5.5.EOS工作流(EOS Workflow) (26) 5.6.EOS报表(EOS Report) (27) 5.7.EOS富页面控件(EOS RichWeb) (28) 6.EOS应用价值 (29) 7.典型用户 (30) 8.业界评价 (32) 关于goCom社区 (34) 关于普元软件 (34)

基于构件库_工作流的可视化软件开发

1引言 1.1构件与构件库研究现状 自1968年Mcilroy在NATO软件工程会议中首次提出“软件复用、软件构件、构件工厂”等[1]概念以来(在商业软件和商务活动中,Component通常也被称为组件),虽然软件构件的定义不断变迁[1-3],但基于构件的软件开发(CBSD)一直被视为解决软件危机,实现软件工业化生产切实可行的重要途径[4]。 近40年来,国内外同行从不同的角度对软件构件技术进行了许多有价值的研究[5]。这些研究涉及到了软件构件的整个生命周期过程,从软件构件的定义[1-3,6]到构件的属性[7];从构件的描述[7]和分类,构件的标准化[4,8]到构件之间的关系[7];从构件的制作与生产,构件的查询与获取及构件的表示和检索[6],构件的模型与裁剪,构件的组装与反馈[15]到最终的构件复用。在国内软件构件技术当前已经发展成为软件复用的一个非常重要的学科分支[8]。 随着软件构件技术的深入人心,各种异构的软件构件的数量愈来愈庞大,构件开发者关注的重点已经从最初强调构件的可复用性,转变到支撑软件构件整个生命周期管理的构件库的 基于构件库/工作流的可视化软件开发 张成1,2,吴信才1,2,罗津1,胡茂胜1 ZHANGCheng1,2,WUXin-cai1,2,LUOJin1,HUMao-sheng1 1.中国地质大学信息工程学院,武汉430074 2.教育部地理信息系统软件及应用工程中心,武汉430074 1.FacultyofInformationEngineering,ChinaUniversityofGeosciences,Wuhan430074,China 2.GISSoftwareResearchandApplicationEngineeringCenteroftheMinistryofEducation,Wuhan430074,China E-mail:zhchwyl@163.com ZHANGCheng,WUXin-cai,LUOJin,etal.Visualsoftwaredevelopmentbasedonsoftwarestructuralcomponentlibrary/workflow.ComputerEngineeringandApplications,2008,44(10):82-87. Abstract:Anewapproachtomakevisualsoftwaredevelopmentbasedonthecombinationofworkflowtechniqueandsoftwarecomponentlibrarytechniqueispresented.Theauthorbringsuptheideaofvisualsoftwaredevelopmentmethodwhichisbasedonsoftwarecomponentlibrary,whichistoprogrammingvisuallyusingtheworkflowvisualedittoolstofabricatenewsoftwarewiththesoftwarecomponentsinsomesoftwarecomponentlibrary.Andalsobringsuptheideaofseparatingtheprocesscontrolfromsoftwarecomponent,whichistousingtheworkflowenginetodrivesoftwarecomponentstoworktogether.Softwarecomponentlibraryisemphasizedtobethefoundation,itcontainsthecomponentstobuildupcomplicatedsoftware,andthecomponentscanbeanyscaleandlevel;it’sanopensystem,supportsassemblingsoftwarewithcomponentsandalldevelopmentmethodsofB/S,C/S.Itcanbeusedtoconstructsoftwareprojectfrombottomtotoporfromtoptobottom.Finallytheadvantagesanddisadvantagesarediscussed,too. Keywords:softwarecomponent;softwarecomponentlibrary;visualprogramming;workflow 摘要:在研究构件技术的基础上,结合工作流技术提出了一种新的软件开发模式,即通过将可视化的构件库与可视化的工作流编辑系统全面融合实现零编程的软件搭建平台。构件库包含了多层次和多粒度的可视化软件构件集合。工作流以业务流程为核心来组装各种构件以实现可视化的软件开发。论文提出了软件构件运行与逻辑控制分离的思想,通过构件库不同层次构件为用户提供良好的软件扩展性和移植性,通过工作流引擎的流程控制取代程序流程的过程控制实现面向业务的快速软件搭建,并支持任意流程的实时测试。这种软件开发模式拓展了传统软件工程的过程开发方式,能较好兼容自上而下和自下而上的软件工程方法,并能适用于BS/CS开发模式。该模型已在新一代GIS平台—— —MapGIS搭建平台中得到成功应用。最后分析了该软件开发方法的优缺点。关键词:软件构件;构件库;可视化编程;工作流 文章编号:1002-8331(2008)10-0082-06文献标识码:A中图分类号:TP311 基金项目:国家高技术研究发展计划(863)(theNationalHigh-TechResearchandDevelopmentPlanofChinaunderGrantNo.2006AA12Z218);国家科技公关计划项目(theKeyTechnologiesR&DProgramofChinaunderGrantNo.2002BA107B01)。 作者简介:张成(1975-),男,博士生,主要研究方向为地理信息系统、构件式GIS技术;吴信才(1953-),男,教授,博士生导师,主要研究方向为基础地理信息系统研究与应用;罗津(1979-),男,博士后,主要研究方向为地理信息系统应用软件开发;胡茂胜(1981-),男,博士生,主要研究方向为地理信息系统与空间数据库。 收稿日期:2007-09-19修回日期:2007-12-17

10款最受欢迎数据可视化工具

盘点10款最受欢迎数据可视化工具 在数字经济时代,人们需要对大量的数字进行分析,帮助用户更直观的察觉差异,做出判断,减少时间成本。当然,你可能想象不到这种数据可视化的技术可以追溯到2500年前世界上的第一张地图,但是,如今利用各种形态的数据可视化图表帮助用户减少分析时间,快速做出决策一直扮演着重要的作用。 世界上的第一张地图(公元前550年) 这里给你推荐十款现今最受欢迎的数据可视化工具,供你参考。 1、Tableau

Tableau 数据可视化工具除了图片美观之外,是否容易上手,海量数据的处理速度等都是考量工具优劣的标准。而Tableau以其高度的灵活性和动态性高居榜首。Tableau不仅可以制作图表、图形还可以绘制地图,用户可以直接将数据拖拽到系统中,不仅支持个人访问,还可以进行团队协作同步完成数据图表绘制。输出方便,同时Tableau也是免费的哦。 2、Excel

Excel 额,笔者并没有疯掉。笔者恰恰想说的是Excel作为一种简单、方便、覆盖面广的offi ce软件,无疑是数据可视化工具的典型。我们平时会经常使用Excel制作简单表格,实际上,Excel的功能十分强大,你完全可以用它来做一些让人眼前一亮的图表。 Excel可以说是典型的入门级数据可视化工具,但同时,它也支持3D的可视化展示,微软发布了一款叫做GeoFlow的插件,它是结合Excel和Bing地图所开发出来的3D数据可视化工具。GeoFlow的概念最早提出于2011年6月,据悉可以支持的数据行规模最高可达100万行,并可以直接通过Bing地图引擎生成可视化3D地图。 2FusionCharts、Modest Maps、WolframAlpha 3、FusionCharts

软件开发平台与工具

软件开发平台与工具 软件开发平台是一种软件开发工具,以通用技术架构(如MVC)为基础,集成常用建模工具、二次开发包、基础解决方案等而成。可以大幅缩减编码率,使开发者有更多时间关注客户需求,在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。 软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的函数、类、抽象、接口等进行总结、封装,成为了可以重复使用的“中间

件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开平台应运而生。 平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对企业核心竞争力的提升非常明显,目前国内的管理软件市场,软件开发平台的应用已经成为一种趋势。 目前国内的软件开发平台,除国际品牌如IBM,国内平台商比较成熟的有普元、昕友亿方、创恒信,以及山东金现代信息技术有限公司出品的轻骑兵软件开发平台等,部分管理软件企业也开始借力平台提升企业竞争力,如用友。 由于开发环境、开发人员、功能定位、行业背景等的不同,不同品牌的平台存在较大差别。以轻骑兵软件开发平台为例,其最大特点在于可视化的界面定制、方便快捷的流程配置、按需定义的报表定制、功能完善的二次开发支持。 软件开发平台相对传统开发模式的优势: 1、优化产品基础架构,提升软件开发质量; 2、减少编码率,提高开发效率,提升开发的灵活性; 3、可以充分关注客户需求,实现按需定制; 4、实现配置组件的标准化,提升产品稳定性和兼容性; 5、提升企业开发能力,降低后期维护的时间和成本。 软件开发工具指的是很方便地把一种编程代码化并编译执行的工具。其中主要的语言开发工具有几大类:java开发工具、.net开发工具等. 软件开发工具的分类 (1)基于工作阶段的工具 基于各个阶段对信息的需求不同,软件开发工具可分为三类:设计工具、分析工具、计划工具。 一、设计工具是最具体的,它是指在实现阶段对人们提供帮助的工具。例如各种代码生成器、一般所说的第四代语言和帮助人们进行测试的工具(包

相关文档
相关文档 最新文档