admin 管理员组

文章数量: 1184232


2024年3月10日发(作者:40岁学python有前途吗)

维普资讯

2008年第8期 福建 电脑 133 

基于XML的办公自动化系统可视化生成平台 

许志伟 .杨雪莲 

f 1.内蒙古工业大学信息工程学院内蒙古呼和浩特010051 

2.中国移动通信集团内蒙古有限公司内蒙古呼和浩特010020) 

【摘要】:现有的办公自动化系统在功能需求和实现机制上有较大范围的相似性,在开发过程中,可以应用软件复用技 

术避免重复劳动,提高开发效率。本论文提出了以可视化定制方式生成目标系统代码的复用方案,并基于谊方案实现了原型 

系统。为了实现将定制信息到目标代码的转换,论文设计了一种基于XML的用于描述系统页面定制信息的语言OADL,使用 

JAXP构建描述页面定制信息的OADL模型.应用XSLT技术将OADL描述的定制模型转化为目标代码。 

【关键词】:办公自动化系统;XMk软件复用;可视化定制;自动生成代码 

要的是可以提高软件工程质量.在短时间内就可以生成符合用 

包括设计面向办公自 

近年来随着各行各业的迅猛发展.代表着现代信息技术的 

户需求的OAS。本论文将就这一课题展开。

计算机技术也被逐渐应用到社会的各个领域并取得了巨大的社 动化领域的可复用构件体系.设计描述定制情况的XML模式. 

会效益和经济效益。办公自动化系统(Omce Automation System, 

编码实现3可视化办公自动化系统生成平台 

0、引言 

简称OAS)应运而生,提高了生产效率和工作质量,促进了办公 1、用XML技术描述和处理OAS的定制信息 

活动的规范化和制度化 完成~套功能完善、设计科学的OAS 

本论文中应用XSL作为代码转换的模板.实现从定制模型 

是一件复杂繁琐的系统工程。从需求分析到设计实现都可能经 到目标代码的转换.论文中使用XML对象来描述定制模型。本 

历多次反复.最后还要编写修改大量的程序。鉴于OAS功能需 课题中设计并实现了一种用以描述0AS定制的XML文档 

求的相似性.随着新科技的发展.以软件复用方式建立OAS势 OADL(OA Design Language)。应用XML技术描述和处理0AS 

在必行。 

的定制信息的过程如图1所示。首先将可视化定制情况描述成 

复用概念的引人是在1968年NATO软件工程会议上.在 

OADL.然后通过事先编写好的Ⅺ 模板来将这些载有定制信 

Mcllmv的论文”大量生产的软件构件”…中被提出 通过软件复 息的OADL代码转换成最终的JSP文件Ⅲ….完成对该功能页面 

 

用.在应用系统开发中可以充分地利用已有的开发成果.消除了 

的定制。相关XML技术的应用如图1所示。

包括分析、设计、编码、测试等在内的许多重复劳动,从而提高软 

件开发的效率,同时,通过复用高质量的已有开发成果,避免了 

重新开发可能引人的错误.从而提高了软件的质量 

早期的复用集中在代码的复用和子程序的复用.由于结构化 

编程代码紧密耦合等特点,不利于软件模块的分离重用.所以在 

量硅吣M# 罐 ;绉选定 嫉型;IJtxa,r ̄Lt't j组最办公自葫亿暮 

耳^xML女首—'f々xML文督■誊¨目日 再-3蓑 敲件 

图1应用XML技术描述和处理OAS的定制信息的过程 

首先看一下OADL描述页面静态元素的过程。下面例子中 

一个一行两列的 

很长一段时间内软件复用技术停留在较低层次,复用内容单一, 

使用OADL描述了一个页面,它包含一张图片,

复用过程不具备规范性和系统性。Roberts和Jo}Inson在文献O.1中 

表格(表格第二列单元格中还包含一个超链接)以及一个待办工 

把框架定义为一个系统的全部或部分的可复用设计.表现为一 

作列表的页面 

组抽象类及它们实例之问的相互作用方式 框架不同于以往的 

复用技术,框架中已经构建了系统的架构,由这些架构中的调用 

模块调用开发者编写的应用模块.开发者不必在系统总体架构 

上花费过多的时间和精力.这样开发者就可以专注于应用的开 

发,从而大大提高了系统开发的速度。 

程序生成器是软件复用的一种特殊形式.可以看成是应用 

框架的一种特殊形式,程序生成器是将应用框架的功能具体化、 

系统化后的结果 程序生成器是根据用户要求采用人机交互方 

式产生应用程序.用户对这些应用程序的源程序进行必要的配 

置.以产生符合用户需求的应用程序。软件开发过程中开发人员 

可以像工厂组装零件~样生产软件产品 

综上.鉴于可定制具体应用功能的框架的应用领域非常具 

体,和通用框架不同,它的泛化程度不深.相对具体.便于计算机 

