์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ(โ€œ๋‹จ๋ฐฑ์งˆโ€์— ์ด์–ด)์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” UML ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ด์šฉํ•˜์—ฌ ์ž๋™ํ™”๋˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž์„ธํžˆ(๋ช…ํ™•ํ•˜๊ฒŒ)ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ์—์„œ๋Š” ํ˜ธ์ฃผ ํšŒ์‚ฌ์˜ Enterprise Architect ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ŠคํŒŒ ๋ ‰์Šค ์‹œ์Šคํ…œ์ฆˆ [1].
์ „์ฒด UML ์‚ฌ์–‘์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์—ฌ๊ธฐ์— [2].

๋จผ์ € ์šฐ๋ฆฌ๊ฐ€ ์ž์„ธํžˆ ์„ค๋ช…ํ•  ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
ะ’ ๊ธฐ์‚ฌ 1๋ถ€ "ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ๋ง์—์„œ ์ž๋™ํ™” ์‹œ์Šคํ…œ ์„ค๊ณ„๊นŒ์ง€" ์šฐ๋ฆฌ๋Š” A.S. Pushkin์˜ "The Tale of Tsar Saltan"์— ๋‚˜์˜ค๋Š” ๋‹ค๋žŒ์ฅ์— ๊ด€ํ•œ ๋Œ€์‚ฌ์ธ "๋™ํ™”" ์ฃผ์ œ ์˜์—ญ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋ธ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ 2๋ถ€ ์šฐ๋ฆฌ๋Š” ์œ ์Šค ์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ ๋ชจ๋ธ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆผ 1์€ ๊ทธ ์ผ๋ถ€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆผ 1. ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ธฐ๋Šฅ์˜ ๊ด€๊ณ„

์ด์ œ ์šฐ๋ฆฌ๋Š” ์ด ์ž๋™ํ™”๋œ ๊ธฐ๋Šฅ์˜ ์‹คํ–‰์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ๊ฒƒ์ธ๊ฐ€?
  • ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ์ œ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  • ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ์ €์žฅํ•  ๊ฒƒ์ธ๊ฐ€;
  • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ์–ด๋–ค ๋ฉ”์‹œ์ง€๊ฐ€ ๊ตํ™˜๋ ์ง€.

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ฃผ์š” ์š”์†Œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ ์ •๊ด€๋…์„ ๊ฐ€์ง„ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฐ์ฒด์™€ ์ด๋“ค ๊ฐ„์˜ ์—ฐ๊ฒฐ์ž…๋‹ˆ๋‹ค. ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ฐ์ฒด๋Š” ์„œ๋กœ ์ผ๋ถ€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 2).

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆผ 2. ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ์š”์†Œ

