【系统分析师之路】2015年系统分析师下午案例分析真题

【系统分析师之路】2015年系统分析师下午案例分析真题

2015年系统分析师下午案例分析第一题(项目管理)

试题一
某软件公司启动了一个中等规模的软件开发项目,其功能需求由5个用例描述。项目采用增量开发模型,每一次迭代完成1个用例;共产生5个连续的软件版本,每个版本都比上一个版本实现的功能多。
每轮迭代都包含实现、测试、修正与集成4个活动,且前一个活动完成之后才能开始下一个活动。不同迭代之间的活动可以并行。例如,1个已经实现的用例在测试时,软件开发人员可以开始下一个用例的实现。实现和修正活动不能并行。
每个活动所需的工作量估算如下:
(1)实现1个用例所需的时间为10人天;
(2)测试1个用例所需的时间为2人天;
(3)修正1个用例所需的时间为1人天(平均估算);
(4)集成1个用例所需的时间为0.5人天。
项目开发过程中能够使用的资源包括:5名开发人员共同完成实现和修正工作、2名测试人员完成测试工作和1名集成人员完成集成工作。 该项目的Gan
nt图(部分)如图1-1所示。
在这里插入图片描述
【问题1】
根据题目描述中给出的工作量计算方法,计算1个用例的实现,测试、修正、集成4个活动分别所需的日历时间(单位:天)
【问题2】
(1)根据图1-1给出的项目Gannt图,估算出项目开发时间。
(2)计算测试人员和集成人员在该项目中的平均工作时间(占项目总开发时间的百分比)。
【问题3】
在项目实施过程中,需不断将实际进度与计划进度进行比较分析,进行项目进度计划> 的修正与调整,以保证项目工期。用300字以内文字,从活动和资源的角度,说明项 目进度计划调整所涉及的内容

我的解答
  • 【问题1我的解答】
    5名开发人员对应10人天的实现,一共需要2天时间;2名测试对应2人天的测试工作量,那么一共需要1天时间;修正还是五人一起的话,那么需要0.2天;集成只有1人,花费半天时间;
  1. 第一天和第二天,5名开发人员对应10人天的实现,花费了2天;
  2. 第三天,2名测试对应2人天的工作量,那么测试甲模块可以完了;同时5名开发人员可以做乙模块1天;
  3. 第四天,甲模块修正五人一起的话,那么花费0.2天,剩下时间做乙模块0.8天;同时甲模块可以在第四天集成完毕;
  4. 第五天,乙模块最后再执行0.2天之后,实现完成,0.8个人天都可以去做丙模块了;然后投入测试人员两名,这个时候乙模块测试完成度80%;丙模块实现完成40%;
  5. 第六天,乙模块最后再执行0.2天的测试,测试全部完成,丙模块实现完成5人日工作量;这时候抽调5人花0.2天完成完成乙模块的修正;乙模块在第六天可以完成集成;到第六天完成丙模块实现完成8人天的工作量;
  6. 第七天,0.4天之后,丙模块完成,剩下的0.6天,测试进场完成1.2人天的活,同时完成丁模块3人日的实现的活;
  7. 第八天,0.4天之后,丙模块测试完成;0.6天之后,修正完成;剩下0.4人日做集成;同时完成丁模块7人日的实现的活;
  8. 第九天,0.1天之后,丙模块所有完成;0.6天之后,丁模块实现完成剩下运行0.8人日的测试;戊模块实现消化2个人日工作量;
  9. 第10天,0.6天之后,丁模块测试完成,之后完成0.4天的集成;戊模块实现消化7个人日工作量;
  10. 第11天,0.1天之后,丁模块所有完成;0.6天之后,戊模块实现,之后0.4天测试进场,开发休息;
  11. 第12天,0.6天之后,戊模块测试完成,修正0.2人日之后,之后0.2人日集成;
  12. 第13天,0.3天之后,戊模块集成完成。
  • 【问题2我的解答】
    项目开发时间为13天。总工作时间为13天(12.3天)。
    2名测试人员只工作量10个人日,满打满算测试人员可以工作24.6人日,所以占比40%
    1名集成人员工作量2.5个人日,满打满算测试人员可以工作12.3人日,所以占比20%
