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

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

2016年系统分析师下午案例分析第一题(系统规划)

试题一(共25分)
阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题1至问题3。
某软件开发企业受对外贸易公司委托开发一套跨境电子商务系统,项目组从多个
方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为300万元,建设期为1年,运营期为4年,该方案现金流量表如表1-1所示。
在这里插入图片描述
【问题1】(12分)
软件系统可行性分析包括哪几个方面?用200以内文字说明其含义。
【问题2】(7分)
成本和收益是经济可行性评价的核心要素,成本一般分为开发成本和运营成本,
收益包括有形收益和无形收益,请对照下列7项内容,将其序号分别填入成本和收益对应的类别。
a)系统分析师工资;
b)采购数据库服务器;
c)系统管理员工资;
d)客户满意度增加;
e)销售额同比提高;
f)软件许可证费用;
g)应用服务器数量减少。
在这里插入图片描述
【问题3】(6分)
根据表1-1所示现金流量表,分别给出该解决方案的静态投资回收期、动态投资回收期和投资收益率的算术表达式或数值(结果保留2位小数)。

我的解答
  • 【问题1我的解答】
    软件系统的可信性可以分为经济可行性,技术可行性,用户使用可行性,法律可行性。
    经济可行性:往往从成本效益的角度来分析软件系统项目是否可行
    技术可行性:主要看现在的人员配备是否具备相应的技术积累,使用新技术是否对项目会产生相应的风险
    用户使用可行性:包括系统反馈时间是否能够接受,用户界面操作是否简洁易懂,是否能改善现有业务的流程
    法律可行性:软件建设过程中,是否会出现法律纠纷侵权行为,从而影响正常的信息系统交付。
  • 【问题2我的解答】
    开发成本:a,
    运营成本:b,c,f
    有形收益:e,g
    无形收益:d,
  • 【问题3我的解答】
    第三年后折现后总收益大于折现后的总成本,那么动态和静态投资回收期均在2.X年;
    静态回收期=2+(第三年总成本)/第三年总收益=2+(540-450)/540=2.83年
    动态回收期=2+(第三年折现成本值)/第三年折现收益值=2+422.9/445=2.95年
标准答案
  • 【问题1标准答案】
    (1)经济可行性。主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。
    (2)技术可行性。研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。
    (3)法律可行性。具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。
    (4)用户使用可行性。从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。
  • 【问题2标准答案】
    (1)开发成本:系统分析师工资;
    (2)运营成本:系统管理员工资、采购数据库服务器、软件许可证费用;
    (3)有形收益:销售额同比提高、应用服务器数量减少;
    (4)无形收益:客户满意度增加
  • 【问题3标准答案】
    静态投资回收期= 累计净现金流量开始出现正值的年份数-1+∣上年累计净现金流量∣/当年净现金流量 = (3-1)+(390-340)/(200-60) = 2.36年
    动态投资回收期 = 累计折现值开始出现正值的年份数-1+∣上年累计折现值∣/当年折现值 = (3-1)+(377.9-295)/((200-60)0.75) = 2.79年
    投资收益率 = 投资收益/投资成本
    100% = 594.6/470.5 = 126.38%
    或投资收益率 = 运营期年均收益/投资成本*100% = (594.6/4)/470.5 = 31.59%
    注:投资收益率一词没有明确是总投资收益率还是年均投资收益率,故两种计算方式均可。
心得体会

投资收益率就是投出去多少钱与获利多少钱之间的百分比,百分比大于1那么说明项目是盈利的;也可以再此基础上除个年份,代表均摊到每一年能回收多少;
静态投资回收期= 累计净现金流量开始出现正值的年份数-1+∣上年累计净现金流量∣/当年净现金流量;具体来说先看看上个年度的净现金流量,看看距离盈亏平衡点还有多少,然后除以当年的进现金流量就可以了;动态投资回收期无非就是需要计算一个折现率。
技术可行性强调信息系统实现的功能和性能,以及技术能力约束;
法律可行性强调从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。
四个可行性还是和标准答案有些偏差。

2016年系统分析师下午案例分析第二题(需求分析)