๊ฐœ์ฒด๋Š” ์ˆ˜ํ‰ ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋˜๋ฉฐ ๊ฐœ์ฒด ์‚ฌ์ด์— ๋ฉ”์‹œ์ง€๊ฐ€ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ์ถ•์€ ์œ„์—์„œ ์•„๋ž˜๋กœ ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
Actor ์š”์†Œ๋Š” ์ด๋ฒคํŠธ ํ๋ฆ„์„ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ ๊ฐœ์ฒด์—๋Š” ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์กด์žฌํ•˜๊ณ  ์ž ์žฌ์ ์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉ์— ์ฐธ์—ฌํ•˜๋Š” "์ƒ๋ช…์„ "์ด๋ผ๋Š” ์ ์„ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์–ด ์ดˆ์ ์€ ๊ฐœ์ฒด์˜ ์ƒ๋ช…์„ ์— ์žˆ๋Š” ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๊ฐœ์ฒด ๊ฐ„์— ๊ตํ™˜๋˜๋Š” ๋ฉ”์‹œ์ง€๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์†Œ์Šค ๋ฐ ๋Œ€์ƒ ์š”์†Œ์˜ ์ž‘์—… ๋ฐ ์†์„ฑ์„ ๋ฐ˜์˜ํ•˜๋„๋ก ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉ์ž ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฒฝ๊ณ„, ์ปจํŠธ๋กค, ์—”ํ„ฐํ‹ฐ ๋“ฑ์˜ ๊ณ ์ •๊ด€๋…์  ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(GUI), ์ปจํŠธ๋กค๋Ÿฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์š”์†Œ๋ฅผ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ณต๋˜๋Š” ๋ฉ”์‹œ์ง€ ํ๋ฆ„์€ "๋ฃจํ”„" ์œ ํ˜•์˜ ์กฐ๊ฐ์œผ๋กœ ์ง€์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ โ€œ์ƒˆ ๋„ˆํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ชฉ๋ก์— ์ถ”๊ฐ€โ€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํžˆ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ์ผ๋ฐ˜ํ™” ๋ฐ ๊ฐ€์ •์— ๋™์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ๋„ˆํŠธ, ์ปค๋„ ๋ฐ ์‰˜์€ ๋ชจ๋‘ ํ•ด๋‹น ์œ ํ˜•์˜ ์žฌ๋ฃŒ ์ž์‚ฐ์ž…๋‹ˆ๋‹ค(๊ทธ๋ฆผ 3).
    ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
    ๊ทธ๋ฆผ 3. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๊ฐœ์„ 
  2. ์šฐ๋ฆฌ ์‚ฌ์šฉ์ž๋Š” ๋ช…์„ธ์„œ์— ์ค‘์š”ํ•œ ์ž์‚ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. "์ค‘์š”ํ•œ ๊ฐ€์น˜์— ๋Œ€ํ•œ ํšŒ๊ณ„ ๋ช…์„ธ์„œ"๋ผ๋Š” ์„ฑ๋ช…์˜ ์ด๋ฆ„์„ ๋ช…ํ™•ํžˆํ•ฉ์‹œ๋‹ค.
  4. GUI "์žฌ๋ฃŒ ๊ฐ’ ํšŒ๊ณ„ ์‹œํŠธ"๋กœ ์ž‘์—…ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ "์žฌ๋ฃŒ ๊ฐ’ ํšŒ๊ณ„ ์นด๋“œ" GUI๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์žฌ๋ฃŒ ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  5. ์ˆ˜ํ•™์  ๊ฐ’์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ GUI๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
  6. ์ž์žฌ ๊ฐ€๊ฒฉ ํšŒ๊ณ„ ์นด๋“œ์˜ ํ•„๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ์ด ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ€์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์ด ๊ทธ๋ฆผ 4์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆผ 4. "๋ชฉ๋ก์— ์ƒˆ ๋„ˆํŠธ์— ๋Œ€ํ•œ ์ •๋ณด ์ถ”๊ฐ€" ๊ธฐ๋Šฅ ์„ค๋ช… ์„ค๋ช…

์—ฌ๊ธฐ์—์„œ ๋‹ค๋ฅธ ์œ ํ˜•์˜ UML ๋‹ค์ด์–ด๊ทธ๋žจ ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ๋ชฉ๋ก

  1. ์ŠคํŒ์Šค โ€‹โ€‹์‹œ์Šคํ…œ์ฆˆ ํ™ˆํŽ˜์ด์ง€. [์ „์ž ์ž์›] ์•ก์„ธ์Šค ๋ชจ๋“œ: ์ธํ„ฐ๋„ท: https://sparxsystems.com
  2. OMG ํ†ตํ•ฉ ๋ชจ๋ธ๋ง ์–ธ์–ด(OMG UML) ์‚ฌ์–‘. ๋ฒ„์ „ 2.5.1. [์ „์ž ์ž์›] ์•ก์„ธ์Šค ๋ชจ๋“œ: ์ธํ„ฐ๋„ท: https://www.omg.org/spec/UML/2.5.1/PDF

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€