๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

#6 ์ž๊ฒฉ์ฆ ๐Ÿ—‚๏ธ/5-1 ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ] 2. ํ™”๋ฉด ์„ค๊ณ„

 

ํ™”๋ฉด ์„ค๊ณ„

 

UI ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

UI ์„ค๊ณ„ ์›์น™

ํ•™์œ ์ง์œ  (์•ฝ์ˆ )

ํ•™์Šต์„ฑ : ์ดˆ๋ณด์™€ ์ˆ™๋ จ์ž ๋ชจ๋‘๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ œ์ž‘

์œ ์—ฐ์„ฑ : ์‚ฌ์šฉ์ž ์š”๊ตฌ ์‚ฌํ•ญ ์ตœ๋Œ€ํ•œ ์ˆ˜์šฉ \ ์‹ค์ˆ˜ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ์ž‘

์ง๊ด€์„ฑ : ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์œ ํšจ์„ฑ : ์ •ํ™•ํ•˜๊ณ  ์™„๋ฒฝํ•˜๊ฒŒ ์‚ฌ์šฉ์ž ๋ชฉํ‘œ๊ฐ€ ๋‹ฌ์„ฑ๋  ์ˆ˜ ์žˆ๋„๋ก ์ œ์ž‘

UX UI

*UX : ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ = ์‹œ์Šคํ…œ, ์„œ๋น„์Šค\ ์‚ฌ์šฉ์ž๊ฐ€ ์ง.๊ฐ„์ ‘์ ์œผ๋กœ ๊ฒฝํ—˜ํ•˜๋ฉด์„œ ๋А๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ด์ œ์ ์ธ ๊ฒฝํ—˜

UI : ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์œ ํ˜•

CLI, GUI, NUI, OUI

CLI : ๋ช…๋ น์–ด๋ฅผ ํ…์ŠคํŠธ๋กœ ์ž…๋ ฅ

GUI : ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ

NUI (Natural) : ํ‚ค๋ณด๋“œ๋‚˜ ๋งˆ์šฐ์Šค ์—†์ด ์‹ ์ฒด ๋ถ€์œ„ ์ด์šฉ

OUI (Organic) : ํ˜„์‹ค์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋ฌผ์ด ์ž…์ถœ๋ ฅ ์žฅ์น˜

์‚ฌ์šฉ์„ฑ ์ƒ์„ธ ํ’ˆ์งˆ ์š”๊ตฌ์‚ฌํ•ญ

์ดํ•ด์„ฑ, ํ•™์Šต์„ฑ, ์šด์šฉ์„ฑ

์ดํ•ด์„ฑ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋…ผ๋ฆฌ์ ์ธ ๊ฐœ๋…๊ณผ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž ๋…ธ๋ ฅ ํŠน์„ฑ

ํ•™์Šต์„ฑ : ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•™์Šต์—(์ตํžˆ๋Š”๋ฐ) ํ•„์š”

์šด์šฉ์„ฑ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ์šด์šฉ๊ณผ ์šด์šฉ ํ†ต์ œ์— ํ•„์š”

UI ํ™”๋ฉด ์„ค๊ณ„ ๊ธฐ๋ฒ• ๊ตฌ๋ถ„ \ User Interface ์„ค๊ณ„ ๋„๊ตฌ ๋ฐ ์‚ฐ์ถœ๋ฌผ

์™€์ด์–ดํ”„๋ ˆ์ž„, ์Šคํ† ๋ฆฌ๋ณด๋“œ, ๋ชฉ์—…

์ดํ•ด ๊ด€๊ณ„์ž๋“ค๊ณผ์˜ ํ™”๋ฉด๊ตฌ์„ฑ์„ ํ˜‘์˜ํ•˜๊ฑฐ๋‚˜ \ ์„œ๋น„์Šค์˜ ๊ฐ„๋žตํ•œ ํ๋ฆ„์„ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด \ ํ™”๋ฉด๋‹จ์œ„์˜ ๋ ˆ์ด์•„์›ƒ์„ ์„ค๊ณ„ํ•˜๋Š” ์ž‘์—… : ์™€์ด์–ดํ”„๋ ˆ์ž„

