๋‚˜๋งŒ์˜ ์˜ค๋ž˜๋‹ฌ๋ฆฌ๊ธฐ๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ

Become a ghost

Computer Science/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€๊ธฐ๋ก

[240713] ์ฃผ์š” UML ๋‹ค์ด์–ด๊ทธ๋žจ (์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ์ˆœ์ฐจ ๋‹ค์ด์–ด๊ทธ๋žจ)

jennnnna 2024. 7. 13. 10:52

์œ ์Šค์ผ€์ด์Šค (Use Case) ๋‹ค์ด์–ด๊ทธ๋žจ 

๊ฐœ๋ฐœ๋  ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ๋œ ์™ธ๋ถ€ ์š”์†Œ๋“ค, ์ฆ‰ ์‚ฌ์šฉ์ž์™€ ๋‹ค๋ฅธ ์™ธ๋ถ€ ์‹œ์Šคํ…œ๋“ค์ด ๊ฐœ๋ฐœ๋  ์‹œ์Šคํ…œ์„ ์ด์šฉํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„
์‚ฌ์šฉ์ž์˜ ๊ด€์ ์—์„œ ํ‘œํ˜„ํ•œ ๊ฒƒ. 
- ์™ธ๋ถ€ ์š”์†Œ์™€ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ํ™•์ธ ๊ฐ€๋Šฅ
- ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. 
- ์‹œ์Šคํ…œ์˜ ๋ฒ”์œ„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ถœ์ฒ˜ ์œ„ํ‚คํ”ผ๋””์•„, Lucid chart

 

์œ ์Šค ์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ๊ตฌ์„ฑ ์š”์†Œ 
์‹œ์Šคํ…œ ๋ฒ”์œ„, ์•กํ„ฐ, ์œ ์Šค์ผ€์ด์Šค, ๊ด€๊ณ„ 

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

 

ํด๋ž˜์Šค (Class) ๋‹ค์ด์–ด๊ทธ๋žจ

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

ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๊ตฌ์„ฑ ์š”์†Œ 

ํด๋ž˜์Šค (Class)  - ๊ฐ๊ฐ ๊ฐ์ฒด๊ฐ€ ๊ฐ–๋Š” ์†์„ฑ๊ณผ ์˜คํผ๋ ˆ์ด์…˜ (ํ•จ์ˆ˜, ๋ฉ”์†Œ๋“œ) ํ‘œํ˜„ํ•จ
- ์ผ๋ฐ˜์ ์œผ๋กœ 3๊ฐœ์˜ ๊ตฌํš (Compartment) ์œผ๋กœ ๋‚˜๋ˆ  ํด๋ž˜์Šค ์ด๋ฆ„, ์†์„ฑ, ์˜คํผ๋ ˆ์ด์…˜ ํ‘œ๊ธฐ
์ œ์•ฝ์กฐ๊ฑด  - ์†์„ฑ์— ์ž…๋ ฅ๋  ๊ฐ’์— ๋Œ€ํ•œ ์ œ์•ฝ์กฐ๊ฑด, ์˜คํผ๋ ˆ์ด์…˜ ์ˆ˜ํ–‰ ์ „ ํ›„์— ์ง€์ •ํ•ด์•ผ ํ•  ์กฐ๊ฑด๋“ค ํ‘œ๊ธฐ
๊ด€๊ณ„ (Relationship) - ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค ์‚ฌ์ด์˜ ์—ฐ๊ด€์„ฑ ํ‘œํ˜„
- ๋‹ค์ด์–ด๊ทธ๋žจ์— ํ‘œํ˜„ํ•˜๋Š” ๊ด€๊ณ„์—๋Š” ์—ฐ๊ด€ ๊ด€๊ณ„, ์ง‘ํ•ฉ, ํฌํ•จ, ์ผ๋ฐ˜ํ™” ์‚ฌ์šฉ๋จ. 

์ถœ์ฒ˜: ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ

์ˆœ์ฐจ (Sequence) ๋‹ค์ด์–ด๊ทธ๋žจ 

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

์ˆœ์ฐจ ๋‹ค์ด์–ด๊ทธ๋žจ ๊ตฌ์„ฑ ์š”์†Œ

์•กํ„ฐ (Actor) ์‹œ์Šคํ…œ์œผ๋กœ๋ถ€ํ„ฐ ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ์™ธ๋ถ€ ์š”์†Œ, ์‚ฌ๋žŒ์ด๋‚˜ ์™ธ๋ถ€ ์‹œ์Šคํ…œ
๊ฐ์ฒด (Object) ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ฃผ์ฒด 

์ƒ๋ช…์„  (Lifeline) ๊ฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๊ธฐ๊ฐ„, ๊ฐ์ฒด ์•„๋ž˜์ชฝ์— ์ ์„ ์„ ๊ทธ์–ด ํ‘œํ˜„
์‹คํ–‰ ์ƒ์ž (Active box) ๊ฐ์ฒด๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ๊ตฌ๋™๋˜๊ณ  ์žˆ์Œ์„ ํ‘œํ˜„
๋ฉ”์‹œ์ง€ (Message) ๊ฐ์ฒด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€

์ถœ์ฒ˜: Research Gate