1、中级软件设计师下午试题-138 及答案解析(总分:99.00,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)说明 某企业餐厅为了方便员工用餐,开发了一个订餐系统(Cafeteria Ordering System,COS),企业员工可通过企业内联网使用该系统。 企业的任何员工都可以查看菜单和当日特价。 系统的顾客是注册到系统的员工,可以订餐(如果未登录则需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。 餐厅员工是特殊顾客,可以进行备餐、生成付费请求和清求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。 菜单管理员是餐厅特定员工,可以管理菜单。
2、 送餐员可以打印送餐说明、记录送餐信息(如送餐时间)及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。 顾客的订餐过程如下。 (1)顾客请求查看菜单。 (2)系统显示菜单和当日特价。 (3)顾客选菜。 (4)系统显示订单和价格。 (5)顾客确认订单。 (6)系统显示可送餐时间。 (7)顾客指定送餐时间、地点和支付方式。 (8)系统确认接受订单,然后发送 E-mail 给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图 1和图 2 所示。 (分数:25.00)(1).根据说明中的
3、描述,给出图 1 中 A1 和 A2 所对应的参与者。(分数:6.25)_(2).根据说明中的描述,给出图 1 中缺少的 4 个用例及其所对应的参与者。(分数:6.25)_(3).根据说明中的描述,给出图 2 中(1)(4)处对应的活动名称或图形符号。(分数:6.25)_(4).指出图 1 中员工和顾客之间是什么关系,并解释该关系的内涵。(分数:6.25)_二、试题二(总题数:1,分数:24.00)说明 某银行计划开发一个自动存提款机模拟系统(ATM System)。系统通过读卡器(Card Reader)读取 ATM 卡;系统与客户(Customer)的交互由客户控制台(clastomer
4、Console)实现:银行操作员(Operator)可控制系统肩动(System Startup)和系统停止(System Shutdown);系统通过网络和银行系统(Bank)实现通信。 当读卡器判断用户已将 ATM 卡插入后,创建会话(Session)。会话开始后,读卡器进行读卡,并要求客户输入个人验证码(PIN)。系统将卡号和个人验证码信息送到银行系统进行验证。验证通过后,客户可从菜单选择以下事务(Transaction)。 (1)从 ATM 卡账户取款(Withdraw)。 (2)向 ATM 卡账户存款(Deposit)。 (3)进行转账(Transfer)。 (4)查询(Inquir
5、e)ATM 卡账户信息。 一次会话可以包含多个事务,每个事务处理也会将卡号和个人验证码信息送到银行系统进行验证。若个人验证码错误,则转个人验证码错误处理(Invalid PIN Process)。每个事务完成后,客户可选择继续上述事务或退卡。选择退卡时,系统弹出 ATM 卡,会话结束。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图如图 1 所示,一次会话的序列图(不考虑验证)如图 2 所示。可能的消息名称列表如下表所示。 (分数:24.00)(1).根据说明中的描述,给出图 1 中 A1 和 A2 所对应的参与者、U1U3 所对应的用例,以及该图中空(1)所对应的关系(U
6、1U3 的可选用例包括 Session、Transaction、InsertCard、Invalid PIN Process 和Transfer)。(分数:8.00)_(2).根据说明中的描述,使用上表中的英文名称,给出图 2 中 69 对应的消息。(分数:8.00)_(3).解释图 1 中用例 U3 和用例 Withdraw、Deposit 等 4 个用例之间的关系及其内涵。(分数:8.00)_三、试题三(总题数:1,分数:25.00)说明 在线会议审分稿系统(Online Reviewing System,ORs)主要处理会议前期的投稿和审稿事务,其功能描述如下。 (1)用户在初始使用系统
7、时,必须在系统中注册(Register)成为作者或审稿人。 (2)作者登录(Login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。 (3)审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。 (4)会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件及关闭审稿过程。其中关闭审稿过程需包括罗列录用和(或)拒绝的稿件。 系统采用面向对象方法开发,使用 UML 进行
8、建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例名称和活动名称分别参见表 1表 3。系统的部分用例图和提交稿件过程的活动图分别如图 1 和图 2 所示。 (分数:25.00)(1).根据说明中的描述,使用表 1 中的英文名称,给出图 1 中 A1A4 所对应的参与者。 表 1 参与者名称 名称 说明 名称 说明 user 用户 author 作者 reviewer 审稿人 PCChair 委员会主席 (分数:6.25)_(2).根据说明中的描述,使用表 2 中的英文名称,给出图 1 中 U1U3 所对应的用例。
9、表 2 用例名称 名称 说明 名称 说明 login 登录系统 register 注册 submit paper 提交稿件 browse review results 浏览稿件审阅结果 close reviewing process 关闭审稿过程 assign paper to review 分配稿件给审稿人 set preferences 设定兴趣领域 enter review 审阅稿件并给出意见 list accepted/rejected paper 罗列录用或/和拒绝 的稿件 browse submitted papers 浏览提交的稿件 (分数:6.25)_(3).根据说明中的描述,
10、给出图 1 中(1)和(2)所对应的关系。 表 3 活动名称 名称 说明 名称 说明 select paper location 选择稿件位置 upload paper 上传稿件 select subject group 选择主题类型 send notification 发送通知 enter title and abstract 输入标题和摘要 (分数:6.25)_(4).根据说明中的描述,使用表 1 和表 2 中的英文名称,给出图 2 中 Action1Action4 对应的活动。(分数:6.25)_四、试题四(总题数:1,分数:25.00)说明 某汽车停车场欲建立一个信息系统,已经调查到的
11、需求如下。 (1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如下图所示。 (2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。 (3)在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后将获得一张出场卡,用于离开停车场。 (4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放
12、下。若这张卡是无效的,系统不发出栏杆抬起命令而发出警告信号。 (5)系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了下表所示的类/用例/状态列表、图 1 所示的用例图、图 2 所示的初始类图以及图 3 所示的描述入口自动栏杆行为的 UML 状态图。 (分数:25.00)(1).根据说明中的描述,使用表中的用例名,给出图 1 中 U1U3 所对应的用例。(分数:6.25)_(2).根据说明中的描述,使用表中的类名,给出图 2 中 AD 所对
13、应的类。(分数:6.25)_(3).根据说明中的描述,使用表中的状态,给出图 3 中 S1S4 所对应的状态。(分数:6.25)_(4).简要解释图 1 中用例 U1 和 U3 之间的 extend 关系的内涵。(分数:6.25)_中级软件设计师下午试题-138 答案解析(总分:99.00,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)说明 某企业餐厅为了方便员工用餐,开发了一个订餐系统(Cafeteria Ordering System,COS),企业员工可通过企业内联网使用该系统。 企业的任何员工都可以查看菜单和当日特价。 系统的顾客是注册到系统的员工,可以订餐(如果未登
14、录则需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。 餐厅员工是特殊顾客,可以进行备餐、生成付费请求和清求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。 菜单管理员是餐厅特定员工,可以管理菜单。 送餐员可以打印送餐说明、记录送餐信息(如送餐时间)及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。 顾客的订餐过程如下。 (1)顾客请求查看菜单。 (2)系统显示菜单和当日特价。 (3)顾客选菜。 (4)系统显示订单和价格。 (5)顾客确认订单。 (6)系统显示可送餐时间。 (7)顾客指定送餐时间、地点和支付方式。 (8)系统确认接受订单,然后发送
15、 E-mail 给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图 1和图 2 所示。 (分数:25.00)(1).根据说明中的描述,给出图 1 中 A1 和 A2 所对应的参与者。(分数:6.25)_正确答案:()解析:A1:工资系统 A2:菜单管理员(2).根据说明中的描述,给出图 1 中缺少的 4 个用例及其所对应的参与者。(分数:6.25)_正确答案:()解析:(1)查看今日特价,参与者:员工 (2)注册工资支付,参与者:顾客和工资系统 (3)生成付费请求,参与者:餐厅员工和工资系统
16、(4)管理菜单,参与者:菜单管理员(3).根据说明中的描述,给出图 2 中(1)(4)处对应的活动名称或图形符号。(分数:6.25)_正确答案:()解析:(1) (2)登录 (3) (4) (4).指出图 1 中员工和顾客之间是什么关系,并解释该关系的内涵。(分数:6.25)_正确答案:()解析:泛化关系。泛化是一种一般一特殊关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。本题中顾客和员工就是一般一特殊关系,且说明中有描述“系统的顾客是注册到系统的员工”。二、试题二(总题数:1,分数:24.00)说明 某银行计划开发一个自动存提款机模拟系统(ATM System)。系统通过读卡器
17、(Card Reader)读取 ATM 卡;系统与客户(Customer)的交互由客户控制台(clastomer Console)实现:银行操作员(Operator)可控制系统肩动(System Startup)和系统停止(System Shutdown);系统通过网络和银行系统(Bank)实现通信。 当读卡器判断用户已将 ATM 卡插入后,创建会话(Session)。会话开始后,读卡器进行读卡,并要求客户输入个人验证码(PIN)。系统将卡号和个人验证码信息送到银行系统进行验证。验证通过后,客户可从菜单选择以下事务(Transaction)。 (1)从 ATM 卡账户取款(Withdraw)。
18、 (2)向 ATM 卡账户存款(Deposit)。 (3)进行转账(Transfer)。 (4)查询(Inquire)ATM 卡账户信息。 一次会话可以包含多个事务,每个事务处理也会将卡号和个人验证码信息送到银行系统进行验证。若个人验证码错误,则转个人验证码错误处理(Invalid PIN Process)。每个事务完成后,客户可选择继续上述事务或退卡。选择退卡时,系统弹出 ATM 卡,会话结束。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图如图 1 所示,一次会话的序列图(不考虑验证)如图 2 所示。可能的消息名称列表如下表所示。 (分数:24.00)(1).根据说明中
19、的描述,给出图 1 中 A1 和 A2 所对应的参与者、U1U3 所对应的用例,以及该图中空(1)所对应的关系(U1U3 的可选用例包括 Session、Transaction、InsertCard、Invalid PIN Process 和Transfer)。(分数:8.00)_正确答案:()解析:A1:Customer A2:Bank U1:Session U2:Invalid PIN Process U3:Transaction (1)extend(2).根据说明中的描述,使用上表中的英文名称,给出图 2 中 69 对应的消息。(分数:8.00)_正确答案:()解析:6:readPIN(
20、) 7:PIN 8:Create(atm,this,card,pin)9:performTransaction()(3).解释图 1 中用例 U3 和用例 Withdraw、Deposit 等 4 个用例之间的关系及其内涵。(分数:8.00)_正确答案:()解析:它们之间是泛化关系。Transaction 是一个抽象泛化用例,具有其他事务类型共有的属性和行为,每个具体的事务类型继承它,并实现适合自己的特定操作。三、试题三(总题数:1,分数:25.00)说明 在线会议审分稿系统(Online Reviewing System,ORs)主要处理会议前期的投稿和审稿事务,其功能描述如下。 (1)用户
21、在初始使用系统时,必须在系统中注册(Register)成为作者或审稿人。 (2)作者登录(Login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。 (3)审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。 (4)会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件及关闭审稿过程。其中关闭审稿过程需包括罗列录用和(或)拒绝的稿件。 系统采用面向对象方法开发,使用
22、 UML 进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例名称和活动名称分别参见表 1表 3。系统的部分用例图和提交稿件过程的活动图分别如图 1 和图 2 所示。 (分数:25.00)(1).根据说明中的描述,使用表 1 中的英文名称,给出图 1 中 A1A4 所对应的参与者。 表 1 参与者名称 名称 说明 名称 说明 user 用户 author 作者 reviewer 审稿人 PCChair 委员会主席 (分数:6.25)_正确答案:()解析:aA1:user A2:author A3:reviewer
23、 A4:PCChair(2).根据说明中的描述,使用表 2 中的英文名称,给出图 1 中 U1U3 所对应的用例。 表 2 用例名称 名称 说明 名称 说明 login 登录系统 register 注册 submit paper 提交稿件 browse review results 浏览稿件审阅结果 close reviewing process 关闭审稿过程 assign paper to review 分配稿件给审稿人 set preferences 设定兴趣领域 enter review 审阅稿件并给出意见 list accepted/rejected paper 罗列录用或/和拒绝 的
24、稿件 browse submitted papers 浏览提交的稿件 (分数:6.25)_正确答案:()解析:U1:list accepted/rejected papers U2:browse submitted papers U3:assign paper to reviewer(3).根据说明中的描述,给出图 1 中(1)和(2)所对应的关系。 表 3 活动名称 名称 说明 名称 说明 select paper location 选择稿件位置 upload paper 上传稿件 select subject group 选择主题类型 send notification 发送通知 ente
25、r title and abstract 输入标题和摘要 (分数:6.25)_正确答案:()解析:extend (2)include(4).根据说明中的描述,使用表 1 和表 2 中的英文名称,给出图 2 中 Action1Action4 对应的活动。(分数:6.25)_正确答案:()解析:Action1:enter title and abstract Action2:select subject group Action3:select paper location Action4:upload paper四、试题四(总题数:1,分数:25.00)说明 某汽车停车场欲建立一个信息系统,已经
26、调查到的需求如下。 (1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如下图所示。 (2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。 (3)在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后将获得一张出场卡,用于离开停车场。 (4)当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏
27、杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出警告信号。 (5)系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了下表所示的类/用例/状态列表、图 1 所示的用例图、图 2 所示的初始类图以及图 3 所示的描述入口自动栏杆行为的 UML 状态图。 (分数:25.00)(1).根据说明中的描述,使用表中的用例名,给出图 1 中 U1U3 所对应的用例。(分数:6.25)_正确答案:()解析:U1:Car entry U2:Car
28、exit U3:Car entry when full(2).根据说明中的描述,使用表中的类名,给出图 2 中 AD 所对应的类。(分数:6.25)_正确答案:()解析:A:CarPark B:Barrier C:EntryBarrier D:ExitBarrier(3).根据说明中的描述,使用表中的状态,给出图 3 中 S1S4 所对应的状态。(分数:6.25)_正确答案:()解析:S1:Idle S2:Await Ticket Take S3:Await Enable S4:Await Entry(4).简要解释图 1 中用例 U1 和 U3 之间的 extend 关系的内涵。(分数:6.25)_正确答案:()解析:U3 是 U1 的扩展,当汽车要进入时判断是否有空车位。U1 和 U3 的 expend 关系表示一种聚集关系,具体为“组合”关系。它表示 U3 是 U1 状态的一个子集,U3 是 U1 的一部分。