试题二(共25分)
阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。
某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量和效率。在项目之初,项目组决定釆用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下:
注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内, 点击“结算”按钮后开始录入订单信息。
用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后产生订单,并开始进行订单结算。
订单需要在30分钟内进行支付,否则会自动取消,用户也可以手工取消订单。
用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。
生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。 用户签收商品,交易完成。
【问题1】(12分)
识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300字以内的文字说明设计类通常分为哪三种类型,每种类型的主要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出2个实例。
【问题2】(3分)
在面向对象的设计过程中,活动图(activity
diagram)阐明了业务用例实现的工作流程。请用300字以内的文字给出活动图与流程图(flow chart)的三个主要区别。
【问题3】(10分)
在面向对象的设计过程中,状态图(statechart
diagram)描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图2-1中的(a)~(e)空白,完成订单处理的状态图。
在这里插入图片描述

我的解答
  • 【问题1我的解答】
    分为实体类,控制类,边界类三种。
    实体类:信息系统内部的各个对象,其中数据库的表结构等也归属于实体类;商品,用户信息属于实体类;
    控制类:在实体类和边界类之间,便于从外部控制信息系统内部各实体类的一个类;订单属于控制类;
    边界类:连接信息系统内部与外部实体之间的类;购物车属于边界类;
  • 【问题2我的解答】
    活动图可以用在面向对象的分析与设计中,流程图是结构化时代的产物;
    活动图中有泳道的概念,可以表示多个用户之间的流程交互,而流程图不具备该功能;
  • 【问题3我的解答】
    a.取消
    b.购物车录入
    c.手动取消
    d.出货中
    e.签收商品
标准答案
  • 【问题1标准答案】
    (1)实体类。实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如,用户、商品等。
    (2)控制类。控制类是用于控制用例工作的类,用于对一个或几个用例所特有的控制行为进行建模。例如,结算、备货等。
    (3)边界类。边界类用于封装在用例内、外流动的信息或数据流。例如,浏览器、购物车等
  • 【问题2标准答案】
    (1)程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。
    (2)流程图一般都限于顺序进程,而活动图则可以支持并发进程。
    (3)活动图是面向对象的,而流程图是面向过程的。
  • 【问题3标准答案】
    (a)取消
    (b)订单结算
    (c)手工取消订单
    (d)订单生效
    (e)用户签收商品
心得体会

活动图描述了活动必要的工作顺序,而流程图需要明确指定每个活动之间的先后顺序。
订单结算,订单产生,订单生效,订单取消,购物网站的消息都是围绕订单来展开的;
实体类映射需求的每个实体,控制类用来控制用例工作,结算备货属于控制类;
封装用例内外流动的信息流,就是边界类;
边界类和控制类觉得比较难以理解,但是在用例图看来,控制椭圆工作的类就是控制类,连接椭圆和小人的类就是边界类,这样理解起来稍微要好点。

2016年系统分析师下午案例分析第四题(数据库系统)

试题四(共25分)
阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。

某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票。开发小组经过设计,给出该系统的部分关系模式如下:
航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价)
代理商(代理商编号,代理商名称,客服电话,地址,负责人)
机票代理(代理商编号,航班编号,票价)
旅客(身份证号,姓名,性别,出生日期,电话)
购票(购票单号,身份证号,航班编号,搭乘日期,购票金额)
在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很差。为此开发小组将机票代理关系模式进行了扩充,结果为:
机票代理(代理商编号,航班编号,代理商名称,客服电话,票价)
这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。
【问题1】(6分)
机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询
效率。但这种修改导致机票代理关系模式不满足3NF,会带来存储异常的问题。
1) 请具体说明其问题,并举例说明。
2)这种存储异常会造成数据不一致,请给出解决该存储异常的方案。
在这里插入图片描述
【问题2】(9分)
在机票销售信息处理系统中,两个代理商的售票并发执行,可能产生的操作序列如表4-1所示。

