1、2016 年上半年软件水平考试(高级)系统分析师下午(案例分析)真题试卷及答案解析(总分:36.00,做题时间:90 分钟)一、选答题(总题数:6,分数:36.00)1.选答题(共 4 道大题,每道大题,本部分满分)从下列 4 道试题中任选 2 道解答,如果解答的试题数超过 2 道,则仅题号小的 2 道题解答有效。(分数:6.00)_阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题 l 至问题 3。 某软件开发企业受对外贸易公司委托开发一套跨境电子商务系统,项目组从多个方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为
2、 300 万,建设期为 1年,运营期为 4 年,该方案现金流量表如表 11 所示。 (分数:6.00)(1).软件系统可行性分析包括哪几个方面?用 200 以内文字说明其含义。(分数:2.00)_(2).成本和收益是经济可行性评价的核心要素,成本一般分为开发成本和运营成本,收益包括有形收益和无形收益,请对照下列 7 项内容,将其序号分别填入成本和收益对应的类别。 a)系统分析师工资; b)采购数据库服务器; c)系统管理员工资; d)客户满意度增加; e)销售额同比提高; f)软件许可证费用; g)应用服务器数量减少。 (分数:2.00)_(3).根据表 11 所示现金流量表,分别给出该解决方
3、案的静态投资回收期、动态投资回收期和投资收益率的算术表达式或数值(结果保留 2 位小数)。(分数:2.00)_阅读以下关于系统设计的叙述,在答题纸上回答问题 1 至问题 3。 某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量和效率。在项目之初,项目组决定采用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下: 注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内,点击“结算”按钮后开始录入订单信息。 用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后产生订单,并开始进行订单结
4、算。 订单需要在 30 分钟内进行支付,否则会自动取消,用户也可以手工取消订单。 用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。 生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。 用户签收商品,交易完成。(分数:6.00)(1).识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300 字以内的文字说明设计类通常分为哪三种类型,每种类型的主要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出 2 个实例。(分数:2.00)_(2).在面向对象的设计过程中,活动图(activity di
5、agram)阐明了业务用例实现的工作流程。请用 300 字以内的文字给出活动图与流程图(flow chart)的三个主要区别。(分数:2.00)_(3).在面向对象的设计过程中,状态图(statechart diagram)描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图 2-1 中的(a)(e)空白,完成订单处理的状态图。(分数:2.00)_阅读以下关于嵌入式系统能耗管理设计的描述,在答题纸上回答问题 1 至问题 3。 随着嵌入式系统智能化技术的持续发展,系统的能耗问题已成为亟待解决的难题。某宇航公司研发的一款手持式野外辅助装备,需要较长的巡航时间,由于设计时对功耗问题考虑不周,
6、使得产品出现了批次责任事故。公司领导决定抽调王工等 5 人组建专门的攻关小组,要求在三个月内完成故障归零。王工接到任务后,经反复论证与实验,给公司提交了一份基于软件动态节能的改进方案,得到了领导及专家的好评。(分数:6.00)(1).在嵌入式系统中节能技术一般分为静态节能和动态节能两种,请用 300 字以内文字分别说明什么是静态节能技术和动态节能技术,并列举三种动态节能技术。(分数:2.00)_(2).王工的方案得到认可后,他带领团队研究了调度方式和系统能耗之间的关系,请用 150 字以内的文字说明为了节约系统能耗而采用的设备调度策略的核心思路,并说明设备调度策略与任务实时性的关系。(分数:2
7、.00)_(3).根据上述设备有效调度时刻的策略,分析以下实例,并将答案写在答题纸上。 手持式野外辅助装备由三个实时任务和三个独立设备组成(分别表示为:t1、t2 和 t3;s1、s2 和 s3),表 3-1 给出了手持式设备实时任务的时间参数表,这些任务使用独立的设备并且所有设备的特征一致,各设备待机超时可直接进入睡眠状态,处于睡眠状态的设备要经过转换状态后才能进入运行状态。假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为 60mWms,转换功率为 30mWms,睡眠功率为 10 mWms。同时假设设备被唤醒的转换时间为 10 ms。设备待机后被关闭的超时值为 10ms。
8、图 3-1 给出了未考虑节能需求时任务调度算法,在采用了设备有效时刻调度策略之后,三个设备 100ms 周期内将按一定顺序被依次关闭和唤醒。图 32 给出了采用设备有效时刻调度策略后 s1 的功率随时间的变化规律。请计算此时三个设备在 100ms 周期内的功耗,并计算 100ms 周期内,每个设备的节能比。 节能比=(未节能情况下的系统能耗一节能后系统能耗)未节能情况下的系统能耗 (分数:2.00)_阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。 某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票。开发小组经过设计,给出该系统的部分关系模式如下: 航班( 航班编
9、号 ,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价) 代理商( 代理商编号 ,代理商名称,客服电话,地址,负责人) 机票代理( 代理商编号 , 航班编号 ,票价) 旅客( 身份证号 ,姓名,性别,出生日期,电话) 购票( 购票单号 , 身份证号 , 航班编号 ,搭乘日期,购票金额) 在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很差。为此开发小组将机票代理关系模式进行了扩充,结果为:机票代理(代理商编号,
10、航班编号,代理商名称,客服电话,票价) 这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。(分数:6.00)(1).机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询效率。但这种修改导致机票代理关系模式不满足 3NF,会带来存储异常的问题。 1)请具体说明其问题,并举例说明。 2)这种存储异常会造成数据不一致,请给出解决该存储异常的方案。(分数:2.00)_(2).在机票销售信息处理系统中,两个代理商的售票并发执行,可能产生的操作序列如表 41 所示。(分数:2.00)_(3).为了避免问题 2 中的问题,开发组使用了数据库的读写锁机制,操作序列变
11、为表 42 所示。(分数:2.00)_阅读以下关于 Web 应用的叙述,在答题纸上回答问题 1 至问题 3。 某软件企业拟开发一套基于 Web 的云平台配置管理与监控系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的 Web 应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型 Web 系统基础服务需求。(分数:6.00)(1).在选择系统所采用的 Web 开发框架时,项目组对 Alibaba 开发的 WebX 框架与轻量级 Spring MVC 框架进行了对比分析,最终决定采用 WebX 框架进行开发。请用 300 字以内文字,从多应用支持、基础服务支持以及可扩展
12、性这三个方面对 WebX 与 SpringMVC 框架进行对比。(分数:2.00)_(2).在确定系统采用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了Hibernate 和 MyBatis 两种持久化方案,请分析两种持久化方案对表 51 中所列项目需求的支持情况,将候选答案序号 A 或 B 填入表 51 相应位置。 (分数:2.00)_(3).系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了 REST 风格 RPC 与 SOAP RPC 两种方案,经过分析讨论,项目
13、组最终决定采用 REST 风格 RPC 机制实现服务集成,请判断表 5-2 中给出的选择REST 方案的理由是否合理。 (分数:2.00)_2016 年上半年软件水平考试(高级)系统分析师下午(案例分析)真题试卷答案解析(总分:36.00,做题时间:90 分钟)一、选答题(总题数:6,分数:36.00)1.选答题(共 4 道大题,每道大题,本部分满分)从下列 4 道试题中任选 2 道解答,如果解答的试题数超过 2 道,则仅题号小的 2 道题解答有效。(分数:6.00)_解析:阅读以下关于软件系统可行性分析的叙述,在答题纸上回答问题 l 至问题 3。 某软件开发企业受对外贸易公司委托开发一套跨境
14、电子商务系统,项目组从多个方面对该电子商务系统进行了可行性分析,在项目组给出的可行性分析报告中,对项目的成本、收益情况进行了说明:建设投资总额为 300 万,建设期为 1年,运营期为 4 年,该方案现金流量表如表 11 所示。 (分数:6.00)(1).软件系统可行性分析包括哪几个方面?用 200 以内文字说明其含义。(分数:2.00)_正确答案:(正确答案:(1)经济可行性:主要评估项目的建设成本、运行成本和项目建成后可能的经济效益。 (2)技术可行性:研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。 (3)法律可行性:需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现
15、实性。 (4)用户使用可行性:从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等。)解析:解析:本题考查考生对于软件系统可行性分析方法的掌握情况。 可行性是指企业当前的条件下,是否有必要建设新系统,以及建设新系统的工作是否具备必要的条件。在信息系统建设项目中,可行性评价通常从经济可行性、技术可行性、法律可行性和用户使用可行性四个方面进行分析,经济可行性通常被认为是项目的底线。经济可行性也称为投资收益分析或成本效益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,
16、以及技术能力约束。法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以分为管理可行性和运行可行性。 掌握系统可行性分析方法是系统分析师的重要技能,特别是成本效益分析方法,能够根据现金流量表计算静态投资回收期、动态投资回收期和投资收益率等可行性指标。 软件系统可行性分析的内容和基本概念是进行软件系统可行性分析的前提。软件系统的可行性分析包括经济可行性、技术可行性、法律可行性和用户使用可行性,分别从项
17、目建设的经济效益、技术方案、制度因素和用户使用等四个方面对系统建设的必要性和可能性进行评估。(2).成本和收益是经济可行性评价的核心要素,成本一般分为开发成本和运营成本,收益包括有形收益和无形收益,请对照下列 7 项内容,将其序号分别填入成本和收益对应的类别。 a)系统分析师工资; b)采购数据库服务器; c)系统管理员工资; d)客户满意度增加; e)销售额同比提高; f)软件许可证费用; g)应用服务器数量减少。 (分数:2.00)_正确答案:(正确答案:(1)(a)(b) (2)(c)(f) (3)(e)(g) (4)(d)解析:解析:成本和收益的识别是经济可行性中成本效益分析的基础,成
18、本主要描述系统的投入,收益主要描述系统建成后的产出。软件生存期中的成本按照系统投入的阶段可分为开发阶段的成本和建成后的运营成本两类,软件生存期中的收益按照量化方式不同可分为有形收益和无形收益。系统分析师工资和采购数据库服务器属于系统开发阶段的投入,所以属于开发成本;系统管理员工资和软件许可证费用属于系统建成后运营阶段的投入,所以属于运营成本;销售额同比提高和应用服务器数量减少都意味着系统收益的增加,可以直接量化,所以属于有形收益;而客户满意度增加同样能够增加系统收益,但是无法直接量化,所以属于无形收益。(3).根据表 11 所示现金流量表,分别给出该解决方案的静态投资回收期、动态投资回收期和投
19、资收益率的算术表达式或数值(结果保留 2 位小数)。(分数:2.00)_正确答案:(正确答案:(1)静态投资回收期:(31)+-50140 或 236 年。 (2)动态投资回收期:(3 一 1)+-829105 或 279 年。 (3)投资收益率:59464705100或 12638。)解析:解析:投资回收期就是投资收回的期限,也是用系统方案所产生的净现金收入回收初始全部投资所需要的时间。对于投资者来讲,投资回收期越短越好,从而减少投资的风险。计算投资回收期时,根据是否考虑资金的货币时间价值,可分为静态投资回收期和动态投资回收期。投资收益率又成为投资利润率,是指投资收益占投资成本的比率,用来反
20、映投资的收益能力。各指标计算方法: (1)静态投资回收期=累计净现金流量开始出现正值的年份数一 1+上年累计净现金流量当年净现金流量; (2)动态投资回收期:累计折现值开始出现正值的年份数一 1+上年累计折现值当年折现值; (3)投资收益率=投资收益投资成本100。阅读以下关于系统设计的叙述,在答题纸上回答问题 1 至问题 3。 某软件公司为电子商务企业开发一套网上交易订单管理系统,以提升服务的质量和效率。在项目之初,项目组决定采用面向对象的开发方法进行系统开发,并对系统的核心业务功能进行了分析,具体描述如下: 注册用户通过商品信息页面在线浏览商品,将需要购买的商品添加进购物车内,点击“结算”
21、按钮后开始录入订单信息。 用户在订单信息录入页面上选择支付方式,填写并确认收货人、收货地址和联系方式等信息。点击“提交订单”按钮后产生订单,并开始进行订单结算。 订单需要在 30 分钟内进行支付,否则会自动取消,用户也可以手工取消订单。 用户支付完成,经确认后,系统开始备货,扣除该商品可接单数量,并移除用户购物车中的所有商品资料。 生成订单表单,出货完毕,订单生效。为用户快递商品,等待用户接收。 用户签收商品,交易完成。(分数:6.00)(1).识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。请用300 字以内的文字说明设计类通常分为哪三种类型,每种类型的主
22、要职责,并针对题干描述案例涉及的具体类为每种类型的设计类举出 2 个实例。(分数:2.00)_正确答案:(正确答案:在系统设计过程中,类可以分为三种类型:实体类、边界类(或接口类)和控制类。实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息。题干描述中商品、订单、注册用户、送货信息、购物车等都是实体类。 边界类用于封装在用例内、外流动的信息或数据流。题干描述中商品信息页面、订单信息录入页面和订单表单都属于边界类。 控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词。题干描述中订单结算、订单支付、备货、出货等都属于控制类。)解析:解
23、析:识别设计类是面向对象设计过程中的重要工作,设计类表达了类的职责,即该类所担任的任务。在系统设计过程中,类可以分为三种类型:实体类、边界类(或接口类)和控制类。(2).在面向对象的设计过程中,活动图(activity diagram)阐明了业务用例实现的工作流程。请用 300 字以内的文字给出活动图与流程图(flow chart)的三个主要区别。(分数:2.00)_正确答案:(正确答案:活动图和流程图的主要区别有以下三点: (1)活动图是面向对象的,而流程图是面向过程的。 (2)活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。流程图着重描述处理过程
24、,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。 (3)活动图能够表示并发活动的情形,而流程图不能。)解析:解析:本问题主要考查考生对活动图和流程图基础概念的理解。 活动图和流程图的主要区别是: (1)活动图是面向对象的,而流程图是面向过程的。 (2)活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。 (3)活动图能够表示并发活动的情形,而流程图不能。(3).在面向对象的设计过程中,状态图(statechart diagra
25、m)描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图 2-1 中的(a)(e)空白,完成订单处理的状态图。(分数:2.00)_正确答案:(正确答案:(a)取消 (b)待结算 (c)大于 30 分钟 (d)订单生效 (e)用户签收)解析:解析:本问题主要考查状态图建模的理解和应用。在面向对象的设计过程中,状态图(statechan diagram)描述了一个实体基于事件反应的动态行为。考生需要对需求进行分析,特别是业务处理过程进行深入理解的前提下完成状态图模型。具体结果如下图所示。阅读以下关于嵌入式系统能耗管理设计的描述,在答题纸上回答问题 1 至问题 3。 随着嵌入式系统智能化技术
26、的持续发展,系统的能耗问题已成为亟待解决的难题。某宇航公司研发的一款手持式野外辅助装备,需要较长的巡航时间,由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故。公司领导决定抽调王工等 5 人组建专门的攻关小组,要求在三个月内完成故障归零。王工接到任务后,经反复论证与实验,给公司提交了一份基于软件动态节能的改进方案,得到了领导及专家的好评。(分数:6.00)(1).在嵌入式系统中节能技术一般分为静态节能和动态节能两种,请用 300 字以内文字分别说明什么是静态节能技术和动态节能技术,并列举三种动态节能技术。(分数:2.00)_正确答案:(正确答案:静态节能技术主要是利用硬件的能耗特性,将节
27、能方法纳入产品的设计中。此技术能够显著地减少系统局部组件所消耗的能力。 动态节能技术主要在系统运行过程中根据负载的变化来降低能耗,利用底层硬件提供的特征,从系统运行范围内降低系统总体功耗,从而能够节省大量的能量。 动态节能包括 3 种技术:(1)动态调频调压技术;(2)动态电源管理技术;(3)任务调度技术。)解析:解析:本问题提到的手持式野外辅助装备类似于我们日常的手机产品,其电池的待机时间是手持设备的关键考核指标,节能技术是在设备设计时重点要解决的问题。通常节能技术包含了静态节能和动态节能。 静态节能技术主要是利用硬件的能耗特性,将节能方法纳入产品的设计中。此技术能够显著地减少系统局部组件所
28、消耗的能力。静态节能一般采用两种方法,其一是可以通过设计低功耗硬件来节省能量,然而,硬件电路设计方面可优化的部分已越来越少,且成本大;其二是可以通过使用编译优化技术来生成能量感知的机器代码,这种技术虽然成本小,但是对于降低功耗的潜力不大。 动态节能技术主要在系统运行过程中根据负载的变化来降低能耗,利用底层硬件提供的特征,从系统运行范围内降低系统总体功耗,从而能够节省大量的能量。动态节能通常采用三种技术,其一是动态调频调压技术;其二是动态电源管理技术;其三是任务调度技术。 (1)动态调频调压技术(Dynamic Voltage and Frequency Scaling DVFS)依据处理器的功
29、耗与电路的运行电压之间存在的平方关系,在获取处理器的实时使用情况后,调整电路的运行电压、动态升高或降低运行频率,从而减少能量消耗。 (2)动态电源管理技术(Dynamic Power Management)是在系统运行过程,根据系统的运行情况切换系统各个组件的状态,在满足系统正常服务请求的前提下,使得系统组件处于工作状态的时间最短,从而节省能量。 (3)任务调度技术在保证系统中所用任务满足截止期的情况下,充分利用系统的空间和时间,安排系统中各个任务的运行次序和调度关系,减少任务运行时的抢占次数,减少任务上下文切换次数,从而通过调度来降低系统的运行能耗。(2).王工的方案得到认可后,他带领团队研
30、究了调度方式和系统能耗之间的关系,请用 150 字以内的文字说明为了节约系统能耗而采用的设备调度策略的核心思路,并说明设备调度策略与任务实时性的关系。(分数:2.00)_正确答案:(正确答案:为了使系统能够节约更多的能量,应该尽可能晚的唤醒一个设备;在有效调度时刻唤醒设备常常能够节省更多的能量,同时能够及时响应任务的访问请求,保证满足系统的实时性要求。)解析:解析:考生首先可从题干“由于设计时对功耗问题考虑不周,使得产品出现了批次责任事故”进行分析,该宇航公司研发的手持式野外辅助装备如果采用静态节能技术,势必带来严重的经济损失(所有设备硬件要重新替换),而采用动态节能技术,可在满足应用需求的基
31、础上,缩短时间周期,降低成本。因此,王工程师提出了采用设备调度节能策略来降低系统能耗。设备调度节能策略的核心思想是:由于系统中能量消耗的主要来源是系统中的各种硬件设备,设备工作与关闭两种状态功耗消费差距很大,为了使系统能够节约更多的能量,应该尽可能晚的唤醒一个设备,既在应用任务使用设备时才打开设备。也就是说,在有效调度时刻唤醒设备常常能够节省更多的能量,同时能够及时响应任务的访问请求,保证满足系统的实时性要求,这种算法称为“设备有效时刻调度策略”。(3).根据上述设备有效调度时刻的策略,分析以下实例,并将答案写在答题纸上。 手持式野外辅助装备由三个实时任务和三个独立设备组成(分别表示为:t1、
32、t2 和 t3;s1、s2 和 s3),表 3-1 给出了手持式设备实时任务的时间参数表,这些任务使用独立的设备并且所有设备的特征一致,各设备待机超时可直接进入睡眠状态,处于睡眠状态的设备要经过转换状态后才能进入运行状态。假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为 60mWms,转换功率为 30mWms,睡眠功率为 10 mWms。同时假设设备被唤醒的转换时间为 10 ms。设备待机后被关闭的超时值为 10ms。 图 3-1 给出了未考虑节能需求时任务调度算法,在采用了设备有效时刻调度策略之后,三个设备 100ms 周期内将按一定顺序被依次关闭和唤醒。图 32 给出了采
33、用设备有效时刻调度策略后 s1 的功率随时间的变化规律。请计算此时三个设备在 100ms 周期内的功耗,并计算 100ms 周期内,每个设备的节能比。 节能比=(未节能情况下的系统能耗一节能后系统能耗)未节能情况下的系统能耗 (分数:2.00)_正确答案:(正确答案:三个设备在第一个 100ms 周期内的功耗如下: s1:60*20+10*30+30*10+60*20+10*20=4400 s2:60*40+10*40+30*10+60*10=3700 s3:60*10+10*20+30*10+60*50+10*10=4200 三个设备的节能比: s1 的节能比=(60*100-4400)(6
34、0*100)=0267 s2 的节能比=(60*100-3700)(60*100)=0383 s3 的节能比=(609100 一 4200)(60*100)=03)解析:解析:本问题给出了王工编制的节能方案中采用的“有效时刻调度策略”的事例分析,通过事例分析,考生可计算出采用有效调度时刻的策略,在保证周期任务按时完成的前提下,设备能耗消费最少。应仔细分析题干,重点关注“假设初始状态(t=0)设备处于工作状态,且所有设备的工作状态功率为60mWms,转换功率为 30mWms,睡眠功率为 10 mWms。同时假设设备被唤醒的转换时间为 10 ms。设备待机后被关闭的超时值为 10ms”的条件限制,
35、既分析案例仅仅关注周期任务的第一个主周期(t=0 开始的 100ms)对设备管理;设备的功率在不同的状态(工作、装换和睡眠)其功耗不一样,而节能策略恰恰利用了这一特点,达到节能的作用。考生还应注意到设备从工作到睡眠,不存在装换时间,而从睡眠到工作,存在 10ms 的装换,并存在不一样的功耗,图 32 已给了 t1 任务对设备 s1 的控制过程,如果考生理解了算法的核心思想,在图 32 的提示下,就不难算出三个设备在第一个 100ms 周期内的各自的功耗,及各自的设备的节能比。阅读以下关于数据库设计的叙述,在答题纸上回答问题 1 至问题 3。 某航空公司要开发一个订票信息处理系统,以方便各个代理
36、商销售机票。开发小组经过设计,给出该系统的部分关系模式如下: 航班( 航班编号 ,航空公司,起飞地,起飞时间,目的地,到达时间,剩余票数,票价) 代理商( 代理商编号 ,代理商名称,客服电话,地址,负责人) 机票代理( 代理商编号 , 航班编号 ,票价) 旅客( 身份证号 ,姓名,性别,出生日期,电话) 购票( 购票单号 , 身份证号 , 航班编号 ,搭乘日期,购票金额) 在提供给用户的界面上,其核心功能是当用户查询某航班时,将该航班所有的代理商信息及其优惠票价信息,返回给用户,方便用户购买价格优惠的机票。在实现过程中发现,要实现此功能,需要在代理商和机票代理两个关系模式上进行连接操作,性能很
37、差。为此开发小组将机票代理关系模式进行了扩充,结果为:机票代理(代理商编号,航班编号,代理商名称,客服电话,票价) 这样,用户在查找信息时只需对机票代理关系模式进行查询即可,提高了查询效率。(分数:6.00)(1).机票代理关系模式的修改,满足了用户对代理商机票价格查询的需求,提高了查询效率。但这种修改导致机票代理关系模式不满足 3NF,会带来存储异常的问题。 1)请具体说明其问题,并举例说明。 2)这种存储异常会造成数据不一致,请给出解决该存储异常的方案。(分数:2.00)_正确答案:(正确答案:具体问题有数据冗余和更新异常。 数据冗余:代理商名称和客服电话存在于两个关系模式,而且机票代理关
38、系模式中,该代理商代理了多少个航班,则代理商名称和客服电话被重复存储多少次。 更新异常:当代理商名称或客服电话变更时,不仅需要修改代理商关系模式,还需要修改机票代理关系模式,否则会造成数据不一致。 可采用两种方案实现。 (1)通过程序实现,当修改代理商关系模式数据时,程序同步修改机票代理关系模式; (2)通过触发器实现,在代理商关系模式上加修改触发器,当修改代理商关系模式数据时,程序同步修改机票代理关系模式。)解析:解析:本问题考查数据库设计中关系范式规范化和反规范化的相关知识。众所周知,关系范式规范化的结果是关系越来越小,关系范式的概念越单一。但是要解答用户的问题,往往会涉及到多表关联操作,
39、影响查询效率。因此应用中经常采用反规范化的方法来提高查询效率。因此开发小组对机票代理关系模式的修改属于反规范化。 但是反规划带来的直接结果是数据冗余存放,如题干描述的机票代理中,代理商名称和客服电话数据就存在于机票代理和代理商两个模式中。这种情况会引起更新异常,比如当代理商名称或客服电话变更时,不仅需要修改代理商关系模式,还需要修改机票代理关系模式,否则会造成数据不一致。 要解决范式规范化带来的问题,主要是保持两个地方存储数据的一致性。常见的方法有两种:一种是通过程序实现,在业务程序中,当修改代理商关系模式数据时,程序同步修改机票代理关系模式;另一种是通过触发器实现,在代理商关系模式上加修改触
40、发器,当修改代理商关系模式数据时,程序同步修改机票代理关系模式。(2).在机票销售信息处理系统中,两个代理商的售票并发执行,可能产生的操作序列如表 41 所示。(分数:2.00)_正确答案:(正确答案:1)第一个代理商能够正确售票。第二个代理商查询剩余票数时正确,为 1 张机票,但剩余票数减一操作时出错,因为该机票已经被第一个代理商售出,此时第二个代理商无票可售。 2)并发操作会带来数据不一致问题,具体为:丢失修改、读脏数据、不可重复读。)解析:解析:本问题考查数据库设计中的并发问题和数据库事务隔离级别的基本概念。数据库为众多用户同时提供服务,如果多个用户产生了对同一个数据的并发读取操作,就会
41、产生并发问题。 表 4-1 描述的是并发的一种可能情况,在允许脏读的条件下,第一个代理商能够正确售票。第二个代理商查询剩余票数时正确,为 1 张机票,但剩余票数减一操作时出错,因为该机票已经被第一个代理商售出,此时第二个代理商无票可售。 并发问题会造成数据的不一致。在数据库事务隔离级别定义中,定义了并发问题会造成的三种现象,分别是丢失修改、读脏数据和不可重复读,而根据这三种现象,划分了 4 种不同的事务隔离级别。(3).为了避免问题 2 中的问题,开发组使用了数据库的读写锁机制,操作序列变为表 42 所示。(分数:2.00)_正确答案:(正确答案:(1)加写锁(2)加读锁(3)加写锁(4)被阻塞(5)得到通知 (6)加写锁 读写锁的缺点:读写锁会造成读写操作的互相阻塞,实际使得用户的操作被串行化,降低了系统的