10์ฅ. ์ปดํฌ๋ํธ ๋ฐ UI ์ค๊ณ
Monolithic vs Modular
Monolithic : Unified (ํตํฉ)
→ constructed by one single module (๋จ์ผ ๋ชจ๋๋ก ๊ตฌ์ฑ)
Modular : Hierarchical, Abstraction, Divide & conquer (๊ณ์ธต์ , ์ถ์ํ, ๋ถํ ๋ฐ ์ ๋ณต)
→ constructed by multiple module in hierarchical fashion (๊ณ์ธต์ ๋ฐฉ์, ๋ค์ค ๋ชจ๋)
- Modular Design - easier to build, change, fix …
์ปดํฌ๋ํธ๋?
- Component (๊ตฌ์ฑ ์์) : ์ํํธ์จ์ด๋ฅผ ์ํ ๋ชจ๋์ ๋น๋ฉ ๋ธ๋ก
- "๊ตฌํ์ ์บก์ํํ๊ณ ์ผ๋ จ์ ์ธํฐํ์ด์ค๋ฅผ ํ์ํ๋ ์์คํ ์ ๋ชจ๋์, ๋ฐฐํฌ ๋ฐ ๊ต์ฒด ๊ฐ๋ฅํ ๋ถ๋ถ"(UML ๊ด์ )
- OOD ๊ด์ (๊ฐ์ฒด ์งํฅ ์ค๊ณ):
- ๊ตฌ์ฑ ์์์๋ ์ํธํ๋ ฅ ํด๋์ค ์งํฉ์ด ํฌํจ. ๊ตฌ์ฑ์์ ๋ด์ ๊ฐ ํด๋์ค๋ ํด๋น ๊ตฌ์ฑ์์์ ๊ตฌํ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์์ฑ๊ณผ ์ด์์ ํฌํจํ๋๋ก ์์ ํ ๊ตฌ์ฒดํ๋จ
- ๊ธฐ์กด ๊ด์ (๊ตฌ์กฐํ๋ ์ค๊ณ):
- ์ฒ๋ฆฌ ๋ก์ง, ์ฒ๋ฆฌ ๋ก์ง์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ด๋ถ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ๊ตฌ์ฑ ์์๋ฅผ ํธ์ถํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ ์ธํฐํ์ด์ค.
์ปดํฌ๋ํธ ์ค๊ณ ์ง์นจ
- Components
- → ์ํคํ ์ฒ ๋ชจ๋ธ์ ์ผ๋ถ๋ก ์ง์ ๋ ๊ตฌ์ฑ์์์ ๋ํ ๋ช ๋ช ๊ท์น์ ์๋ฆฝํ ํ ๊ตฌ์ฑ์์ ์์ค ๋ชจ๋ธ์ ์ผ๋ถ๋ก ์ธ๋ถํ ๋ฐ ์ ๊ตํํด์ผ ํฉ๋๋ค. (๋ฌธ์ ์งํฅ์ ๊ตฌํ ํน์ )
- Interfaces
- → ์ธํฐํ์ด์ค๋ ์ปค๋ฎค๋์ผ์ด์ ๋ฐ ํ์ ์ ๋ํ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Dependencies and Inheritance (์ข ์์ฑ ๋ฐ ์์)
- → ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ข ์์ฑ์ ๋ชจํํํ๊ณ ์๋์ชฝ(ํ์ ํด๋์ค)์์ ์์ชฝ(๊ธฐ๋ณธ ํด๋์ค)์ผ๋ก ์์์ ๋ชจํํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Cohesion (์์ง๋)
- ์ผ๋ฐ์ ๊ด์ : ๋ชจ๋์ “๋จ์ผ์ฑ”
- ๊ฐ์ฒด์งํฅ(OO) ๊ด์ : ์์ง๋๋ ๊ตฌ์ฑ์์ ๋๋ ํด๋์ค๊ฐ ์๋ก ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋ ์์ฑ ๋ฐ ์์ ๋ง ์บก์ํํ๊ณ , ํด๋์ค ๋๋ ๊ตฌ์ฑ์์ ์์ฒด์ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์์์ ์๋ฏธํจ.
- ์์ง ๋ ๋ฒจ
Coupling (๊ฒฐํฉ๋)
- ์ผ๋ฐ์ ๊ด์ : ๊ตฌ์ฑ์์(์ปดํฌ๋ํธ)๊ฐ ๋ค๋ฅธ ๊ตฌ์ฑ์์ ๋ฐ ์ธ๋ถ ์ธ๊ณ์ ์ฐ๊ฒฐ๋๋ ์ ๋
- ๊ฐ์ฒด์งํฅ ๊ด์ : ํด๋์ค๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด์๋ ์ ๋
- ๊ฒฐํฉ ๋ ๋ฒจ
์ปดํฌ๋ํธ ์ค๊ณ (OO View)
- 1๋จ๊ณ. ๋ฌธ์ ์์ญ์ ํด๋นํ๋ ๋ชจ๋ ์ค๊ณ ํด๋์ค๋ฅผ ์๋ณํฉ๋๋ค.
- 2๋จ๊ณ. ์ธํ๋ผ ์์ญ์ ํด๋นํ๋ ๋ชจ๋ ์ค๊ณ ํด๋์ค๋ฅผ ์๋ณํฉ๋๋ค. (๋ถ์ ๋ชจ๋ธ์ ์ค๋ช ๋์ง ์์ GUI, O/S ๋ฑ)
- 3๋จ๊ณ. ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์ฑ์์๋ก ํ๋๋์ง ์์ ๋ชจ๋ ์ค๊ณ ํด๋์ค๋ฅผ ์์ธํ ์ค๋ช
ํฉ๋๋ค.
- 3a๋จ๊ณ. ํด๋์ค ๋๋ ๊ตฌ์ฑ์์๊ฐ ์ํธํ๋ ฅํ ๋ ๋ฉ์์ง ์ธ๋ถ์ฌํญ์ ์ง์ ํฉ๋๋ค.
- 3b๋จ๊ณ. ๊ฐ ๊ตฌ์ฑ ์์์ ์ ํฉํ ์ธํฐํ์ด์ค๋ฅผ ์๋ณํฉ๋๋ค.
- 3c๋จ๊ณ. ์์ฑ์ ์ ๊ตํ๊ฒ ๋ง๋ค๊ณ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ ์ ํ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํฉ๋๋ค.
- 3d๋จ๊ณ. ๊ฐ ์์ ๋ด์ ์ฒ๋ฆฌ ํ๋ฆ์ ์์ธํ ์ค๋ช ํฉ๋๋ค.
- 4๋จ๊ณ. ์๊ตฌ ๋ฐ์ดํฐ ์์ค(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ํ์ผ)๋ฅผ ์ค๋ช ํ๊ณ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ํด๋์ค๋ฅผ ์๋ณํฉ๋๋ค.
- 5๋จ๊ณ. ํด๋์ค ๋๋ ๊ตฌ์ฑ์์์ ๋ํ ํ๋ ํํ์ ๊ฐ๋ฐํ๊ณ ์ ๊ตํ๊ฒ ์์ฑํฉ๋๋ค.
- 6๋จ๊ณ. ๊ตฌํ ๋ค์ด์ด๊ทธ๋จ์ ์ ๊ตํ๊ฒ ์์ฑํ์ฌ ๊ตฌํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ถ๊ฐ๋ก ์ ๊ณตํฉ๋๋ค.
- 7๋จ๊ณ. ๋ชจ๋ ๊ตฌ์ฑ์์ ์์ค์ ์ค๊ณ ํํ์ ์์ธํํ๊ณ ํญ์ ๋์์ ๊ณ ๋ คํฉ๋๋ค.
Designing Conventional Components (๊ธฐ์กด ๊ตฌ์ฑ์์ ์ค๊ณ)
- ์ ํ๋ ๋ ผ๋ฆฌ์ ๊ตฌ์ฑ ์งํฉ ์ฌ์ฉ - “Structured Programming”
- sequence, condition, loops : if-then-else, case
- options: graphical(ex: flow chart), decision table, Pseudo-code(์์ฌ์ฝ๋)(์ ์ฌ ์ฝ๋ ex:PDL)
GUI ์ค๊ณ
GUI์ ์ญ์ฌ
- ์ฌ์ฉ์ ์นํ์
- ๋ช ๋ น์ด ๊ธฐ๋ฐ, ๋ฉ๋ด ์ค์ฌ, point & pick
- Graphic User Interface : GUI
- Human Computer Interaction : HCI
- (ex: VR, AR, ๋ฉํ๋ฒ์ค ๋ฑ)
- Story → Emotion → Mind (Mindware)
4์ฐจ ์ฐ์ ํ๋ช ์ ์
- ๋ฌผ๋ฆฌ์ ๊ณต๊ฐ, ๋์งํธ ๊ณต๊ฐ, ์๋ฌผํ์ ๊ณต๊ฐ์ ๊ฒฝ๊ณ ํฌ์
- ์ด์ง๋ฅ, ์ด์ฐ๊ฒฐ, ์ด์ค๊ฐ, ์ด์ตํฉ
- ์๊ฐ, ๊ณต๊ฐ, ์ ์,ํ๋(์ฅ) → ๊ณต๋ณ์์์ฅ
์ธํฐํ์ด์ค ์ค๊ณ : ์ผ๋ฐ์ ์ธ ์ค๊ณ ์ค๋ฅ
- ์ผ๊ด์ฑ ์๋
- ๋๋ฌด ๋ง์ ์๊ธฐ๋ฅผ ์ํจ
- ์๋ด/๋์์ด ์์
- ๋ฌธ๋งฅ์ด ๋ง์ง ์์
- ์ํฌ๋ฅธ ๋ฐ์
- ๋ํดํ, ์ฐํธ์ ์ด์ง ์์
๐ก ์ธํฐํ์ด์ค ์ค๊ณ์ ํฉ๊ธ ๋ฒ์น
- ์ฌ์ฉ์๋ฅผ ์ ์ด ์ํ์ ๋์ด๋ผ
- ์ฌ์ฉ์์ ๋ฉ๋ชจ๋ฆฌ ๋ก๋๋ฅผ ๊ฐ์
- ์ธํฐํ์ด์ค ์ผ๊ด์ฑ ์ ์ง
- Place the User in Control
- ์ฌ์ฉ์์๊ฒ ๋ถํ์ํ๊ฑฐ๋ ์ํ์ง ์๋ ์์ ์ ๊ฐ์ํ์ง ์๋ ๋ฐฉ์์ผ๋ก ์ํธ์์ฉ ๋ชจ๋๋ฅผ ์ ์ํฉ๋๋ค.
- ์ ์ฐํ ์ํธ ์์ฉ์ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ค๋จ ๋ฐ ์คํ ์ทจ์ํ ์ ์์ต๋๋ค.
- ์คํฌ ๋ ๋ฒจ์ด ํฅ์๋จ์ ๋ฐ๋ผ ์ํธ ์์ฉ์ ๊ฐ์ํํ๊ณ ์ํธ ์์ฉ์ ์ฌ์ฉ์ ์ ์ํ ์ ์์ต๋๋ค.
- ์ผ๋ฐ ์ฌ์ฉ์๋ก๋ถํฐ ๊ธฐ์ ๋ด๋ถ๋ฅผ ์จ๊น๋๋ค.
- ํ๋ฉด์ ๋ํ๋๋ ๊ฐ์ฒด์ ์ง์ ์ํธ ์์ฉํ ์ ์๋๋ก ์ค๊ณํฉ๋๋ค.
- Reduce the User’s Memory Load
- ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์์๋ฅผ ์ค์ ๋๋ค. (๊ณผ๊ฑฐ ์์ ํ์ธ)
- ์๋ฏธ ์๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํฉ๋๋ค.
- ์ง๊ด์ ์ธ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ์ ์ํฉ๋๋ค. (์: ALT-P)
- ์ธํฐํ์ด์ค์ ์๊ฐ์ ๋ฐฐ์น๋ ์ค์ ์ธ๊ณ์ ์์ ์ ๊ธฐ์ดํด์ผ ํ๋ค.
- ์ ์ง์ ์ธ ๋ฐฉ์์ผ๋ก ์ ๋ณด ๊ณต๊ฐ(์: ๋ฉ๋ด ์ค์ฌ)
- Make the Interface Consistent
- ์ฌ์ฉ์๊ฐ ํ์ฌ ์์ ์ ์๋ฏธ ์๋ ์ปจํ ์คํธ์ ๋ฃ์ ์ ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๊ตฐ ์ ๋ฐ์์ ์ผ๊ด์ฑ ์ ์ง
- ๊ณผ๊ฑฐ์ ๋ํํ ๋ชจ๋ธ์ด ์ฌ์ฉ์์ ๊ธฐ๋๋ฅผ ์ฐฝ์ถํ ๊ฒฝ์ฐ์๋ ํน๋ณํ ์ด์ ๊ฐ ์๋ ํ ๋ณ๊ฒฝํ์ง ์๋๋ค. (์: Ctrl-C)
User Interface Design Models
- User model - ์์คํ ์ ๋ชจ๋ ์ต์ข ์ฌ์ฉ์(๋ ธ๋ฐ์ด์ค, ์ง์์ด ํ๋ถํ ์ฌ์ฉ์/๊ฐํ์ ์ฌ์ฉ์, ์ง์์ด ํ๋ถํ ์ฌ์ฉ์/์์ฃผ ์ฌ์ฉ์)์ ํ๋กํ, ์ ๋ฌธ๊ฐ ๊ด์ ์์ ์ฌ์ฉ์ ์ ์ฅ ๊ณ ๋ ค
- Design model - ์ฌ์ฉ์ ๋ชจ๋ธ์ ๋์์ธ ์คํ(๋ฐ์ดํฐ, ์ํคํ ์ฒ, ์ธํฐํ์ด์ค, ์ ์ฐจ), ์ค์ ๋ก ๋ง๋ค์ด๊ฐ๋ ๋ถ๋ถ
- Mental Model (์์คํ ์ธ์) - ์ธํฐํ์ด์ค๊ฐ ๋ฌด์์ธ์ง์ ๋ํ ์ฌ์ฉ์์ ์์ ๋ชจ๋ธ, ์ฌ์ฉ์๊ฐ ๊ธฐ๋ํ๋ ๊ฒ
- Implementation model - ์ธํฐํ์ด์ค ๊ตฌ๋ฌธ ๋ฐ ์๋ฏธ๋ก ์ ์ค๋ช ํ๋ ์ง์ ์ ๋ณด์ ๊ฒฐํฉ๋ ์ธํฐํ์ด์ค "๋ชจ์๊ณผ ๋๋", ์ต์ข ์ฐ์ถ๋ชจ๋ธ, ์ค์ ๊ตฌํ๋ ๋ชจ์ต
→ “Know the user, know the tasks”
UI ์ค๊ณ๊ณผ์ : ๋ถ์-์ค๊ณ-์คํ-๊ฒ์ฆ
Task Analysis and Modeling
- Use-case : ๊ธฐ๋ณธ ์ํธ ์์ฉ ์ ์
- Task elaboration : ์์ ์ ์ ๊ตํ๋ ๋ํํ ์์ ์ ๊ฐ์
- Object elaboration : ๊ฐ์ฒด ์ ๊ตํ๋ ์ธํฐํ์ด์ค ๊ฐ์ฒด(ํด๋์ค)๋ฅผ ์๋ณ
- Workflow analysis : ์ํฌํ๋ก์ฐ ๋ถ์์ ์ฌ๋ฌ ์ฌ๋(๋ฐ ์ญํ )์ด ๊ด๋ จ๋ ๊ฒฝ์ฐ ์์ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋๋ ๋ฐฉ๋ฒ์ ์ ์
- Hierarchical representation : ๊ณ์ธต์ ํํ์ ์ฌ์ฉ์๋ฅผ ์ํด ์๋ณ๋ ๊ฐ ์์ ์ ๋จ๊ณ์ ์ ๊ตํ์ ์ํด ๋์ถ
๋์คํ๋ ์ด ๋ด์ฉ ๋ถ์
- ๋ฌธ์ ๊ธฐ๋ฐ ๋ณด๊ณ ์(์: ์คํ๋ ๋์ํธ)
- ๊ทธ๋ํฝ ๋์คํ๋ ์ด(์: ํ์คํ ๊ทธ๋จ, 3-D ๋ชจ๋ธ, ๊ทธ๋ฆผ)
- ์ ๋ฌธ ์ ๋ณด (์: ์ค๋์ค ๋๋ ๋น๋์ค ํ์ผ, AR, VR)
UI ์ค๊ณ ๋ฌธ์
- ์๋ต ์๊ฐ
- ๋์๋ง ์์ค
- ์ค๋ฅ ์ฒ๋ฆฌ
- ๋ฉ๋ด ๋ฐ ๋ช ๋ น ๋ ์ด๋ธ๋ง n ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ทผ์ฑ
- ๊ตญ์ ํ
WebApp Design Quality
: ๊ฐ์ฉ์ฑ, ๊ธฐ๋ฅ, ์ ๋ขฐ์ฑ, ํจ์จ์ฑ, ์ ์ง๋ณด์์ฑ, ๋ณด์, ์ด์ฉ์ฑ, ํ์ฅ์ฑ, ์ถ์ ๊ธฐ๊ฐ
Pyramid
- ์ธํฐํ์ด์ค ์ค๊ณ
- ๋ด์ฉ๊ณผ ๊ธฐ๋ฅ์ ์ผ๊ด๋๊ฒ ํ์ ํ๋ค.
- ์ผ๋ จ์ ์ํธ์์ฉ์ ์ ๋ํ๋ค
- ํ์ ์ต์ ๋ฐ ์ฝํ ์ธ ๊ตฌ์ฑ
- ๋ฏธ์ ๋์์ธ
- ๊ธฐ์ ์ ์ธก๋ฉด์ ๋ณด์ํ๋ ์์ ์ ๋ ธ๋ ฅ
- ์ง์ ์์ค๋ฟ๋ง ์๋๋ผ ๋ณธ๋ฅ์ ์์ค๋ ์์ฉํ๋ค.
- ์์, ๋ ์ด์์, ํ ์คํธ ๊ธ๊ผด ๋ฐ ํฌ๊ธฐ, ๊ทธ๋ํฝ ๋ฑ.
- ๋ด์ฉ ์ค๊ณ
- ๋ชจ๋ ์ฝํ ์ธ ์ ๋ํ ๋ ์ด์์, ๊ตฌ์กฐ ๋ฐ ๊ฐ์ ์ ์
- ์ฝํ ์ธ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํฉ๋๋ค.
- ๋ค๋น๊ฒ์ด์
์ค๊ณ
- ์ฝํ ์ธ ๊ฐ์ฒด ๊ฐ์ ํ์ ํ๋ฆ์ ๋ํ๋ ๋๋ค.
- ์ํคํ
์ฒ ์ค๊ณ
- ์ปจํ ์ธ ์ํคํ ์ฒ์ WebApp ์ํคํ ์ฒ๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ ๋ฐ์ ์ธ ํ์ดํผ๋ฏธ๋์ด ๊ตฌ์กฐ๋ฅผ ์๋ณํฉ๋๋ค.
- ๊ตฌ์ฑ์์ ์ค๊ณ
- ์ ์ฒด WebApp ๊ธฐ๋ฅ์ ์ํ ๊ธฐ๋ฅ ๊ตฌ์ฑ์์๋ฅผ ๊ตฌํํ๋ ๋ฐ ํ์ํ ์ธ๋ถ ์ฒ๋ฆฌ ๋ก์ง ๊ฐ๋ฐ
'๐ ์ ๊ณต ๊ณต๋ถ > ์ํํธ์จ์ด๊ณตํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํํธ์จ์ด๊ณตํ] 12์ฅ. ํ ์คํ (0) | 2023.04.23 |
---|---|
[์ํํธ์จ์ด๊ณตํ] 11์ฅ. ํ์ง๊ด๋ฆฌ (0) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] 9์ฅ. ์ค๊ณ ๋ชจ๋ธ๋ง (0) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] 8์ฅ. ์ค๊ณ ๊ฐ๋ (0) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] ์์คํ ์๊ฐ : what is system? (0) | 2023.04.23 |