《面向对象的计算和Web数据管理》课后习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
2.SOA:(面向服务体系结构)是一个分布式软件体系结构,它是通过松散耦合的服务构建的系统软件这
些服务通过标准接口,例如WSDL(Web服务描述语言)接口,以及标准的消息交换协议,例如SOAP(简单对象访问协议)互相通信。这些服务是自治和独立于平台的。它们驻留在不同的计算机上并且为了实现期望的目
标和最终结果使用彼此的服务。
SOC: (面向服务计算)是基于SOA模型的计算范型。它包括三个并发进程中表示的计算概念、原理以及
方法。这三个并发进程是服务开发、服务发布以及使用发开出的服务进行应用组合。
SOD:(面向服务开发)是基于SOA概念和SOC范型的整个软件开发周期,包括需求、问题定义、概念模型、
规格说明、体系结构设计、组合、服务发现、服务实现、测试、评估、部署和维护,这些活动将实现可运
行的软件。
SOE:(面向服务企业)是一个通过SOA系统实现的一个并能外向展示业务过程的一系列技术。SOE为管理采用SOA技术的业务过程提供了一个框架。
SOI:(面向服务的基础设施)①支持SOC的硬件和软件。②一个硬件系统可以像软件系统那样按面向服务
的方式组织起来。
SOSE:(面向服务的系统工程)是系统工程、软件工程和面向服务计算的一个组合,它建议在系统工程原则
下开发面向服务的软件和硬件,这些原则包括需求、建模、规格说明、验证、设计、实现、确认、运行以
及维护。
3.OOC范型和SOC范型在需求分析上有什么区别。面向对象的需求分析基于面向对象的思想,以用
例模型为基础。开发人员在获取需求的基础上,建立目标系统的用例模型。所谓用例是指系统中的一个功
能单元,可以描述为操作者与系统之间的一次交互。用例常被用来收集用户的需求。(P5)
(1)SOC强调的是分布式服务(包含可能的服务数据)而不是分布式对象。
(2)SOC明确区分开发责任、软件提供服务、服务中介,通过服务消费者构建应用。(3)SOC支持库(公共和私有)中重用服务的匹配、发现和调用(远程或本地)(4)在SOC中,服务通过独立于平台和供应商的开发标准和协议通信。(P16 表1.1)
4.把服务提供者和应用构建者分开的主要优点是什么?
SOC这种范型把开发者分成独立但相互协作的三方:应用构建者、服务中介、服务提供者。服务提供者的职
责是开发具有标准接口的软件服务。服务中介发布或市场化可用服务。
应用构建者通过服务中介发现可用的服务并使用服务开发新的应用,通过发现和组合而不是传统的设计和
编码来开发应用。
换言之,应用开发是三方协作的结果。服务和平台无关并且松散耦合,因此在组合服务时,可以使用不同
提供者开发的服务。
因此,把服务提供者和应用构建者分开的主要优点是:这种面向服务的体系机构给应用构建者最大的灵活
性去选择最好的服务中介以及服务。
5.SOSE的主要技术是什么?对于每一项技术,用一两句话描述它的目的。(P18 表1.2)
6.比较传统软件开发过程和面向服务软件开发过程。描述开发过程中的每一步的目的、职责和
功能。
在传统的软件开发过程中,整个过程往往由开发者所在组织管理。面向服务软件的开发分为三个平行的过
程:服务开发,服务发布到服务中介,应用构建(组合)。
①一个面向对象(OOC)应用由同一个团队使用相同的语言开发,而一个面向服务(SOC)应用是通过已开发好的服务创建,这些开发好的服务由独立的服务供应商开发。应用构建者通过服务目录和服务库,查询
所需服务。如果服务无法找到,应用者可以发布需求或自己开发。服务提供者则根据自己的需求分析或查
询目录中发布的需求来开发服务。②(P20 图1.13)
7.什么是服务注册中心?什么是服务库?它们有什么区别?(不太准确)服务注册中心是服务
发现的支持者。它包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。
服务数据库:包含系统中所有服务的信息和一个注册中心服务。
服务注册中心实现的基础是一个服务数据库,注册中心服务封装了这个数据库并提供了一套访问这些信息
的“标准”APIs。
8.要开发电子旅行社。如果你分别是下面这些角色,你的职责是什么:(1)服务提供商?(2)
服务中介?(3)应用构建者?
服务提供者的职责是开发具有标准接口的电子旅行社相关软件服务。服务中介发布或市场化可用服务。
应用构建者通过服务中介发现可用的电子旅行社相关服务并使用服务开发新的应用,通过发现和组合而不
是传统的设计和编码来开发应用。
9.你计划开发一种在线游戏:
(1)作为应用构建者你必须做什么?你希望服务提供者为你做什么?(2)描述你的想法,并列出作为
应用建设者你该做的每一件事。(3)列出你可能通过服务中介找到的服务。
(1)应用构建者通过服务中介发现可用的相关服务并使用服务开发新的应用,通过发现和组合。服务提供
者开发具有标准接口的软件服务,他们需要使用编程语言如C++、C#和JAVA以及面向服务的软件开发环境
开发软构建以提供不同的服务,这些软构建类似于OOC中的类和对象。
(2)应用构建者通过互联网查找中介服务注册中心,寻找需要的服务以及如何使用服务所需的说明。服务
中介中的本体和分类法可以帮助在请求和注册的服务之间自动匹配。应用构建者使用可获得的服务进行组
合以生成所需的应用。这是使用服务模块构建大型应用程序的更高层次的编程。
(3)例如:游戏装备商场服务、网银服务、聊天室服务。
10.列出几个你认为SOC比OOC更适合的应用领域,并说明你的理由。
SOC更适合的应用领域:电子商务:在电子商务中有许多服务都是动态的,而且可以通过因特网远程调用。
例如,旅行社可以远程调用航空公司、酒店、和汽车租赁公司提供服务。银行、医疗保健:这些领域,来
自不同部门的服务松耦合,给客户提供协作服务。11.SOC范型对IT市场和计算机科学专业的学生有什么
影响?增大就业面。
第二章
2. 程序/方法与进程/线程有什么不同?(53页第四段)
答:一个程序/方法是由程序员写的一段代码,它是静态的。进程/线程是由执行的程序/方法、当前值、状
态信息和用于支持它执行的资源构成,资源是它执行时的动态因素。换言之,一个进程/线程是一个动态实体,只有当程序或函数执行时才会存在。
3. 比较多进程(多任务)操作系统和多线程编程环境。(53页5、6、7段)
答:为了真正并行执行多个进程/线程,必须存在多个处理器。如果系统中只有一个处理器,表面上多个进
程/线程执行,实际上实在分时模式下顺序执行。
从同一代码块可以创建多个进程/线程。默认情况下,包含在不同进程/线程中的代码和数据是
分离的,每一个都有它自己执行代码的副本、局部变量的栈、对象数据区以及其他数据元素。
通常情况下,一个分布式操作系统可以由不同电脑上的多个实例或副本构成,每一个实例或副
本都可以管理多个进程。同样,每个进程可以是由多个线程组成的一个多线程程序。