再学UML-深入浅出UML类图(五)
实例分析3——售票机控制程序
某运输公司决定为新的售票机开发车票销售的控制软件。图I给出了售票机的面板示意图以及相关的控制部件。

图I 售票机面板示意图
售票机相关部件的作用如下所述:
(1) 目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
(2) 乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
(3) 继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
(4) 显示屏显示所有的系统输出和用户提示信息。
(5) 插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
(6) 打印机用于输出车票。
(7) 所有部件均可实现自检并恢复到初始状态。
现采用面向对象方法开发该系统,使用UML进行建模,绘制该系统的初始类图。
参考解决方案:
参考类图如下:

类说明:
|
类 名 |
说 明 |
|
Component |
抽象部件类,所有部件类的父类 |
|
Keyboard |
抽象键盘类 |
|
ActionKeyboard |
继续/取消键盘类 |
|
TicketKindKeyboard |
车票种类键盘类 |
|
DestinationKeyboard |
目的地键盘类 |
|
Screen |
显示屏类 |
|
CardDriver |
卡驱动器类 |
|
CashSlot |
现金(硬币/纸币)槽类 |
|
Printer |
打印机类 |
|
TicketSoldSystem |
售票系统类 |
方法说明:
|
方法名 |
说 明 |
|
Component 的init()方法 |
初始化部件 |
|
Component 的doSeltTest()方法 |
自检 |
|
Keyboard的getSelectedKey()方法 |
获取按键值 |
|
ActionKeyboard的getAction()方法 |
继续/取消键盘事件处理 |
|
TicketKindKeyboard的getTicketKind()方法 |
车票种类键盘事件处理 |
|
DestinationKeyboard的getDestinationCode()方法 |
目的地键盘事件处理 |
|
Screen的showText()方法 |
显示信息 |
|
CardDriver的getCredit()方法 |
获取金额 |
|
CardDriver的debitFare()方法 |
更新卡余额 |
|
CardDriver的ejectMCard()方法 |
退卡 |
|
CashSlot的getCredit()方法 |
获取金额 |
|
Printer的printTicket()方法 |
打印车票 |
|
Printer的ejectTicket()方法 |
出票 |
|
TicketSoldSystem的verifyCredit()方法 |
验证金额 |
|
TicketSoldSystem的calculateFare()方法 |
计算费用 |
文章出处:http://blog.csdn.net/lovelion/article/details/7843437
再学UML-深入浅出UML类图(五)的更多相关文章
- 3.UML中的类图及类图之间的关系
统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...
- UML中的类图及类图之间的关系
统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...
- UML简单介绍—类图详解
类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...
- GOF 的23种JAVA常用设计模式总结 02 UML中的类图与类图之间的关系
统一建模语言UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际 ...
- UML类图五种关系与代码的对应关系
转: UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承 一.依赖关系: (一)说明 虚线+箭头 可描述为:Uses a 依赖是类的五种关系中耦合最小的一种关系 ...
- UML精粹3 - 类图,序列图,CRC
类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...
- 软件工程 #02# Entity Relationship Diagram VS. 用 UML 中的类图表示 E-R 图
不同的老师叫我们画 E-R 图居然是不一样的,于是我仔细研究了一番.. 通常所说的 E-R 图(外文全称 Entity Relationship Diagram,简称 ERD)长这个样子: 而有时候它 ...
- UML静态视图——类图、对象图、包图
绘画类的最重要的图是抽象类.让我们回顾一下类的基本内容. 一.分类 1.类的概念: 面向对象编程的类是一个基本概念.类是具有相同特性的.办法.集合语义和一组对象的关系. 2.类分类: 实体类:保存要放 ...
- UML简单介绍—类图这么看就懂了
如何看懂类图 1.类图简介 描述类的内部结构和类与类之间的关系,是一种静态结构图. 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关 ...
- 【UML 建模】类图介绍
1.类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 2.类的关系有泛化(Generalization). ...
随机推荐
- 给小程序组件创建slot
<!--comviewonents/juan/juan.wxml--> <view class="model-wrapper" hidden="{{vi ...
- Oracle 中 Cursor 介绍
一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理 ...
- python (2) 之 pyc
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本正常的,但执行报错"AttributeError: 'module' object has no attribute ' ...
- VUE 日历签到
<style lang="scss"> @import "../assets/css/px2rem.scss"; .sign-box { width ...
- Java基础23-main方法
/* 主函数(主方法) 1.public(访问修饰符,公共的)代表类或者该函数访问权限是最大的 2.static 代表主函数随着类的加载就已经存在了 3.void 代表主函数没有具体的返回值 4.ma ...
- Eclipse快捷键--备忘
[Ct rl+T] 搜索当前接口的实现类 1. [ALT +/] 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下[ ...
- RBAC基于角色的权限访问控制
RBAC是什么,能解决什么难题?ThinkPHP中RBAC实现体系安全拦截器认证管理器访问决策管理运行身份管理器ThinkPHP中RBAC认证流程权限管理的具体实现过程RBAC相关的数据库介绍Th ...
- (Frontend Newbie)Web三要素(二)
上一篇简单介绍了HTML的基本知识以及一些在开发学习过程中容易忽视的知识点,本篇介绍Web三要素中另一个重要组成部分----层叠样式表(Cascading Style Sheets). CSS 按照一 ...
- TOJ 2861 Octal Fractions
描述 Fractions in octal (base 8) notation can be expressed exactly in decimal notation. For example, 0 ...
- 【LDAP】ldap目录服务的命名模型
ldap的命名模型 命名模型规定了在目录中如何组织和表示条目 1. 目录信息树(DIT) 目录信息树有点类似于DNS的结构.每一个条目都有自己的父条目(因为主条目的父条目是top,所以这句话是成立 ...