阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下: (1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligi

admin2016-05-10  33

问题 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下:
    (1)每个人(Person)可以是一个合法选民(Eligible)或者无效的选民(Ineligible)。
    (2)每个合法选民必须通过该系统对其投票所在区域(即选区,Riding)进行注册(Registration)。每个合法选民仅能注册一个选区。
    (3)选民所属选区由其居住地址(Address)决定。假设每个人只有一个地址,地址可以是镇(Town)或者城市(City)。
    (4)某些选区可能包含多个镇,而某些较大的城市也可能包含多个选区。
    现采用面向对象方法对该系统进行分析与设计,得到如图3-1所示的初始类图。
[*66]
【问题1】
    根据说明中的描述,给出图3-1中C1~C4所对应的类名(类名使用说明中给出的英文词汇)。
【问题2】
    根据说明中的描述,给出图3-1中M1~M6处的多重度。
【问题3】
  一现对该系统提出了以下新需求:
  (1)某些人拥有在多个选区投票的权利,因此需要注册多个选区:
  (2)对于满足(1)的选民,需要划定其“主要居住地”,以确定他们应该在哪个选区进行投票。
    为了满足上述需求,需要对图3—1所示的类图进行哪些修改?请用100字以内文字说明。

选项

答案【问题1】 C 1:Address C2:Riding C3:Ineligible C4:Eligible 【问题2】 M1:1 M2:*或0..* M3:* M4:1 M5:* M6:1 【问题3】 (1)M1处改为1..*,在Registration类中增加address属性,指明注册时使用的是哪个地址。 (2)增加一个类“主要居住地”,作为类Address的子类;类Person与类“主要居住地”之间具有关系联系,且每个人只有一个主要居住地。

解析 本题属于经典的考题,主要考查面向对象分析方法与设计的基本概念与应用。在建模方面,本题中只涉及到了UML类图。类图上的考点也是比较常规的对类的识别以及多重度的确定,题目难度不大。
【问题1】
    根据【说明】中的“(1)每个人(Person)可以是一个合法选民(Eligble)或者无效的选民(Ineligible)”,可以推断出这里有一个“一般/特殊”关系,应采用继承结构。再对照类图,C3、C4处显而易见应该是Ineligible和Eligible。由于C4和C2之间的关联关系,这里C3和C4的答案是不能互换的。
    根据【说明】中的“(3)选民所属选区由其居住地址(Address)决定。假设每个人只有一个地址,地址可以是镇(Town)或者城市(City)”,可以推断出C1、City、Town这3个类描述的是与地址相关的内容,因此C1处应该是Address。对应地,C2处应该是Riding,这个由C2与City、C2与Town之间的联系名称“district”也能推断出来。
【问题2】
    对于联系的多重度的判定,应注意题目中关于不同概念之间关联数量的描述。
    M1、M2这一对多重度,刻画的是“Person”和“Address”之间的关系。由【说明】中的“假设每个人只有一个地址”,可以得出M1和M2处分别为1和*。
    M3和M4描述的是合法选民与选区之间的关系。由【说明】中的“每个合法选民仅能注册一个选区”,可知M3和M4分别为*和1。
    M5和M6描述的是选区和地址之间的关系。在【说明】中假设,每个合法选民在选区中只注册一个地址,因为M5和M6处分别为*和1。
【问题3】
    本问题考查当需求发生变化时,对设计模型的修改。这里给出了两个需求变更,分别对初始类图进行修改。
    需求1:某些人拥有在多个选区投票的权利,因此需要注册多个选区。由于选区由住址确定,能够在多个选区注册,意味着其居住地址不止一个。所以“Person”和“Address”之间的多重度会发生变化。在选区注册时所使用的地址也不唯一了,因此需要增加属性来记录在注册选区时所使用的地址,从而对C2和C4之间的关联类进行修改,增加其属性。
    需求2:对于满足需求1的选民,需要划定其“主要居住地”,以确定他们应该在哪个选区进行投票。这个需求对选民的地址信息提出了更为详细的需求,按照面向对象方法将“不变部分和可变部分分离”的思想,在类图中增加一个新的类,并采用继承机制继承原有Address类中的共性元素。
转载请注明原文地址:https://jikaoti.com/ti/csi7FFFM
0

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