๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๊ฒฉ์ฆ๐Ÿชช/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๐Ÿ“š

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ_ํ™”๋ฉด์„ค๊ณ„ 2๐Ÿ“š

by @ENFJ 2022. 3. 14.

UI ์„ค๊ณ„

 

UML (Unified Modeling Language) : UML์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์‚ฐ์ถœ๋ฌผ์„ ๋ช…์„ธํ™”, ์‹œ๊ฐํ™”, ๋ฌธ์„œํ™” ํ• ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ๋ง ๊ธฐ์ˆ ๊ณผ ๋ฐฉ๋ฒ•๋ก ์„ ํ†ตํ•ฉํ•ด์„œ ๋งŒ๋“  ํ‘œ์ค€ํ™”๋œ ๋ฒ”์šฉ ๋ชจ๋ธ๋ง ์–ธ์–ด์ด๋‹ค.

 

UML ํŠน์ง•

 1) ๊ฐ€์‹œํ™” ์–ธ์–ด

 2) ๊ตฌ์ถ• ์–ธ์–ด

 3) ๋ช…์„ธํ™” ์–ธ์–ด

 4) ๋ฌธ์„œํ™” ์–ธ์–ด


1.ํŒจํ‚ค์ง€

ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์‹œ์Šคํ…œ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค ์‚ฌ์ด์˜ ์˜์กด ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„.

 

2. ์ง‘ํ•ฉ๊ด€๊ณ„(Aggregation) : ํ•˜๋‚˜์˜ ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ๊ฐ์ฒด๋“ค์ด ๊ตฌ์„ฑ๋˜๋Š” ๊ด€๊ณ„

   ์ง‘ํ•ฉ๊ด€๊ณ„๋Š” ํ•˜๋‚˜์˜ ์‚ฌ๋ฌผ์ด ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ด€๊ณ„ ํ‘œํ˜„

 

   ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„ (Generalization) : ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„๋Š” ํ•˜๋‚˜์˜ ์‚ฌ๋ฌผ์ด ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ๋น„ํ•ด ๋” ์ผ๋ฐ˜์ ์ธ์ง€ ๊ตฌ์ฒด์ ์ธ์ง€๋ฅผ ํ‘œํ˜„

์ผ๋ฐ˜ํ™” ๊ด€๊ณ„

 

3. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ๋ง ์‹œ ํด๋ž˜์Šค์˜ ์†์„ฑ ๋ฐ ์—ฐ์‚ฐ๊ณผ ํด๋ž˜์Šค ๊ฐ„ ์ •์ ์ธ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค.

ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๊ตฌ์„ฑ ์š”์†Œ: ํด๋ž˜์Šค ์ด๋ฆ„, ์†์„ฑ์—ฐ์‚ฐ์ ‘๊ทผ ์ œ์–ด์ž, ๊ด€๊ณ„ ๊ฐ€ ์žˆ๋‹ค.

 


1. UI ํ๋ฆ„ ์„ค๊ณ„ ์ˆ˜ํ–‰ ์ ˆ์ฐจ์ค‘ ๊ธฐ๋Šฅ ๋ฐ ์–‘์‹ ํ™•์ธ ๋‹จ๊ณ„์—์„œ๋Š” input Box, Combo Box, Radio Box, Check Box ๋“ฑ์„ ํ™•์ธํ•˜๊ณ  ๊ทœ์น™์„ ์ •ํ•ด์•ผ ํ•œ๋‹ค.

* combo box :

1) ์ดˆ๊ธฐ ์„ค์ • ๊ฐ’์€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ์šฐ์„  ์ ์šฉ ,

2) default ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ๋Š” '์ „์ฒด' ํ˜น์€ '์„ ํƒ'์˜ ๊ธฐ๋ณธ ๋ฌธ๊ตฌ๋กœ ํ†ต์ผ

3) ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ๋Š” ๋ฒ„ํŠผ ๊ฐ’์€ ๋น„์›Œ๋‘๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•˜๋„๋ก ํ•จ.

 

 

2. UI ์‹œ๋‚˜๋ฆฌ์˜ค ๋ฌธ์„œ ์ž‘์„ฑ์˜ ์š”๊ฑด

 ์™„์ „์„ฑ