资源第一天第二天第三天第四天第五天第六天第七天第八天第九天第10天第11天第12天第13天
5名开发人员100%100%100%100%100%100%100%100%100%100%100%60%20%
2名测试人员空闲空闲100%空闲80%20%60%40%40%60%40%60%0%
1名集成人员空闲空闲空闲50%空闲50%空闲40%10%40%10%20%30%
备注-甲实现完成甲测试完成甲所有完成-乙所有完成丙实现完成丙修正完成丙所有丁实现完成-丁所有完成-戊所有完成
  • 【问题3我的解答】
    项目进度计划调整所涉及的内容包括:活动先后顺序,活动持续时间,活动投入资源,活动制约调整,进度模型的维护
    从活动的角度来看,活动之间有相应的依赖关系和执行的先后顺序,项目进度计划调整时,需要考虑这些因素;
    从资源的角度来看,为了完成项目活动,需要对项目中投入人力,设备材料等资源。在项目实施过程中的任一时刻,如果资源需求无法满足则会影响活动的执行情况,反之如果任一时刻资源富足的话,有可能导致资源的空闲从而发生成本超支等现象。
    所以需要在计划阶段,合理的估算项目活动所需要的资源,在实施阶段,合理调整项目资源。还有可以使用资源平衡与资源平滑等技术来实现项目资源分配的调整与优化。
标准答案
  • 【问题1标准答案】
    (1) 实现1个用例所需的时间:2天。
    (2) 测试1个用例所需的时间:1天。
    (3) 修正1个用例所需的时间:0.5天。
    (4) 集成1个用例所需的时间:0.5天。
  • 【问题1解析】
    本题考查软件项目管理中进度管理的相关概念以及使用Gannt图进行进度规划的相关知识。
    实现1个用例需要10人天,共有5个开发人员,也就是说实现1个用例花费的实际时间为2天。
    测试1个用例需要2人天,共2个测试人员,完成1个用例的测试实际花费1天。测试之后的修正/改错需要花费1人天,共5个开发人员。修正用例的工作由开发人员兼任。由图1-1的Gannt图可以看出,修正1个用例所耗费的日历时间为0.5天。
    集成1个用例需要0.5人天,只有1个集成人员,实际需要的时间为0.5天
  • 【问题2标准答案】
    (1) 项目开发时间:14天。
    (1)本小题的解答可以由图1-1所示的Gannt图推算出来,在推算过程中要考虑到任务之间的并行关系:实现、测试与集成活动可以并行;实现与修正活动不能并行。由此推算出完成5个用例需要的时间为14天。
    (2)测试人员的平均工作时间:35.7%;
    集成人员的平均工作时间:17.9%。
    (2)对于测试活动,每个用例需要1天时间,共5个用例,总时间为5天,因此测试人员的平均工作时间为:51/14=0.357(35.7%)
    对于集成活动,每个用例需要0.5天,共5个用例,总时间为2.5天,因此集成人员的平均工作时间为:5
    0.5/14=0.179(17.9%)
  • 【问题3标准答案】
    项目进度计划调整通常包含以下几种情况:
    (1) 关键活动的调整。对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。
    (2) 非关键活动的调整。为了更充分地利用资源,降低成本.必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。
    (3) 增减工作项。增加工作项,只对原遗漏或不具体的逻辑关系进行补充;减少工作项,只是对提前完成的工作项或原不应设置的工作项予以消除。
    (4) 资源调整。若资源供应发生异常时,应进行资源调整
  • 【归纳分析总结】
    本问题考查项目进度控制的基本知识及应用。
    项目进度控制就是将实际进度与计划进度进行比较并分析结果,以保持项目工期不变,保证项目质量和所耗费用最少为目标,做出有效对策,进行项目进度更新。项目进度更新主要包括两方面工作,即分析进度偏差的影响和进行项目进度计划的调整。
    项目进度计划的调整往往是一个持续反复的过程,一般分几种情况:
  1. 关键活动的调整。对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。因此,关键活动的调整是项目进度更新的重点,有以下两种情况。
    1. 第一种情况:关键活动的实际进度较计划进度提前时的调整方法。若仅要求按计划工期执行,则可利用该机会降低资源强度及费用。实现的方法是,选择后续关键活动中资源消耗量大或直接费用高的予以适当延长,延长的时间不应超过已完成的关键活动提前的量;若要求缩短工期,则应将计划的未完成部分作为一个新的计划,重新计算与调整,按新的计划执行,并保证新的关键活动按新计算的时间完成。
    2. 第二种情况:关键活动的实际进度较计划进度落后时的调整方法。调整的目标就是采取措施将耽误的时间补回来,保证项目按期完成。调整的方法主要是缩短后续关键活动的持续时间。这种方法是指在原计划的基础上,采取组织措施或技术措施缩短后续工作的持续时间以弥补时间损失,确保总工期不延长。
  2. 非关键活动的调整。当非关键路径上某些工作的持续时间延长,但不超过其时差范围时,则不会影响项目工期,进度计划不必调整。为了更充分地利用资源,降低成本,必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。
    1. 非关键活动的调整方法有三种:在总时差范围内延长非关键活动的持续时间、缩短工作的持续时间、调整工作的开始或完成时间。
    2. 当非关键路径上某些工作的持续时间延长而超出总时差范围时,则必然影响整个项目工期,关键路径就会转移。这时其调整方法与“关键活动的调整”方法相同。
    3. 增减工作项目。由于编制计划时考虑不周,或因某些原因需要增加或取消某些工作,则需重新调整网络计划,计算网络参数。由于增减工作项目不应影响原计划总的逻辑关系,以便使原计划得以实施。因此,增减工作项目,只能改变局部的逻辑关系。增加工作项目,只对原遗漏或不具体的逻辑关系进行补充;减少工作项目,只是对提前完成的工作项目或原不应设置的工作项目予以消除。增减工作项目后,应重新计算网络时间参数,以分析此项调整是否对原计划工期产生影响,若有影响,应采取措施使之保持不变。
    4. 资源调整。若资源供应发生异常时,应进行资源调整。资源供应发生异常是指因供应满足不了需要,例如,资源强度降低或中断,影响到计划工期的实现。资源调整的前提是保证工期不变或使工期更加合理。资源调整的方法是进行资源优化,提高资源利用率。