ํ™”๋ฉด ์„ค๊ณ„๋ฅผ ์œ„ํ•ด ์ •์ฑ…์ด๋‚˜ ํ”„๋กœ์„ธ์Šค ๋ฐ ์ฝ˜ํ…์ธ ์˜ ๊ตฌ์„ฑ, ์™€์ด์–ดํ”„๋ ˆ์ž„, ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ •์˜ ๋“ฑ ๊ตฌ์ถ•ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ์ •๋ณด๊ฐ€ ์ˆ˜๋ก๋œ ๋ฌธ์„œ : *์Šคํ† ๋ฆฌ๋ณด๋“œ (์•ฝ์ˆ )

์‹ค์ œ ํ™”๋ฉด๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๋งŒ๋“  ์ •์ ์ธ ํ˜•ํƒœ์˜ ๋ชจํ˜•์œผ๋กœ ์‹œ๊ฐ์ ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์‹ค์ œ๋กœ ๊ตฌํ˜„๋˜์ง€๋Š” ์•Š๋Š”๋‹ค : *๋ชฉ์—…(Mockup)

UI ์„ค๊ณ„์ง€์นจ

์ผ๊ด€์„ฑ : ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์Šต๋“

๋‹จ์ˆœ์„ฑ : ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘๋™

๊ฐ€์‹œ์„ฑ : ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๋ฉ”์ธ ํ™”๋ฉด์— ๋…ธ์ถœํ•˜์—ฌ ์‰ฌ์šด ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.

๋ช…ํ™•์„ฑ : ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ๋…์ ์œผ๋กœ ์‰ฝ๊ฒŒ ์ธ์ง€

*์‚ฌ์šฉ์ž ์ค‘์‹ฌ : ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉ

*์ ‘๊ทผ์„ฑ : ๋‹ค์–‘ํ•œ ๊ณ„์ธต ์ˆ˜์šฉ

UI ํ’ˆ์งˆ ์š”๊ตฌ์‚ฌํ•ญ

*์‹ ๋ขฐ์„ฑ

์ž‘๋™๋˜๋Š” ์‹œ๊ฐ„๋™์•ˆ ์˜๋„๋œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰

*์‚ฌ์šฉ์„ฑ

์–ด๋– ํ•œ ํ–‰์œ„๋ฅผ ์ •ํ™•ํ•˜๊ณ  ์‰ฝ๊ฒŒ ์ธ์ง€

UI ํ’ˆ์งˆ ์š”๊ตฌ์‚ฌํ•ญ(ISO/IEC 9126 ๊ธฐ๋ฐ˜) ์ค‘ ๊ธฐ๋Šฅ์„ฑ์˜ ๋ถ€ํŠน์„ฑ

์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์ด \์ฃผ์–ด์ง„ ์ž‘์—…๊ณผ ์‚ฌ์šฉ์ž ๋ชฉํ‘œ์—\

ํ•„์š”์ ์ ˆํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด ์ค„ ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋Šฅ๋ ฅ : ์ ์ ˆ์„ฑ

์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์ด ์š”๊ตฌ๋˜๋Š” ์ •ํ™•๋„๋กœ \ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ : ์ •๋ฐ€์„ฑ

์‚ฌ์šฉ์„ฑ ํ…Œ์ŠคํŠธ (์•ฝ์ˆ  \ ๋‹จ๋‹ต)

์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ œํ’ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ

๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋งž์ถฐ ๊ณผ์ œ ์ˆ˜ํ–‰ ํ›„

์งˆ๋ฌธ์— ๋‹ตํ•˜๋„๋ก ํ•˜๋Š” ํ…Œ์ŠคํŠธ

ํ”„๋กœํ† ํƒ€์ž… ๊ฐœ๋… (์•ฝ์ˆ )

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๋˜๋Š” \์„ฑ๋Šฅ, ๊ตฌํ˜„ ๊ฐ€๋Šฅ์„ฑ, ์šด์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ํ‰๊ฐ€ํ•˜๊ฑฐ๋‚˜ \ ์ „์ฒด์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ„๋žตํ•œ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•œ ์‹œ์ œํ’ˆ

ํ”„๋กœํ† ํƒ€์ดํ•‘ ๋„๊ตฌ : UXํ•€, ์•ก์Šˆ์–ด, ๋„ค์ด๋ฒ„ ํ”„๋กœํ† ๋‚˜์šฐ

 

UI ์„ค๊ณ„

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

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

๋ฌธ์„œ๋ฅผ ์‰ฝ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ณ .. : ๊ฐ€๋…์„ฑ

์‹œ๋‚˜๋ฆฌ์˜ค ํ”Œ๋ž˜๋‹

