信管网每日一练
软件设计师 - 每日一练 导航

软件设计师案例分析每日一练试题(2024/5/4)

2024年05月05日来源:信管网 作者:cnitpm

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2024/5/4)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/4

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2024/5/4)

【说明】
社交网络平台 (SNS) 的主要功能之一是建立在线群组,群组中的成员之间可以互相分享或挖掘兴趣和活动。每个群组包含标题、管理员以及成员列表等信息。
社交网络平台的用户可以自行选择加入某个群组。每个群组拥有一个主页,群组内的所有成员都可以查看主页上的内容。如果在群组的主页上发布或更新了信息,群组中的成员会自动接收到发布或更新后的信息。
用户可以加入一个群组也可以退出这个群组。用户退出群组后,不会再接收到该群组发布或更新的任何信息。
现采用面向对象方法对上述需求进行分析与设计,得到如表3-1所示的类列表和如图3-1所示的类图。

【问题1】(6分)
根据说明中的描述,给出图 3-1 中 Cl C3 所对应的类名。
【问题2】 (6分)
图 3-1 中采用了哪一种设计模式?说明该模式的意图及其适用场合。
【问题3】 (3分)
现在对上述社交网络平台提出了新的需求:一个群体可以作为另外一个群体中的成员,例如群体 A 加入群体 B 。那么,群体A 中的所有成员就自动成为群体 B 中的成员。
若要实现这个新需求,需要对图3-1进行哪些修改? (以文字方式描述)
信管网试题答案与解析:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/4

信管网考友试题答案分享:

信管网cnitpm610258705267:
c1:snsgroup c2:snsuser c3:snsadmin 观察者模式 观察者模式:对象中存在一对多的关系,一个对象更新依赖他的对象都会随之更新 根据需求可以发现中间存在一个级联关系,由于需求当中说到a加入b之后,自动成为b的成员,单并没有说明b也可以同时成为 a的成员,所以此时可以看做b的子组织包括了a成员。同时一个群可以添加多个群作为子群,所以这个childs是一个链表结构 设计如下 需要在snsgroup增加addgroup()方法与链表childgroupnodes 属性 snsgroup可以通过addgroup其他组并将它们当做其组的子成员变量 在通过notify时不仅需要查自身的组成员,还需递归查询子群的成员以及孙成员以此向下查 并发起通知

信管网山里人就是仙人:
问题1: c1 snsgroup; c2 snsuser; c3 snsadmin; 问题2: 图3-1中采用了观察者模式。 观察者模式一般适用于当一个对象的状态发生变化时,有多个对象需要根据变化做出反应的情况。 问题3: 在snsobserver类中增加一个list<snsobserver>集合,用来存放添加的群体成员,并增加集合的set、get方法

信管网cnitpm630501712623:
【问题1】 c1: snsgroup,c2: snsuser,c3: snsadmin 【问题2】 观察者模式,这里使用该模式的意图是为了在群组的主页上发布或者更新信息,群组的成员能够自动接收到发布或更新后的信息,该模式适用于当一个实体的状态发生改变时,所有依赖该实体的其他实体能够自动收到通知。 【问题3】 snssubject类中增加一个addsnsgroup()方法,用来接收其他想加入的群体。

信管网克己复礼aaaa:
问题1 c1 snsgroup c2 snsuser c3 snsadmin 问题2 组合模式 接口和实现分离 问题3

信管网cnitpm600760858161:
c1 snsgroup c2 snsobserver c3 snsadmin 观察者模式 a群体观察者继承snsobserver

信管网试题答案与解析:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/4

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习