填空题 (一共1题,共1分)

1.

阅读下列说明和图,回答问题1至问题4
【说明】
某电子商务系统采用以数据库为中心的集成方式改进购物车的功能,详细需求如下:
(1)加入购物车。顾客浏览商品,点击加入购物车,根据商品标识从商品表中读取商品信息,并更新购物车表。
(2)浏览购物车。顾客提交浏览购物车请求后,显示出购物车表中的商品信息。
(3)提交订单。顾客点击提交订单请求,后台计算购物车表中商品的总价(包括运费)加入订单表,将购物车表中的商品状态改为待付款,显示订单详情。若商家改变价格,则刷新后可看到更改后的价格。
(4)改变价格。商家查看订购自家商品的订单信息,根据特殊优惠条件修改价格,更新订单表中的商品价格。
(5)付款。顾客点击付款后,系统先根据顾客表中关联的支付账户,将转账请求(验证码、价格等)提交给支付系统(如信用卡系统)进行转账;然后根据转账结果返回支付状态并更改购物车表中商品的状态。
(6)物流跟踪。商家发货后,需按订单标识添加物流标识(物流公司、运单号);然后可根据顾客或商家的标识以及订单标识,查询订单表中的物流标识,并从相应物流系统查询物流信息。
(7)生成报表。根据管理员和商家设置的报表选项,从订单表、商品表以及商品分类表中读取数据,调用第三方服务Crystal Reports生成相关报表。
(8)维护信息。管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息。
现采用结构化方法实现上述需求,在系统分析阶段得到如图1-1所示的顶层数据流图和图1-2所示的O层数据流图。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1
中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

【问题1】

使用说明中的词语,给出图1-1中的实体E1~E4的名称。
【问题2】
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题】
图1-2中缺失了数据流,请用说明或图1-2中的词语,给出其起点和终点。
【问题4】
根据说明,给出数据流“转账请求”、“顾客订单物流查询请求”和“商家订单物流查询请求”的各组成数据项。

问答题 (一共4题,共4分)

2.

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

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

【问题1】 根据说明中的描述,给出图3-1中A1和A2处所对应的参与者,UC1和UC2所对应的用例以及(1)处的关系

【问题2】根据说明中的描述,给出图3-2中C1~C5所对应的类名(表3-1中给出的类名)和(2)~(5)处所对应的多重度

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

3.

【说明】

某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

4.

某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图2-22所示为某类图书或唱碟被借阅时应记录的信息,图2-23描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

【问题1】

经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类Book和CD的共有属性和方法。请采用图2-23中属性和方法的名称给出类Items_on_loan应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如CD中的composer与Book中的author无任何关系)

【问题2】

为了记录每种图书或唱碟租借的历史记录,引入类CirculationHistory,类中存储的信息是图2-22中所表示的内容。请采用UML表示法将下列四个类之间的关系表示出来。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

【问题3】

现需了解十大最畅销(借出次数最多)图书或唱碟。为此,引入TenPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数。图2-24的顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有 (1) 个TenPopulate实例对象最合适,一个TenPopulate类实例对象最多需要和 (2) 个Items_on_loan实例对象交互。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

5.

某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。

【需求分析】

(1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表3-9所示。

表3-9 客户及车辆信息

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

(2)记录维修车辆的故障信息,包括维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书,如表3-10所示。

(3)维修车间根据维修委托书和车辆故障现象,在已有维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表3-11所示。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

(4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,并记录在委托书中。

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下所示。图3-21所示的业务员和维修工是员工的子实体。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷1

【逻辑结构设计】

客户((5),折扣率,联系人,联系电话)

车辆(车牌号,客户编号,车型,颜色,车辆类别)

委托书((6),维修类型,作业分类,结算方式,进厂时间,预计完工时间,登记日期,故障描述,总费用)

维修项目(维修项目编号,维修项目,单价)

派工单((7),工时)

员工((8),工种,员工类型,级别)

【问题1】

根据问题描述,填写图3-21中(1)-(4)处联系的类型。联系类型分为一对一、一对多和多对多3种,分别使用1:1、1:n或1:*、m:n或*:*表示。

【问题2】

补充图3-21所示的联系并指明其联系类型。联系名可为联系1,联系2,……。

【问题3】

根据图3-21和说明,将逻辑结构设计阶段生成的关系模式中的空(5)-(8)补充完整。

【问题4】

根据问题描述,写出客户、委托书和派工单这3个关系的主键。