๋ถˆํ™•์‹ค์„ฑ์ด ๋†’์€ ์ƒํ™ฉ ๋ณ€ํ™”๋ฅผ ์‚ฌ์ „์— ์˜ˆ์ธกํ•˜๊ณ 

๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•

UI ์ง€์นจ, ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ ๋„์ถœ ์ˆœ์„œ

ํŽ˜๋ฅด์†Œ๋‚˜ ์ •์˜ - ์ฝ˜์…‰ํŠธ ๋ชจ๋ธ ์ •์˜ - ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜ - UI ์ปจ์…‰์…˜

ํŽ˜๋ฅด์†Œ๋‚˜ : ์ž ์žฌ์  ์‚ฌ์šฉ์ž์˜ ๋‹ค์–‘ํ•œ ๋ชฉ์ ๊ณผ ๊ด€์ฐฐ๋œ ํ–‰๋™ ํŒจํ„ด์„ ์‘์ง‘์‹œ์ผœ ๋†“์€ ๊ฐ€์ƒ์˜ ์‚ฌ์šฉ์ž


UML

๊ฒ์ฒด์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ \

์‚ฐ์ถœ๋ฌผ์„ ๋ช…์„ธํ™”,์‹œ๊ฐํ™”,๋ฌธ์„œํ™” ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” \

ํ‘œ์ค€ํ™”๋œ ๋ฒ”์šฉ ๋ชจ๋ธ๋ง ์–ธ์–ด (์•ฝ์ˆ ํ˜•)

์‚ฌ๋ฌผ + ๊ด€๊ณ„ + ๋‹ค์ด์–ด๊ทธ๋žจ

์ ‘๊ทผ ์ œ์–ด์ž

+public

-private

#protected

๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ

ํด๋ž˜์Šค**(์†์„ฑ,* ๋ฉ”์„œ๋“œ**),** ๊ฐ์ฒด, ์ปดํฌ๋„ŒํŠธ, ๋ฐฐ์น˜, ๋ณตํ•ฉ์ฒด, ๊ตฌ์กฐ, ํŒจํ‚ค์ง€

*๋ฐฐ์น˜ ๋‹ค์ด์–ด ๊ทธ๋žจ

์ปดํฌ๋„ŒํŠธ ์‚ฌ์ด์˜ ์ข…์†์„ฑ ํ‘œํ˜„

ํ–‰์œ„์ (๋™์ )๋‹ค์ด์–ด๊ทธ๋žจ

์œ ์Šค์ผ€์ด์Šค(์‚ฌ์šฉ์ž๊ด€์ ), ์‹œํ€€์Šค, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ์ƒํƒœ, ํ™œ๋™, ํƒ€์ด๋ฐ

์‹œํ€€์Šค : ๊ฐ์ฒด , ์ƒ๋ช…์„ , ์‹คํ–‰, ๋ฉ”์‹œ์ง€๋กœ ๊ตฌ์„ฑ

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

ํ™œ๋™ : ๊ฐ์ฒด์˜ ์ฒ˜๋ฆฌ ๋กœ์ง์ด๋‚˜ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์ฒ˜๋ฆฌ์˜ ํ๋ฆ„์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ํ‘œํ˜„, ์•ก์…˜/์•กํ‹ฐ๋น„ํ‹ฐ

ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ

์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ

 

ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„

ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„

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

Realization : ์ถ”์ƒ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์† ๋ฐ›์•„ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„

Dependency : ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋˜ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉ

Association : ์„œ๋กœ ๊ฐœ๋…์ ์œผ๋กœ ์—ฐ๊ฒฐ | ์ผ๋ฐ˜์—ฐ๊ด€ / ์ง‘ํ•ฉ์—ฐ๊ด€ / ๋ณตํ•ฉ์—ฐ๊ด€

Composition : ์‚ฌ๋ฌผ์˜ ๋ณ€ํ™”๊ฐ€ ํฌํ•จ๋˜๋Š” ์‚ฌ๋ฌผ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ด€๊ณ„

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

 

UML ์ŠคํŠธ๋ ˆ์˜ค ํƒ€์ž…

include, extend

*include

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

*extend

์œ ์Šค์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ํ™•์žฅ ๊ด€๊ณ„

ํŠน์ • ์กฐ๊ฑด์—์„œ ํ•œ ์œ ์Šค์ผ€์ด์Šค๋กœ๋งŒ ๋„“์–ด์ง€๋Š” ๊ด€๊ณ„

 

์ถ”์ƒํด๋ž˜์Šค

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

LIST