image

编辑人: 桃花下浅酌

calendar2025-06-07

message8

visits857

2019年5月系统分析师案例分析参考答案

一、问答题

1、阅读以下关于软件系统分析的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某软件企业为电信公司开发一套网上营业厅系统,以提升服务的质量和效率。项目组经过分析,列出了项目开发过程中的主要任务、持续时间和所依赖的前置任务,如表 1-1 所示。在此基础上,绘制了项目 PERT 图。

表 1-1 网上营业厅系统 PERT 图

问题内容:

【问题 1】(10 分)

PERT 图采用网络图来描述一个项目的任务网络,不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况。针对表 1-2 中关PERT图中关键路径的描述(1)~(5),判断対 PERT 图的特点描述是否正确,并说明原因。

表 1-2 PERT 图特点描述

【问题 2】(5 分)

根据表 1-1 所示任务及其各项任务之间的依赖关系,计算对应 PERT 图中的关键路径及项目所需工期。

【问题 3】(10 分)

根据表 1-1 所示任务及其各项任务之间的依赖关系,分别计算对应 PERT 图中任务 C~G 的松弛时间(Slack Time),将答案填入(a)(e)中的空白处。

参考答案:

【问题 1】(10 分)

(1) 正确。关键路径是项目中持续时间最长的活动顺序,是项目完成的最短工期。

(2) 不正确。关键路径可以有一条或者多条。

(3) 不正确。在项目执行过程中,如果非关键路径上的活动拖延到超过其总时差时,关键路径就会发生变化。

(4)正确。关键路径越多说明项目的关键工作也越多,而关键工作不允许拖延,因此项目会变得更加复杂。

(5)正确。关键路径上的任务不能延迟,延迟会导致项目工期延长。工期延长会导致项目进度、成本、范围等的变更。

关键路径为:ABCEGHI ,工期为25周。

问题3

(a)0 (b)3 (c)0(d)3 (e)0


2、阅读以下关于基于 MDA(Model Driven Architecture)的软件开发过程的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某公司拟开发一套手机通讯录管理软件,实现对手机中联系人的组织与管理。公司系统分析师王工首先进行了需求分析,得到的系统需求列举如下:

用户可通过查询接口查找联系人,软件以列表的方式将查找到的联系人显示在屏幕上。显示信息包括姓名、照片和电话号码。用户点击手机的“后退”按钮则退出此软件。点击联系人列表进入联系人详细信息界面,包括姓名、照片、电话号码、电子邮箱、地址和公司等信息。为每个电话号码提供发送短信和拨打电话两个按键实现对应的操作。用户点击手机的“后退”按钮则回到联系人列表界面。在联系人详细信息界面点击电话号码对应的发送短信按键则进入发送短信界面。界面包括发送对象信息显示、短信内容输入和发送按键三个功能。用户点击发送按键则发送短信并返回联系人详细信息界面;点击“后退”按钮则回到联系人详细信息界面。在联系人详细信息界面内点击电话号码对应的拨打电话按键则进入手机的拨打电话界面。在通话结束或挂断电话后返回联系人详细信息界面。

在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议基于公司现有的软件开发框架,采用新的基于模型驱动架构的软件开发方法,将开发人员从大量的重复工作和技术细节中解放出来,使之将主要精力集中在具体的功能或者可用性的设计上。公司任命王工为项目技术负责人,负责项目的开发工作。


问题内容:

请用 300 字以内的文字,从可移植性、平台互操作性、文档和代码的一致性等三个方面说明基于 MDA 的软件开发方法的优势。

【问题 2】(8 分)

王工经过分析,设计出了一个基于 MDA 的软件开发流程,如图 2-1 所示。请填写图 2-1 中(1)~(4)处的空白,完成开发流程。

【问题 3】(10 分)

王工经过需求分析,首先建立了该手机通信录管理软件的状态机模型,如图 2-2

所示。请对题干需求进行仔细分析,填写图 2-2 中的(1)~(5)处空白。

参考答案:

【问题1】

 在MDA?框架中,首先使用平台无关的建模语言来搭建平台无关的模型PIM,然后根据特定平台和实现语言的映射规则,将PIM?转换以生成平台相关的模型PSM,最终生成应用程序代码和测试框架。因此MDA方法可移植性比较好。

MDA方法中提供了模型转换标准,以及对象约束语言,工具厂商可以开发自动化的工具,开发人员只需关注于业务建模,开发PIM。从PIM到最后面向具体技术平台的可执行的应用程序,都由自动化的MDA工具来解决,很好地实现了平台互操作性。

