201505系分下午真题

第 1 题

阅读以下关于软件项目进度管理的叙述,在答题纸上回答问题1至问题3。

某软件公司启动了一个中等规模的软件开发项目,其功能需求由5个用例描述。项目采用增量开发模型,每一次迭代完成1个用例;共产生5个连续的软件版本,每个版本都比上一个版本实现的功能多。

每轮迭代都包含实现、测试、修正与集成4个活动,且前一个活动完成之后才能开始下一个活动。不同迭代之间的活动可以并行。例如,1个已经实现的用例在测试时,软件开发人员可以开始下一个用例的实现。实现和修正活动不能并行。

每个活动所需的工作量估算如下:

(1)实现1个用例所需的时间为10人天;

(2)测试1个用例所需的时间为2人天;

(3)修正1个用例所需的时间为1人天(平均估算);

(4)集成1个用例所需的时间为0.5人天。

项目开发过程中能够使用的资源包括:5名开发人员共同完成实现和修正工作、2名测试人员完成测试工作和1名集成人员完成集成工作。

该项目的Gannt图(部分)如图1-1所示。


图1-1 某软件公司软件开发项目的Gannt图(部分)

【问题1】(8分)
根据题目描述中给出的工作量计算方法,计算1个用例的实现,测试、修正、集成4个活动分别所需的日历时间(单位:天)
【问题2】(9分)
(1)根据图1-1给出的项目Gannt图,估算出项目开发时间。
(2)计算测试人员和集成人员在该项目中的平均工作时间(占项目总开发时间的百分比)。
【问题3】(8分)    
在项目实施过程中,需不断将实际进度与计划进度进行比较分析,进行项目进度计划的修正与调整,以保证项目工期。用300字以内文字,从活动和资源的角度,说明项目进度计划调整所涉及的内容。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>项目管理
  • 试题答案:
    【问题1】(8分)
    实现:2天,测试:1天,修正:0.5天,集成:0.5天。
    【问题2】(9分)
    (1)14天
    (2)测试人员:35.7%,集成人员:17.9%
    【问题3】(8分)    
      1、关键活动的调整,若关键活动延误,一般调整的方法主要是缩短后续关键活动的持续时间。</div>
    
      2、非关键活动的调整,当非关键路径上某些工作的持续时间延长,但不超过其时差范围时,则不会影响项目工期,进度计划不必调整。</div>
    
      3、增减工作项目,由于编制计划时考虑不周,或因某些原因需要增加或取消某些工作,则需重新调整网络计划,计算网络参数。</div>
    
      4、资源调整,若资源供应发生异常时,应进行资源调整,资源供应发生异常是指因供应满足不了需要。资源调整的方法是进行资源优化,提高资源利用率。</div>
    
    </div>
  • 试题解析:
    【问题1】

    实现时间:实现1个用例所需的时间为10人天,共有5人负责开发,需要2天实现。

    测试时间:测试1个用例所需的时间为2人天,共有2人负责测试,需要1天测试。

    修正时间:本题存在不严谨的地方,标准不统一。根据题干修正1个用例所需的时间为1人天(平均估算),5人负责开发和修正,计算得出0.2天,但事实上,项目由于工作面受限,有不可压缩的工期。所以还需要结合甘特图一并分析。根据甘特图可知,修正花费的日历时间为0.5天。

    集成时间:集成1个用例所需的时间为0.5人天,共有1人负责集成,需要0.5天集成。

    【问题2】
                                                       
    测试人员:2×5/2×14=35.7%
    集成人员:0.5×5/14=17.9%

第 2 题

阅读以下关于系统业务架构分析的叙述,在答题纸上回答问题1至问题3。

某集团下属煤矿企业委托软件公司开发一套煤炭运销管理系统,该系统属于整个集团企业信息化架构中的业务层,系统针对煤矿企业开发,包括合同管理、磅房管理、质检化验、运费结算等功能。部分业务详细描述如下:
(1)合同管理:合同签订、合同查询、合同跟踪等。
(2)磅房管理:系统可以从所有类型的电子磅自动读数;可以自动从电子磅上读取车辆皮重、毛重,计算出净重;可根据合同内容自动减少相应提货单剩余数量,如果实际发货量超过合同额则拒绝发货。
(3)质检化验:根据过磅单、车号,生成化验分析委托单,生成化验分析报告。
(4)运费结算:依据过磅单上的净重、化验单、合同规定,自动计算出原料结算单、运费结算单。
煤矿企业根据集团的工作计划制订本企业的业务计划,煤矿企业根据集团划拨指标和提供的原料生产煤炭,所生产的煤炭交由集团统一管理和销售给客户。软件公司采用Zachman框架对企业业务架构和业务过程进行分析,结果如表2-1所示。

