找回密码
 立即注册
首页 业界区 安全 软件工程--面向对象程序分析与设计-作业 ...

软件工程--面向对象程序分析与设计-作业

呵烘稿 2025-9-28 18:47:40
面向对象程序分析与设计-作业

需求陈述:  某种出售罐装饮料的自动售货机。( Vending Machine)的工作过程描述如下:1.     顾客选择所需购买的饮料及数量。2.     顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器收集投入的硬币并计算其对应的价值。如果所投入的硬币足够购买所需数量的这种饮料且饮料存储仓中的饮料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;如果投入的硬币不够或者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。3.     一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。已经成功购买饮料的钱是不会被退回的。

用例“购买饮料”的用例规约描述如下。
参与者:顾客。
主事件流:
1.顾客选择需要购买的饮料和数量,投入硬币;2.自动售货机检查顾客是否投入足够的硬币,如果硬币不够,则转2a;  3.自动售货机检查饮料存储仓中所选购的饮料是否足够,如果满足顾客要求,则转第4步,否则转3a;   4.自动售货机推出饮料;5.自动售货机返回找零。6. 一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。  扩展事件流:   2a.若投入的硬币不足,则给出提示并退回到1;  3a.若所选购的饮料数量不足,则给出提示并退回到1 。  根据用例“购买饮料”得到自动售货机的4个状态:“空闲”状态、“准备服务”状态、“可购买”状态以及“饮料出售”状态。
要求:面向对象方法学对自动售货机系统进行分析与设计,分别完成以下工作:(1)    给出自动售货机系统所涉及的类,并给出类图。(2)  给出用例“购买饮料”的顺序图。(3)    给出对象----自动售货机的状态图。(4)    给出用例“购买饮料”的活动图。
(1)给出自动售货机系统所涉及的类,并给出类图

首先在Rational Rose软件中创建类   右键Logical View 选择new->Class 编辑类名
根据题目要求编辑如下类
2.png

接下来创建类图  右键logical View 选择new-> Class Diagram 创建完类图后打开 并将类拖入类图
接着进行关联设置  为了方便可以先在菜单中添加这两种连接线  其中aggregation代表有聚合关系
双击菜单栏进行设置
3.png

4.png

绘制出如下类图
5.png

编辑关联关系多样性 右键单击连接端 选择关系
6.png

类图编辑完成
7.png

(2) 给出用例“购买饮料”的顺序图

创建用例图模型 并打开
8.png

从菜单中选择对应的图形 并进行命名
9.png

双击进入购买饮料的用例
10.png

11.png

添加顺序图  再次点击打开顺序图
根据菜单工具 绘制出如下顺序图 双击线段即可添加描述
12.png

(3)给出对象----自动售货机的状态图

创建状态图 在logical View中选择Statechart diagram 并打开
13.png

利用菜单工具绘制如下图
14.png

其中部分设置如下
15.png

16.png

17.png

(4)给出用例“购买饮料”的活动图

创建活动图  确定顾客 和 自动售货系统 两个对象 并添加泳道
18.png

19.png

根据菜单 绘制出如下活动图
20.png

其中需注意这里的
21.png
是由
22.png
这个图标组建的  关键线段的描述跟上述方法相同

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册