学习点plantuml语法

最近看了点plantuml的手册(可以集成在许多工具中方便绘制uml图),用 深入浅出UML类图 售票机程序 绘图来试着绘制几个UML图,可以在线测试(测试地址http://www.plantuml.com/),不保证绘图正确,只是学习一下plantuml语法,此外visio是个很强大的工具。

类图:(http://plantuml.sourceforge.net/classes.html)

@startuml

title 售票机控制程序

scale 1500 width
Component <|-- Keyboard : 继承关系
Component <|-- Screen
Component <|-- CardDriver
Component <|-- CashSlot
Component <|-- Printer
Keyboard <|-- ActionKeyboard
Keyboard <|-- TicketKindKeyboard
Keyboard <|-- DestinationKeyboard

ActionKeyboard <--* TicketSoldSystem : 组合关系
TicketKindKeyboard <--* TicketSoldSystem
DestinationKeyboard <--* TicketSoldSystem
Screen <--* TicketSoldSystem
CardDriver <--* TicketSoldSystem
CashSlot <--* TicketSoldSystem
Printer <--* TicketSoldSystem

skinparam classAttributeIconSize 0

note top of Component : 抽象部件类,所有部件类的父类
note left of Keyboard : 键盘抽象类
class Component {
 +init():void
 +doSelfTest():void
}
class Keyboard {
 +getSelectedKey():int
}

class Screen {
 +showText():void
}
class CardDriver {
 +getCredit():String
 +debitFare():double
 +ejectMCard():void
}
class CashSlot {
 +getCash():String
}
class Printer {
 +printTicket():void
 +ejectTicket():void
}
class ActionKeyboard {
 +getAction():int
}
class TicketKindKeyboard {
 +getTicketKind():String
}
class DestinationKeyboard {
 +getDestinationCode():String
}
class TicketSoldSystem {
 +verifyCredit():boolean
 +calculateFare():double
}

note as Comment
  <color:royalBlue>(1) 目的地键盘用来输入行程目的地的代码(例如,200表示总站)。</color>
  (2) 乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
  (3) 继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
  (4) 显示屏显示所有的系统输出和用户提示信息。
  (5) 插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
  (6) 打印机用于输出车票。
  (7) 所有部件均可实现自检并恢复到初始状态。
end note

@enduml

用例图:(http://plantuml.sourceforge.net/usecase.html)

@startuml

left to right direction

:买票人: as people << Human >>
:票务系统: as system << Application >>

rectangle 售票程序 {
  people -- (选票)
  (选票) .> (支付) : include
  (帮助) .> (选票) : extends
  (选票) -- system
}

@enduml

时序图:(http://plantuml.sourceforge.net/sequence.html)

@startuml

actor 买票人 as User
participant 购票程序 as Application
participant 票务系统 as System #red


User -> Application: 输入目的地址
alt 目的地址合法
	Application --> User: 提示输入购买票数
	User -> Application: 输入购买票数
	Application -> System: 查询所余票数
	alt 有余票
		System --> Application: 返回正确
		Application --> User: 提示插入所需金额
		User -> Application: 插入card或者money
		activate Application
		
		Application -> System: 更新剩余票信息
		activate System
		System --> Application: 更新成功
		deactivate System
		
		Application --> User: 购票成功,出票
		deactivate Application
	else 无票
		System --> Application: 返回错误
		Application --> User: 提示没有票了
	end
	
else 错误输入
	Application --> User: 提示地址错误
end

@enduml

猜你喜欢

转载自blog.csdn.net/ciaos/article/details/8501446