假设两个代理商执行之前,该航班仅剩1张机票。 1) 请说明上述两个代理商操作的结果。
2)并发操作会带来数据不一致的问题,请具体说明3种问题。
【问题3】(10分)
为了避免问题2中的问题,开发组使用库的读写锁机制,操作序列变为表4-2所示。
在这里插入图片描述

我的解答
  • 【问题1我的解答】
    会产生冗余,出现插入删除异常,更新异常等现象。对关系模式进行分解之后,便可以解决这个问题
    代理商和航班信息是多对多的关系,一个代理商可以代理多个航班,一个航班可以让多个代理商同时代理。
    比如代理商A名称需要更新的时候,机票代理中所有代理商A的记录都需要更新,少更新一条的话,就会出现更新异常;
    1个代理商不代理任何航班的时候,就连代理商编号,代理商名称,客服电话都删除了,这个就会出现删除异常;
    当需要新增一个代理商,但该代理商还没有代理航班的时候,无法插入到机票代理这个关系表中;

在这里插入图片描述

  • 【问题2我的解答】
    代理商A和B各出了一张票,一张机票出了两次;票数为0;
    丢失更新,不可重复读,读脏数据
    表4-1就是丢失更新的场合的应用;
    不可重复读:代理商1读取A,执行出票减1操作,代理商2也读取A,同样执行减1操作,然后对代理商1的操作回滚,这个时候再去验算出票数量的时候,就不对了。因为代理商2的操作没有了。
    读脏数据:
  • 【问题3我的解答】
    1.加写锁
    2.加读锁
    3.释放读锁

5.加写锁
6.释放写锁

标准答案
  • 【问题1标准答案】
    不满足3NF的关系模式存在存储异常问题,包括数据冗余和修改异常。
    ①数据冗余:如果某代理商代理100个航班的售票,那么在机票代理的关系模式中就要出现100个元组,该代理商的名称、客服电话也随之重复出现100次。
    ②修改异常:由于上述冗余问题,当需要修改该代理商的客服电话时,就要修改100个元组中的客服电话值,否则就会出现客服电话值不一致的现象。
    2)解决存储异常的典型方案是进行模式分解,但在本题中机票代理已是逆规范化的产物,故可使用触发器在修改时,检查并新更对应数据的方式来解决数据不一致的问题。
  • 【问题2标准答案】
    1)2个代理商都成功售出1张票,剩余票数为0。
    2)数据库的并发操作会带来一些数据不一致问题,例如,丢失修改、读脏数据和不可重复读等。
    ①丢失修改。事务A与事务B从数据库中读入同一数据并修改,事务B的提交结果破坏了事务A提交的结果,导致事务A的修改被丢失。
    ②读脏数据。事务A修改某一数据,并将其写回磁盘,事务B读取同一数据后,事务A由于某种原因被撤消,这时事务A已修改过的数据恢复原值,事务B读到的数据就与数据库中的数据不一致,是不正确的数据。
    ③不可重复读。事务A读取数据后,事务B执行了更新操作,事务A使用的仍是更新前的值,造成了数据不一致性。
  • 【问题3标准答案】
    (1)加写锁
    (2)加读锁
    (3)加写锁
    (4)等待
    (5)查询剩余票数
    (6)加写锁
    采用封锁的方法虽然可以有效防止数据的不一致性,但封锁本身也会产生一些麻烦,最主要就是死锁问题。也就是说,多个事务申请不同封锁,由于申请者均拥有一部分封锁权,而又需等待另外事务拥有的部分封锁而引起的永无休止的等待。
心得体会

