2018 年上半年(软师)下午题答案及解析

Posted jxust-jiege666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018 年上半年(软师)下午题答案及解析相关的知识,希望对你有一定的参考价值。

 

2018 年上半年(软师)下午题答案及解析

试题一、

问题 1: 
E1:客户 E2: 医生 E3:主管问题 2: 
D1:通用信息表 
D2:预约表 
D3:医生表 
D4:出诊时间表 
D5:药品库存表问题 3:

数据流名称 起点 终点 
删除解聘医生的出诊安排 P2 D4 
查询相关药品库存信息 P4 D2 
更新预约表中治疗信息 D5 P4 
更新所约医生出诊时间 P3 D4

预约处理分解为:安排出诊、创建预约、提交预约请求、发送预约通知。 
即保持父图与子图之间的平衡:父图中某个加工的输入输出数据流必须与其子图的输入输出数据流在数量上和名字上相同。父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成的这些数据流的数据项全体正好是父图中的这一个数据流。

试题二、

问题 1: 
技术分享图片 
问题 2: 
(a)商品条码,顾客编号 
(b)订单 ID,商品条码 
问题3: 
技术分享图片 
新增一个弱实体顾客地址,新增一个联系 客户收货地址,,联连接顾客实体和顾客地址类型为 1:*;弱实体用双矩型 
运送关系模式增加该订单收货地址

试题三、

问题 1: 
A1:Central system 或中心系统 
A2:Driver 或驾驶员 
A3:Regional center 或区域系统 
A4:Traffic advice center 或交通广播电台

其中 A3、A4 可以互换 
问题 2: 
U1:Underpaid transaction U2:Record Illegal use U3:Create transaction U4:Record traffic event U5:Charge card 
其中 U1、U2 可以互换,用例名称必须为英文,因为表中的汉字是对用例的说明。问题 3: 
C1:Center system C2:Traffic events C3:Toll gantry C4:Radar sensor C5:Radio transceiver C6:Digital Camera 
其中 C4、C5、C6 可以互换

【解析】 
问题 1:首先要识别出参与者,是人或组织。题干中表示参与者的有:驾驶员、区域系统、中心系统、交通广播电台。由问题 2 得出 A1 为中心系统。 
问题 2:填写用例,要先找到突破口,本题有两个突破口,一个是 U1、U2 是 U3 的扩展, 而所给定的用例名称中,只有记录透支帐户交易信息和记录失败交易信息,是记录收费交易的扩展。二个是有一个孤立的用例,从题干中可知为记录交通事件,再加上问题 1 中的参与者,可以推出完整的用例图。

问题 3:先从 C4、C5、C6 与 C3 的一个多组合关系。题干中只有龙门架由三个部分组成。 
C1 与 Regional Center 对应关系是 1 个对象对应多个对象,C1 只可能为中心系统。然后题干(5)中获取龙门架的所有记录叫交通事件。且一个 Regional Center 有多个 C2 对象与之对应。 
试题四、

问题 1: (1):i<=n (2):i<=j 
(3):temp = (temp>=r[i]+r[j-i])?temp:(r[i] + r[j - i]) 
(4):r[j] = (temp>p[j])?temp:p[j]; 
问题 2: 
(5) 动态规划法 
(6) O(2n) 
(7) O(n2)

【解析】问题 2: 
题干中提到说考虑所有可能的 i,得到最大收益的方式,而自底向上算法实现时,使用到数组把其中最优的解记录。是动态规划法。

试题五、

(1)virtual void buildPartA() = 0

(2)virtual Product * getResult() = 0

(3)product->setPartA

(4)product->setPartB

(5)builder->buildPartA();

builder->buildPartB();

Product* p = builder->getResult(); 
【解析】第 5 空,由于后面的代码省略,所以以上三个都可。

试题六、

(1)virtual void buildPartA()

(2)virtual Product getResult()

(3)product.setPartA

(4)product.setPartB

(5)builder.buildPartA();

builder.buildPartB();

Product p = builder.getResult(); 
【解析】第 5 空,由于后面的代码省略,所以以上三个都可。










































以上是关于2018 年上半年(软师)下午题答案及解析的主要内容,如果未能解决你的问题,请参考以下文章

2018年下半年系统集成项目管理工程师下午真题及答案解析

2021年上半年软件设计师下午真题及答案解析

2021年上半年数据库系统工程师下午真题及答案解析

2021年上半年软件设计师下午真题及答案解析

2021年上半年软件设计师下午真题及答案解析

2021年上半年系统集成项目管理工程师下午案例分析真题及答案解析