在MDA中代码是由模型生成的,可以保证文档和代码的一致性。


【问题2】

(1)平台无关模型(PIM)

(2)UML建模

(3)模型变换(映射)

(4)模型生成源码


【问题3】

(1)点击“后退”按钮

(2)联系人详细信息界面

(3)点击发送给按键或点击后退按钮

(4)点击拨打电话按键

(5)拨打电话界面


3、阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题 1 至问题 3。

【说明】

某公司机电管理系列产品被广泛应用于飞行器后,现场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。

公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复出现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看 CCDL 协议包丢失是引起系统报警、切换的主要原因。图 3-1 给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃袖和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:

1.机电管理系统由 1 号计算机和 2 号计算机组成,双机互为余度备份;

2.双机中分别驻留了一个 100ms 周期的 CCDL 任务,完成双机间的交叉对比和实时监控等工作。10ms 定时器作为任务的工作频率;

3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码;

4.2 号机将协议包通过 422 总线发送给 1 号机(422 总线接口芯片有 8 级缓冲);

5.1 号机通过中断方式将 422 总线数据接收到大环形缓冲区中(大小为 4096B);

6.100ms 的 CCDL 定时任务将大环形媛冲区的数据以 512B 为单位拷贝到小环形缓冲区中(大小 512B);

7.CCDL 任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;

8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。

问题内容:

【问题 1】(12 分)

王总汇报时指出,在设计安全攸关系统软件时,往往不重视安全攸关软件设计方

法, 不遵守 C 语言安全编码规范,导致程序质量较差,代码中存在支全隐患。请简要说明表 3-1 给出的 C 语言代码是 C 语言安全编码标准中(如:MISARC 标准)不允许采用的代码结构的原因。

表 3-1 C 语言代码实例

【问题 2】(10 分)

请根据自己对图 3-1 所示机电管理系统工作原理的分析,用 300 字以内的文字说明本实例中可能存在哪三方面数据传输时丢失协议包现象,并简要说明原因。

【问题 3】(3 分)

针对以上分析出的三种丢包原因,请举例给出两种以上的修改丢包 bug 的可能的方法。

参考答案:

【问题1】

(1)不允许。违背(建议)规则6.3

(2)不允许。违背(建议)规则6.3、(强制)规则15.3和强制规则15.5

(3)不允许。违背(建议)规则6.3

(4)不允许。违背(建议)规则6.3和(强制)规则8.1

(5)不允许。违背(建议)规则6.3和(强制)规则12.2

x=exp_1(&y)+exp_2(&2)应修改为:

x=exp_1(&y); x+=exp_2(&y)

(6)不允许。违背(建议)规则6.3和(强制)规则10.3,

(unsigned int *)s是危险的类型转换


【问题2】

(1)422总线传输速率可达10Mbps,4096缓冲区是环形缓冲区,若数据不断从2号机放过来,可能导致未及时处理的数据被覆盖,造成丢包。

(2)CCDL任务解析小环形缓冲的数据,若校验错误可能会导致丢包。

(3)CCDL任务做协议包文交叉比对时,发现数据不一致,可能会导致丢包


【问题3】

方案一、扩展4096B环形缓冲区容量,以减少缓冲区溢出现象。

方案二、将422总线升级为485总线,以提高传输可靠性。


4、阅读以下关于数据管理的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某软件企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用 MySQL 数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。

为此,该企业设立了专门的工作组来解决此问题。

张工提出对 MySQL 数据库进行扩展,采用读写分离,主从复制的策略,好处是程序改动比较小,可以较快完成,后续也可以扩展到 MySQL 集群,其方案如图4-1 所示。李工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 NoSQL 数据库来替代 MySQL,重新构造系统的数据层。而刘工认为张工的方案过于保守,对该系统的某些功能,如关注列表、推荐列表、热搜榜单等实现困难,且性能提升不大;而李工的方案又太激进,工作量太大,短期无法完成,应尽量综合二者的优点,采用 Key-Value 数据库+MySQL数据库的混合方案。

经过组内多次讨论,该企业最终决定采用刘工提出的方案。

问题内容:

【问题 1】(8 分)

张工方案中采用了读写分离,主从复制策略。其中,读写分离设置物理上不同的主/从服务器,让主服务器负责数据的(a)操作,从服务器负责数据的(b)操作,从而有效减少数据并发操作的(c),但却帯来了(d)。因此,需要采用主从复制策略保持数据的(e)。

MySQL 数据库中,主从复制是通过 binary log 来实现主从服务器的数据同步,MySQL 数据库支持的三种复制类型分别是(f) 、 (g) 、 (h)。