表2-1 煤炭运销管理系统Zachman框架分析


【问题1】(13分)
Zachman框架是什么?请在表2-1中(a)-(e)位置补充企业业务架构中的信息类别。
【问题2】(8分)
项目组在该煤炭企业业务架构分析中完成了四项主要工作:数据流图、实体联系图、网络拓扑结构和计划时间表,这四项工作在表2-1中处于什么位置,请用表2-1中的位置编号表示。
【问题3】(4分)
根据题目所述业务描述,请分别给出表2-1中A11和A23位置应该填入的内容。(物流关系用“→”表示)
**答案与解析** - 试题难度:一般 - 知识点:案例分析>需求工程 - 试题答案:
【问题1】(13分)
Zachman框架是由约翰•扎科曼(John Zachman )在1987年创立的全球第一个企业架构理论。Zachman框架是一种组织构架工具(用来设计文档、需求说明和模型的工具)的一种分类学。包括工具的目标(例如,商业拥有者、创建者)是谁,哪些特殊的问题(例如,数据、功能)需要阐明。
(a)数据 (b)功能 (c)网络 (d)角色 (e)动机
【问题2】(8分)
数据流图:A32
实体联系图:A31
网络拓扑结构:A53
计划时间表:A25
【问题3】(4分)
A11:列出对业务至关重要的元素:合同、提货单、委托单、原料结算单、运费结算单
A23:物流网络(节点和链接)
- 试题解析:
【问题1】(13分)
Zachman框架是由约翰•扎科曼(John Zachman )在1987年创立的全球第一个企业架构理论。Zachman框架是一种组织构架工具(用来设计文档、需求说明和模型的工具)的一种分类学。包括工具的目标(例如,商业拥有者、创建者)是谁,哪些特殊的问题(例如,数据、功能)需要阐明。
(a)数据 (b)功能 (c)网络 (d)角色 (e)动机
【问题2】(8分)
数据流图:A32
实体联系图:A31
网络拓扑结构:A53
计划时间表:A25
【问题3】(4分)
A11:列出对业务至关重要的元素:合同、提货单、委托单、原料结算单、运费结算单
A23:物流网络(节点和链接)
### 第 3 题

阅读以下关于嵌入式系统软件设计的叙述,在答题纸上回答问题1至问题3。

某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。

【问题1】(7分)
王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。
【问题2】(8分)
王工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。
                                                                                                            表3-1  选择嵌入式操作系统的8种观点

【问题3】(10分)
请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。
                                                                                                                     表3-2  两类软件的主要差异

