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的松弛时间(SlackTime),将答案填入(a)〜(e)中的空白处。
2、阅读以下关于基于MDA(Model Driven Archtecture)的软件开发过程的叙述,在答题抵上回答问题1至问题3。
【说明】
某公司拟开发一套手机通讯录管理软件,实现对手机中联系人的组织与管理。公司系统分析师王工首先进行了需求分析,得到的系统需求列举如下:
用户可通过查询接口查找联系人,软件以列表的方式将耷找到的联系人显示在屏幕上。显示信息包括姓名、照片和电话号码。用户点击手机的“后退”按钮则退出此软件。
点击联系人列表进入联系人详细信息界面,包括姓名、照片、电话号码、电子邮箱、地址和公司等信息。为每个电话号码提供发送短信和拨打电话两个按键实现对应的操作。用户点击手机的“后退”按钮则回到联系人列表界面。
在联系人详细信息界面点击电话号码对应的发送短信按键则进入发送短信界面。界面包括发送对象信息显示、短信内容输入和发送按键三个功能。用户点击发送按键则发送短信并返回联系人详细信息界面;点击“后退”按钮则回到联系人详细信息界面。
在联系人详细信息界面内点击电话号码对应的拨打电话按键则进入手机的拨打电话界面。在通话结束或挂断电话后返回联系人详细信息界面。
在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议基于公司现有的软件开发框架,采用新的基于模型驱动架构的软件开发方法,将开发人员从大量的重复工作和技术细节中解放出来,使之将主要精力集中在具体的功能或者可用性的设计上。公司任命王工为项目技术负责人,负责项目的开发工作。
问题内容:
请用300字以内的文字,从可移植性、平台互操作性、文档和代码的一致性等三个方面说明基于MDA的软件开发方法的优势。
【问题2】(8分)
王工经过分析,设计出了一个基于MDA的软件开发流程,如图2-1所示。请填写图2-1中(1)~(4)处的空白,完成开发流程。
【问题3】(10分)
王工经过需求分析,首先建立了该手机通信录管理软件的状态机模型,如图2-2所示。请对题干需求进行仔细分析,填写图2-2中的(1)~(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的可能的方 法。
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字以内的文字简要说明解决该数据同步问题的三种方法。
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)学生
表5-1产品约束分析
【问题3】(3分)
MVP模式是由MVC模式派生出的一种设计模式。请说明张工建议借阅系统产品线采用MVP模式代替MVC模式的原因。
试题一参考答案
问题1
( 1) 正确。项目中最长路径 上的工作,是不能延误的 ,所以这条路径是一 个项目成败关键,故命名关键路径。
( 2 )不正确。一个PERT图可以有多条关键路径。
( 3 )不正确。关键路径在项目执行过程中可能发生变化,只要非关键活动延误超过其总时差,关键路径就会发生变化。
( 4 )正确。关键路径越多 ,说明项 目活动并行度高,而且大量任务不容延误 ,所以项目管理的复杂度高,风险也大。
(5)正确。关键路径上的任务不能延迟,一旦延迟会导致项目工期延长。
问题2
关键路径为: ABCEGHI ,最短工期为25周。
问题3
(a)0 (b)3 (C)0 (d)3 (e)0
试题二参考答案
问题1
可移植性:在MDA中,先会建立平台无关模型( PIM ) , 然后转换为平台相关模型( PSM ) ,1个PIM可转换成多个PSM ,所以要把个软件移植到另一个平台时,只需要将平台无关模型转换成另一个平台的相关模型即可。所以可移植性很强。
平台互操作性:在MDA中,整个开发过程都是模型驱动的,所以标准化程度很高,这样为平台的互操作带来了非常大的帮助。
文档和代码的一致性:在MDA中,代码是由模型生成的,所以具有天然的一致性。这一点其它方法无法比拟。
问题2
(1)平台无关模型(PIM)(2)UML建模
(3)模型变换(映射)( 4 )模型生成源代码
问题3
( 1 )点击后退按钮
( 2 )联系人详细信息界面
( 3 )点击发送按键或点击后退按钮( 4 )点击拨打电话按健( 5 )拨打电话界面
试题三参考答案
问题1
e(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(8y)+ exp, 2(&)应修改为:x=exp 1(&y) ; x+=exp. 2(8y).
(6)不允许。违背(建议)规则6.3和强制规则10.3; ( unsigned int * ) s是危险的类型转换。
问题2
( 1 ) 422总线传输速率可达10Mbps,4096缓冲区是环形缓冲区,如果数据不断从2号机发过来,有可能导致未处理的数据被覆盖,带来丢包。
( 2 ) CCDL任务解析小环形缓冲的数据,如果校验错误会发生丢包.(3 ) CCDL任务做协议包交叉比对时,发现数据不致,会发生丢包。
问题3
解决方案- ;扩展4096B环形缓冲区容,以减少缓冲区港出现象。解决方案二:将422总线升级为485总线,提高传输可靠度。
试题四参考答案
问题1
(a)写 (b)读 (c)延迟
(d)数据不一致风险 (e)一致性
(f)(g)(h)基于SQL语句的复制;基于行的复制;混合模式复制
问题2
- 弱一致性(b)非结构化(c)弱事务性(d)海量数据
问题3
- 通过定时任务机制做定期数据更新
- 通过触发器完成数据同步
- 通过数据库插件完成数据同步
试题五参考答案
问题1
软件复用是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的种重要技术早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等切有 关方面。
软件产品线是个产品集合,这些产品共享个 公共的、可管理的特征集,这个特征集能满足特定领域的特定需求。软件产品线是个十分适合专业的开发组织的软件开发方法,能有效地提高软件生产率和质量,缩短开发时间,降低总开发成本,
问题2
(1) (4) f项目的类型和属性: i图书编号g检素功能(2) a项目当前状态(3) b项目操作
(5) (8) d会员分类: j教师k学生h与支付相关的用户信息(一个要付费,-个不要)
(6) e借阅数量(7) c预定策略
问题3
MVP与MVC相比,最在的差异在于层次之类的耦合度不一样。MVP将M与V彻底分离,所有交互均通过P传达,这样,有利于软件构件及架构的重用,也利于修改,有良好的可扩展性。