计算机系学生上机实践报告
自动售货机系统面向对象分析
一、目的
用面向对象分析、设计方法来分析自动售货机系统。
二、 主要内容及问题
自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,激起
检查硬币的大小、重量、厚度以及边缘类型。有效的硬币是一元币,五角币和一分币。其他
货币都被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币
之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值进行累加。自动售货机
装有货物分配器。每个货物分配其中包含零个或多个价格相同的货物。顾客通过选择货物分
配器来选择货物。如果货物分配其中有货物,而且顾客支付的货币值不小于该货物的价格,
货物将被分配到货物传送孔送给顾客,并将适当的零钱返回倒退币孔。如果分配器时空的,
则和顾客支付的货币值相等的硬币将被送回倒退币孔。如果顾客支付的货币值少于所选择的
分配其中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,
他投放的货币将从退币孔中退出。
三、使用环境
操作系统:Windows XP
四、设计内容
1、用例模型图
顾客用例图
投币
选择货品
第 1 页 共 5 页
计算机系学生上机实践报告
售货机用例图
前端
硬币计数器
分配器
用例模型图说明:
自动售货系统主要使用的对象是顾客。系统根据顾客的钱和选择处理,则系统其中的一个功能即用例
就是接收顾客信息。顾客需要自己投币和选择,系统由输入的信息来识别,则系统的另一个功能即用例就
是发货,在系统没货的时候会提醒供货员供货。
2、状态图
第 2 页 共 5 页
计算机系学生上机实践报告
提示投币
投币
提 示 是 假
币,退币
假币
检查硬币
否
真币
购买
存储硬币,计算货币总值
确认投完硬币
是
请求选择货物
选择货物
检测货物存量
无货
提示无货
计算
小于
比较货币总值和货物价格
提示货物不足,确
认顾客购买
确认
确认顾客购买
不购买
送出货物,请求取货
不购买
退货
请求取退币
提示
显示交易完毕
第 3 页 共 5 页
计算机系学生上机实践报告
2、动态模型
动态模型说明:
动态模型主要是描述系统的动态行为和控制结构。动态行为包括系统中对象生存期内可能的状态以及
事件发生时状态的迁移,还包括对象之问动态合作关系,显示对象之间的交互过程以及交互顺序,同时描
述了为满足用例要求所进行的活动以及活动问的约束关系。动态模型主要包括的状态图、顺序图和活动图
已经画出。
建立动态模型的第一步是编写交互行为的脚本;第二步从脚本中提取出事件,确定后触发每个事件的
动作对象及接收事件的目标对象;第三步排列事件发生的次序,确定每个对象可能有的状态及状态间的转
换关系,并用状态图描绘它们。最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的
匹配。
3、功能模型
功能模型说明:
功能模型表明了系统中数据之间的依赖关系,以及有关的数据处理功能,它由一组数据流图组成,此
功能模型的分析与设计依照对象模型和动态模型而来。
DFD图(数据流图)描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流中没有任何具
体的物理部件,它知识描绘数据在软件中流动和被处理的逻辑过程。
显示假币
吐币
顾客
投币
假币
1
检验是否为
真币
真币
2
产 生 可
选货物
计 算 累 计
硬币个数
可 选 货 物
目录
送 出 顾 客 选 择
的货物
3
送出货物
选 择 货
物
提示顾客
选 择 货
物
顾客
4、对象模型
第 4 页 共 5 页
计算机系学生上机实践报告
硬币检测器
检测状态
有效币特征
组成
通信
投币口
通信
退币孔
组成
组成
组成
组成
自动售货机
名称
分配器编号
拥有
使用
顾客
货物分配器
名称
货物数量
货物价格
存储
货物
名称
硬币计算器
硬币总面值
比较面值
组成
硬币存储器
各面值货币数
存储
硬币
大小
重量
厚度
边缘类型
面值
有效币
假币
对象模型说明:
对象模型描述了现实世界中的类与对象以及它们之间的关系,表示了目标系统的静态数据结构。对象
模型通常有5个层次。首先确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题;然后给类
和关联增添属性,以进一步描述它们;接下来利用适当的继承关系进一步合并和组织类。而对类中操作的
最后确定,则需要等到建立了动态模型和功能模型之后,以为这两个子模型更准确地描述了对类中提供的
服务的需求。
五、总结
通过本次实验,我基本能用面向对象的分析方法来分析售货机系统,用面向对象的设计方法来实现系
统的各种基本模型图。面向对象分析的关键是识别出问题域内的类和对象,并分析它们之间相互的关系,
最终建立起问题域的简洁、精确、可理解的正确模型。
在实验中,也熟悉了和基本掌握了各种模型图的分析方式和设计模式。在面向对象分析中有 3 种模型:
对象模型、动态模型和功能模型,其中对象模型是最基本、最重要、最核心的,功能模型必须要在对象模
型和动态模型分析和建立的基础上才能建立。
第 5 页 共 5 页