免费智能真题库 > 历年试卷 > 系统架构设计师 > 2009年下半年 系统架构设计师 上午试卷 综合知识
  第61题      
  知识点:   设计模式目录的内容   XML   工作流
  关键词:   工作流   解释器   开发   需求   语言        章/节:   设计模式       

 
某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用(61)最为恰当。
 
 
  A.  适配器模式
 
  B.  迭代器模式
 
  C.  访问者模式
 
  D.  观察者模式.
 
 
 

 
  第55题    2020年下半年  
   34%
经典的设计模式共有23个,这些模式可以按两个准则来分类:一是按设计模式的目的划分,可分为(54)型、结构型和行为型三种模式;..
  第54题    2020年下半年  
   17%
经典的设计模式共有23个,这些模式可以按两个准则来分类:一是按设计模式的目的划分,可分为(54)型、结构型和行为型三种模式;..
  第34题    2014年下半年  
   42%
某广告公司的宣传产品有宣传册、文章、传单等多种形式,宣传产品的出版方式包括纸质方式、CD、DVD、在线发布等。现要求为该广告公..
   知识点讲解    
   · 设计模式目录的内容    · XML    · 工作流
 
       设计模式目录的内容
        Erich Gamma在他的博士论文中总结了一系列的设计模式,做出了开创性的工作。他用一种类似分类目录的形式将设计模式记载下来。我们称这些设计模式为设计模式目录。根据模式的目标(所做的事情),可以将它们分成创建性模式(creational)、结构性模式(structural)和行为性模式(behavioral)。创建性模式处理的是对象的创建过程,结构性模式处理的是对象/类的组合,行为性模式处理类和对象间的交互方式和任务分布。根据它们主要的应用对象,又可以分为主要应用于类的和主要应用于对象的。
        下表是Erich Gamma等总结的23种设计模式,这些设计模式通常称为GoF(Gang of Four,四人组)模式。因为这些模式是在“Design Patterns:Elements of Reusable Object-Oriented Software”中正式提出的,而该书的作者是Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides,这几位作者常被称为“四人组”。
        
        设计模式目录的分类
        
        其中带*模式是关于类的,其他模式是关于对象的。
 
       XML
        XML(eXtensible Markup Language,可扩展标记语言)实际上是Web上表示结构化信息的一种标准文本格式,同HTML一样,都来自SGML(Standard Generalized Markup Language,标准通用标记语言)。
               XML的特征
               XML具有以下特征。
               (1)XML是元标记语言。HTML定义了一套固定的标签,有其特定的含义。XML则允许用户自己定义所需的标签。
               (2)XML描述的是结构和语义。XML标签描述的是文档的结构和意义,而不是页面元素的格式。
               (3)XML文档的显示使用特有技术支持,如通过样式单为文档增加格式化信息。
               XML基本语法
               一个正规的XML文档由3个部分组成,即一个可选的序言、文档的主体和可选的尾声。一个XML文档通常以一个XML声明开始,后面通过XML元素来组织数据。XML元素包括标签和字符数据。
               下面是一份格式正规的XML文档:
               
               可以看出,XML文档序言部分从文档的第一行开始,它可以包括XML声明、文档类型声明、处理指令等。文档的主体则是文档根元素所包含的那一部分。XML尾声部分在文档的末尾,它可以包含注释、处理指令或空白等。
               应用程序接口
               XML文档本身是一个文本文件,在需要访问文档中的内容时,需要XML解析器进行语法验证和提取内容。两个著名的XML解析器的标准规范分别是W3C标准组织制定的文档对象模型(Document Object Model, DOM)和XML_DEV邮件列表成员定义的简单应用程序接口(Simple APIs for XML, SAX)。
               XML程序接口框图如下图所示。
               
               XML程序接口框图
               从上图中可以看出,应用程序不是直接对XML文档进行操作,而是首先由XML解析器对XML文档进行分析,然后应用程序通过XML解析器所提供的DOM接口或SAX接口对分析结果进行操作,从而实现对XML文档的访问。
               1)文档对象模型
               在应用程序中,基于DOM的XML解析器将一个XML文档转换成一棵DOM树,应用程序通过DOM树来实现对XML文档数据的操作。DOM API提供给用户的是一种随机访问机制。通过它,应用程序不仅可以在任意时刻访问XML文档中的任何数据,而且可以任意地插入、删除、修改和存储XML文档的内容。
               DOM解析器所采用的树型结构思想与XML文档结构吻合,应用十分广泛,但是对机器性能的要求较高,实现效率不是十分理想。
               2)简单应用程序接口
               与DOM不同,SAX采用的是顺序访问模式,是一种快速读写XML数据的方式。当SAX解析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件函数实现对XML文档的访问。同DOM解析器相比,SAX实现简单,效率较高,但是缺乏灵活性,仅适用于访问XML数据,不适用于对文档进行更改的应用程序。
               XML文档的显示
               由于XML中的标签许多是开发者自己定义的,主要用于说明文档所表述数据的内存结构关系,因此其显示格式需要特殊的机制来定义。层叠样式单(Cascading Style-Sheets, CSS)和扩展样式单语言(eXtensible Stylesheet Language, XSL)是W3C推荐的表达XML文档数据显示格式的两种标准。
               1)层叠样式单
               CSS最初主要应用于HTML,可以保证文档显示格式的一致性和较好的格式化。通过CSS可以产生如字体、颜色和位置等不同样式的显示格式信息。CSS可以存在于相应文档的页面中,也可以独立的文件形式存在。推荐使用独立的样式文件,以便于维护。CSS在功能上不如扩展样式单语言强大,但是开发相对容易。
               2)扩展样式单语言
               扩展样式单语言遵守XML的语法规则,是XML的一种具体应用。XSL可以分为3个部分,即转换工具(XSLT)、格式对象(FO)和XML分级命令处理工具XPath。一个XML文档的显示过程是这样的:首先根据XML文档构造源树,然后根据给定的XSL将构造的源树转换为可以显示的结果树,最后按照FO解释结果树,产生一个可以在屏幕或其他媒体中输出的结果。
               描述树转换的部分协议,已经从XSL中分离出来,取名为XSLT。XSLT的主要功能就是将源树转换为结果树。在XSLT中定义了与XML文档中各个逻辑成分相匹配的模板以及匹配转换方式。具体的转换过程,既可以在服务器端进行,也可以在客户端进行。
 
       工作流
               工作流的定义
               工作流(Workflow)是针对业务流程中具有固定程序的常规活动而提出的一个概念,通过将业务流程分解定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的,工作流技术为企业更好地实现经营目标提供了先进的手段。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
               一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。
               工作流管理系统
               工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。
               工作流管理系统将业务流程中工作如何组织协调在一起的规则抽象出来,从而分离了具体工作的逻辑和流程组织的逻辑。我们在工作流管理系统的协助下:开发人员遵从一定的编程接口及约定,就可以开发出更具灵活性的事务处理系统;最终用户无需重新开发事务处理系统,就可以自己更改工作流程,以适应业务变化的需要。
               工作流管理系统可以描述不同覆盖范围和不同时间跨度的经营过程,根据经营过程以及组成活动的复杂程度,工作流管理系统可以采取多种实施方式,在不同实施方式中,所应用的信息技术、通信技术和支撑系统结构会有很大的差别,工作流管理系统的实际运行环境也可以在一个工作组内部,也可以在全企业所有业务部门。
               工作流管理系统在实际系统中的应用一般分为三个阶段:即模型建立阶段、模型实例化阶段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源,模型执行阶段完成经营过程的执行,在这一过程中,重要的任务是完成人机交互和应用的执行。
               工作流的功能
               工作流最大的优点是实现了应用逻辑与过程逻辑的分离,因此可以在不修改具体功能的实现情况下,通过修改过程模型来改变系统功能,完成对生产经营部分过程或全部过程的集成管理,有效地把人、信息和应用工具合理地组织在一起,发挥系统的最大效能。工作流技术可以支持企业实现对经营管理和生产组织的过程控制以及决策支持,实现现代企业对“在适当的时间把适当的信息传给适当的人”的要求。
               对于引入工作流的组织,能够在软件开发和业务两个层次受益。
               .方便开发,工作流管理系统能够简化企业级软件开发甚至维护。
               .降低开发风险——通过使用状态和动作这样的术语,业务分析师和开发人员使用同一种语言交谈。这样开发人员就不必将用户需求转化成软件设计了。
               .实现统一集中——业务流程经常变化,使用工作流系统的最大好处是:业务流程的实现代码,不再散落在各种各样的系统中。
               .加快应用开发——软件不用再关注流程的参与者,开发起来更快,代码更容易维护。
               .业务流程管理(BPM)——提高效率,在自动化过程中会去除一些不必要的过程。
               .提高对迭代开发的支持。
               如果软件中业务流程部分不容易更改,组织就需要花很大的精力在开发前的业务流程分析中,希望一次成功。但可悲的是,在任何软件项目开发中,这都很少能实现。工作流系统使得新业务流程很容易部署,业务流程相关的软件可以一种迭代的方式开发,因此使用工作流系统使开发更有效、风险更低。
   题号导航      2009年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第61题    在手机中做本题