๐Ÿ“Certificate/Engineer Information Processing

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] - [1๊ณผ๋ชฉ] 2023 (02)

Sun A 2024. 1. 8. 14:04

[์ œ 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„]

- 2023๋…„๋„ 1ํšŒ์ฐจ (02)

๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๋ฐฉ๋ฒ•๋ก 

โ–ถ ๋ฐฉ๋ฒ•๋ก  ์ข…๋ฅ˜

1. Rumbaugh (๋Ÿผ๋ฐ”์šฐ) ๋ฐฉ๋ฒ• : ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ถ„์„ ํ™œ๋™์„ ๊ฐ์ฒด ๋ชจ๋ธ, ๋™์  ๋ชจ๋ธ, ๊ธฐ๋Šฅ ๋ชจ๋ธ๋กœ ๋‚˜๋ˆ„์–ด ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

2. Booch (๋ถ€์น˜) ๋ฐฉ๋ฒ• : ๋ฏธ์‹œ์  (Micro) ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์™€ ๊ฑฐ์‹œ์  (Macro) ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๋ถ„์„ ๋ฐฉ๋ฒ•์œผ๋กœ, ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋“ค์„ ๋ถ„์„ ๋ฐ ์‹๋ณ„ํ•˜๊ณ  ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ •์˜ํ•จ

3. Jacobson ๋ฐฉ๋ฒ• : Use Case๋ฅผ ๊ฐ•์กฐํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ถ„์„ ๋ฐฉ๋ฒ•

4. Coad์™€ Yourdon ๋ฐฉ๋ฒ• : E-R ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ํ–‰์œ„๋ฅผ ๋ชจ๋ธ๋งํ•˜๋ฉฐ, ๊ฐ์ฒด ์‹๋ณ„, ๊ตฌ์กฐ ์‹๋ณ„, ์ฃผ์ œ ์ •์˜, ์†์„ฑ๊ณผ ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ ์ •์˜, ์—ฐ์‚ฐ๊ณผ ๋ฉ”์‹œ์ง€ ์—ฐ๊ฒฐ ์ •์˜ ๋“ฑ์˜ ๊ณผ์ •์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•

5. Wirfs-Brock ๋ฐฉ๋ฒ• : ๋ถ„์„๊ณผ ์„ค๊ณ„ ๊ฐ„์˜ ๊ตฌ๋ถ„์ด ์—†๊ณ , ๊ณ ๊ฐ ๋ช…์„ธ์„œ๋ฅผ ํ‰๊ฐ€ํ•ด์„œ ์„ค๊ณ„ ์ž‘์—…๊นŒ์ง€ ์—ฐ์†์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•

 

์ž๋ฃŒ ํ๋ฆ„๋„ ( DFD )

[7-3]

โ–ถ ๊ฐœ๋…

[์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„]์˜ ๋ฐฉ๋ฒ• ์ค‘ ํ•œ ๊ฐ€์ง€.

# ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ : ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์‹ค์ œ์ ์ธ ์ฒซ ๋‹จ๊ณ„๋กœ ๊ฐœ๋ฐœ ๋Œ€์ƒ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ๋ฌธ์„œํ™”(๋ช…์„ธํ™”) ํ•˜๋Š” ํ™œ๋™์„ ์˜๋ฏธ

: ์ž๋ฃŒ์˜ ํ๋ฆ„ ๋ฐ ๋ณ€ํ™˜ ๊ณผ์ •๊ณผ ๊ธฐ๋Šฅ์„ ๋„ํ˜• ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐฉ๋ฒ• (= ์ž๋ฃŒ ํ๋ฆ„ ๊ทธ๋ž˜ํ”„, ๋ฒ„๋ธ” ์ฐจํŠธ)

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

 

โ–ถ ์ž๋ฃŒ ํ๋ฆ„๋„ ํ‘œ๊ธฐ๋ฒ•

์ž๋ฃŒ ํ๋ฆ„ (Data Flow) ํ™”์‚ดํ‘œ
์ž๋ฃŒ ์ €์žฅ์†Œ (Data Store) ์ง์„  (ํ‰ํ–‰์„ )
๋‹จ๋ง (Terminator) ์‚ฌ๊ฐํ˜• - ์•ˆ์— ์ด๋ฆ„ ๊ธฐ์ž…
ํ”„๋กœ์„ธ์Šค (Process) ์› 

 

 HIPO (Hierarchy Input Process Output)