<?xlnl version= 1,0 encoding= GB2312 ?> 

<?xml-stylesheet href-”x,xd type= text/xsl ?> 

<yhtml> 

<ydiv style= position:absolute;top:Iin; > 

(yifng 8re= 6.JPg border= 0 hspace=”2 pace= 2 height-- .56 width=。 

32 >this is a pic</yirag> 

嘶div> 

<ydiv style= position:absolute;top:3in; > 

<yiable BORDER= 5 BORDERCOLOR=”lightblue > 

<ytr> 

<ytd><yfont size="4 color-j=l'g ̄la >this is a test</yfont></ytd> 

<ytd><yfont face= 楷体GB2312 size= 6 color=- yellow >许志伟 

<ya href_”http:#loealho ̄t:8080/index.htm ta喈et= 蛆k >网站(一a> 

(,yf0n【><,ytd> 

 ̄ytr> 

</ytahh> 

嘶div> 

</yhtmb 

处理。可以通过可视化定制的方式来实现OAS的定制与生成。 

这为使用可视化方式实现生成器的应用程序定制提供了可行性 

依据。除此之外选用可视化方式定制还有以下三方面原因: 

上例中yhtml是文档的根实体。vdiv表示层。用于定位包含 

①普通用户可以参与OAS的定制过程,这就避免了在需求 

阶段的分析误差.也同时避免了系统开发中的错误。 

②采用可视化定制方式可以让用户参与到软件的开发中, 

使他们的业务经验能充分应用到项目的开发中.增强了系统的 

功能和可用性 

③可视化定制方式的便捷高效,有利于在最短的时闻内定 

制生成客户需要的OAS 

属性定义的样式显示。 

采用可视化定制的方式。不但可以提高工程进度。而且更重 

在它内部的页面单元。ydiv的style属性是其样式表声明,其中 

应用设置posidon属性的值实现了对该ydiv的定位。yimg表示 

图形单元,它的属性src指定了图像文件的U砒。其它属性设置 

了图像显示时的大小位置等样式。vtable表示列表单元,ytr表示 

列表单元的行,ytd表示列表某一行的列。它们的属性描述了列 

表的显示格式。如大小边框等等。ya表示超链单元。它的属性 

hrd指出了链接的目标.target指出目标将在哪个浏览器窗口显 

示。 呲是文字样式定义实体。包含在其中的文字将按照 

维普资讯

134 福建电脑 2008年第8期 

OADL不仅可以描述静态HTML页面,而且可以描述动态 

《%}%>Ip' 

</xsl:element> 

</xsl:template> 

页面 在上面的例子中的根标记下添加<ydivxyworklist widtlI=” 

400 1・class=”workView”,>< ̄div>.将一个页面功能单元yworklist 

</xM: ̄yledaeet> 

加入OADL.yw0ddist是一个描述用户待办业务列表的标签,它 

2、构建可视化办公自动化系统生成平台 

是集成了工作列表显示构件(JAVABEAN形式)的标签代码段, 

为了实现应用的可视化定制.本课题中应用了多种设计模 

由表格实体和一些与其相关的JSP代码组成的。它实现了用户 

式和Jaya Swing设计并实现了定制界面程序,定制界面程序主 

待办业务页显示功能.属于一个可定制外观的页面功能单元。例 

要是实现将用户绘制在界面中各页面单元的信息提取出来。写 

子中的ywo ̄list、ydiv等标签以DTD形式定义。 

入描述定制情况的OADL文档.然后交由代码生成程序处理。 

下面以一段解析yworldist的XSL代码为例说明怎样利用 在定制过程中.首先用户在OAS定制界面中按照需求的用 

xSL将载有定制信息的OADL转换为目标代码。yworklist是一 

户接121要求添加文本、图像、按钮、菜单、复选框等组件,调整组 

个代表动态页面单元的实体.它的模板所生成的目标代码要比 件的位置大小等属性直到达到预期效果.最后为该组件关联功 

静态的font标签复杂的多.yworklist的模板包含了大量的各式 

能构件。完成所有外观组件的设计并将该页面涉及的构件装配 

各样的编码.所以他不能像rfont一样完全采用申明实体的方式 完毕后.定制平台调用DOM将根据用户的设计自动生成记录了 

来实现对XML文本的转换.对于yworldist的模板只能采用将目 

页面信息和构件配置情况的OADL.为接下来的代码生成奠定 

标代码包含在table实体中的方法来编写。模板的开始部分和静 

基础。 

态的yt ̄bte实体的模板基本相同.<xsl:template match=”ywork. 代码生成器子系统应用DOM解析器解析OADL,并应用 

ifst”>申明了模板。<xshelement nalne=”table”>在目标添加一个 

xsL处理器Xalan将OADL描述的定制模型按照事先定制好的 

table单元。<xsl:attribute nalne=”border”><xshvallie-of select=” 

XSL模板转化为目标代码。整个过程如图2所示。 

@border”,></xsl:attribute>为该table单元申明border属性。并将 

yworldist的属性border的值赋给新申明的table单元的border 

属性。<fCDATAf和n>中间包含的部分是作为文本直接输出的, 

不必通过XSLT处理器处理,这里 ̄CDATA[和n>中间包含了实 

圈 圈 

..

 

 一

1 

 

匮函 

 

现待办业务列表显示的JSP代码.其中主要用到了一个名为 

workOperate的Java Bean.这个Java Beall实现了特定用户待办 

业务的查找等功能 

<xsl:stylesheet version= 1.0 xmlns:xsl='http'J/www.w3.o l999,xSL,rrans・ 

form > 

喜 

翻 

一 

<xsl:ou ̄ut method= text”/) 

<xshtemplate match= ,..> 

<xsl:apply-templatcs select= }’ |) 

