zoukankan      html  css  js  c++  java
  • 再学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

  • 相关阅读:
    Inner Classes with TypeScript
    设计模式(一)
    C++定义构造函数必须使用初始化列表的场合
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
    Windows下将程序打包为安装包(最为简易的方式)
    在Linux中查看文件的编码及对文件进行编码转换
    libpcap文件格式分析
    static_cast, dynamic_cast, const_cast
    字符1与数字1
    Linux下的多线程编程
  • 原文地址:https://www.cnblogs.com/alone-striver/p/7819319.html
Copyright © 2011-2022 走看看