答案与解析

  • 试题难度:一般
  • 知识点:案例分析>嵌入式方向
  • 试题答案:
    【问题1】(7分)
    嵌入式系统具有以下特点:
    (1)系统专用性强。嵌入式系统是针对具体应用的专门系统。
    (2)系统实时性强。很多嵌入式系统对外来事件要求在限定的时间内及时做出响应,具有实时性。
    (3)软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。
    (4)处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。
    (5)多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。
    (6)系统透明性。嵌入式系统在形态上与通用计算机系统差异甚大。
    (7)系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理器的处理能力都比较有限。
    【问题2】(8分)
    (1)√ (2)× (3)√ (4)√ (5)√ (6)√ (7)× (8)√
    【问题3】(10分)
     
    </div>
  • 试题解析:

    本题主要考查考生对装备控制类嵌入式软件开发知识的理解和应用。
    本题通过一个实例,说明移动智能终端设备的软件与装备控制类软件在需求方面存在比较大的差异,实时性、安全性和可靠性是装备控制类软件开发必须重点关注的特性。
    本题首先考查考生对传统意义上的嵌入式系统知识的理解程度;其次通过判定题考查考生能否针对装备控制类系统需求,选择合适的嵌入式操作系统;最后通过填空回答宇航设备(装备控制类)的嵌入式软件与移动智能终端嵌入式软件在安全性(Safety)、实时性、交互性设计和编码方面的要求有何差异。此类题目要求考生认真阅读题目对问题的描述,根据对嵌入式系统知识的理解,采用总结、概括等的方式,可从问题描述中发现问题的相关性,从而正确回答问题。
    【问题 1】
    嵌入式系统是一种可深埋在某一专用设备中的系统。一般而言,由于设备的体积、重量和功耗的限制,嵌入式系统将受到多种条件和环境的制约,这也对嵌入式系统提出了有别于其他计算机系统的特殊要求。通常,嵌入式系统具备以下7 个特点:
    (1)系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。
    (2)系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应, 具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。
    (3)软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。
    (4)处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。 通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。
    (5)多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术, 但它们相互结合的紧密程度不及嵌入式系统。
    (6)系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备 往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。
    (7)系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、110 设备的数量和处理能力都比较有限。
    【问题2】
    本问题主要要求考生在理解宇航系统的特殊性基础上,判断表 3-1 中给出的 8 种选型观点是否正确。
    (1)在工程实践中,不是市场上销售的任何一款操作系统都能适用工程需要,要选择一款适应的产品必须从项目需求入手。因此,“选择操作系统根据项目(系统)需要的嵌入式操作系统功能来选择操作系统产品,要考虑系统需求是否覆盖了操作系统的全部功能或部分功能,是否支持文件系统和人机界面,是实时系统还是分时系统”的说法是正确的。
    (2)嵌入式操作系统通常根据对时间的敏感性分为硬实时操作系统和弱实时操作系 统两类,即使在微电子快速发展的今天,随着处理器计算速度的提升,人们赋予计算机处理事务的能力也在增强,因此,传统的嵌入式操作系统分类方法仍然满足现在需求。所以,“在微电子技术高速发展的今天,硬件资源受限已不再是嵌入式系统设计的难点,通常的嵌入式操作系统都能满足各类嵌入式系统的需要”的说法是不正确的。
    (3)选择操作系统的目的是提高嵌入式软件开发效率,将应用软件的开发从与硬件相关分离出来。因此选择操作系统时除了考虑操作系统能力与项目需求相匹配外,还要充分考虑配套开发环境的优劣。因此,“有些 RTOS 只支持该系统供应商的开发工具 。也就是说,还必须向操作系统供应商获取编译器和调试器等;有些嵌入式操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大”的说法是正确的。
    (4)嵌入式操作系统主要功能就是管理计算机硬件资源的,它与硬件资源稿合度很高,操作系统的可移植性也是选择操作系统的条件之一。因此,“嵌入式操作系统到硬件的移植是一个重要的问题,是整个系统能否按期完工的关键因素,因此,要选择那些可移植性程度高的产品,从而避免嵌入式操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度”的说法是正确的 。
    (5)可剪裁性和可配置性是嵌入式操作系统主要特性之一,在选择操作系统时一定要考虑资源的剪裁性优劣,用户应根据项目应用需求分配资源,而不是为操作系统分配资源。因此,“均衡考虑是否需要额外 RAM 或 EEPROM 来满足操作系统对内存的较大要求。有些嵌入式操作系统对内存的要求是与目的相关的,如 VxWorks 等,开发人员能够按照应用需求分配所需资源,而不是为嵌入式操作系统分配资源”的说法是正确的。
    (6)选择操作系统还要考虑对扩展功能的支持能力,可剪裁的组件越丰富,操作系统的适用面就越大,因此,“嵌入式操作系统是否包含所需的软件部件,例如网络协议枝、文件系统和各种常用外设的驱动等,也是选择嵌入式操作系统重点关注的”的说法是正确的。
    (7)宇航系统是一种高安全系统 ,其核心目标是保障宇航设备安全、可靠运行,操作系统的质量好坏,直接影响宇航设备的安全,成熟度是宇航系统选择操作系统的重要因素之一。因此,“在宇航系统中,一般选择嵌入式操作系统时,首先要考虑的是产品的先进性,希望采用更多新技术、新方法,其次才是开放性、成熟度”的说法是不正确的。
    (8)硬实时系统和弱实时系统有着本质差别,因此,“有些嵌入式操作系统只能提供弱实时性能,对于需要达到硬实时性性能要求的系统就不适用”的说法是正确的。
    【问题3】
    如果考生能够正确回答前两个问题后,就可对宇航系统软件的特殊性有所了解,如果考生从事过高安全系统的软件开发工作,一定会从安全性、实时性、交互性和编码等方面识别出宇航软件与智能终端软件的开发过程中的差别,正确回答出问题。
    (1)安全性:宇航软件通常根据软件所在设备失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A---E 五级),而不同安全级别的软件开发过程有其不同的要求;而移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命 产生直接影响,它不适用安全级别之分。
    (2)实时性:为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中;而移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可,设计上尽量避免软件与硬件紧藕合。
    (3)交互性:宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计;而移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。
    (4)编码:宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定;而移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。