心得体会

此题考查的是项目管理中的进度管理这个知识点。第一遍做题的时候犯了一个把简单问题复杂化的错误。
在回答第一空的时候,要结合甘特图来作答,在甘特图中,代码修正和集成被安排在了同一天,在第四天中,修正代码半天,集成再半天,那么完成一次迭代的时间就是四天,五个迭代理论上需要20天;可以这里有并行的执行任务在里头,类似于进度管理中的快速跟进,从图可以看出第二次迭代中有1.5人日的工作量重叠在第一个迭代中,以此类推,五个迭代任务有四处这样的重叠,重叠时间为6人日,最后20–6=14人日;
测试总共需要5个人日,一除就得到37%
集成总共需要2.5个人日,那么占比在18%
充分理解甘特图例子之后,其他的计算部分都不难了。
最后一空考查对进度管理中进度计划修正调整的内容。调整进度计划也好进度模型也好,归纳起来调整就四样东西:非关键路径活动调整,关键路径活动调整,项目资源调整,项目活动的增减。
其中对于非关键路径上的活动调整,需要注意总时差,非关键路径会不会因为调整了之后变成了关键路径,还有关键路径上的调整(延期),那么赶工快速跟进等都可以用上了。

2015年系统分析师下午案例分析第二题(企业业务架构)

