当前位置:问答库>考研试题

2018年辽宁工程技术大学软件工程931数据结构和软件工程之软件工程导论考研仿真模拟五套题

  摘要

一、计算题

1. 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:

自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重 量、厚度及边缘类型。有效的硬币是一元币、五角币、一角币、五分币、二分币和一分币。其他货币都被认为是 假币。机器拒绝接收假币,并将其从退币孔退出。当机器接收了有效的硬币之后,就把硬币送入硬币储藏器中。 顾客支付的货币根据硬币的面值进行累加。

自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器 来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送 孔送给顾客,并将适当的零钱返回到退币孔。如果分配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客 决定不买所选择的货物,他投放进的货币将从退币孔中退出。

【答案】(1)对象模型

①建立流程

a. 候选类

自动售货机、顾客、硬币、投币口、假币、退币孔、硬币储藏器、货物分配器、货物、货物传送孔、零钱。

b. 筛选优化类

第一,硬币、假币、零钱是货币的属性。属于系统内部“检验”功能处理的内容,它们与“货物”都属于物流,应该去掉。

第二,顾客决定买不买所选货物,需要一个按钮通知硬币储藏器,所以应增加一个“选择按钮”。

第三,进行投币检验需要一个检验器。

c. 类集合

自动售货机、顾客、投币口、退币口、硬币储藏器、货物分配器、货物传送孔、硬币暂存检查器、选择按钮。

②对象模型

自动售货机系统的对象模型,如图1所示。

图1 自动售货机系统的对象模型

(2)动态模型 ①编写脚本 a. 正常情况脚本 第一,顾客投入了 5元真硬币;

第二,投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;

第三,顾客按“选择按钮”,指定一种3.5元的货物;

第四,按钮将信息送往货物分配器;

第五,货物分配器检查货物是否还有。还有,则将该货物的价格及所购数量计算后通知硬币储藏器需款总数;

第六,硬币储藏器将找零的硬币送往退币孔;

第七,货物分配器将应交付的货物送往货物传送口。

b. 异常情况脚本1 (投币不足)

第一,顾客投入了 5元真硬币;

第二,投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;

第三,顾客按“选择按钮”,指定一种6元的货物;

第四,按钮将信息送往货物分配器;

第五,货物分配器检查货物是否还有。还有,则将该货物的价格及所购数量计算后通知硬币储藏器需款总数;

第六,硬币储藏器将对投款数与需款数进行对比后不发出任何信息,机器处于等待状态。 c. 异常情况脚本2 (投入假币)

第一,顾客投入了 5元真硬币;

第二,投币机检验,其中有假币,投币机即刻将所投币送往退币孔。

d. 异常情况脚本3 (无货)

第一,顾客投入了 5元真硬币;

第二,投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;

第三,顾客按“选择按钮”,指定一种3.5元的货物;

第四,按钮将信息送往货物分配器;

第五,货物分配器检查货物是否还有。没有货物,则将无货信息送往硬币储藏器;

第六,硬币储藏器将5元硬币送往退币孔。

e. 异常情况脚本4 (顾客决定不买)

第一,顾客投入了 5元真硬币;

第二,投币机检验,钱币合格,送往硬币储藏器,储藏器进行累加;

第三,顾客按“选择按钮”,决定不买了;

第四,按钮将信息送往货物分配器;

第五,硬币储藏器将5元硬币送往退币孔。

②状态图

自动售货机系统的状态图,如图2所示。

图2 自动售货机系统的状态图

(3)功能模型

自动售货机系统的程序流程图,如图3所示。