目录
文本绘图利器plantuml
应用场景
做系统设计免不了需要画图,从设计流程上来说,用例分析 -> 组件交互 -> 领域对象分析,往往不是一蹴而就的,需要一个反复迭代的过程,在这个过程中,如何更好的追溯你的设计变更很重要,不管后续维护的是你自己还是其他人,都可以从这个设计变更
里得到重要的信息。
一个需求
这里以一个假想的需求为例,演示一下上述所述的画图场景
以顾客到餐馆用餐为例,需要经历顾客来餐厅吃饭,点菜,服务员下单,厨师出菜,服务员上菜,顾客结账的过程,下面我们来看怎么画这些图。
用例分析
left to right direction
actor Customer as C
actor Waiter as W
actor Chef as H
rectangle {
C -- (点菜)
C -- (结帐)
(出菜) -- H
(下单) -- W
(上菜) -- W
}
组件交互设计
participant Customer as C
participant Waiter as W
participant Chef as H
C -> W : 点菜
W -> H : 下单
H -> W : 出菜
W -> C : 上菜
C -> W : 结帐
领域对象分析与设计
class Customer {
name: String
Menu fillMenu()
checkout(order: Order)
}
class Waiter {
Order makeOrder(menu: Menu)
void serve(food: Food)
}
class Chef {
Food cook(order: Order)
}
class Menu {
dish: String
quantity: int
}
class Order {
menu: Menu
orderTime: Date
}
class Food