【试题二】
某集团下属煤矿企业委托软件公司开发一套煤炭运销管理系统,该系统属于整个集团企业信息化架构中的业务层,系统针对煤矿企业开发,包括合同管理、磅房管理、质检化验、运费结算等功能。部分业务详细描述如下:
(1)合同管理:合同签订、合同查询、合同跟踪等。
(2)磅房管理:系统可以从所有类型的电子磅自动读数;可以自动从电子磅上读取车辆皮重、毛重,计算出净重;可根据合同内容自动减少相应提货单剩余数量,如果实际发货量超过合同额则拒绝发货。
(3)质检化验:根据过磅单、车号,生成化验分析委托单,生成化验分析报告。
(4)运费结算:依据过磅单上的净重、化验单、合同规定,自动计算出原料结算单、运费结算单。
煤矿企业根据集团的工作计划制订本企业的业务计划,煤矿企业根据集团划拨指标和提供的原料生产煤炭,所生产的煤炭交由集团统一管理和销售给客户。软件公司采用Zachman框架对企业业务架构和业务过程进行分析,结果如表2-1所示。
在这里插入图片描述
【问题1】
Zachman框架是什么?请在表2-1中(a)-(e)位置补充企业业务架构中的信息类别。
【问题2】
项目组在该煤炭企业业务架构分析中完成了四项主要工作:数据流图、实体联系图、网络拓扑结构和计划时间表,这四项工作在表2-1中处于什么位置,请用表2-1中的位置编号表示。
【问题3】
据题目所述业务描述,请分别给出表2-1中A11和A23位置应该填入的内容。(物流关系用“→”表示)

我的解答
  • 【问题1我的解答】
    Zachman框架是企业业务架构和业务过程分析的一个框架,通过不同的维度对企业的业务框架进行分析和架构。
    a.数据
    b.层级
    c.配置
    d.联系
    e.业务
  • 【问题2我的解答】
    数据流图:A62
    ER图:A61
    网络拓扑结构:A53
    时间计划表:A55
  • 【问题3我的解答】
    不知道
标准答案
  • 【问题1标准答案】
    Zachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。
    (a) What/数据
    (b) How/功能/行为
    © Where/位置/网络
    (d) Who/人员/组织
    (e) Why/动机
  • 【问题1解析】
    本题考查考生对于系统业务架构分析方法的掌握情况。
    系统业务架构对企业业务和IT系统进行建模,企业业务的重点是流程和数据,IT系统的重点是应用和技术。Zachman框架全称为企业架构和企业信息系统架构,是一种逻辑结构,它为信息技术企业提供一种可以理解的信息表述,可以对企业信息按照要求分类和从不同角度进行表不。在一个Zachman表格中,有36个方格,每个方格就是一个角色和每个描述焦点的交汇。在表格中水平移动时,能够从同一个角色的角度,看到系统的不同描述。当在表格中竖直移动时,会看到从不同角色的角度,观察同一个焦点。
    掌握系统业务架构分析方法是系统分析师的重要技能,Zachman框架作为一种重要的业务架构分析技术,能够从不同角度和侧面分析系统的业务和IT系统信息。
    Zachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。纵向的功能视图包括目标范围、企业模型、系统模型、技术模型、详细展现和功能系统,横向的关注点包括数据、功能、位置、人员、时间和动机。
  • 【问题2标准答案】
    (1) 数据流图:A32
    (2) 实体联系图:A31
    (3) 网络拓扑结构:A53
    (4) 计划时间表:A25
    根据题目表格中给出的Zachman框架、实体联系图和数据流图,分别对系统中的数据和功能进行建模,描述了系统的数据模型和功能模型,在表格中的位置为A31和A32。计划时间表是从时间的角度描述企业的业务活动,在表格中的位置为A25。网络拓扑结构是从网络角度描述企业业务系统的详细展现方式,在表格中的位置为A53。
  • 【问题3标准答案】
    (1) All项目关键元素:合同/合同管理、过磅/磅房管理、质检/质检化验、结算/运费结算。
    (2) A23业务物流网络:煤矿企业←→集团→客户。
    根据题目表格中给出的Zachman框架,All为项目关键元素,是从数据角度描述企业业务目标和范围,通过分析需求陈述,企业业务中关键元素包括合同、过磅、质检和结算。A23为业务物流网络,是从网络角度描述企业的业务模型,通过分析需求陈述,煤矿企业和集团之间存在双向物流,煤炭最终从基团流向客户。
心得体会