本题考查的是关系数据库范式和并发控制等知识点;
使用触发器在修改时,检查并新更对应数据的方式来解决数据不一致的问题。那么就可以解决更新异常的问题。它是反规范化之后为了解决数据冗余而导致不一致性的一种解决方案;
一级封锁协议解决了丢失更新的问题,二级封锁协议解决了丢失更新和读脏数据的问题,三级封锁协议解决了丢失更新,读脏数据,不可重复读三个问题。
读脏数据:两个事务,事务A读取数据并修改后,如果事务B读取修改后的数据,到这里都挺正常没有问题,但此时若事务A回滚了,那么对于事务B来说,读到的数据就是脏数据了;
不可重复读:事务A读取数据之后,事务B更新了这个数据,但事务A不知道,还傻乎乎使用者事务B更新之前的数据。
对一个数据加读锁后其他事务还可以对其加读锁,但是不能加写锁了;而一个数据一旦加了写锁,任何锁都无效了;但是要清楚的知道枷锁其实会产生死锁现象,所以要慎用之。
T4时间事务B需要先做等待,因为在T3时刻,事务A已经上了写锁,所以事务B被中断了;
在T5时刻,事务A提交并释放了锁,那么在T4挂起的才能够继续执行,在执行前需要先查询一下最新的票数,然后减一,最后加上写锁。
通过此题发现自己的基础知识还是掌握不够扎实。

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

试题三 阅读以下关于嵌入式系统能耗管理设计的描述,在答题纸上回答问題1至问题3。
随着嵌入式系统智能化技术的持续发展,系统的能耗问题已成为亟待解决的难题。某宇航公司研发的一款手持式野外辅助装备,需要较长的巡航时间,由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故。公司领导决定抽调王工等5人组建专门的攻关小组,要求在三个月内完成故障归零。王工接到任务后,经反复论证
与实验,给公司提交了一份基于软件动态节能的改进方案,得到了领导及专家的好评。
【问题1】(7分)
在嵌入式系统中节能技术一般分为静态节能和动态节能两种,请用300字以内文字分别说明什么是静态节能技术和动态节能技术,并列举三种动态节能技术。
【问题2】(6分)
王工的方案得到认可后,他带领团队研究了调度方式和系统能耗之间的关系,请用150字以内的文字说明为了节约系统能耗而釆用的设备调度策略的核心思路,并说明设备调度策略与任务实时性的关系。
【问题3】(12分)
根据上述设备有效调度时刻的策略,分析以下实例,并将答案写在答题纸上。手持式野外辅助装备由三个实时任务和三个独立设备组成(分别表示为:t1、t2和t3;s1、s2和S3),表3-1给出了手持式设备实时任务的时间参数表,这些任务使用独立的设备并且所有设备的特征一致,各设备待机超时可直接进入睡眠状态,处于睡眠状态的设备要经过转换状态后才能进入运行状态。假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为60mw/ms,转换功率为30mw/ms,睡眠功率为10mv/ms。同时假设设备被唤醒的转换时间为10ms。设备待机后被关闭的超时值为10ms。
图3-1给出了未考虑节能需求时任务调度算法,在采用了设备有效时刻调度策略之后,三个设备100ms周期内将按一定顺序被依次关闭和唤醒。图3-2给出了采用设备有效时刻调度策略后s1的功率随时间的变化规律。请计算此时三个设备在100ms 周期内的功耗,并计算100ms周期内,每个设备的节能比。 节能比 = (未节能情况下的系统能耗 - 节能后系统能耗)÷ 未节能情况下的系统能耗
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我的解答
  • 【问题1我的解答】
    动态节能是指嵌入式系统在不断电运行态的情形下完成系统能耗的节约;
    静态节能是指嵌入式系统不在俄使用态的时候完成系统能耗的节约;
    动态节能:进入休眠模式,关闭不常用的外设,降低系统反馈时间。
  • 【问题2我的解答】
    不使用抢占的方式来调用外设,如果使用抢占的方式来竞争使用外设,势必优先度低的进程将因无法获得外设而处于等待中,等待进程越多,这些等待的进程需要消耗电能,各进程在挂起的时候霸占着的资源将不被释放,还可能发生进程之间抢占资源和死锁,不使用抢占方式,那么实时性必然没有抢占式来的好。
  • 【问题3我的解答】
    S1=运行20ms60mw/ms+转换10ms30mw/ms+睡眠50ms10mw/ms+待机20ms60mw/ms=1200+300+500+1200=3200mw
    S2=6060+1030+3010=3600+600=4200mw;
    S3=70
    60+1020+3010=4200+500=4700mw;
    未改造前
    S1=S2=S3=100*60=6000mw;
    S1节能比=(6000-3200)/6000=28/60=0.46
    S2节能比=18/60=0.3
    S3节能比=13/60=.022
