1、中级软件设计师下午试题-106 及答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明PayDrive 系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。系统中存储了特定区域的道路交通网的信息。道路交通网由若干个路段(Road Segment)构成,每个路段由两个地理坐标点(Node)标定,其里程数(Distance)是已知的。在某些地理坐标点上安装了访问控制(Access Control)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(E
2、xit)都装有访问控制设备。系统提供了 3 种行驶卡。常规卡(Regular Card)有效期(Valid Period)为一年,可以在整个道路交通网内使用。季卡(Season Card)有效期为三个月,可以在整个道路交通网内使用。单次卡(Minitrip Card)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都是预付卡(Prepaid Card),需要客户(Customer)预存一定的费用。系统的主要功能有客户注册、申请行驶卡、使用行驶卡行驶等。使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(Date Of Entry)等信息。在到达行程终点时,系统根据行驶的里程数和
3、所持卡的里程单价(Unit Price)计算应付费用,并打印费用单(Invoice)。季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。现采用面向对象方法开发该系统,使用 UML 进行建模。构建出的用例图和类图分别如图 1 和图 2 所示。图 1(分数:15.00)(1).根据说明中的描述,给出图 1 中 U1 和 U2 所对应的用例,以及(1)所对应的关系。(分数:5.00)_(2).根据说明中的描述,给出图 2 中缺少的 C1C6 所对应的类名以及(2)(3)处所对
4、应的多重度(类名使用说明中给出的英文词汇)。(分数:5.00)_(3).根据说明中的描述,给出 Road Segment、Trajectory 和 Card 所对应的类的关键属性 (属性名使用说明中给出的英文词汇)。(分数:5.00)_二、B试题二/B(总题数:1,分数:15.00)某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图 1 所示为某类图书或唱碟被借阅时应记录的信息,图 2 描述了系统定义的两个类 Book 和 CD,分别表示图
5、书和唱碟的信息。图 1 借阅时应记录的信息(分数:15.00)(1).经过进一步分析,设计人员决定定义一个类 Items_on_loan,以表示类 Book 和 CD 的共有属性和方法。请采用图 2 中属性和方法的名称给出类 Items_on_loan 应该具有的属性和方法(注意,不同名称的属性和方法表示不同的含义,如 CD 中的 composer 与 Book 中的 author 无任何关系)。(分数:5.00)_(2).为了记录每种图书或唱碟租借的历史记录,引入类 CirculationHistoiy,类中存储的信息是图 1 中所表示的内容。请采用 UML 表示法将下列 4 个类之间的关系
6、表示出来。 (分数:5.00)_(3).现需了解十大最畅销(借出次数最多)图书或唱碟。为此,引入 TenPopulate 类以存储所有十大畅销图书或 CD 的名称及其被借出的次数。如图 3 所示的顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有U U 3 /U /U个TenPopulate 实例对象最合适,一个 TenPopulate 类实例对象最多需要和U U 4 /U /U个 Items_on_loan 实例对象交互。(分数:5.00)_三、B试题三/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明某网上购物平台的主要
7、功能如下:(1)创建订单。顾客(Customer)在线创建订单(Order),主要操作是向订单中添加项目、从订单中删除项目。订单中应列出所订购的商品(Product)及其数量(quantities)。(2)提交订单。订单通过网络来提交。在提交订单时,顾客需要提供其姓名(Name)、收货地址(Address)以及付款方式(Form of Payment)(预付卡、信用卡或者现金)。为了制定送货计划以及安排送货车辆,系统必须确定订单量(Volume)。除此之外,还必须记录每种商品的名称(Name)、造价(Cost Price)、售价(Sale Price)以及单件商品的包装体积(Cubic Vol
8、ume)。(3)处理订单。订单处理人员接收来自系统的订单;根据订单内容,安排配货,制定送货计划。在送货计划中不仅要指明发货日期(Delively Date),还要记录每个订单的限时发送要求(Delivery Time Window)。(4)派单。订单处理人员将已配好货的订单转交给派送人员。(5)送货/收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(Delivery Slip)上签收。签收后的运货单最终需交还给订单处理人员。(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认。现采用面向对象方法开发上述系统,得到如图 1 所示的用例图和如图 2 所示
9、的类图。图 1 用例图 2(分数:15.00)(1).根据说明中的描述,给出图 1 中 A1A3 所对应的参与者名称和 U1U2 处所对应的用例名称。(分数:5.00)_(2).根据说明中的描述,给出图 2 中 C1C3 所对应的类名以及(1)(4)处所对应的多重度(类名使用说明中给出的英文词汇)。(分数:5.00)_(3).根据说明中的描述,将类 C2 和 C3 的属性补充完整(属性名使用说明中给出的英文词汇)。(分数:5.00)_四、B试题四/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此该城市设置了一个中心
10、售票处和若干个区域售票处。游客若想租用小木屋或营地,必须前往中心售票处进行预定并用现金支付全额费用。所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下:(1)管理预定申请。游客可以前往任何一个售票处提出预定申请。系统对来自各个售票处的预定申请进行统一管理。(2)预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。(3)支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受 3%的折扣,现金支付没有折扣。(4)游客取消预定。预定成功之后,游客可以在任何时间取消预定,但需支付赔
11、偿金,剩余部分则退还给游客。赔偿金的计算规则是,在预定入住时间之前的48 小时内取消,支付租赁费用 10%的赔偿金;在预定入住时间之后取消,则支付租赁费用 50%的赔偿金。(5)自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。(6)信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表 1 所示的用例列表和表 2 所示的类列表。对应的用例图和类图分别如图 1 和图 2 所示。图 1 用例图(分数:15.00)(1).根据说明中的描述与表 1,给出图 1 中
12、UC1UC6 处所对应的用例名称。(分数:5.00)_(2).根据说明中的描述与表 2,给出图 2 中 C1C7 处所对应的类名。(分数:5.00)_(3).对于某些需求量非常大的小木屋或营地,说明中功能 4 的赔偿金计算规则,不足以弥补取消预定所带来的损失。如果要根据预定的时段以及所预定场地的需求量,设计不同层次的赔偿金计算规则,请用文字说明需要对图 2 进行怎样的修改?(分数:5.00)_五、B试题五/B(总题数:1,分数:15.00)某汽车停车场欲建立一个信息系统,已经调查到的需求如下: (1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示
13、意图如图 1 所示。 图 1 停车示意图(2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。 (3)在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。 (4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。 (5)系统自动记录停车场内
14、空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表所示的类/用例/状态列表、如图 2 所示的用例图、如图 3 所示的初始类图以及如图 4 所示的描述入口自动栏杆行为的 UML 状态图。 图 2 用例图图 3 初始类图(分数:15.00)(1).根据说明中的描述,使用表给出的用例名称,给出图 2 中 U1、U2 和 U3 所对应的用例。(分数:3.75)_(2).根据说明中的描述,使用表给出的类的名称,给出图 3 中的 AD 所对应的类。(分数:3.75)_
15、(3).根据说明中的描述,使用表给出的状态名称,给出图 4 中 S1S4 所对应的状态。(分数:3.75)_(4).简要解释图 2 中用例 U1 和 U3 之间的 extend 关系的内涵。(分数:3.75)_中级软件设计师下午试题-106 答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明PayDrive 系统(开多少付多少)能够根据驾驶里程自动计算应付的费用。系统中存储了特定区域的道路交通网的信息。道路交通网由若干个路段(Road Segment)构成,每个路段由两个地理坐标点(Node)标定,其里程数(Dis
16、tance)是已知的。在某些地理坐标点上安装了访问控制(Access Control)设备,可以自动扫描行驶卡(Card)。行程(Trajectory)由一组连续的路段构成。行程的起点(Entry)和终点(Exit)都装有访问控制设备。系统提供了 3 种行驶卡。常规卡(Regular Card)有效期(Valid Period)为一年,可以在整个道路交通网内使用。季卡(Season Card)有效期为三个月,可以在整个道路交通网内使用。单次卡(Minitrip Card)在指定的行程内使用,且只能使用一次。其中,季卡和单次卡都是预付卡(Prepaid Card),需要客户(Customer)预
17、存一定的费用。系统的主要功能有客户注册、申请行驶卡、使用行驶卡行驶等。使用常规卡行驶,在进入行程起点时,系统记录行程起点、进入时间(Date Of Entry)等信息。在到达行程终点时,系统根据行驶的里程数和所持卡的里程单价(Unit Price)计算应付费用,并打印费用单(Invoice)。季卡的使用流程与常规卡类似,但是不需要打印费用单,系统自动从卡中扣除应付费用。单次卡的使用流程与季卡类似,但还需要在行程的起点和终点上检查行驶路线是否符合该卡所规定的行驶路线。现采用面向对象方法开发该系统,使用 UML 进行建模。构建出的用例图和类图分别如图 1 和图 2 所示。图 1(分数:15.00)
18、(1).根据说明中的描述,给出图 1 中 U1 和 U2 所对应的用例,以及(1)所对应的关系。(分数:5.00)_正确答案:(U1:使用常规卡行驶。 U2:使用单次卡行驶。 (1)extend。)解析:解析 本题考查面向对象开发相关知识,涉及 UML 用例图、类图以及类图设计时的设计模式。UML目前在面向对象软件开发中广泛使用,是面向对象软件开发考查的重要内容。 本题主要考查用例图。 用例之间的关系主要有以下三种: (1)包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们,用include表示。 (2)扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景
19、,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰,用extend表示。 (3)泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。 在本题中,从题目的描述中,不难看出,用例图中缺失的用例有“使用常规卡行驶”和“使用单次卡行驶”,那么 U1 和 U2 具体对应哪个用例。根据题目说明并结合用例图来看,“使用季卡行驶”与 U1 是泛化关系,由此可知 U1 应该是“使用常规卡行驶”,而 U2 是“使用单次卡行驶”,根据题目描述“单次卡的使用流程与季卡类似,但还需要在行程的起点
20、和终点上检查行驶路线是否符合该卡所规定的行驶路线”,由此可知,U1 是对“使用季卡行驶”的扩展,由此第 1 空应填extend。(2).根据说明中的描述,给出图 2 中缺少的 C1C6 所对应的类名以及(2)(3)处所对应的多重度(类名使用说明中给出的英文词汇)。(分数:5.00)_正确答案:(C1:RoadSegment C2:Trajectory C3:Card C4:RegularCard C5:PrepaidCard C6:MinitripCard (2)1。 (3)13。)解析:解析 本问题考查类图。对于这个题目,应该结合题目的描述及给出的类图来求解。根据题目的描述,本系统包含的类主
21、要有路段(Road Segment)、地理坐标点(Node)、访问控制(Access Control)设备、自动扫描行驶卡(Card)、行程(Trajectory)、常规卡(Regular Card)、季卡(Season Card)、单次卡(Minitrip Card)、预付卡(Prepaid Card)和客户(Customer)等。 从类图中 C1 与类 Node 的关系和 C2 与AccessControlNode 的关系,再结合题目描述“路段由两个地理坐标点(Node)标定”可以知道 C1 应该是路段类,而由题目描述“行程(Trajectory)由一组连续的路段构成。行程的起点(Entr
22、y)和终点(Exit)都装有访问控制设备”可以知道 C2 应该是行程(Trajectory)类。 而从类图看,C4 和 C5 是继承于 C3 的,再结合类图中 C3 与客户类和行程类的关系,可知 C3 应该是一切卡的抽象类,因此是自动扫描行驶卡(Card),而 C5 是 C6 和季卡的父类,再根据题目描述“季卡和单次卡都是预付卡(PrepaidCard)”可知 C5是预付卡(PrepaidCard),而 C6 是单次卡(MinitripCard),而 C4 是常规卡(RegularCard)。 在 UML 中,多重度又称重复度,多重度表示为一个整数范围 nm,整数 n 定义所连接的最少对象的数
23、目,而 m 则为最多对象数(当不知道确切的最大数时,最大数用*号表示)。最常见的多重性有 01、0*、11 和1*,而*与 0*是等价的。 空(2)和(3)描述的是客户与卡之间的多重度,题目告诉我们系统有三种卡,因此一个客户最多可以持有这三种卡,因此空(3)应填 13。而一个卡只能被一个客户持有,因此客户这端应该填 1。(3).根据说明中的描述,给出 Road Segment、Trajectory 和 Card 所对应的类的关键属性 (属性名使用说明中给出的英文词汇)。(分数:5.00)_正确答案:(RoadSegment 的属性:Distance。 Trajectory 的属性:Entry、
24、Exit、DateOfEntry。 Card的属性:UnitPrice、ValidPeriod。)解析:解析 根据题目描述,RoadSegment 类应该包含的关键属性是里程数(Distance),因为这能标识一个路段的长度;而 Trajectory 类应该包含的关键属性是起点(Entry)、终点(Exit)、进入时间(Date Of Entry),这样才能说明某一次行程是何时从哪里开始到那里结束的;而 Card 类的关键属性应包含有效期(Valid Period)和里程单价(Unit Price)。二、B试题二/B(总题数:1,分数:15.00)某公司的主要业务是出租图书和唱碟。由于业务需求
25、,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图 1 所示为某类图书或唱碟被借阅时应记录的信息,图 2 描述了系统定义的两个类 Book 和 CD,分别表示图书和唱碟的信息。图 1 借阅时应记录的信息(分数:15.00)(1).经过进一步分析,设计人员决定定义一个类 Items_on_loan,以表示类 Book 和 CD 的共有属性和方法。请采用图 2 中属性和方法的名称给出类 Items_on_loan 应该具有的属性和方法(注意,不同名称的属性和方法表示不同的含义,如 CD 中
26、的 composer 与 Book 中的 author 无任何关系)。(分数:5.00)_正确答案:(属性:title, 方法:Reference Title。)解析:解析 本题主要涉及类的设计、类之间的关系和顺序图。 在面向对象的程序设计当中,类的设计是非常重要的,类设计的合理性直接影响到整个系统的性能。 问题 1 要求考生写出类 Items_on_loan 的属性和方法,由于题目已经说明此类的属性和方法是 Book 类和 CD 类的公共属性和方法;又因为 Book 类和 CD 类中,不同名的属性、方法表示的含义不同,所以公共属性和方法就是同名属性和方法,因此Items on loan 的属
27、性有 title,方法有 Reference title。(2).为了记录每种图书或唱碟租借的历史记录,引入类 CirculationHistoiy,类中存储的信息是图 1 中所表示的内容。请采用 UML 表示法将下列 4 个类之间的关系表示出来。 (分数:5.00)_正确答案:(见图。 *)解析:解析 问题 2 引入了 CirculationHistory 类,此类用于记录每种图书或光盘的租借记录。现要求CirculationHistory 类、Book 类、CD 类及 Items on loan 类之间的关系,Items_on_loan 是类 Book 和CD 的公共部分,用面向对象的术语
28、来说,类 Items on loan 是类 Book 和 CD 的父类,所以它们之间存在继承关系。 再看 CirculationHistor),类和其他类的关系,CirculationHistory 类只需要记录图书或唱碟的名称及借阅记录,而不需要其他详细资料,这样,CirculationHistory 不必和 Book 与 CD 产生关系,只需要与 Items on loan 产生关系即可。由于 CirculationHistory 中除记录图书或唱片名称以外,还需要记录借出时间、归还时间及用户名,这些数据无法从 Items_on_loan 中获取。一个CirculationHistorv
29、只包含一个 Items_on_loan,存在 1:1 的关系,这说明 Items_on_loan 其实只是CirculationHistory 的组成部分,但 Items_on_loan 可脱离 CirculationHistory 而独立存在,也就是说,一本图书或一张 CD 可以没有记录其借阅历史的 CirculationHistory,但有记录其基本信息的。Items_on_loan,所以它们之间又存在聚集关系(而不是那种部分随整体销毁而销毁的组合关系)。综上所述,4 个类的关系如图所示。 * 聚合关联中涉及重复度,当没有指定重复度时,默认重复度为 1,那么,图中两个类 Circulati
30、onHistory、Items_on_loan 所在端的重复度都为 1。(3).现需了解十大最畅销(借出次数最多)图书或唱碟。为此,引入 TenPopulate 类以存储所有十大畅销图书或 CD 的名称及其被借出的次数。如图 3 所示的顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有U U 3 /U /U个TenPopulate 实例对象最合适,一个 TenPopulate 类实例对象最多需要和U U 4 /U /U个 Items_on_loan 实例对象交互。(分数:5.00)_正确答案:(1)1。 (2)图书和唱碟种类数。)解析:解析
31、题目中说“引入 TemPopulate 类以存储所有十大畅销图书或 CD 的名称及其被借出的次数”,可见 TemPopulate 类的功能是存储所有十大畅销图书或 CD 的名称及其被借出的次数。既然如此,系统在一次运行中只需要 1 个 TenPopulate 实例对象就可以了,因为它存储所有十大畅销图书或 CD 的名称及其被借出的次数。每当有图书或唱碟被借出时,都需要和 TenPopulate 类的对象发生交互,因此,当所有图书或 CD 都被借阅时,TenPopulate 类实例对象需要跟所有这些 Items_on_loan 实例对象交互更新借出次数以评出十大最畅销图书或 CD,一个 TenP
32、opulate 类实例对象最多需要和“图书和唱碟种类总数”个Items_on_loan 实例对象交互。三、B试题三/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明某网上购物平台的主要功能如下:(1)创建订单。顾客(Customer)在线创建订单(Order),主要操作是向订单中添加项目、从订单中删除项目。订单中应列出所订购的商品(Product)及其数量(quantities)。(2)提交订单。订单通过网络来提交。在提交订单时,顾客需要提供其姓名(Name)、收货地址(Address)以及付款方式(Form of Payment)(预付卡、信用卡或者现金)。为了制定送货计划
33、以及安排送货车辆,系统必须确定订单量(Volume)。除此之外,还必须记录每种商品的名称(Name)、造价(Cost Price)、售价(Sale Price)以及单件商品的包装体积(Cubic Volume)。(3)处理订单。订单处理人员接收来自系统的订单;根据订单内容,安排配货,制定送货计划。在送货计划中不仅要指明发货日期(Delively Date),还要记录每个订单的限时发送要求(Delivery Time Window)。(4)派单。订单处理人员将已配好货的订单转交给派送人员。(5)送货/收货。派送人员将货物送到顾客指定的收货地址。当顾客收货时,需要在运货单(Delivery Sli
34、p)上签收。签收后的运货单最终需交还给订单处理人员。(6)收货确认。当订单处理人员收到签收过的运货单后,会和顾客进行一次再确认。现采用面向对象方法开发上述系统,得到如图 1 所示的用例图和如图 2 所示的类图。图 1 用例图 2(分数:15.00)(1).根据说明中的描述,给出图 1 中 A1A3 所对应的参与者名称和 U1U2 处所对应的用例名称。(分数:5.00)_正确答案:(A1:顾客 A2:订单处理人员 A3:派送人员 U1:收货 U2:派单)解析:解析 本题考查面向对象开发相关知识,涉及 UML 用例图、类图以及类图设计时的设计模式。UML目前在面向对象软件开发中广泛使用,是面向对象
35、软件开发考查的重要内容。 本题主要考查用例图。 在本题中,从题目的描述中,可以知道,本系统的用例主要有创建订单、提交订单、处理订单、派单、收货、送货及收货确认,本系统的参与者主要有订单处理人员、顾客和派送人员。 其中在用例图中还没有给出的用例有派单和收货,因此 U1 和 U2 应该就是这两个用例,具体它们分别对应那一个呢?需要先来确认A1A3 所对应的参与者,A1 与用例创建订单、U1 及收货确认有关系,根据题目描述“顾客在线创建订单”可知 A1 应该是顾客,同样的道理,不难得出 A2 是订单处理人员,A3 是派送人员。 用例 U1 与三个参与者都有关系,那么根据题目描述“派送人员将货物送到顾
36、客指定的收货地址。当顾客收货时,需要在运货单(Delivery Slip)上签收。签收后的运货单最终需交还给订单处理人员”,不难得知 U1 应该是收货。而U2 是派单。(2).根据说明中的描述,给出图 2 中 C1C3 所对应的类名以及(1)(4)处所对应的多重度(类名使用说明中给出的英文词汇)。(分数:5.00)_正确答案:(C1:Customer C2:Order C3:Product (1)1 (2)0n 或 O* (3)0n 或 0* (4)1n 或1*)解析:解析 本问题考查类图。对于这个题目,应该结合题目的描述及给出的类图来求解。从题目给出的类图中可以看出,C1 中包含了属性姓名(
37、Name)和收货地址(Address),由此不难推断出 C1 是顾客(Customer)类。 C2 与 C1 和 Delivery Time Window 类有关联,可以推断出 C2 应该是订单(Order)类,而C3 与 C2 是一种组合关系,其中 C2 是整体,而 C3 是部分,而 C2 是订单,订单是由商品组成的,由此可以 C3 是商品(Product)类。 在 UML 中,多重度又称重复度,多重度表示为一个整数范围 nm,整数 n 定义所连接的最少对象的数目,而 m 则为最多对象数(当不知道确切的最大数时,最大数用*号表示)。最常见的多重性有 01、0*、11 和 1*,而*与 0*是
38、等价的。 顾客可以创建多个订单,也可以不创建订单,而一个订单必须属于而且只能属于 1 个顾客,因此空(1)与空(2)分别为 1 和 1*。 一个订单中可以至少应该包含一个商品,也可以包含多个商品,而某商品可以不在任何订单中,也可以是多个订单中都有该商品,因此空(3)与空(4)应该分别是 0*和 1*。(3).根据说明中的描述,将类 C2 和 C3 的属性补充完整(属性名使用说明中给出的英文词汇)。(分数:5.00)_正确答案:(C2:volume、delivery date、form of payment。 C3:cubic volume、cost price、sale price。)解析:解
39、析 根据题目描述,系统必须记录每种商品的名称(Name)、造价(Cost Price)、售价(Sale Price)以及单件商品的包装体积(Cubic Volume),因此 C3 除了名称(Name)外,还应该拥有造价、售价以及单件商品的包装体积等属性。 根据题目描述,每个订单应该有其付款方式(Form Of Payment)、订单量(Volume)和发货日期(Delivery Date)。四、B试题四/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题。说明某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋
40、或营地,必须前往中心售票处进行预定并用现金支付全额费用。所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下:(1)管理预定申请。游客可以前往任何一个售票处提出预定申请。系统对来自各个售票处的预定申请进行统一管理。(2)预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。(3)支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受 3%的折扣,现金支付没有折扣。(4)游客取消预定。预定成功之后,游客可以在任何时间取消预定,但需支付赔偿金,剩余部分则退还给游客。赔偿金的计算规则
41、是,在预定入住时间之前的48 小时内取消,支付租赁费用 10%的赔偿金;在预定入住时间之后取消,则支付租赁费用 50%的赔偿金。(5)自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。(6)信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表 1 所示的用例列表和表 2 所示的类列表。对应的用例图和类图分别如图 1 和图 2 所示。图 1 用例图(分数:15.00)(1).根据说明中的描述与表 1,给出图 1 中 UC1UC6 处所对应的用例名称。(分数:5.00)_正确答案:(UC1 CheckAvailability UC2:MakeReservation UC3:GetDiscount UC4:MangeCashPayment UC5:ManageCrCardPayment UC6:CalcuateRefund)解析:解析 本题考查用例图和类图。涉及用例之间的关系、类之间的关系等问题。 本题要补充完整用例图