@startuml
state "save file" as sf <<choice>>
sf --> hasSave: ์ธ์ด๋ธ ํ์ผ ์์
sf --> nonSave: ์ธ์ด๋ธ ํ์ผ ์์
[*] --> sf
state "ํ์ดํ ํ๋ฉด" as hasSave {
ย state "์ด์ดํ๊ธฐ" as continue
ย state "์ ๊ฒ์" as newGame1
ย state "์ต์ " as option1
ย state "๊ฒ์ ์ข ๋ฃ" as exit1
}
state "ํ์ดํ ํ๋ฉด" as nonSave {
ย state "์ ๊ฒ์" as nonSaveNewGame
ย state "์ต์ " as option2
ย state "๊ฒ์ ์ข ๋ฃ" as exit2
}
continue -[#blue]-> continueConfirm
newGame1 -[#red]-> selectDeck
nonSaveNewGameย -[#red]-> selectDeck
option1 -[#green]-> option
option2 -[#green]-> option
state "์ด์ดํ๊ธฐ ํ์ธ์ฐฝ" as continueConfirm {
ย continueConfirm : **์งํ๋ ํ์ธ**
ย continueConfirm : ๋์ด๋
ย continueConfirm : ์งํ์ค์ธ ์คํ ์ด์ง
ย continueConfirm : ๋ณด์ ์ค์ธ ์ฌํ
ย continueConfirm : ...
ย state "์์" as start
ย state "์ทจ์" as cancel
}
cancel -up[dashed]-> hasSave
start --> play
state "๋ฑ ์ ํ" as selectDeck {
ย selectDeck : **๋ฑ**ย ย
ย selectDeck : ๋ฑ ์ค๋ช
ย state "<<" as prevDeck
ย state ">>" as nextDeck
ย state "์ ํ" as deckSelectย
ย state "์ทจ์" as deckCancel
}
prevDeck --> prevDeck: ์ ๋ฑ(๋ฃจํ)
nextDeck --> nextDeck: ๋ค์ ๋ฑ(๋ฃจํ)
deckSelect --> selectDiff
deckCancel -up[dashed]-> nonSave
deckCancel -up[dashed]-> hasSave
state "๋์ด๋ ์ ํ" as selectDiff {
ย selectDiff : **๋์ด๋**ย ย
ย selectDiff : ๋์ด๋ ์ค๋ช
ย state "<<" as prevDiff
ย state ">>" as nextDiff
ย state "์ ํ" as diffSelect
ย state "์ทจ์" as diffCancel
}
prevDiff --> prevDiff: ์ ๋์ด๋(๋ฃจํ)
nextDiff --> nextDiff: ๋ค์ ๋์ด๋(๋ฃจํ)
diffCancel -up[dashed]-> nonSave
diffCancel -up[dashed]-> hasSave
diffSelect --> play
state "์ต์ " as option {
ย option: **๊ฒ์ ์ค์ **
ย option: ์ต์ ๊ธฐํ์ ์ฐธ์กฐ
ย state "์ ์ฅ" as optionSave
ย state "์ทจ์" as optionCancel
}
optionSave -up-> nonSave
optionSave -up-> hasSave
optionCancel -up[dashed]-> nonSave
optionCancel -up[dashed]-> hasSave
state "๊ฒ์ ์ข ๋ฃ" as exit <<sdlreceive>>
exit1 -down[#DD00AA]-> exit
exit2 -down[#DD00AA]-> exit
state "๊ฒ์ ํ๋ ์ด ์ฌ" as play <<sdlreceive>>
selectDeck -right[hidden]-> exit
option -right[hidden]-> exit
continueConfirm -right[hidden]-> selectDiff
@enduml
๋ ๊ธฐํ์๋ฉด UML์ ๋๋ ์์ฑํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋๋ฐ
๋์ถฉ ์ฐฝ 5๊ฐ๋ง UML์์ฑ ํด๋ณธ๊ฑด๋ฐ ์ด ์ ๋์ผ
ํ ํ๋ฉด์ ๋ณดํต ์ด๊ฒ๋ณด๋คย 5~6๋ฐฐ๋ ์ ์ด์ผํ๋๊น
์ด๊ฑฐ ํ ๋ฐ์ ๊ทธ๋ฅ ํ๋ก๊ทธ๋๋จธ ํ๋ค ํ๊ณ ๋ค ํ๋ก๊ทธ๋๋จธ๋ก ์ ์งํ๊ฑฐ ์๋๊น?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
UML์์ด ํ์ ํ ์ ์๊ฒ ์ง ๊ทผ๋ฐ ์ฑ๊ณต๋ง์ด ์ข์ ๊ธฐํ์๋ฅผ ํ๋จํ๋ ๊ธฐ์ค์ด๋ผ๋ฉด ๋๋ฌด ๋นก๋นกํ์์.. ๊ทธ๋ฆฌ๊ณ ์ฑ๊ณตํ ๊ธฐํ์๋ผ๊ณ ๋๋ ํฐ๋ก ๋ฐ๋ฆฌ๊ณ ์์ ์คํจํ ์ผ์ด์ค๋ฅผ ๋๋ฌด ๋ง์ด๋ดค์ด ใ
๊ทธ๊ฑฐ ์์งํ ๊ธฐํ๋ณด๋ค pd๋ฅ๋ ฅ์ด ์ข์์ผํจ.. ํ๋ก๋์ฑ... ๋น์ฐ ๋ฆฌ์์ค๋ ๋์ด๋ ๋์คํ๋ ์ด์ ์ญํ ์ญ์ํ๋ฉด์ ๋์์ ์ฌ๋ ๊ตด๋ฆฌ๋๊ฑฐ ์ผ์ ์ง๋๊ฑฐ ๊ทธ์ธ ์ฌ์ ์ ์ธ๊ฑฐ ์ ๋ถ๊น์ง๊ฐ๋นํ๋ ์ฌ๋์ด ํ์ํจ
์๊ท๋ชจ์์๋ ์ง์ง ๊ทธ๋ด ์๋ ์๊ฒ ๋ค
๊ธฐํํด๋ณด๋ ค๋ฉด ์ด์ฐจํผ ์์งค์๊ฐ ์์ด ์ง์ง ์์งํ ๋งํด์ ์ด๊ฑฐ ๋ค์ง์ ๊ฑ ์์ ์์ธ์ฒ๋ฆฌ ์ ๋ฆฌ ํด์ ์ฅํผํฐํํ ๋์ง๋ฉด ์ฅํผํฐ๋ ๊ตฌํ์ ์ธ๊ฑด ๋๊ฐ์ด ๋คํด์ค ใ ใ ์จ๋ฐ
ในใ ใ ใ ์ด๊ฒ ๊ธฐํ์์ผ ํ๋จธ์ผ
์๊ธฐ ๋ป๋๋ก ์๋๋๊น ํ๋ ์ ๋ง๋๋ ํ์ ์ผ ๋ฟ์ด์ผ ์ง์งํ ๋ํ๋ฅผ ์ํ ๊ฒ ์๋๋ผใ ๋ง์ฅ๊ตฌ๋ ์ณ์ฃผ๋ฉด์ ๋์ ๊ทธ๋ฅ.
์ ๋๋ ๊ฐ๋ณ๊ฒ ์ฌ๋ฆฐ๊ฑฐ์ผ ใ ใ ๋ ํ๋จธ๊ฑฐ๋ !
ใ ใ ์์ ๊ธ๋ค ๋ณด๊ณ ์ ์ฑ์ค๋ฝ๊ฒ ์๋ฆฌ ์ค๋ช ํ๋ ๋ชจ์ต ๋ณด๊ณ ๋งํ๊ฑฐ์ผใ ์ด๋ฐ ์ ์ฑ ๋ค์ด ํ์์๋ค๊ณ ใ ์ด๋ ๋ ์ ๋ ๋ ํ๋ ์ ๋ ์ด์ง ๋ํํด๋ดค๋๋ฐ ์ด๋ฐ ์ฌ๋์๋๊ฑธ ์๊ธฐ ์ํด์ ๊ธ์ ์ฐ๋ ์ ๋ค์ด ์๋๋ผ๋ ๊ฑธ ํ์ธํ๊ฑฐ๋ ใ
์ํ์ํ ใ ใ ๊ณ ๋ง์. ๋๋ ์ฌ๋๋ ๊ฐ์ธ ๊ฐ๋ฐํ๋ค ์ฌ์ฌํด์ ์ ๋ฒ์ ์ ์๋ ๊ธ์์ ๊ธ์ด์จ๊ฑฐ์ผ!
๋ ๊ฒํ์ฌ์์ ์ผํด๋ด?
์ง์ ๋ณด๊ณ ๋ฐ๋ผํด๋ณธ๊ฑฐ์์!
์ค... ์ ๋ณด๊ฐ ๋์๋ค
PlantUml๋ก ๊ทธ๋ฆฐ๊ฑฐ์ผ
์์ ๋ด์ฉ ์์ฒญ ์๊ทธ๋ ธ๋๋ฐ์?
๊ณ ๋ง์์!
SRS,SDD ในใ ๊ทธ์ผฌ
ในใ ๊ณ ํต...
UML ์ ๊ทธ๋ฆฌ๊ณ ๊ธ๋ก๋ง ์ ์ด๋์ผ๋๊น ๋์ค์ ๋ณด๋ฉด ์ ํํ ์ดํด๊ฐ ์ ๊ฐ๋๋ผ ์ข ํฐ ํ๋ก์ ํธ ์ ๋๋ก ํ ๋ ค๋ฉด ๊ทธ๋ฆฌ๋ ๊ฒ ๋ง๊ธด ํ๋ฏ
์ฌ์ค ๊ธ๋ก๋ง ์ ์ด ๋์ผ๋ฉด ๊ท์ฐฎ์์ ๋์ถฉ ์ฝ๊ณ .. ์ด๊ฑฐ๊ฒ ์ง ํ๊ณ ๊ตฌํํ ๋๋ ๋ง์ ใ ใ ใ
์ ํ๋จธ ์๋ค์งํ๋๊ฒ ์ข์๊ธฐํ์์ ใ ใ ใ ๊ทธ๋ฅ ์ฌ๋ฏธ๋ฅผ ์ ๊ธฐํํ๋๊ฒ ์์์ด์ ๋์ธ๋ฐ
์ด๊ฑด ๊ธฐํ ์ญ์ฌ๊ฐ ์๋ ๊ทธ๋ฐ๊ฑฐ๋ผ ๋ฐ๋ฐ๋ชปํด์. ์ ์ด์ ๊ฒ์์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ง๋ค๊ธฐ ์์ํ๋ค ์ํธ, ๊ธฐํ์ ์์ผ๋ก ์๊ธด๊ฑฐ๋ผ... ๊ธฐํ์ ์์ฒด๊ฐ ์ํธ์ ํ๋ก๊ทธ๋๋จธ๋ถ๋ค ์ฌ์ด๋ฅผ ๋ณด์กฐํ๊ธฐ ์ํด ๊ธฐ์๋๊ฑฐ์์.
UML์ด ์ ์๋ค์ง์ธ์ง, ์ฌ๋ฏธ๋ฅผ ์ ๊ธฐํ์๊ฐ ์ด๋ป๊ฒ ๊ธฐํํ๋์ง ์ง์ง ๋ชฐ๋ผ ๋ฏธ์
uml ์ง๋๊ฑด ์์คํ ๊ธฐํ์๊ฐ ํ๋๊ฑฐ๊ณ ๋ชจ๋ ๊ธฐํ์๊ฐ ํ ํ์๋ ์์
ํฐ ํ๋ก์ ํธ๋ฉด ๊ทธ๋ ์ง!
์ด๋ฐ๊ฑด ์ด๋์ ๋ฐฐ์?
PlantUML์ด๋ผ๊ณ ๊ตฌ๊ธ์ ๊ฒ์ํด๋ณด์ธ์! ์ ๋ ๋ ํํ๊ฑฐ์์ ใ ใ
์ ์ด๊ฑฐ ๋ฉ๋ก ๋ง๋ฌ?
PlantUML์ด๋ผ๊ณ ํ๋ก๊ทธ๋๋ฐ ํ๋ฏ์ด ์ ์ผ๋ฉด ์๋์ผ๋ก ๊ทธ๋ ค์ค์! ๋ญ ๋ค์ด๋ฐ๊ณ ๊ทธ๋ด ์ผ ์์ผ๋ ํ๋ฒ ๊ฒ์ํด๋ณด์ธ์ ใ ใ