您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 高级软件工程部分题目和答案
1,简述SOA的通用模型,并说明各主体之间的协同工作方式SOA定义了一种由服务提供者、服务中介和消费者相对独立的三方共同构成的协同工作方式。服务由服务提供者定义、开发并提交给服务中介;服务中介接受、注册并发布服务;服务消费者通过复用和组装已发布的服务来构建应用系统,满足特定业务需要2SOA的基本概念是什么?SOA是一种遵照开放的互操作协议的软件工程方法,通过组合可重用的软件资产实现软件系统3JAVA和Ada为什么不是新的范型?判断新范型的标准是什么?Java不是新的范型:只是面向对象的一种延伸,但是并没有提出一种新的程序设计方法Ada不是新的范型:没有得到大公司的支持,只有政府的支持,在学校中获得的研究是半热心的。判定软件工程范型的4个要点:1.提出了一种新的程序设计方法2.获得了大部分计算机行业大公司的支持3.有政府支持4.大学和研究机构的支持4SOA的特点是什么?基于开放标准鼓励固有的内在重用鼓励强调互操作性的可扩展性根本上自主促进动态发现促进架构的组合性促进整个企业松散耦合支持逐步实施5解释应用软件开发的“模型+服务绑定+数据集成”的模式(1)建立系统的业务模型;(2)针对模型的每一部分,查询并获得公开可用的服务资产;(3)将模型绑定到服务资产的物理实现,并根据系统模型,实现服务的组装;(4)定义数据类型;(5)实现数据系统的集成测试;6SOA技术应用分为哪三个阶段?静态SOA:服务是预先选择好的,服务发现只是从预先选择好的服务池中选取服务,新的服务经过完全评估后才能加入到服务池中。动态SOA:服务是在运行时选择的,随后,工作流和应用程序模板也可以在运行时发布和选择。动态SOA协同:不仅服务和工作流可以被动态选择,协同协议也可以在运行时选择。7简述通过动态组合/重组、动态重构如何让实现服务在运行期间动态发现和协同。动态组合\重组在动态协同协议DCP(DynamicCollaborationProtocal)的支持下,可在运行期间改变工作流程,使之不仅能完成预定工作任务,还能适应需求变化。如果工作流没有变化,通过动态重构技术可以在运行期动态发现新的服务实例,并用之替换老的服务实例。动态重构不支持对工作流变化的适应。8简述OO和SO在抽象、重组方面的不同。特点OOSO抽象类层次的抽象将应用程序开发和服务开发分离。服务比类的抽象层次高。应用程序在服务组装模型上进行抽象。重组多在设计时决定导入的组件可以动态改变应用系统中服务的组合关系,以及服务定义与服务实现之间的绑定关系,即实现动态地添加、修改、删除各个服务节点9SOA的软件开发生命周期包括哪些活动?(1)建模:收集和分析业务需求,建立和优化业务流程,并设计软件服务的流程;(2)组装:在服务组合阶段,主要是根据业务模型,利用已有的服务资源库和业务解决方案,发现服务、创建服务和集成服务的过程;(3)部署:在部署阶段,主要是将服务以集成的业务流程部署到运行环境中,通过控制中心配置和优化运行环境,使其能够满足业务所需的不同服务水平要求。(4)管理:提供对底层服务资源的管理,并实时监控主要的性能指标以获得预防、隔离、分析和修复问题的信息。2、Webservice核心标准XML协议用来描述结构化的数据,WebServices中的其它协议数据基本都是用XML格式进行描述的。XMLSchema用于定义XML文档的格式。SOAP(SimpleObjectAccessProtocol,简单对象访问协议)是一种基于XML的通用消息传递框架,由于采用XML文本格式,因此可以独立于各种编程语言和平台。WSDL(WEB服务描述语言)是W3C组织的用于网络服务描述的标准,这是一数据类型接口行为消息BPELWebService标准WSDLSOAPXMLSchemaXML个基于XML的关于如何与Web服务通讯和使用的服务描述。它详细的描述了相关Web服务的细节内容,包括接口、消息、操作、连接等,提供了对服务间发送和接收的消息以及对应操作的描述,通过提供支持在Web服务间交换信息的消息,WSDL成为所有Web服务组合工作的基础BPEL是一种建立在XML和WSDL之上的业务流模型语言。在BPEL中不但定义了抽象过程还定义了可执行过程,在此基础上创建了WebService的组装过程,负责各个分散的Web服务之间的同步或异步调用与协作工作。3、SOA分析与设计的基本原则答:重用和为变化而设计重用:SOA的重用强调从一开始就采用重用的思想来设计和开发软件,整个软件开发就是一个不断积累的过程。为变化而设计:由于业务流程相对稳定,用工作流抽象;每个具体的业务实现可变性较高,用服务封装,并且在运行时动态绑定。4、简述MDA模型驱动架构,Model-DrivenArchitecture(MDA),MDA最基本的概念是从软件开发——从需求到设计到代码——是一个模型为核心、模型驱动的过程。MDA强调模型的自动转换过程,也就是说,是一个模型自动分析、代码自动生成的过程。MDA通过提高模型的机器可理解性和自动化支持,可以有效提高基于模型开发的效率,避免人工过程可能引入的各种错误,增强模型的可验证性。5、MDA的三个层次MDA将软件模型分成三个层次。首先是计算无关模型CIM(ComputationIndependentModel)。CIM提供了一个与计算机处理无关的系统视图,从系统外部使用角度分析和描述系统的主要功能/性能等需求,而屏蔽了系统内部实现的细节。CIM的目的是使应用领域专家和计算机专家对系统的需求达成共识。第二层是平台无关模型PIM(PlatformIndependentModel)。PIM提供了与实现平台无关的系统视图。PIM描述了实现CIM的软件特性,但可映射到不同实现平台上。第三层是特定平台模型PSM(PlatformSpecificModel)。PSM是在特定的软件平台和开发技术下,PIM的具体实现。对于MDA来说,“平台”仅仅是相对特定的视图观点有意义的--换句话说,一个系统的PIM可以是另一系统的PSM。6、SOA的生命周期模型建模:建模阶段主要是收集和分析业务需求,建立和优化业务流程,并设计软件服务的流程。组装:在服务组装阶段,主要是根据业务模型,利用已有的服务资源库和业务解决方案(如企业资源计划(ERP),金融系统,IBMCICS®等),发现服务、创建服务和服务集成的过程。部署:在部署阶段,主要是将服务以及集成的业务流程部署到运行环境中,通过控制中心配置和优化运行环境,使其能够满足业务所需的不同的服务水平要求,如健壮性、可扩展性、高可靠性等。管理:在模型定义、服务创建和组装、服务及业务流程部署之后,该阶段提供对底层服务资源的管理,并实时监视主要的性能指标来获得预防、隔离、分析和修复问题的信息。7、面向服务范型和面向对象范型的联系和区别面向对象概念及体系结构SimulaSmalltalkObjectiveCC++JavaUMLCORBAMS.NetJDKGCC面向对象系统工程面向对象测试面向对象维护面向对象应用架构面向对象数据库面向对象生命周期面向对象语言面向对象建模语言和集成开发环境面向对象技术和框架面向服务概念及结构XMLUDDIebXMLWSDLSOAPOWLBPELWSFLXLANGMS.NetWebSphere面向服务系统工程面向服务测试面向服务维护面向服务框架面向服务数据库面向服务生命周期面向服务标准面向服务建模语言和集成开发环境面向服务技术和架构练习和答案!1.什么是tag?使tag闭合可采用几种方法?分别是什么?2.认真阅读下列XML文档,指出其中的错误.fragment/fragmentfragment5/fragment55fragment5/5fragment5fivefragment/fivefragmentfive,fragment5/five,fragment5five;fragment5/five;fragment5five_fragment/five_fragmentfive_fragment:flag/five_fragment:flag!fragment/!fragment[fragment]/[fragment]3.某在线视频点播站点通过XML格式来发布其视频及点播数据,以便用户能共享这些数据。一下为某视频的数据!--movies.xml--?xmlversion=1.0?!DOCTYPEmoviesSYSTEMmovies.dtdmoviesmovieid=1titleTheMatrix/title/moviemovieid=2titleTheMatrix:Reloaded/title/movie/movies请给与该数据向适应的XMLSchema描述4.给出一个与下面XMLSchema相符合的XML文档.xsd:schemaxmlns:xsd=:elementname=bookstoretype=bookstoreType/xsd:complexTypename=bookstoreTypexsd:sequencemaxOccurs=unboundedxsd:elementname=booktype=bookType//xsd:sequence/xsd:complexTypexsd:complexTypename=bookTypexsd:sequencexsd:elementname=titletype=xsd:string/xsd:elementname=authortype=authorName/xsd:complexTypename=authorNamexsd:sequencexsd:elementname=first-nametype=xsd:string/xsd:elementname=last-nametype=xsd:string//xsd:sequence/xsd:complexTypexsd:elementname=pricetype=xsd:decimal//xsd:sequence/xsd:complexType/xsd:schema答案1.在XML文档中,用于表示元素开始或结束的表示称为tag,tag总是成对出现。使tag闭合可采用两种方法,分别是tagname…/tagname,tagname…/。2.fragment/fragment正确。fragment5/fragment5正确。5fragment5/5fragment5错误,不能以数字开头。fivefragment/fivefragment正确。five,fragment5/five,fragment5错误,“,”非法。five;fragment5/five;fragment5错误,“;”非法。five_fragment/five_fragment正确。five_fragment:flag/five_fragment:flag正确,“:”前表示命名空间。!fragment/!fragment错误,“!”非法。[fragment]/[fragment]错误,“[]”非法。命名规则:标识开头包含字母、数字、下划线和冒号的串。3.?xmlversion=1.0encoding=UTF-8?xs:schemaxmlns:xs=:elementname=moviesxs:complexTypexs:sequencemaxOccurs=unboundedxs:elementname=moviexs:co
本文标题:高级软件工程部分题目和答案
链接地址:https://www.777doc.com/doc-1938238 .html