请将答案填入(a)~(h)处的空白,完成上述描述。

【问题 2】(8 分)

李工方案中给出了关系数据库与 NoSQL 数据的比较,如表 4-1 所示,以此来说明该新闻社交类软件更适合采用 NoSQL 数据库。请完成表 4-1 中的(a) ~ (d)处空白。

表 4-1 关系数据库与 NoSQL 数据库特征比较

【问题 3】(9 分)

刘工提出的方案采用了 Key-Value 数据库+MySQL 数据库的混合方案,是根据数

据的读写特点将数据分别部署到不同的数据库中。但是由于部分数据可能同时存

在于两个数据库中,因此存在数据同步问题。请用 200 字以内的文字简要说明解决该数据同步问题的三种方法。

参考答案:

【问题1】

(a)写

(b)读

(c)延迟

(d)数据不一致

(e)一致性(或同步)

(f)(g)(h)次序无关

基于SQL语句的复制(SBR: statement-based replication)

基于行的复制(RBR: row-based replication)

混合模式复制(MBR: mixed-based replication)

【问题2】

(a)弱一致性

(b)非结构化

(c)弱事务性

(d)海量数据

【问题3】

1、通过定时任务做数据定期同步;

2、通过触发器实现数据同步;

3、通过数据库插件实现数据同步。


5、阅读以下关于 Web 应用系统的叙述,在答题纸上回答问题 1 至问题 3。

【说明】

某公司因业务需要,拟在短时间内同时完成“小型图书与音像制品借阅系统”和“大学图书馆管理系统”两项基于 B/S 的 Web 应用系统研发工作。

小型图书与音像制品借阅系统向某所学校的所有学生提供图书与音像制品借阅服务。所有学生无需任何费用即可自动成为会员,每人每次最多可借阅 5 本图书和3个音像制品。图书需在 1 个月之内归还,音像制品需在 1 周之内归还。如未能如期归还,则取消其借阅其他图书和音像制品的权限,但无需罚款。学生可通过网络查询图书和音像制品的状态,但不支持预定。

大学图书馆管理系统向某所大学的师生提供图书借阅服务。有多个图书存储地点,即多个分馆。捜索功能应能查询所有的分馆的信息,但所有的分馆都处于同一个校园内,不支持馆际借阅。本科生和研究生一次可借阅 16 本书,每本书需在 1个月内归还。教师一次可借阅任意数量的书,每本书需在 2 个月内归还,且支持教师预定图书。如预定图书处于被借出状态,系统自动向借阅者发送邮件提醒。借阅期限到达前 3 天,向借阅者发送邮件提醒。超出借阅期限 1 周,借阅者需缴纳罚款 2 元/天。存在过期未还或罚款待缴纳的借阅者无法再借阅其他图书。图书馆仅向教师和研究生提供杂志借阅服务。

基于上述需求,该公司召开项目研发讨论会。会议上,李工建议开发借阅系统产品线,基于产品线完成这两个 Web 应用系统的研发工作。张工同意李工观点,并提出采用 MVP(Model View Presenter)代替 MVC 的设计模式研发该产品线。

问题内容:

【问题 1】(6 分)

软件产品线是提升软件复用的重要手段,请用 300 字以内的文字分别简要描述什么是软件复用和软件产品线。

【问题 2】(16 分)产品约束是软件产品线核心资产开发的重要输入,请从以下已给出的(a)~(k)各项内容,分别选出产品的相似点和不同点填入表 5-1 中(1)~(8)处的空白,完成该软件产品线的产品约束分析。

(a)项目当前状态;(b)项目操作;(c)预定策略;(d)会员分类;(e)借阅项目数量;(f)项目的类型和属性;(g)检索功能;(h)与支付相关的用户信息;(i)图书 编号;(j)教师;(k)学生


【问题 3】(3 分)

MVP 模式是由 MVC 模式派生出的一种设计模式。请说明张工建议借阅系统产品线采用MVP模式代替MVC模式的原因。

参考答案:

【问题1】

软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

软件产品线是指具有一组可管理的公共特性的软件密集性系统的合集,这些系统满足特定的市场需求或任务需求,并且按预定义的方式从一个公共的核心资产集开发得到。

【问题2】

(1)(4) f:i     g

(2)a

(3)b

(5)(8)d:j、k    h

(6)e

(7)c

【问题3】

MVP将M与V彻底分离,所有交互均通过P来传达,有利于软件构件及架构的复用,有利于修改,可扩展性良好。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2019年5月系统分析师案例分析参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share