: UI ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ˆ„๋ฝ์ด ์—†์–ด์•ผ ํ•˜๊ณ , ์ตœ๋Œ€ํ•œ ๋น ์ง ์—†์ด ๊ฐ€๋Šฅํ•œ ์ƒ์„ธํ•˜๊ฒŒ ๊ธฐ์ˆ ํ•˜๊ณ , ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ๋ณด๋‹ค ์‚ฌ์šฉ์ž์˜ ํƒœ์Šคํฌ์— ์ดˆ์ ์„ ๋งž์ถฐ ๊ธฐ์ˆ ํ•ด์•ผ ํ•œ๋‹ค๋Š” UI์‹œ๋‚˜๋ฆฌ์˜ค ๋ฌธ์„œ ์ž‘์„ฑ์˜ ์š”๊ฑด.

 

 ๊ฐ€๋…์„ฑ

: ๋ฌธ์„œ๋ฅผ ์‰ฝ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ณ  (๋ฌธ์„œ ํ…œํ”Œ๋ฆฟ๊ณผ ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ), ํ‘œ์ค€ํ™”๋œ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑํ•˜์—ฌ ์ ์šฉํ•˜๋ฉฐ, ๋ฒ„์ „์˜ ๋„˜๋ฒ„๋ง์€ v1.0 , v2.0 ๋“ฑ๊ณผ ๊ฐ™์ด ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ํ•ด์•ผํ•˜๋Š” UI ์‹œ๋‚˜๋ฆฌ์˜ค ๋ฌธ์„œ ์ž‘์„ฑ์˜ ์š”๊ฑด.

 

 ์ผ๊ด€์„ฑ

 ์ดํ•ด์„ฑ

 ์ถ”์  ์šฉ์ด์„ฑ

 ์ˆ˜์ • ์šฉ์ด์„ฑ

 

 

4. UML ์— ๋Œ€ํ•œ ์„ค๋ช…

1) ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ : ์‹œ์Šคํ…œ์ด๋‚˜ ๊ฐ์ฒด๋“ค์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ณผ์ •์„ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ.

 

2) ์ƒํƒœ ๋‹ค์ด์–ด๊ทธ๋žจ : ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ์ž์‹ ์ด ์†ํ•œ ํด๋ž˜์Šค์˜ ์ƒํƒœ ๋ณ€ํ™” ํ˜น์€ ๋‹ค๋ฅธ ๊ฐ์ฒด์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์— ๋”ฐ๋ผ ์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š”์ง€ ํ‘œํ˜„ํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ.

 

 

5. UML ๊ตฌ์„ฑ ์š”์†Œ : ์‚ฌ๋ฌผ, ๊ด€๊ณ„, ๋‹ค์ด์–ด๊ทธ๋žจ

 

 

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

: ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ 

 

7. UML ์ŠคํŠธ๋ ˆ์˜ค ํƒ€์ž…์„ค๋ช…

   1) <<include>> : ํ•˜๋‚˜์˜ ์œ ์Šค์ผ€์ด์Šค๊ฐ€ ์–ด๋–ค ์‹œ์ ์— ๋ฐ˜๋“œ์‹œ ๋‹ค๋ฅธ ์œ ์Šค์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํฌํ•จ ๊ด€๊ณ„

 

   2) <<extend>> : ํ•˜๋‚˜์˜ ์œ ์Šค์ผ€์ด์Šค๊ฐ€ ์–ด๋–ค ์‹œ์ ์— ๋‹ค๋ฅธ ์œ ์Šค์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ• ์ˆ˜๋„ ์žˆ๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ํ™•์žฅ ๊ด€๊ณ„

 

 

8. ์ถ”์ƒ ํด๋ž˜์Šค(Abstract Class)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„œ์ˆ ํ•˜์‹œ์˜ค.

์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ ,

๋‹จ์ง€ ์œ ์‚ฌ ํด๋ž˜์Šค๋“ค์˜ ๊ณตํ†ต๋œ ํŠน์ง•์„ ์ •์˜ํ•˜๊ณ , ํ•˜๋‚˜ ์ด์ƒ์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ์™€ ์ผ๋ฐ˜ ํ•„๋“œ ๋ฐ ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จ ํ•˜๋Š” ํด๋ž˜์Šค์ด๋‹ค.

 

9. UI ์„ค๊ณ„ ๊ธฐ๋ฒ• ์ค‘ UI ํ๋ฆ„ ์„ค๊ณ„๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„œ์ˆ ํ•˜์‹œ์˜ค.

์—…๋ฌด์˜ ํ๋ฆ„์ด๋‚˜ ์—…๋ฌด ์ˆ˜ํ–‰๊ณผ ๊ด€๋ จ๋œ ์ผ๋ จ์˜ ํด๋ฆญ์— ์˜ํ•œ ํ™”๋ฉด์˜ ์œ„์น˜์™€ ํ๋ฆ„์„ ํ๋ฆ„๋„ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ํ™œ๋™.