[8-2]

โ–ถ ๊ฐœ๋…

: ์‹œ์Šคํ…œ์˜ ๋ถ„์„ ๋ฐ ์„ค๊ณ„๋‚˜ ๋ฌธ์„œํ™”ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ฒ•์œผ๋กœ, ์‹œ์Šคํ…œ ์‹คํ–‰ ๊ณผ์ •์ธ ์ž…๋ ฅ, ์ฒ˜๋ฆฌ, ์ถœ๋ ฅ์˜ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

1. ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๋ชจ๋ธ์€ ์ž…๋ ฅ, ์ฒ˜๋ฆฌ, ์ถœ๋ ฅ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ํ•˜ํ–ฅ์‹ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ฌธ์„œํ™” ๋„๊ตฌ์ด๋‹ค.

2. ์ฒด๊ณ„์ ์ธ ๋ฌธ์„œ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

3. ๊ธฐํ˜ธ, ๋„ํ‘œ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ณด๊ธฐ ์‰ฝ๊ณ  ์ดํ•ดํ•˜๊ธฐ๋„ ์‰ฝ๋‹ค.

4. ๊ธฐ๋Šฅ๊ณผ ์ž๋ฃŒ์˜ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋™์‹œ์— ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ๋ณ€๊ฒฝ, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

6. ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณ ์œ  ๋ชจ๋“ˆ๋“ค๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ด๋“ค ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ HIPO Chart ๋ผ๊ณ  ํ•œ๋‹ค.

7. HIPO ์ฐจํŠธ ์ข…๋ฅ˜์—๋Š” ๊ฐ€์‹œ์  ๋„ํ‘œ, ์ด์ฒด์  ๋„ํ‘œ, ์„ธ๋ถ€์  ๋„ํ‘œ๊ฐ€ ์žˆ๋‹ค.

 

์ƒํƒœ ๋‹ค์ด์–ด๊ทธ๋žจ  

[9-4]

โ–ถ ๊ฐœ๋…

- ํ–‰์œ„(Behavioral) ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ข…๋ฅ˜ ์ค‘ ํ•˜๋‚˜

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

2. ์ด๋ฒคํŠธ(event)์— ์˜ํ•œ ๊ฐ์ฒด๋“ค์˜ ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

3. ๋Ÿผ๋ฐ”์šฐ(Runbaugh) ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์—์„œ ๋™์  ๋ชจ๋ธ๋ง์— ํ™œ์šฉ๋œ๋‹ค. 

 

UML ํ™•์žฅ ๋ชจ๋ธ - ์Šคํ…Œ๋ ˆ์˜ค ํƒ€์ž…

[9-4]

โ–ถ ๊ฐœ๋…

: ์Šคํ…Œ๋ ˆ์˜ค ํƒ€์ž…์€ UML์—์„œ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์™ธ์— ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

: ์‚ฌ์šฉ ๊ธฐํ˜ธ - โ‰ชโ‰ซ

 

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

[10-1]

โ–ถ ๊ฐœ๋…

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

- ์™ธ๋ถ€ ์š”์†Œ์™€ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

- ์‹œ์Šคํ…œ์˜ ๋ฒ”์œ„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์™ธ๋ถ€ ์‹œ์Šคํ…œ์€ ์—‘ํ„ฐ๋กœ ํŒŒ์•…ํ•œ๋‹ค.

2. ์œ ์Šค์ผ€์ด์Šค๋Š” ์‚ฌ์šฉ์ž ์ธก๋ฉด์—์„œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•  ๋‚ด์šฉ์„ ๊ธฐ์ˆ ํ•œ๋‹ค.

3. ์‹œ์Šคํ…œ ์•กํ„ฐ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ์ด๋ฏธ ๊ฐœ๋ฐœ๋˜์–ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋ณธ ์‹œ์Šคํ…œ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋“ฑ ์„œ๋กœ ์—ฐ๋™๋˜๋Š” ์‹œ์Šคํ…œ์„ ๋งํ•œ๋‹ค.

4. ์•กํ„ฐ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ์œ ์Šค์ผ€์ด์Šค๋กœ ํŒŒ์•…ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. 

 

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌ๋ถ„

[11-3]

โ–ถ ๊ฐœ๋…

# ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค : ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์›ํ™œํ•˜๊ฒŒ ์ด๋ค„์ง€๋„๋ก ๋„์™€์ฃผ๋Š” ์žฅ์น˜๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธ

 

โ–ถ ์ƒํ˜ธ์ž‘์šฉ์˜ ์ˆ˜๋‹จ ๋ฐ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๊ตฌ๋ถ„๋œ๋‹ค.

1. CLI (Command Line Interface) : ๋ช…๋ น๊ณผ ์ถœ๋ ฅ์ด ํ…์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ด๋ค„์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค

2. GUI (Graphical User Interface) : ์•„์ด์ฝ˜์ด๋‚˜ ๋ฉ”๋‰ด๋ฅผ ๋งˆ์šฐ์Šค๋กœ ์„ ํƒํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์˜ ์ธํ„ฐํŽ˜์ด์Šค

3. NUI (Natural User Interface) : ์‚ฌ์šฉ์ž์˜ ๋ง์ด๋‚˜ ํ–‰๋™์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

→ ๋ฉ€ํ‹ฐ ํ„ฐ์น˜, ๋™์ž‘ ์ธ์‹ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์›€์ง์ž„์„ ์ธ์‹ํ•˜์—ฌ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธ

4. VUI (Voice User Interface) : ์‚ฌ๋žŒ์˜ ์Œ์„ฑ์œผ๋กœ ๊ธฐ๊ธฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

5. OUI (Organic User Interface) : ๋ชจ๋“  ์‚ฌ๋ฌผ๊ณผ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์•„๋‹Œ ํ•˜๋“œ์›จ์–ด ๋ถ„์•ผ์—์„œ ์‚ฌ๋ฌผ ์ธํ„ฐ๋„ท, ๊ฐ€์ƒํ˜„์‹ค, ์ฆ๊ฐ•ํ˜„์‹ค, ํ˜ผํ•ฉํ˜„์‹ค ๋“ฑ๊ณผ ํ•จ๊ป˜ ๋Œ€๋‘๋˜๊ณ  ์žˆ๋‹ค.

 

๋ชจ๋“ˆํ™” (Modularity)

[16-2]

โ–ถ ๊ฐœ๋…

: ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์˜ ์ˆ˜์ • ๋ฐ ์žฌ์‚ฌ์šฉ, ์œ ์ง€ ๊ด€๋ฆฌ ๋“ฑ์ด ์šฉ์ดํ•˜๋„๋ก ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ์˜๋ฏธ

# ๋ชจ๋“ˆ : ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ๋ถ„๋ฆฌ๋œ ์‹œ์Šคํ…œ์˜ ๊ฐ ๊ธฐ๋Šฅ๋“ค์„ ์˜๋ฏธ. ์„œ๋ธŒ๋ฃจํ‹ด, ์„œ๋ธŒ ์‹œ์Šคํ…œ, ์†Œํ”„ํŠธ์›จ์–ด ๋‚ด์˜ ํ”„๋กœ๊ทธ๋žจ, ์ž‘์—… ๋‹จ์œ„ ๋“ฑ๊ณผ ๊ฐ™์€ ์˜๋ฏธ

 

1.  ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ณ„์‚ฐ์‹์ด๋‚˜ ์‚ฌ์šฉ์ž ์ธ์ฆ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ๊ณตํ†ต ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. 

2. ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๋ฅผ ๋„ˆ๋ฌด ์ž‘๊ฒŒ ๋‚˜๋ˆ„๋ฉด ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์•„์ ธ ๋ชจ๋“ˆ ๊ฐ„์˜ ํ†ตํ•ฉ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ , ๋„ˆ๋ฌด ํฌ๊ฒŒ ๋‚˜๋ˆ„๋ฉด ๊ฐœ์ˆ˜๊ฐ€ ์ ์–ด ํ†ตํ•ฉ ๋น„์šฉ์€ ์ ๊ฒŒ ๋“ค์ง€๋งŒ ๋ชจ๋“ˆ ํ•˜๋‚˜์˜ ๊ฐœ๋ฐœ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. 

3. ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์˜ ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‹จ์ˆœํ•ด์ง„๋‹ค.

4. ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์˜ค๋ฅ˜์˜ ํŒŒ๊ธ‰ ํšจ๊ณผ๋ฅผ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ–ถ ํŠน์ง•

1. ๋ชจ๋“ˆ์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง„๋‹ค. 

2. ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํ†ตํ•ฉ ๋น„์šฉ์ด ๋†’์•„์ง„๋‹ค.

3. ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด ๋ชจ๋“ˆ ํ•˜๋‚˜์˜ ๊ฐœ๋ฐœ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. 

 

์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ - ํŒŒ์ดํ”„ ํ•„ํ„ฐ ํŒจํ„ด (Pipe-Filter Pattern)

[17-4]

โ–ถ ๊ฐœ๋…

:  ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ์ ˆ์ฐจ์˜ ๊ฐ ๋‹จ๊ณ„๋ฅผ ํ•„ํ„ฐ (Filter) ์ปดํฌ๋„ŒํŠธ๋กœ ์บก์Аํ™”ํ•˜์—ฌ ํŒŒ์ดํ”„ (Pipe)๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํŒจํ„ด

# ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ(Data Stream) : ๋ฐ์ดํ„ฐ๊ฐ€ ์†ก.์ˆ˜์‹  ๋˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌ๋˜๋Š” ์ผ๋ จ์˜ ์—ฐ์†์ ์ธ ํ๋ฆ„ 

 

โ–ถ ํŠน์ง•

1. ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ข‹๊ณ , ์ถ”๊ฐ€๊ฐ€ ์‰ฌ์›Œ ํ™•์žฅ์ด ์šฉ์ดํ•˜๋‹ค. 

2. ํ•„ํ„ฐ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

# ํŒŒ์ดํ”„๋ผ์ธ : ํ•„ํ„ฐ์™€ ํŒŒ์ดํ”„๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์˜๋ฏธ

3. ํŒŒ์ดํ”„ - ํ•„ํ„ฐ ํŒจํ„ด์€ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜, ๋ฒ„ํผ๋ง, ๋™๊ธฐํ™” ๋“ฑ์— ์ฃผ๋กœ ์‚ฌ์šฉ

4. ํ•„ํ„ฐ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ด๋™ ์‹œ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜์œผ๋กœ ์ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

[๋Œ€ํ‘œ์ ์œผ๋กœ UNIX์˜ ์‰˜(Shell)์ด ์žˆ๋‹ค.]

5. ์„œ๋ธŒ์‹œ์Šคํ…œ์ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์Œ ์„œ๋ธŒ์‹œ์Šคํ…œ์œผ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ

[18-2]

โ–ถ ๊ตฌ์„ฑ์š”์†Œ ์ข…๋ฅ˜

1. ๊ฐ์ฒด (Object) : ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฌถ์–ด๋†“์€ (์บก์Аํ™”ํ•œ) ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ

2. ํด๋ž˜์Šค (Class) : ๊ณตํ†ต๋œ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ(ํ–‰์œ„)๋ฅผ ๊ฐ–๋Š” ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ, ๊ฐ์ฒด์˜ ์ผ๋ฐ˜์ ์ธ ํƒ€์ž…(Type)์„ ์˜๋ฏธ

3. ์บก์Аํ™” (Encapsulation) : ๋ฐ์ดํ„ฐ (์†์„ฑ) ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฒƒ์„ ์˜๋ฏธ

4. ์ƒ์† (Inheritance) : ์ด๋ฏธ ์ •์˜๋œ ์ƒ์œ„ ํด๋ž˜์Šค (๋ถ€๋ชจ ํด๋ž˜์Šค)์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ํ•˜์œ„ ํด๋ž˜์Šค(์ž์‹ ํด๋ž˜์Šค)๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ

5. ๋‹คํ˜•์„ฑ (Polymorphism) : ๋ฉ”์‹œ์ง€์— ์˜ํ•ด ๊ฐ์ฒด(ํด๋ž˜์Šค)๊ฐ€ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋  ๋•Œ ํ•˜๋‚˜์˜ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ๊ฐ๊ฐ์˜ ๊ฐ์ฒด(ํด๋ž˜์Šค)๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ํ•œ ๋ฐฉ๋ฒ•(ํŠน์„ฑ)์œผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์˜๋ฏธ

6. ์—ฐ๊ด€์„ฑ (Relationship)  : ๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด(ํด๋ž˜์Šค)๋“ค์ด ์ƒํ˜ธ ์ฐธ์กฐํ•˜๋Š” ๊ด€๊ณ„๋ฅผ ๋งํ•œ๋‹ค.