更多“识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,请将图5-12中 (3)~( ”相关问题
  • 第1题:

    识别关联的多重度是面向对象建模过程中的一个重要步骤。根据[说明]中给出的描述,完成图10-4中的(1)~(6)。


    正确答案:(1)1 (2)0..* (3)1 (4)0..* (5)1 (6)1或者0..1
    (1)1 (2)0..* (3)1 (4)0..* (5)1 (6)1或者0..1 解析:本题主要考查面向对象分析中类图的设计,涉及到类的识别、属性的识别以及多重度的计算。
    [问题1]要求的是将所有的类找出来。由于[说明]中给出了识别类的规则,并给出了所有的候选类和一张不完整的类图,从而为我们提供了大量的提示信息。从类图可以看出,这里有一个继承结构,确实这两个类恰好是这个继承结构的子类。根据[说明]中提供信息,我们发现只有“资源”、“图书”和“唱片”这三者之间存在着继承结构所描述的“一般—特殊”关系。因为“图书”和“唱片”都是图书管理系统中的资源,因此具有共性 (索引号、名称、出版时间、资源状态);而这两者又是两种完全不同的事物,所以有着各自特有的性质。同时,这三者又都在候选类集合中。所以可以断定(b)、(c)处要填的类就是“唱片”和“图书”。这里连这三个类的属性也可以完全确定了。类CatalogItem描述的是共性,所以它的属性是索引号、名称、出版时间、资源状态。由[说明]中第2条可以确定,“图书”的属性是作者和页数;“唱片”的属性是演唱者和介质类型。
    下面需要确定(a)处的类到底是什么?从[说明]中的第1条和表10-5可以看出, CatalogItem表示的是“资源目录保存的每项资源”,这是集合(资源目录)与其中的元素的概念。所以(a)处的类应该是“资源目录”一既然明确这里是集合的概念,(1)和 (2)处的多重度也可以确定了。CatalogItem表示的是部分,所以(1)处应填1,(2)处应填1..*(0..*也可以)。
    类似的,BorrowerDB与Borrower之间也具有相似的关系。因为数据库中可以保存多个读者的信息。因此(3)处填1,(4)处填1..*(0..*也可以)。系统为每个读者都创建了借书记录文件,所以(5)处填1,(6)填1(0..1也可以)。

  • 第2题:

    22、面向对象的建模方法中需要识别出影响权属关系的转换、影响效率与效益的环节、存在相互影响和制约的环节、地理分布衔接点、组织层次分界点、对象互操作点等。请问上述的建模活动属于面向对象建模中的哪一步骤?

    A.识别对象

    B.识别对象的不同状态

    C.状态转换条件

    D.识别对象在每个环节的服务要素或控制要素


    识别对象的不同状态

  • 第3题:

    4、面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,_____ 不属于面向对象分析阶段。

    A.构建分析模型

    B.识别分析类

    C.用例动态建模

    D.评估分析模型


    1问题域陈述 2识别对象/类 3确定对象的属性 4确定对象的服务 5确定对象/类的关系 设计: 1识别接口对象和控制对象 2系统结构设计

  • 第4题:

    某客户信息管理系统中保存着两类客户的信息:
    (1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)
    (2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话以及职位
    该系统除了可以保存客户信息之外,还具有以下功能:
    (1)向系统中添加客户(addCustomer)
    (2)根据给定的客户标识,在系统中查找该客户(getCustomer)
    (3)根据给定的客户标识,从系统中删除该客户(removeCustomer)
    (4)创建新的联系人(addContact)
    (5)在系统中查找指定的联系人(getContact)
    (6)从系统中删除指定的联系人(removeContact)
    该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-5所示的类
    表2-5 得到的各种类



    类名说明
    CustomerInformationSystem客户信息管理系统
    IndividualCustomer个人客户
    InstitutionalCustomer集团客户
    Contact联系人
    描述该客户信息管理系统的UML类图如图2-26所示



    图2-26 客户信息管理系统的UML类图
    【问题1】
    请使用说明中的术语,给出图2-26中类Customer和类Person的属性
    【问题2】
    识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)
    【问题3】
    根据说明中的叙述,抽象出如表2-6所示的方法,请指出图2-26中的类CustomerInformationSystem和InstitutionalCustomer应分别具有其中的哪些方法
    表2-6 抽象出的方法



    答案:
    解析:
    【问题1】
    Customer的属性:客户标识
    Person的属性:姓名、住宅电话、E-mail
    【问题2】
    (1)1(2)0..*(3)1
    (4)1(5)1(6)1..*
    【问题3】
    CustomerInformationSystem的方法:addCustomer,getCustomer,removeCustomer
    InstitutionalCustomer的方法:addContact,getContact,removeContact
    【解析】
    根据题目描述得知,客户信息管理系统的功能是管理个人用户和集团用户,个人用户和集团用户的区别在于集团用户有自己的联系人,而个人用户没有。
    【问题1】
    问题1要求考生给出类Customer和Person的属性。在图2-26中,Customer表示客户类,IndividualCustomer和InstitutionalCustomer都是Customer的子类,IndividualCustomer是个人客户,InstitutionalCustomer是集团客户。既然Customer是个人客户类和集团客户类的父类,则它必有两者的共同点。由于集团客户和个人客户都有客户标识,所以Customer的属性为"客户标识"。Contact是联系人,只有集团客户才有联系人。Person类是Contact类的父类,同时又与IndividualCustomer有关联,所以Person类应具有Contact与IndividualCustomer的共同点,它们的共同点就是联系人与个人客户都有自己的基本信息:姓名、住宅电话和E-mail。因此,Person的属性有:姓名、住宅电话和E-mail。
    【问题2】
    类CustomerInformationSystem表示的是客户信息管理系统,Customer表示的是客户类,一个客户信息管理系统中应有多个客户。所以CustomerInformationSystem与Customer之间的关系应是1:*。IndividualCustomer与Person其实是个人客户与该客户的基本信息之间的关系,显然一个客户只有一个基本信息,所以它们也是1:1的关系。最后是InstitutionalCustomer与Contact之间的关系,这也就是集团客户与联系人之间的关系,由于一个集团客户可有多个联系人,同时至少需要有一个联系人(如果联系人数量为0,则此客户为个人客户)。所以InstitutionalCustomer与Contact之间的关系应为1:1..*。
    【问题3】
    一个原则就可以解决这个问题:与客户操作相关的为CustomerInformationSystem的方法,而与联系人相关的操作是InstitutionalCustomer的方法。

  • 第5题:

    用例图是面向对象需求分析的功能建模的重要手段


    用例图