标准答案
  • 【问题1标准答案】
    静态节能技术是在编译时刻对代码扫描,找出可以针对目标平台特性优化的部分进行代码重构。
    动态节能技术是在设备运行时根据任务负载、功率与输入电压平方的线性关系等进行运行状态以达到节能的技术,主流的动态节能技术有动态电压调节、动态频率调节、动态电源管理、动态电压缩放、体偏压调节、自适应衬底偏置等。
  • 【问题2标准答案】
    在不违背时限,保证延迟的前提下,合理调度任何到各设备上,求得最佳调度以降低系统能耗。
    设备调度策略是直接影响任务实时性能的因素。
  • 【问题3标准答案】
    s1、s2和s3在不考虑节能调度算法的情况下,100ms周期内的能耗都是60×100=6000mw。
    根据图3-2,在考虑了节能调度算法的情况下:
    s1的能耗:60×10+60×10+10×30+30×10+60×10+60×10+10×20 = 3200mw
    s1的节能比:(6000-3200)/6000=0.47。
    s2的能耗:60×10+60×20+60×10+10×30+30×10+60×20 = 4200mw
    s2的节能比为:(6000-4200)/6000=0.3。
    s3的能耗:60×10+10×10+30×10+60×30+60×10+60×10+60×10+10×10 = 4700mw
    s3的节能比:(6000-4700)/6000=0.22。
心得体会

静态节能优化在编译时,动态节能优化在运行时,静态节能体现在对代码的性能优化与代码重构。
主流的动态节能技术完全不清楚,可以了解一下,可以通过电源管理,电压调节,频率调节等方式实现;
计算题比较简单,可以帮助我们理解节能的原理。

2016年系统分析师下午案例分析第五题(Web应用)

试题五(共25分)
阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。
某软件企业拟开发一套基于Web的云平台配置管理与监控系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。
【问题1】(5分)
在选择系统所采用的Web开发框架时,项目组对Alibaba开发的WebX框架与轻量级Spring
MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring
MVC框架进行对比。
【问题2】(12分)
在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了
Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对表
5-1中所列项目需求的支持情况,将候选答案序号A或B填入表5-1相应位置。
【候选答案:A. 支持 B.不支持或支持差】
在这里插入图片描述
【问题3】 (8分)
系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了REST风格RPC与SOAP
RPC两种方案,经过分析讨论,项目组最终决定采用REST风格RPC机制实现服务集成,请判断表5-2中给出的选择REST方案的理由是否合理。

在这里插入图片描述

我的解答
  • 【问题1我的解答】
    不清楚
  • 【问题2我的解答】
    1.B
    2.B
    3.A
    4.B
    5.A
    6.B
  • 【问题3我的解答】
    1.对
    2.对
    3.错
    4.对
标准答案
  • 【问题1标准答案】
    (1)基础服务支持:因为WebX在阿里巴巴和淘宝用了很多年,对于超大访问量的电子商务网站,WebX经受了考验,被证明是成熟可靠的。
    (2)多应用支持:WebX和Spring MVC一样,完全建立在Spring框架之上,可以使用Spring的所有特性。WebX被设计成多个层次,层次间的分界线很清晰,每个层次都足够开放和易于扩展。
    (3)可扩展性:WebX对Spring做了扩展,一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制使WebX具有较好的扩展性,且比未经扩展的Spring更易使用。
  • 【问题2标准答案】
    (1)A
    (2)B
    (3)B
    (4)A
    (5)A
    (6)B
  • 【问题3标准答案】
    (1)√ (2)╳ (3)╳ (4)√
心得体会

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。
Spring的一个最大的目的就是使JAVA EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架
Spring的基本组成:
1、最完善的轻量级核心框架。
2、通用的事务管理抽象层。
3、JDBC抽象层。
4、集成了Toplink, Hibernate, JDO, and iBATIS SQL Maps。
5、AOP功能。
6、灵活的MVC Web应用框架。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的横打

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

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

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

打赏作者

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

抵扣说明:

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

余额充值