项目甘特图
[解析]根据图中各项工作的最早开始时间及其持续时间,可以画出如下图所示的该项目甘特图。在如图所示的甘特图中,横轴表示时间,纵轴表示要安排的活动,线条表示在该图生命周期中计划的(或实际的)活动完成情况。该甘特图直观地表明了任务计划在什么时间开始和什么时间结束。3、171310539712
[解析]根据如上图所示的甘特图中各项工作的最早开始时间,结合表每项任务每月人员的需求数量,可以得到如下表所示的每月人员需求数量。
在如图所示的项目计划网络图中,关键路径为:开始→需求调研→系统设计→集成与试运行→培训与验收。为了考查该项目每月所需的最少人数,可以先安排关键路径上各项工作的人数,再优化调整具有自由时差的工作的启动时间。关键路径上各项工作的启动时间及人数的安排是确定的,在保证关键路径上作业及其紧前作业按时完成的情况下,“系统分析”、“编程与测试”、“硬件方案及配置”3个工作启动时间的安排就需要综合考虑平衡每个月所需的人数。下表给出了该项目每月人员需求数量优化配置的一种方案。该方案综合考虑到“硬件方案及配置”工作具有6个月的自由时差,将其安排在第7个月初开始,第13个月末结束。当然,在保证关键路径上作业及其紧前作业按时完成的情况下,在表中“系统分析”、“编程与测试”、“硬件方案及配置”3个工作启动时间的安排还可以有多种组合排列方式,但是不管何种组合排列方式,该项目工作优化配置后每个月所需的最多人员数量至少为12人。
4、①特点:近期的工作计划较详细,远期的工作计划较粗略
②依据:根据项目的规模、复杂度及项目生命周期的长短来确定③滚动周期:1周、2周,或1~2周的时间里
[解析]滚动波浪式计划是项目渐进明细的一种表现形式,其特点是近期的工作计划得细一些,远期的工作计划得相对粗略一些。换言之,近期要完成的工作为工作分解结构(WBS)的最下层详细计划,而计划在远期完成的工作为工作分解结构的较高层计划。最近一两个报告期要进行的工作应在本期接近完成前更为详细地规划。
滚动波浪式计划中的滚动周期应根据项目的规模、复杂度及项目生命周期的长短来确定。项目生命周期中有3个与时间相关的重要概念,即检查点(Checkpoint)、里程碑(Milestone)和基线(Baseline)。它们一起描述了在什么时候对项目进行什么样的控制。其中,检查点是指在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。可将检查点看作是一个固定间隔的“采样”时间点,而时间间隔根据项目周期长短的不同而不同。若频度太小会失去意义,而频度过大会增加管理成本。常见的间隔是每周一次,项目经理需要召开周例会并上交周报告。
在本案例中,该信息系统项目是对一个大型超市、涉及软硬件集成工作的较大型及复杂的项目,滚动波浪式计划中的滚动周期可确定为1周(或2周,或1~2周的时间周期)。
试题二
5、
目标确定领域应用需要满足的用户需求制订领域字典和领域术语的同义词词典(或识别领域定义领域特定的元素中各种应用间的共同性和差异性)描述解空间中的特性,识别约束并记录其对设计和实定义领域特定的设计和实现决定造成的后果,以及记录对处理这些问题时产生现需求约束的所有问题的讨论产生该领域的参考架构,并说明构件的语法和语义定义领域模型和构架为DSSA增加构件,为问题域实现新应用提供支持产生和搜集可复用产品[解析]领域分析是分析和研究某个应用领域特性的活动,它是识别、收集、组织和描述一个领域相关信息,发现和记录领域中的共性和差异的过程,是系统化、形式化、有效复用的关键。通过领域分析,类似系统的公共特性将被提取,使用于该领域所有公共的、基本的对象及操作被标志出来,并且通过定义模型来描述他们之间的关系。领域分析的本质是以复用为目的,对具有若干共同特性的一群应用系统进行分析,对共同的部分开发出一系列公用的组件,对不同的部分进行参数化。
按照WillTracz的说法,特定领域软件架构(DSSA)就是一个特定的问题领域中由领域模型、参考需求和参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间的共同需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型
阶段定义领域范围中表示需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发、组织可重用信息。
在最高的级别上,DSSA方法共有5个阶段,每个阶段可以进一步划分为一些步骤或子阶段,每个阶段包括一组需要回答的问题、一组需要的输入。该方法的领域工程过程是并发的、递归的和反复的,或者可以说,它是螺旋型的,完成该过程可能需要对每个阶段经历几遍,每次增加更多的细节。该领域工程过程的5个阶段如下。
(1)定义领域范围:重点是确定领域中包含哪些元素及领域工程过程到何时结束。这一阶段的一个主要输出是领域中的应用需要满足的一系列用户的需求。
目标是制订领域字典和领域术语的同义词词典。在领域工程过程的前(2)定义领域特定的元素:
一个阶段产生的高层次块图中增加更多的细节,特别是识别领域中各种应用间的共同性和差异性。
(3)定义领域特定的设计和实现需求约束:目标是描述空间中的特性,不仅要识别约束,并且要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论。
(4)定义领域模型和构架:目标是产生DSSA,并说明构成它的模块或构件的语法、语义。(5)产生和搜集可复用的产品:目标是为DSSA增加构件,使得它可以被用来产生问题域中的新应用。
从软件实践上看,面对特定领域的系统开发,迫切需要一种好的开发方法来有效地支持软件重用性,而DSSA方法已经在实践中被证明是有效的,能显著加大重用的粒度,从而缩短整体开发周期,在提高产品品质的同时降低开发费用。
6、公共信息管理模块和系统管理维护模块应该在具体的配置和使用上通过配置文件(或数据文件)加载建设方的相关信息,从而使这些公共功能模块易被其他电子政务项目所复用。
资质管理模块、企业信息管理模块和系统扩展接口模块等与建设方密切相关的功能模块,虽然在实现上无法完全和建设方信息分开,但要尽力降低和建设方的耦合度,使得今后复用时的代价最小化。
在具体实现上,应该充分采用在市场上广泛使用的技术与产品(诸如Web服务器、中间件(J2EE应用服务器等)、电子邮件系统、数据库系统、信息门户和系统安全解决方案等),同时采用CMM模型(或CASE工具等)来辅助、指导这些功能模块的软件开始工作
[解析]在电子政务的建设过程中,应充分利用领域分析和软件复用的知识,采用基于可复用的软件开发方式,注重采用领域分析的方法,建立领域模型。例如,在领域分析时使用国际上通用的统一建模语言(UML)作为建模工具。在电子政务的建设过程中,应建立系统工程,建立行业范围内的一些标准,以利于确定复用的方案,使开发的系统可靠性高、成本低。
根据题干关键信息,并结合从事系统架构设计的历史经验,大致可以分析该系统5大功能模块中,公共信息管理模块是Internet网络上的一个应用系统,这部分主要包括系统网站的相关功能,例如信息发布和浏览、资质等级标准查询、企业资质查询、网上调查、意见箱管理、问题解答,以及下载文档管理等。系统管理维护模块主要是系统管理员用户用来设置或设定系统的参数,管理和维护系统最基本的数据。主要功能包括用户及权限管理、工作流管理、企业管理、信息发布管理、系统维护、文档管理和基础数据管理等。对于这两个功能模块应该在具体的配置和使用上通过配置文件(或数据文件)把建设方的相关信息加入进来,从而使这些公共功能模块容易地被其他电子政务项目所复用。
根据行业经验,资质管理模块通常包括企业资质的网上申请、审批、年审、动态管理、变更、备案、资质证书管理,以及相关资质申请审批工作处理情况的查询、资质标准和等级的管理、分析统计等。企业信息管理模块主要是对具体企业信息的维护,包括企业相关信息的输入、输出、修改、删除、查询和打印等功能。其中,人员管理还包括人员的调离、年龄控制等。系统扩展接口模块用于本系统与其他信息系统的数据交换,保证了建设方的管理系统与其他行业部门已有或待建信息化系统的无缝链接等。对于这些与建设方密切相关的功能模块,即使在实现上无法完全和建设方的相关信息分开,也要尽力降低和建设方的耦合度,以便使得今后复用时的代价最小化。
在具体的实现上,应该充分采用在市场上广泛使用的技术与产品。例如,Web服务器、J2EE应用服务器、电子邮件系统、数据库系统、信息门户和系统安全解决方案等,建议使用已有的软件产品而不是自行开发。同时采用CMM模型或者CASE工具等指导所承接的软件系统的开发,以便高质量地完成项目的建设工作,使得所建成的软件系统具有良好的可复用性。7、有用性:构件必须提供有用的功能。
可用性:构件必须易于理解和使用。
质量:构件及其变形必须能正确工作。
适应性:构件应该易于通过参数化等方式在不同语境中进行配置。可移植性:构件应能在不同的硬件运行平台和软件环境中工作。可变性(Variability):构件应能针对不同的应用系统,只需对其可变部分进行适当的调节等[解析]构件(Component)是指应用系统中可以明确辨识的构成成分。它是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。而可复用构件(ReusableComponent)是指具有相对独立的功能和可复用价值的构件。软件构件技术是软件复用的核心技术。它是基于面向对象的,以即插即用型构件概念为中心,通过构件组合来建立应用的体系。其主要研究内容包括构件获取、构件模型、构件描述语言、构件分类与检索、构件复合组装和构件标准化。
可复用构件应具备以下属性。
(1)有用性(Usefulness),构件必须提供有用的功能。(2)可用性(Usability),构件必须易于理解和使用。(3)质量(Quality),构件及其变形必须能正确工作。
(4)适应性(Adaptability),构件应该易于通过参数化等方式在不同语境中进行配置。(5)可移植性(Portability),构件应能在不同的硬件运行平台和软件环境中工作。
(6)可变性(Variability),构件除了向复用者提供一些公共“特性”外,还要提供可变的“特性”。针对不同的应用系统,只需对其可变部分进行适当的调节,复用者要根据复用的具体需要,改造构件的可变“特性”,即进行“客户化”工作等。
试题三
8、(1)将现有系统看做抽象的服务提供者,集成方法统一明确。
(2)不同层次的集成方法关注点不同,功能组合方面能力较弱。(3)强调功能的暴露与服务的组合,便于提供增值服务。(4)一般为中心辐射型,系统的耦合程度较高。(5)基于总线结构的体系结构,系统的耦合度低。
(6)集成系统具有模块化、松耦合的特点,可扩展性较强。
9、(1)联邦服务:提供将各种类型的数据聚合的能力,它既支持关系型数据,也支持XML数据等非关系型数据,所有的数据仍然按照自己本身的方式管理。
(2)复制服务:提供远程数据的本地访问能力,它通过自动的实时复制和数据转换,在本地维护一个数据源的副本,本地数据和数据源在技术实现上可以是独立的。
(3)转换服务:用于数据源格式到目标格式的转换,可以是批量的或者是基于记录的。
(4)搜索服务:提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持PDF等非结构化数据
[解析]企业数据的分布性和异构性是应用系统方便访问企业数据和在企业数据之上提供增值服务的主要障碍。数据集成和聚合技术在这种背景下诞生,用于提供对分布式数据和异构数据的透明访问。以服务为中心的企业集成通过信息服务提供集成数据的能力,目前主要包括如下集中信息服务。
(1)联邦服务(FederationService):提供将各种类型的数据聚合的能力,它既支持关系型数据,也支持XML数据、文本数据和内容数据等非关系型数据。同时,所有的数据仍然按照自己本身的方式管理。
(2)复制服务(ReplicationService):提供远程数据的本地访问能力,它通过自动的实时复制和数据转换,在本地维护一个数据源的副本。本地数据和数据源在技术实现上可以是独立的。
(3)转换服务(TransformationService):用于数据源格式到目标格式的转换,可以是批量的或者是基于记录的。
(4)搜索服务(SearchService):提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持如PDF等非结构化数据。
10、①对服务粒度的控制。通常情况下,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口用于企业系统架构的内部,使用业务流程(BPEL)来创建由细粒度操作组成的业务流程的粗粒度的服务接口
②对无状态服务的设计。架构中的具体服务应该都是独立的、自包含的请求(或是无状态的服务),当某一个服务需要依赖时,可将它定义成具体的业务流程
[解析]当基于SOA来构建一个企业级的系统架构时,一定要注意对原有系统架构中的集成需求进行细致的分析和整理。而关于系统中最重要的元素,也就是SOA系统中服务的构建有两点需要特别注意的地方:①是对于服务粒度的控制;②是对于无状态服务的设计。
SOA系统中服务粒度的控制是一项十分重要的设计任务。通常来说,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。从技术上讲,粗粒度的服务接口可能是一个特定服务的完整执行,而细粒度的服务接口可能是实现这个粗粒度服务接口的具体的内部操作。虽然细粒度的接口能为服务请求者提供更加细化和更多的灵活性,但同时也意味着引入较难控制的交互模式易变性,也就是说服务的交互模式可能随着不同的服务请求者而不同。如果暴露这些易于变化的服务接口给系统的外部用户,就可能造成外部服务请求者难以支持不断变化的服务提供者所暴露的细粒度服务接口;而粗粒度服务接口保证了服务请求者将以一致的方式使用系统中所暴露出的服务。虽然SOA并不强制要求一定要使用粗粒度的服务接口,但是建议使用它们作为外部集成的接口。通常情况下,可以使用业务流程(BPEL)来创建由细粒度操作组成的业务流程的粗粒度的服务接口。
SOA系统架构中的具体服务应该都是独立的、自包含的请求,在实现这些服务的时候不需要前一个请求的状态,也就是说服务不应该依赖于其他服务的上下文和状态,即SOA架构中的服务应该是无状态的服务。当某一个服务需要依赖时,最好把它定义成具体的业务流程(BPEL)。在服务的具体实现机制上,可以通过使用EJB组件来实现粗粒度的服务。通常情况下,可以利用无状态的SessionBean来实现具体的服务,如果基于WebService技术,就可以将无状态的SessionBean暴露为外部用户可以调用到的Web服务,也就是把传统的SessionFacade模型转化为EJB的Web服务端点。这样就可以向Web服务客户提供粗粒度的服务。
如果要在J2EE的环境下(基于WebSphere)构建Web服务,Web服务客户可以通过两种方式访问J2EE应用程序。客户可以访问用JAX-RPCAPI创建的Web服务(使用Servlet来实现);Web服务客户也可以通过EJB的服务端点接口访问无状态的SessionBean,但Web服务客户不能访问其他类型的企业Bean,如有状态的SessionBean、实体Bean和消息驱动Bean。对于后一种访问方式(公开无状态EJB组件作为Web服务)的优势在于:基于已有的EJB组件,可以利用现有的业务逻辑和流程。在许多企业中,现有的业务逻辑可能已经使用EJB组件编写,通过Web服务公开它可能是实现从外界访问这些服务的最佳选择。EJB端点是一种很好的选择,因为它使业务逻辑和端点位于同一层上。另外,EJB容器会自动提供对并发的支持,作为无状态SessionBean实现的EJB服务端点不必担心多线程访问,因为EJB容器必须串行化对无状态会话Bean任何特定实例的请求。由于EJB容器都会提供对于Security和Transaction的支持,因此Bean的开发人员可以无须编写安全代码及事务处理代码。性能问题对于Web服务来说一直都是一个问题,由于几乎所有EJB容器都提供了对无状态会话Bean群集的支持,以及对无状态SessionBean池与资源管理的支持,因此当负载增加时,可以向集群中增加服务器数目。Web服务请求可以定向到这些不同的服务器,同时由于无状态SessionBean池改进了资源利用和内存管理,使Web服务能够有效地响应多个客户请求。由此可以看到,通过把Web服务模型化为EJB端点,可以使服务具有更强的可伸缩性,并增强了系统整体的可靠性。
试题四
11、功能单元(包含但不限于以下内容):
①贷款申请;②信用审查;③信贷员审批;④风险检查;⑤电子邮件传送等采用SOA架构的优点(包含但不限于以下内容):①复用银行的各种应用资源。
②增强银行各个业务的集成性和灵活性。③业务流程变更时便于快速构建应用系统
[解析]面向服务架构体系结构(Service-OrientedArchitecture,SOA)作为一种架构模型,它将应用程序的不同功能单元(称为服务)通过服务之间的接口(和契约)联系起来。接口独立于实现服务的硬件平台、操作系统和编程语言。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言,使得构建的服务可以以一种统一的和通用的方式进行交互。这种具有
高级系统架构设计师下午试题(Ⅰ)模拟17