Zachman框架是一个企业架构设计的理论,它可以为信息技术企业提供一种可以理解的信息表达方式。
它一共有36个单元格组成,其中六行表示为:目标范围,商业模式,系统模式,技术模式,组件和工作系统;
六列分别表示为:What数据,Who人员,Where网络,When时间,How功能,Why动机;
每个方格就是一个角色(例如商业拥有者)和每个描述焦点(如数据)的交汇,Zachman表格可以帮助我们开发企业构架,
但是它并不是一个完整的解决方案,在Zachman中有太多的问题它都没有描述。

2015年系统分析师下午案例分析第三题(嵌入式)

试题三
某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。
【问题1】
王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。
【问题2】
工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。
在这里插入图片描述
【问题3】
请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。

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

本题主要考查嵌入式系统的典型案例题。第一题偏向概念,问你嵌入式系统的特点,这里我已经想到的点有:实时性,可靠性,安全性,依赖性,资源受限制;但是剩下的特点还是漏掉了,比如CPU专用性,系统透明性,多种软硬件技术相互结合
其中透明性是指用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,在用户看起来,嵌入式系统有无关系不大,就像透明的一样。
第三题是宇航设备系统和智能终端设备之间比较回答,又是给你几个维度分别作答。这里的维度有安全性,交互性,编码,实时性这四个。
首先安全性没得说,宇航设备软件系统的安全等级已经是最高级了,而终端设备是辅助人们日常生活的,安全性肯定没有那么的高;
第二个维度是实时性,宇航软件都说是高实时性系统了,实时性性能需求需要分解到每个部件中,而移动终端设备则是弱实时系统,只要实时性不要太差,人们可容忍即可,设计上尽量避免软件与硬件紧耦合。
第三个维度是交互性,移动终端需要与人进行充分交互,所以需要强大的人机交互界面,而宇航软件大多数属于非人机交互需求,对于人机交互界面的要求也不会那么高了,毕竟人家的需求主要还是放在了系统的高安全性和高可靠性上了。
最后一个维度,编码;宇航软件系统的高可靠性高安全性的特点,制定在编码上肯定会有更高的要求,比如安全编码,函数的语句条数、扇入扇出等影响代码质量因素都有严格规定。

2015年系统分析师下午案例分析第四题(软件工程)

试题四
随着信息化的发展,某银行的中心账务系统,从城市中心、省中心模式已经升级到全国中心模式。但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非常困难。因此总行计划将银行中间业务系统全部升级到全国中心模式,对各省中间业务进行统一管理。
各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。同时,对一些全国性的代收代付业务的处理方式,各省行也存在很大的差异。为统一管理,总行决定重新开发一套全国中心模式的银行中间业务系统,用来替代各省自建的中间业务系统,但要求能够支持目前各省的所有中间业务。
【问题1】
各省已建的银行中间业务系统属于遗留系统,在如何对待遗留系统上,设计组存在两种不同的策略:淘汰策略和继承策略。请简要解释这两种策略,并说明新开发的银行中间业务系统适合采用哪种策略及其原因。
【问题2】
遗留系统和新系统之间的转换策略常见的有直接转换、并行转换和分段转换。请简要说明达三种转换策略的含义;并请结合银行中间业务的特点,说明该银行新开发的中间业务系统上线时适合采用哪种策略?为什么?
【问题3】
银行中间业务系统中,最为核心的是业务数据。因此在新旧系统切换时存在一项重要的工作:数据迁移。考虑到各省中间业务系统的巨大差异,因此需要做好数据迁移前的准备工作。请简要说明数据迁移准备工作的内容。