第 4 题

阅读以下关于软件系统运行与维护的叙述,在答题纸上回答问题1至问题3。

随着信息化的发展,某银行的中心账务系统,从城市中心、省中心模式已经升级到全国中心模式。但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非常困难。因此总行计划将银行中间业务系统全部升级到全国中心模式,对各省中间业务进行统一管理。

各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。同时,对一些全国性的代收代付业务的处理方式,各省行也存在很大的差异。为统一管理,总行决定重新开发一套全国中心模式的银行中间业务系统,用来替代各省自建的中间业务系统,但要求能够支持目前各省的所有中间业务。

【问题1】(9分)
各省已建的银行中间业务系统属于遗留系统,在如何对待遗留系统上,设计组存在两种不同的策略:淘汰策略和继承策略。请简要解释这两种策略,并说明新开发的银行中间业务系统适合采用哪种策略及其原因。
【问题2】(10分)
遗留系统和新系统之间的转换策略常见的有直接转换、并行转换和分段转换。请简要说明达三种转换策略的含义;并请结合银行中间业务的特点,说明该银行新开发的中间业务系统上线时适合采用哪种策略?为什么?
【问题3】(6分)
银行中间业务系统中,最为核心的是业务数据。因此在新旧系统切换时存在一项重要的工作:数据迁移。考虑到各省中间业务系统的巨大差异,因此需要做好数据迁移前的准备工作。请简要说明数据迁移准备工作的内容。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>系统运行和维护
  • 试题答案:
    【问题1】(9分)
    继承策略,原因:新开发的系统要求“能够支持目前各省的所有中间业务”,淘汰策略无法达到此要求。
    【问题2】(10分)
    直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。
    并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。
    分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。
    以目前该银行的情况来看,适合采用分段转换策略,因为各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。对这些子系统的支持可分段一个一个处理,降低风险的同时不让成本开支过大。
    【问题3】(6分)
    数据迁移准备工作包括:
    (1)待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。
    (2)建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。
    (3)新旧系统代码数据的差异分析。
    (4)建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。
    (5)开发或购买、部署ETL工具。
    (6)编写数据转换的测试计划和校验程序。
    (7)制定数据转换的应急措施。
  • 试题解析:

    本题首先需要分析遗留系统应采用哪种策略,这需要对不同策略有相关了解,下面是淘汰策略与继承策略的基本思想。
    淘汰策略:遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上更合算。
    对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。
    继承策略:遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
    在本题中,由于题目描述中强调了“但要求能够支持目前各省的所有中间业务”,所以采用继承策略较为合适。

    图1  系统转换的方式
    1.直接转换策略
    直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。直接转换的示意图如图1(a)所示。用这种方式时,人力和费用最省,适用于新系统不太复杂或现有系统完全不能使用的场合,但是,新系统在转换之前必须经过详细而严格的测试,转换时应做好准备,万一新系统不能达到预期目的时,必须采取相应措施。
    直接转换的新系统是完全重构的系统,可能采用了全新的技术平台和软件来构建,或者用户业务和使用方式发生了剧烈变化,对原有系统只能进行淘汰处理。采用这种策略的优点是新系统能够非常灵活地适应业务需要,功能齐全、结构合理、系统稳定、扩展性强,整个信息系统的利用率比较高。但也存在着一些问题,列举如下:
    (1)新旧系统之间的转换代价比较大。
    (2)由于需要一套比较完整的业务需求,开发新系统的周期比较长,一次性投资巨大,未经广泛使用并证明是成熟可靠的新技术平台通常具有一定的技术风险。
    (3)旧系统通常积累下了大量的业务数据,必须将业务数据的录入、转换、检查以及在新系统中的重建作为重要的工作进行考虑,尽量减小在新旧系统转换的时候对用户现有业务的冲击。
    (4)需要考虑诸如维持新系统运行的日常开销,由于使用习惯改变带来的学习时间、培训人员的成本等因素。
    2.并行转换策略
    并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。在并行工作期间,手工处理和计算机处理系统并存,一旦新系统有问题就可以暂时停止而不会影响现有系统的正常工作。转换过程如图1(b)所示意。
    在并行转换的实施过程中,首先以现有系统的作业为正式作业,新系统的处理结果作为校核用,经过一段时间运行,在验证新系统处理准确可靠后,现有系统退出运行。根据系统的复杂程度和规模大小不同,并行运行的时间一般可在2~3个月到1年之间。
    采用并行转换的风险较小,在转换期间还可同时比较新旧两个系统的性能,并让系统操作员和其他有关人员得到全面培训。因此,对于一些较大的信息系统,或处理过程复杂、数据重要的系统,并行转换是一种最常用的转换方式。但是,由于在并行运行期间,要两套班子或两种处理方式同时并存,人力和费用消耗较大,转换的周期长,并且难以控制新旧系统中的数据变化。这就要求做好转换计划并加强管理,在新旧系统验证吻合后要及时停止现有系统的运行。
    3.分段转换策略
    分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换,如图1(c)所示。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大(例如,在线订票系统、银行的中间业务系统等),也可以采用分段转换策略。
    采用分段转换时,各子系统的转换次序及转换的具体步骤,均应根据具体情况灵活考虑。通常可采用如下策略:
    (1)按功能分阶段逐步转换。首先确定新系统中的一个主要的业务功能率先投入使用,在该功能运行正常后再逐步增加其他功能。
    (2)按部门分阶段逐步转换。先选择系统中的一个合适的部门,在该部门运行新系统,获得成功后再逐步扩大到其他部门。这个首先运行新系统的部门可以是业务量较少的,这样比较安全可靠;也可以是业务最繁忙的,这样见效大,但风险也大。
    (3)按机器设备分阶段逐步转换。先从简单的设备开始转换,再推广到整个系统。例如,对于联机系统,可先用单机进行批处理,然后用终端实现联机系统。对于分布式系统,可以先用两台微机联网,以后再逐步扩大范围,最终实现分布式系统。
    分段转换策略的优点是,新旧系统的转换震动比较小,用户容易接受。但由于是采用渐进方式,导致新旧系统的转换周期过长,同时由于需求的变化,给新系统的稳定造成比较大的影响。而且,分段转换策略对系统的设计和实现都有一定的要求,在转换过程中,需要开发新旧系统之间的接口,还需要制订阶段性的转换目标和计划。
    数据迁移的实施可以分为三个阶段,分别是数据迁移前的准备、数据转换与迁移和数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。具体而言,要做好以下工作:
    (1)待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。
    (2)建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。
    (3)新旧系统代码数据的差异分析。
    (4)建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。
    (5)开发或购买、部署ETL工具。
    (6)编写数据转换的测试计划和校验程序。
    (7)制定数据转换的应急措施。

