湖北seo网站推广,官方网站怎么制作,提供邯郸做wap网站,福建 建设网站一. PlantUML状态图 语法学习小结 1.简单状态 我们使用[*]开始和结束状态图#xff0c;使用--添加箭头。 startuml
[*] -- Test1
Test1 -- [*]
Test1 : this is a test
Test1 : this is another testTest1 - Test2
Test2 -- [*]
enduml 2.更改状态渲染 我…一. PlantUML状态图 语法学习小结 1.简单状态 我们使用[*]开始和结束状态图使用--添加箭头。 startuml
[*] -- Test1
Test1 -- [*]
Test1 : this is a test
Test1 : this is another testTest1 - Test2
Test2 -- [*]
enduml 2.更改状态渲染 我们使用隐藏空描述将状态呈现为简单状态。 startuml
hide empty description
[*] -- Test1
Test1 -- [*]
Test1 : this is a test
Test1 : this is another testTest1 - Test2
Test2 -- [*]
enduml 3.合成状态 一个状态也可能是合成的但必须使用关键字state和花括号来定义合成状态。 startuml
scale 350 width
[*] -- NotShooting
state NotShooting {[*] -- IdleIdle -- Configuring : EvConfigConfiguring -- Idle : EvConfig
}state Configuring {[*] -- NewValueSelectionNewValueSelection -- NewValuePreview : EvNewValueNewValuePreview -- NewValueSelection : EvNewValueRejectedNewValuePreview -- NewValueSelection : EvNewValueSavedstate NewValuePreview {State1 - State2}
}
enduml 4.长名字 我们使用关键字state定义长名字状态。 startuml
scale 600 width[*] - State1
State1 -- State2 : Succeeded
State1 -- [*] : Aborted
State2 -- State3 : Succeeded
State2 -- [*] : Aborted
state State3 {state Accumulate Enough Data\nLong State Name as long1long1 : Just a test[*] -- long1long1 -- long1 : New Datalong1 -- ProcessData : Enough Data
}
State3 -- State3 : Failed
State3 -- [*] : Succeeded / Save Result
State3 -- [*] : Aborted
enduml 5.并发状态 我们使用-- or ||作为分隔符来合成并发状态。 startuml
[*] -- Activestate Active {[*] - NumLockOffNumLockOff -- NumLockOn : EvNumLockPressedNumLockOn -- NumLockOff : EvNumLockPressed--[*] - CapsLockOffCapsLockOff -- CapsLockOn : EvCapsLockPressedCapsLockOn -- CapsLockOff : EvCapsLockPressed--[*] - ScrollLockOffScrollLockOff -- ScrollLockOn : EvCapsLockPressedScrollLockOn -- ScrollLockOff : EvCapsLockPressed
}enduml 二、例题巩固学习 1.以《电梯控制》系统、《银行账户》系统为例分析系统中的状态及状态转换。 电梯状态机图电梯存在待载、上升、下降和楼间停4种基本状态。电梯无人承载时停在某楼层,处在待载状态。当有人进人电梯,并且当前楼层比目标楼层低,则电梯上升。如果当前楼层比目标楼层高,则电梯下降。在上升或下降状态,如果到了某个目标楼层,电梯运行停止进人楼间停状态,等待人的进出。如果所有人都在本层下完电梯回到待载状态。如果电梯中还有人则判断目标楼层是否比当前楼层高如果高于当前楼层则上升如果低于当前楼层则下降。 银行账户状态机图银行账户存在空额有余额和负债三种状态。初建立的账户没有存款处在空额状态。账户在空额状态时如果向其中存款进人有余额状态如果从账户取款则进人负债状态。账户在有余额状态时,如果向账户存款余额增加,但仍然还在有余额状态。如果从账户取款若取款额小于余额账户仍在有余额状态;若取款额等于余额,则取款后账户回到空额状态;若取款额大于账户余额则取款后账户进人负债状态。账户处于负债状态时如果取款余额减少但仍然处在负债状态。如果给账户存款当存款额小于负债额则账户仍然在负债状态;如果存款额等于负债额,则存款后账户回到空额状态;如果存款额大于负债额存款后账户进入有余额状态。 2.脚本及状态图 电梯控制 startuml[*] -- 待载 待载 -up- 上升 : 进入[目标楼层当前楼层]/关门上行 上升 -down- 楼间停 : [进人/出人]/停机开门 待载 -down- 下降 : 进入[目标楼层当前楼层]/关门下行 下降 -up- 楼间停 : [进人/出人]/停机开门 楼间停 -up- 上升:[目标楼层当前楼层]/关门上行 楼间停 -down- 下降:[目标楼层当前楼层]/关门下行 楼间停 -left- 待载:[无人]/关门enduml 银行账户 startuml[*] -- 空额空额 -down- 有余额 : 存款/余额余额存款额 空额 -down- 负债 : 取款[取款额最大限额]/余额余额-存款额 有余额 -- 有余额 : 存款/余额余额存款额 有余额 -- 有余额 : 取款[取款额余额]/余额余额-取款额有余额 -right- 负债 : 取款[取款额余额]/余额余额-取款额有余额 -up- 空额 : 取款[取款额余额]/余额余额-取款额 负债 -- 负债 : 取款[取款额最大限额]/余额余额-存款额负债 -- 负债 : 存款[存款额负债额]/余额余额存款额负债 -left- 有余额 : 存款[存款额负债额]/余额余额存款额负债 -up- 空额 : 存款[存款额负债额]/余额余额存款额空额 -up- [*]enduml 转载于:https://www.cnblogs.com/yz1248865879/p/10957553.html