问答题 阅读下列说明及图3-8和图3-9,回答问题1、问题2和问题3。 【说明】 某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下。 (1)浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。 (2)登录:电话公司授予每个客户一个账号。拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。 (3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。 (4)删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。 系统采用面向对象方法进行开发,在开发过程中认定出的类如表3-3所示。
问答题 在需求分析阶段,采用UML的用例图(Use Case Diagram)描述系统功能需求,如图3-8所示。请指出图中的A、B、C和D分别是哪个用例?
【正确答案】正确答案:A:浏览客户信息,B:修改个人信息,C:登录,D:删除客户信息。
【答案解析】
问答题 在UML中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图3-9所示中的类InternetClient和CustomerList,InternetClient端的“0..*”表示:一个CustomerList的实例可以与0个或多个InternetClient的实例相关联;CustomerList端的“1”表示:一个InternetClient的实例只能与一个CustomerList的实例相关。 请指出图3-9中(1)到(4)处的重复度分别为多少?
【正确答案】正确答案:(1) 1 (2) 0..* (3) 0..1 (4) 0..1
【答案解析】
问答题 类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了4种关系:依赖(Dependency)、概括(Generalization)、关联(Association)和聚集(Aggregation)。请分别说明这4种关系的含义,并说明关联和聚集之间的主要区别。
【正确答案】正确答案:(1) 4种关系的含义如下。 . 依赖表示类之间的使用关系。 . 概括(泛化)表示一般类和特殊类之间的关系。 . 关联和聚集都表示实例之间的结构关系。 (2) 关联和聚集的区别如下。 . 关联指明一个类的对象与另一个类的对象间的联系:两个类之间的关联表示了两个同等地位类之间的结构关系,这两个类在概念上是同级别的。 . 聚集是一种特殊的关联,它表示整体/部分关系。
【答案解析】解析:本题考查UML用例图。UML类图中类间的关联重复度,以及UML相关概念。 用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。 根据题中描述,很容易确定用例A是“浏览客户信息”,用例D是“删除客户信息”。用例B与用例C哪个是登录呢?注意到其间存在包含关系:B包含了C。因此根据语义,用例C应为“登录”,用例B为“修改个人信息”。亦即“修改个人信息”必须首先“登录”。 在UML中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。关联重复度详见考点链接3.1。 根据语义分析,类CustomerList实例显然是由多个类Customer实例组成的,而CustomerList只需一份即可。故空(1)应填“1”,空(2)应填“0..*”;Customer是CompanyCustomer的详细信息,因此空(3)和空(4)均为“0..1”。