阅读下列说明和图,回答问题l至问题3,将解答填入答题纸对应栏内。 【说明】某城市拟开发一个基于web的城市黄页,公开发布该城市重要的组织或机构(以F统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下: (1)搜索信息:任何使用Internet的

admin2014-11-13  51

问题 阅读下列说明和图,回答问题l至问题3,将解答填入答题纸对应栏内。
【说明】某城市拟开发一个基于web的城市黄页,公开发布该城市重要的组织或机构(以F统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下:
(1)搜索信息:任何使用Internet的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、地址、联系电话等。
(2)认证:客户若想在城市黄页上发布信息,需通过系统的认证。认证成功后,该客户成为系统授权用户。
(3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信息,例如变更联系电话等。
(4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,有系统管理员删除该客户的相关信息。
系统采用面向对象方法进行开发,在开发过程中认定出如表13一1所示的类。系统的用例图和类图分别如图13一1和图13—2所示。



认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,再根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。

选项

答案候选类的选择运用了良性依赖原则“不会在实际中造成危害的依赖关系,都是良性依赖”和接口隔离原则(ISP)。

解析 本题考查面向对象分析中的类图、用例图。用例图描述了一组用例、参与者及他们之间的关系。包括以下几个部分:用例(Case)、参与者(Acmr)。用例视图中的参与者与系统外部的一个实体以某种方式参与了用例的执行过程;用例是一个叙述型文档,用来描述参与使用系统、完成某个事情时发生的顺序。问题1:用例图中,A1可以搜索信息,A2由A1派生且.A2参与了两个用例,根据题中的说明(1)和(2),可知A1为网络用户,A2为授权用户;由用例UC1和登录用例之间存在关系,可知UCl为认证用例,因为用户登录必须先认证,所以登录用例是认证的扩展,所以他们之间的关系为extend。对于授权用户还可以更新信息,故UC2为更新信息用例。问题2:本问题考察类图的层次结构和多重度。图中更有两个非常明显的继承结构,即C3和C4继承于C1,且C1与C2是多比一的关系,根据说明(1)中任何网络用广都可以搜索客户信息,即C1网络用户,C2为客户信息,由此很明显的得出C3和C4在授权用户和系统管理员中选取。根据C2和C5之间存在聚合关系,且C2为客户信息,可以推断C5为客户集。再由C4和C5之间的关联关系,且C5为客户集,能对客户集进行批量操作的用户C4显然就是系统管理员,由此得出C3为授权用户。由此(2)~(5)的多重度就显而易见,  (2)为1,(3)为0…*,  (4)为1,  (5)为0…*。问题3:候选类的选择运用了良性依赖原则“不会在实际中造成危害的依赖关系,都是良性依赖”。通过分析不难发现,本原则的核心思想是“务实”,很好地揭示了极限编程(Extreme Programming)中“简单设计”和“重构”的理论基础。本原则可以帮助我们抵御“面向对象设计5大原则”以及设计模式的诱惑,以免陷入过度设计(Over—engineering)的尴尬境地,带来不必要的复杂候选类的删除。候选类的删除运用了接口隔离原则(ISP):不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。这个说得很明白了,再通俗点说不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。
转载请注明原文地址:https://jikaoti.com/ti/hRi7FFFM
0

相关试题推荐
最新回复(0)