第 5 题

阅读以下关于Web应用系统分析与设计的叙述,在答题纸上回答问题1至问题3。

某汽车配件销售厂商拟开发一套网上销售与交易系统,以扩大产品销量,提升交易效率。项目组经过讨论与分析,初步确定该系统具有首页、商品列表、商品促销、商品库存、商品价格、订单中心、订单结算、支付、用户管理、频道(用于区分不同类别的商品)、搜索、购物车等主要功能。

【问题1】(6分)

根据业务逻辑切分系统功能是进行系统功能分解的一项重要原则。项目组目前已经将该系统分解为网站、交易和业务服务三个子系统,请将题干中已经确定的系统功能归入这三个子系统中,填写表5-1中的空白,将解答写在答题纸的对应栏内。

表5-1  系统功能分解
                                                  
【问题2】(12分)   
</div>

商品实时价格查询是该系统一个重要的业务场景,其完整业务流程如图5-1所示。其中商品实时价格由采销人员在后台设置,包括基础价格与促销信息(例如直降、打折等);用户在前台商品详情页面请求实时价格;商品实时价格则由商品的基础价格与促销信息计算得出。

    

基于上述流程,系统设计人员进一步将业务流程细分为商品价格写逻辑流程、商品价格读逻辑流程和回源写逻辑流程三个部分。根据图5-1所示的业务流程和题干描述,从备选答案中选择正确的选项填写表5-2中的空(a)~(h),将解答写入答题纸的相应栏内。