我的解答
  • 【问题1我的解答】
    新开发的银行中间业务系统适合采用哪种继承策略。处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,说明在业务上遗留系统的可用度还是挺高的,但在技术上省中心模式已经升级到全国中心模式,而中间件却还没有随之技术升级,处于各省自治的处理状态中。
    淘汰策略是指信息系统在业务和技术两个方面都不具备较大的可重用性,遗留系统需要直接舍弃;
    继承策略是指遗留系统在业务上有较高的重用性,在技术上重用性较低;
  • 【问题2我的解答】
    直接转换就是由新开发的系统直接替换掉遗留系统;
    并行转换就是让新系统与老系统同时并行接入,同时跑一段时间;
    分段转换就是新系统在替换老系统时逐个模块,逐个功能分开替换,它介与并行转换和分段转换之间;
    银行中间件转换适宜采用分段的转换方式。具体可以各省的中间件逐步替换为通用性高的中间件。这样可以提高系统可靠性,降低因为直接替换而造成的风险因素,同时也避免了并行替换的高成本的代价。
  • 【问题3我的解答】
    数据迁移准备工作的内容包括了数据备份和数据格式转换两个部分。
    数据备份包括了对数据进行全备份,差量备份和增量备份三个部分;数据格式的转换主要就是将各省相互独立的数据库内容,转换为统一的格式,以便对应在业务中间件全国化之后需要对数据进行整体操作的问题。
标准答案
  • 【问题1标准答案】
    (1) 淘汰策略:遗留系统的技术含量低,具有较低的业务价值,因此需要全面重新开发新系统以替代遗留系统;一般是企业的业务发生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员流失,维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。
    (2) 继承策略:遗留系统技术含量低,已经满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。
    适合采用的是继承策略。因为全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。
  • 【问题1解析】
    本题考查软件系统运行与维护中的系统转换与交接的相关知识及应用。
    此类题目要求考生认真阅读题目对现实问题的描述,根据实际需求,采用恰当的遗留系统的处理策略、新旧系统转换策略和数据转换与迁移办法,解决实际问题。
    遗留系统是指任何基本上不能进行修改和演化以满足新业务需求变化的信息系统。在企业信息系统的升级改造过程中,如何处理和利用遗留系统,成为新系统建设的重要组成部分,处理恰当与否,直接关系到新系统的成败和开发效率。采用哪种策略来处理遗留系统,需要根据对遗留系统的所有系统特性的评价来确定。主要的评价方法包括度量系统技术水准、商业价值和与之关联的企业特征。根据技术水平和业务价值的高低,可以将遗留系统分为四类,针对不同类别的遗留系统采用不同的策略。
    (1) 淘汰策略:遗留系统的技术含量低、业务价值低,应采用淘汰策略,即全面重新开发新的系统以代替遗留系统。一般是企业的业务发生根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。
    (2) 继承策略:遗留系统技术含量低,已经不能满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。
    (3) 改造策略:遗留系统的技术含量高,业务价值高,基本上能满足企业业务运行和决策支持的需要。改造包括系统功能的增强和数据模型的改造两个方面。
    (4) 集成策略:遗留系统的技术含量高,业务价值低,可能只完成某个部门的业务管理。对于整个企业而言,可能存在多个这样系统,形成了信息孤岛,因此采用集成策略。
    针对本体的陈述,全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。因此建议采用集成策略。
  • 【问题2标准答案】
    直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。
    该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略。
  • 【问题2解析】
    当新系统开发完毕投入运行时,要取代现有系统,就要进行系统转换。系统转换是指运用某种方式,由现有系统的工作方式向新系统工作方式的转换过程,也是系统设备、数据、人员等的转换过程。
    在实施新旧系统转换时,转换的策略通常有三种。直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。
    根据题干的陈述,该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略
  • 【问题3标准答案】
    (1) 待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。
    (2) 建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。
    (3) 新旧系统代码数据的差异分析。
    (4) 建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。
    (5) 开发或购买、部署ETL工具。
    (6) 编写数据转换的测试计划和校验程序。
    (7) 制定数据转换的应急措施
  • 【问题3解析】
    数据转换和迁移是新旧系统转换交接的主要工作。为使数据能平滑迁移到新系统中,在新系统设计阶段要尽量保留现有系统中合理的数据结构,尽可能降低数据迁移的工作量和转换难度。数据转换和迁移工作的原则是数据不丢失。数据迁移的主要方法有系统切换前通过工具迁移、系统切换前采用手工录入和系统切换后通过新系统生成。
    数据迁移的实施可以分为三个阶段,分别是数据迁移前的准备、数据转换与迁移、数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成。
心得体会