</xshtemp e> 

<xsl:template match= yworklist”> 

<xsl:element nafne=”table”> 

≥rH……一 圈 —— £!—-j 

图2定制平台的运行机制 

3、总结与展望 

<xsl:attrlbute n肌le: bordcr”><xshvalue-0f select: @bordcr”,)</xsl: 

8ttribute> 

<xsl:attributc Bame= bgcolor”><xsl:value--of*.elct=”@bgeoleor”/></xsl: 

attribute> 

<xsl:attribute name: bordcr ̄2olor”><xsl:value—0f select=”@bol ̄[crcolor 

/)</xshattributt> 

本论文提出了以可视化定制方式生成目标系统代码的复用 

方案.并基于该方案实现了原型系统。本论文应用了XML建模 

技术及XSLT转换机制.有效的分离了系统定制和代码生成阶 

段。在可视化定制阶段。利用OADL实现了对OAS页面可视化 

定制信息的描述.在生成阶段依照载有JSP代码的XsL模板,利 

用XSLT技术实现了从OADL描述的定制模型到目标代码的转 

换。随着Struts等框架的广泛应用,可以选用这些框架作为生成 

的OAS的系统框架.构造出更加架构合理,运行高效的OAS系 

统.同时也为提高功能定制的灵活性奠定基础。 

<xsl:attribute n哪e=”bordercolorlidt..><xsl:value-of selcte=”@border. 

eolorli t /></xsl:attribute> 

<xshattribute nafne=”bordereo]ordark”><xsl:value—0f elsect=”@bordcr. 

coloMark /></xsl:attribute> 

<xsl:attribute name= width >勺【sl:value—0f select=”@'aidth”/></xshat. 

tributt> 

<xshattribute n 

8ttributt> 

=”height ><xsl:value--of select= @height”/></xsl: 

参考文献: 

1.McCoy.Mass Produced Software Components[R】.Software Engineering:. 

Report on a Conference Sponsored by the NATO Science Committee. 

1968 

<xshattribute n且rrle:”style”><xsl:vsluc-of ̄lct: @steyle /)(,xshat. 

tributt> 

dCDATA[<tr><td>-E作名称</'td><td>所属工作流</td><td>创建时问</tdx 

/trxjsp:useBean id=“wo scope=”page”class=”】]> 

<xshvalue-of selct= @c1e且ss /><[CDATA【”/><%Strlng name=null;String wf= 

null'String time=null'String user id=session.getAttribute(…id);ResultS,et l ̄=wo.getwork 

(user_id); 

while(rs.next0){ 

name rs.getString(”na.mc“) ̄---rs.getString(”workflowname”);tie=rsm getString(” 

eratntime ); 

%> 

2Johmon.Framework (Component+Pattern)Ⅱ】.ommunicCation of the 

ACM,1997,40 

3James Clark.XSL Transformatiom(XSL Version 1.O【s】.W3C R.ecom- 

mend3fion 16.1999 

4.Michad Kay,Saxonlca.XSL Tramformafiom(XSLT)Version 2.0【s】. 

W3C Candidate R.ecommen出tion 3.2oo5 

5.1eaveland JCraig.用XML与Java 411建程序生成嚣 】.胡俊,刘吉强译. 

北京:科学出版社。2002 

c ><td×%=f删Ⅱc%>(^d×【d×%--wf%>(^d><ld×%=tie%></tmd×, 

(上接第162页) 

参考文献: 

立元器件原理图。MCS一51,C。VHDL等都做过设计。但这些传统 

夏宇阁.Verilog数字系统设计教程北京航空航天大学出版社 

的设计跟不上复杂数字电路的时代。Verilog HDL适用于规模日 

1.

usll和QuartuslI应用与开发技巧机城工业出版 

益增大的数字系统。此篇设计献于入门学习Ve ̄og HDL的精典 

2.王辉等壕著MAXpl

例子之一。 

硅 


本文标签: 定制 系统 设计