表5-2  业务流程详细描述
    
</div>

【问题3】(7分)

在设计实现商品实时价格查询业务流程时,项目组的分析师王工向系统设计师和实现人员提出了一些原则,请分析并判断这些原则的正确性,将应填入表5-3中(a)~(d)处的解答写在答题纸的相应栏内。

表5-3


答案与解析

  • 试题难度:较难
  • 知识点:案例分析>Web技术
  • 试题答案:
    【问题1】(6分)
     

    【问题2】(12分)
    (a)异步
    (b)价格发布子系统
    (c)商品价格数据时间戳
    (d)商品从价格库
    (e)回源写逻辑流程
    (f)促销信息库
    (g)商品信息库
    (h)商品从价格库
    【问题3】(7分)
    (a) ×
    (b) √
    (c) ×
    (d) √

  • 试题解析:

    本题考查系统分析过程中功能分解、业务场景建模和设计原则等知识点 。
    此类题目要求考生认真阅读题目对系统功能的描述,理解系统的功能组成,并对功能进行分类,在此基础上对系统核心业务进行分析与建模,并针对系统业务特点给出合适的设计原则。
    【问题1】
    根据题干描述,该系统具有首页、商品列表、商品促销、商品库存、商品 价格、订 单中心、订单结算、支付、用户管理、频道〈用于区分不同类别的商品〉、搜索、购物车等主要功能,并可知系统分为网站子系统、交易子系统和业务服务子系统三个子系统。进一步分析可知网站子系统主要负责商品的展示与浏览,交易子系统主要负责订单、结算、支付、购物车等与系统交易相关的业务内容,而业务服务子系统则关注促销、库存、价格、用户管理等功能。根据上述分析,可以得到如下表所示的对应关系。

     
    【问题 2】
    首先需要对图 5-1 描述的业务流程进行深入分析,可以看出该业务流程可以分为商品价格写逻辑流程、商品价格读逻辑流程和回源写逻辑流程三个子流程。其中商品价格写逻辑流程的主要过程是更新某个商品的价格,其核心思想是采用异步写策略提高系统的性能,并采用时间戳区分商品价格是否为最新,主要流程是采销后台系统更新价格,写商品信息库,并通过异步任务通知价格发布子系统更新促销信息库,最后更新促销信息库,更新商品主价格库的商品价格数据时间戳。商品价格读逻辑流程的核心是如何提高性能,因此其主要步骤是首先通过 Web 服务器读取商品从价格库中的价格数据,无过期则直接返回用户,如果过期或没有命中则执行回源写逻辑流程,取最新数据返回用户。回源写逻辑流程的主要功能是更新商品主数据库,并同步从数据库,其主要流程是价格服务子系统读取促销信息库和商品信息库,计算商品价格后返回用户,同时异步写商品主价格库。最后商品主价格库同步数据到商品从价格库。

    【问题 3】
    本问题主要考查考生对于系统分析的理解,下面依次分析:
    (1)垂直扩展——分流原则。前置的 Web服务器和商品从价格库的架构是无状态的。商品从价格库可以存放全部商品价格信息。这样的设计可以垂直扩展,瓶颈在于商品主价格库的数据复制能力。
    该描述中“前置的 Web 服务器和商品从价格库的架构是无状态的。商品从价格库可以存放全部商品价格信息”,但是描述的过程是水平扩展,而不是垂直扩展。该描述是错误的。
    (2)保护系统——降级原则。在系统实现时可以通过开关机制控制回源流程。系统降级时设置为不回源,业务影响为价格不更新,但交易系统的价格为最新价格。
    该描述的核心思想是当系统负载过重时,可以通过关闭相对耗时的回源流程对系统进行降级,进而保护系统,并对系统的业务逻辑影响较小。该描述是正确的。
    (3)提高性能——读写分离原则。系统实现时需要将读写逻辑分成几个闭环,互相耦合完成系统功能。
    该描述的原则思路正确,但是将各个逻辑紧密耦合这一个表述显然与原则相违背,因此总体描述是错误的。
    (4)提高性能——异步化原则。商品价格发布时异步写商品主价格库,回源异步写商品主价格库。
    异步是分布式系统中提升性能的主要方法,因此该描述是正确的。

results matching ""

    No results matching ""