本题考查软件过程中系统维护与改造中的遗留系统应对策略。考查的知识点因为已经在知识树上,所以作答并不困难。遗留系统工程四种处置策略中,改造策略有一定迷惑性,如果叫完善策略的话就比较好理解了。因为它针对的是高技术含量高业务价值的系统;
集成策略针对高技术含量低业务价值的系统,低业务价值体现在通用性差,或遗留系统只能部门级使用,这个时候就要对系统实施集成策略;
继承策略所要继承的就是其高业务价值;
淘汰策略没啥好说的,低技术含量和低业务价值的遗留系统才会被淘汰;
接下来第二问是确认新旧系统的转换,转换不光光是信息系统的转换,随着信息系统的转换,往往还伴随着业务流程,业务数据,业务人员的巨大变化。具体的转换涉及到三种方法:并行转换,直接转换和
分段转换;具体的特点看字面意思就可以扯出很多字了。
第三问考查了遗留系统数据转换和迁移这个知识点;数据转换迁移是遗留系统升级新旧系统转换的时候的主要工作,新旧系统切换时,数据应该是不变的,但数据的迁移如果采用手动方式迁移也是相当费时的,为了让系统数据迁移转化更加的容易,在新系统设计时该尽量保存旧系统的数据结构,或者兼容旧系统的数据结构,相比手动数据迁移,尽量使用工具来完成数据迁移,这样可以保证在迁移的过程中,不会有遗漏。还有实施数据迁移的时候一般可以分为三个步骤,迁移前的准备,迁移后的确认与校验,数据迁移的实施;

2015年系统分析师下午案例分析第五题(系统分析)

试题五
某汽车配件销售厂商拟开发一套网上销售与交易系统,以扩大产品销量,提升交易效率。项目组经过讨论与分析,初步确定该系统具有首页、商品列表、商品促销、商品库存、商品价格、订单中心、订单结算、支付、用户管理、频道(用于区分不同类别的商品)、搜索、购物车等主要功能。
【问题1】
根据业务逻辑切分系统功能是进行系统功能分解的一项重要原则。项目组目前已经将该系统分解为网站、交易和业务服务三个子系统,请将题干中已经确定的系统功能归入这三个子系统中,填写表5.1中的空白,将解答写在答题纸的对应栏内。
在这里插入图片描述
【问题2】
商品实时价格查询是该系统一个重要的业务场景,其完整业务流程如图5-1所示。其中商品实时价格由采销人员在后台设置,包括基础价格与促销信息(例如直降、打折等);用户在前台商品详情页面请求实时价格;商品实时价格则由商品的基础价格与促销信息计算得出。
在这里插入图片描述
基于上述流程,系统设计人员进一步将业务流程细分为商品价格写逻辑流程、商品价格读逻辑流程和回源写逻辑流程三个部分。根据图5-1所示的业务流程和题干描述,从备选答案中选择正确的选项填写表5.2中的空(a)~(h),将解答写入答题纸的相应栏内。
在这里插入图片描述
【问题3】
在设计实现商品实时价格查询业务流程时,项目组的分析师王工向系统设计师和实现人员提出了一些原则,请分析并判断这些原则的正确性,将应填入表5-3中(a)~(d)处的解答写在答题纸的相应栏内。
在这里插入图片描述

我的解答
  • 【问题1我的解答】
    网站子系统:首页,商品列表,频道
    交易子系统:商品促销,订单结算,支付,购物车,商品价格
    业务服务子系统:商品库存,订单中心,用户管理,搜索
  • 【问题2我的解答】
    a.商品价格写逻辑流程
    b.价格发布子系统
    c.商品价格数据
    d.商品从价格库
    e.价格服务子系统
    f.促销信息库
    g.商品主价格库
    h.商品从价格库
  • 【问题3我的解答】
    1)对。
    2)对。
    3)对
    4)错
