- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
试卷第PAGE14页共NUMPAGES14页
2018年下半年(下午)《软件设计师》真题带答案与解析
姓名:_____________年级:____________学号:______________
题型
选择题
填空题
解答题
判断题
计算题
附加题
总分
得分
评卷人
得分
第1大题:问答题(共6题,共6分)
1.社交网络平台(SNS)的主要功能之一是建立在线群组,群组中的成员之间可以互相分享或挖掘兴趣和活动。每个群组包含标题、管理员以及成员列表等信息。
社交网络平台的用户可以自行选择加入某个群组。每个群组拥有一个主页,群组内的所有成员都可以查看主页上的内容。如果在群组的主页上发布或更新了信息,群组中的成员会自动接收到发布或更新后的信息。
用户可以加入一个群组也可以退出这个群组。用户退出群组后,不会再接收到该群组发布或更新的任何信息。
现采用面向对象方法对上述需求进行分析与设计,得到如表3-1所示的类列表和如图3-1所示的类图。
【问题1】(6分)
根据说明中的描述,给出图3-1中C1~C3所对应的类名。
【问题2】(6分)
图3-1中采用了哪一种设计模式?说明该模式的意图及其适用场合。
【问题3】(3分)
现在对上述社交网络平台提出了新的需求:一个群体可以作为另外一个群体中的成员,例如群体A加入群体Bl适用场合:
(1)当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。
(2)当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时。
(3)当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合的。
【问题3】
(1)在SNSSubject和SNSObserver之间增加继承关系,SNSObserver为基类,SNSSubject为派生类。
(2)为类SNSGroup增加自关联(自己到自己的关联关系)。
【问题1】
本题补充类名,来源是表3-1所给出的类名。根据图示,对于SNSSubje是抽象的被观察者,具体被观察的对象应该是在主页发布消息的群组,即C1是SNSGroup;SNSObserver是抽象的观察者,具体的观察者应该是关注主页的群组成员或群组管理员,即C2是SNSUser;C3是SNSAdmin,且二者可以互换。
【问题2】
根据图示可知本题所用的是观察者模式。观察者模式是行为型设计模式。
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。
适用场合:
(1)当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用。
(2)当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时。
(3)当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合的。
【问题3】
对于新需求:一个群体可以作为另外一个群体中的成员,例如群体A加入群体B。那么,群体A中的所有成员就自动成为群体B中的成员。即群组是可以嵌套的,针对这个需求:
(1)在SNSSubject和SNSObserver之间增加继承关系,SNSObserver为基类,SNSSubject为派生类。
(2)为类SNSGroup增加自关联(自己到自己的关联关系)。
2.某航空公司的会员积分系统将其会员划分为:普卡(Basic)、银卡(Silver)和金卡(Gold)三个等级。非会员(NonMember)可以申请成为普卡会员。会员的等级根据其一年内累积的里程数进行调整。描述会员等级调整的状态图如图5-1所示。现采用状态(State)模式实现上述场景,得到如图5-2所示的类图。
正确答案:
本题解析:(1)virtualdoubletravel(intmiles,FrequentFlyer*context)=0
(2)context-setState(context→silver)
(3)context-setState(context→gold)
(4)context-setState(context→silver)
(5)context-setState(context→basic)
由代码可知,(1)空缺少一个抽象方法,根据下面的子类可以
您可能关注的文档
- 2018年上半年(上午)《软件设计师》真题带答案与解析.doc
- 2018年上半年(上午)《网络工程师》真题带答案与解析.doc
- 2018年上半年(下午)《网络工程师》案例分析真题带答案与解析.doc
- 2018年上半年《程序员》真题带答案与解析.doc
- 2018年上半年《数据库系统工程师》案例分析真题带答案与解析.doc
- 2018年上半年《数据库系统工程师》真题带答案与解析.doc
- 2018年上半年《系统分析师》真题带答案与解析.doc
- 2018年上半年《系统规划与管理师》论文真题带答案与解析.doc
- 2018年上半年《系统集成项目管理工程师》案例分析真题带答案与解析.doc
- 2018年上半年《系统集成项目管理工程师》真题带答案与解析.doc
- 2018年下半年(下午)《网络工程师》案例分析真题带答案与解析.doc
- 2018年下半年(下午)《网络规划设计师(案例分析)》真题带答案与解析.doc
- 2018年下半年《程序员》真题带答案与解析.doc
- 2018年下半年《系统集成项目管理工程师》案例分析真题带答案与解析.doc
- 2018年下半年《信息系统项目管理师》真题带答案与解析.doc
- 2018年下半年教师资格《语文学科知识与教学能力》(初级中学)真题带答案与解析.doc
- 2018年下半年教师资格《语文学科知识与教学能力》(高级中学)真题带答案与解析.doc
- 2018年下半年教师资格证考试《生物学科知识与教学能力》(初级中学)真题带答案与解析.doc
- 2018年下半年教师资格证考试《生物学科知识与教学能力》(高级中学)真题带答案与解析.doc
- 2018年下半年教师资格证考试《数学学科知识与教学能力》(高级中学)真题带答案与解析.doc
文档评论(0)