标准答案
  • 【问题1标准答案】
    搜索功能归网站子系统
    订单中心是交易子系统
    商品价格,商品促销属于业务服务子系统
  • 【问题1解析】
    本题考查系统分析过程中功能分解、业务场景建模和设计原则等知识点。
    此类题目要求考生认真阅读题目对系统功能的描述,理解系统的功能组成,并对功能进行分类,在此基础上对系统核心业务进行分析与建模,并针对系统业务特点给出合适的设计原则。
    根据题干描述,该系统具有首页、商品列表、商品促销、商品库存、商品价格、订单中心、订单结算、支付、用户管理、频道(用于区分不同类别的商品)、搜索、购物车等主要功能,并可知系统分为网站子系统、交易子系统和业务服务子系统三个子系统。进一步分析可知网站子系统主要负责商品的展示与浏览,交易子系统主要负责订单、结算、支付、购物车等与系统交易相关的业务内容,而业务服务子系统则关注促销、库存、价格、用户管理等功能。根据上述分析,可以得到如下表所示的对应关系。
  • 【问题2标准答案】
    (a) 同步
    (b) 价格发布子系统
    © 商品价格数据时间戳
    (d) 商品从价格库
    (e) 回源写逻辑流程
    (f) 促销信息库
    (g) 商品主价格库
    (h) 商品从价格库
  • 【问题2解析】
    分商品价格是否为最新,主要流程是采销后台系统更新价格,写商品信息库,并通过异步任务通知价格发布子系统更新促销信息库,最后更新促销信息库,更新商品主价格库的商品价格数据时间戳。商品价格读逻辑流程的核心是如何提高性能,因此其主要步骤是首先通过Web服务器读取商品从价格库中的价格数据,无过期则直接返回用户,如果过期或没有命中则执行回源写逻辑流程,取最新数据返回用户。回源写逻辑流程的主要功能是更新商品主数据库,并同步从数据库,其主要流程是价格服务子系统读取促销信息库和商品信息库,计算商品价格后返回用户,同时异步写商品主价格库。最后商品主价格库同步数据到商品从价格库。
  • 【问题3标准答案】
    (a) × (b) √ © × (d) √
    【问题3解析】
    本问题主要考查考生对于系统分析的理解,下面依次分析:
    (1) 垂直扩展——分流原则。前置的Web服务器和商品从价格库的架构是无状态的。商品从价格库可以存放全部商品价格信息。这样的设计可以垂直扩展,瓶颈在于商品主价格库的数据复制能力。
    该描述中“前置的Web服务器和商品从价格库的架构是无状态的。商品从价格库可以存放全部商品价格信息”,但是描述的过程是水平扩展,而不是垂直扩展。该描述是错误的。
    (2) 保护系统——降级原则。在系统实现时可以通过开关机制控制回源流程。系统降级时设置为不回源,业务影响为价格不更新,但交易系统的价格为最新价格。
    该描述的核心思想是当系统负载过重时,可以通过关闭相对耗时的回源流程对系统进行降级,进而保护系统,并对系统的业务逻辑影响较小。该描述是正确的。
    (3) 提高性能——读写分离原则。系统实现时需要将读写逻辑分成几个闭环,互相配合完成系统功能。
    该描述的原则思路正确,但是将各个逻辑紧密耦合这一个表述显然与原则相违背,因此总体描述是错误的。
    (4) 提高性能——异步化原则。商品价格发布时异步写商品主价格库,回源异步写商品主价格库。
    异步是分布式系统中提升性能的主要方法,因此该描述是正确
心得体会

第一空考查的是系统分析过程中功能的分解。应该来说是比较简单的,但是越简单越容易错。
商品价格等商品XX都属于业务服务子系统(除了商品列表以外),列表一般用在显示上,那么显示在网站子系统中会比较妥当把。
订单中心,订单结算,和订单相关的肯定和交易有关系,那么订单XX都该归属于交易子系统。
第二空考查的是业务场景建模,因为围绕的是功能建模,所以可以把内容用数据流图来表示出来。
采销后台系统更新价格,写商品信息库,并通过异步任务通知价格发布子系统更新促销信息库,对于这条数据流我的理解还不够深。
提高性能——读写分离原则:这里都说是读写分离了,相互耦合和它描述冲突了。
互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。
垂直扩展:提升单机处理能力。水平扩展:只要增加服务器数量,就能线性扩充系统性能。
从数据库就是水平扩展的应用,从数据库加快了响应速度,但是它限制与商品主价格库的数据复制能力。需要的是主价格库异步更新的及时性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值