๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Concepts

๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•, ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด : ๊ธฐ๋Šฅ ๋ชจ๋ธ ๋ถ„์„ ๊ธฐ๋ฒ•

by IworldT 2022. 3. 15.
๋ฐ˜์‘ํ˜•

 

์•ˆ๋…•ํ•˜์„ธ์š”!

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ตฌ์กฐ์ (์ ˆ์ฐจ ์ค‘์‹ฌ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ตฌ๋ถ„ํ•ด๋ณด๊ณ ,

๊ธฐ๋Šฅ๋ชจ๋ธ์„ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•๋“ค๊ณผ ์–ด๋–ค ์ƒํ™ฉ์— ๊ฐ ๊ธฐ๋ฒ•๋“ค์„ ์ด์šฉํ•˜๋Š”์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™ ๋ฐฉ๋ฒ•๋ก ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ์—ฐ๊ด€๋˜๋ฏ€๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ํ˜•ํƒœ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

1. ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

Fortran, Cobol, Pascal, C ๋“ฑ์ด ๋Œ€ํ‘œ์ ์ธ ์ ˆ์ฐจ ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

-> ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, SW์˜ ์‚ฌ์šฉ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ์œ ๊ธฐ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

2. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

C++, C#, Java ๋“ฑ์ด ๋Œ€ํ‘œ์ ์ธ ๊ฐ์ฒด ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.

-> ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ์ž๋ฃŒ์™€, ๊ทธ ์ž๋ฃŒ๋กœ ์ˆ˜ํ–‰ํ•  ๊ธฐ๋Šฅ์„ ํ•ฉ์ณ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด ๊ทธ๊ฒƒ์„ ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

 


๊ธฐ๋Šฅ๋ชจ๋ธ ๋ถ„์„ ๊ธฐ๋ฒ•

์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•์—๋Š” ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•, ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•, ์ •๋ณด๊ณตํ•™ ๋ถ„์„ ๊ธฐ๋ฒ•, ์ •ํ˜•ํ™” ๋ถ„์„ ๊ธฐ๋ฒ• ๋“ฑ์ด ์žˆ๋‹ค.

๊ธฐ๋Šฅ๋ชจ๋ธ ๋ถ„์„ ๊ธฐ๋ฒ•์—์„œ๋Š” ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๊ธฐ๋ฒ• ์ค‘ ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ• ์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค.

 

1. ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•(Structured Analysis Method)

๋ฐฉ๋ฒ•๋ก ์€ ๋ถˆ๋ช…ํ™•ํ•œ ์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ ๋„์ถœ๊ณผ ๋ณ€๊ฒฝ์œผ๋กœ ์˜์‚ฌ์†Œํ†ต์— ์–ด๋ ค์›€์ด ์žˆ๊ณ , ํ•˜์œ„ ๋ชจ๋“ˆ์—์„œ ์ƒ์œ„ ๋ชจ๋“ˆ๋กœ ๊ฐ€๋Š” ์ƒํ–ฅ์‹(Bottom-up) ๋ฐฉ์‹์˜ ๊ฐœ๋ฐœ๋กœ ์ธํ•ด ์ƒ์œ„ ๋ชจ๋“ˆ์˜ ์—๋Ÿฌ(Error) ๋ฐœ์ƒ ์‹œ ์˜ค๋ฅ˜ ์ˆ˜์ •์˜ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์–ด๋ ค์›€์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ ํ•ด ๋“ฑ์žฅํ•œ ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์€ ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋ฟŒ๋ฆฌ๋ฅผ ๋‘๊ณ  ์žˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ ๋ณผ ๋•Œ, ๋ฐ์ดํ„ฐ๋ณด๋‹ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์œ„์ฃผ๋กœ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ฌธ์ œ๋ฅผ ๊ธฐ๋Šฅ์  ๊ด€์ ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ํ”„๋กœ์„ธ์Šค์— ๋”ฐ๋ผ ์–ด๋– ํ•œ ์ž…๋ ฅ ์ž๋ฃŒ์™€ ์ถœ๋ ฅ ์ž๋ฃŒ๊ฐ€ ํ•„์š”ํ•œ์ง€๋Š” ๋‚˜์ค‘์— ๊ณ ๋ คํ•œ๋‹ค.

์ฆ‰, ๋ถ„ํ• ๊ณผ ์ •๋ณต(Divide & Conquer) ๋ฐฉ์‹์— ์˜ํ•ด ์ถ”์ƒ์ ์ธ ๊ฐœ๋…๋ถ€ํ„ฐ ์ ์ฐจ์ ์œผ๋กœ ์„ธ๋ถ„ํ™”ํ•œ๋‹ค.

 

 

2. ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•(Object Oriented Analysis Method)

๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์€ ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•๊ณผ ๊ทผ๋ณธ์ ์œผ๋กœ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋‹ฌ๋ฆฌํ•œ๋‹ค.

๋‘˜์€ ๊ฐœ๋…ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด ์„œ๋กœ ๋‹ฌ๋ผ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ถ„ํ• ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋˜ํ•œ ๋‹ค๋ฅด๋‹ค.

๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถ”์ถœํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉ ์‚ฌ๋ก€, ์ฆ‰ ์œ ์Šค์ผ€์ด์Šค(Use Case)๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋ชฉํ‘œ ์‹œ์Šคํ…œ ํŠน์„ฑ์— ๋งž๋Š” ๊ธฐ๋Šฅ๋ชจ๋ธ ๊ธฐ๋ฒ• ์„ ์ •ํ•˜๊ธฐ

 

1. ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์œ ํ˜• ํ™•์ธ

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์œ ํ˜•, ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๊ธฐ๋ฒ•, ๋ชจ๋ธ๋ง์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์˜ ํŠน์„ฑ์„ ํŒŒ์•…ํ•˜์—ฌ ๊ธฐ๋Šฅ๋ชจ๋ธ ์„ค๊ณ„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•œ๋‹ค.

 

๊ตฌ์กฐ์  ๋ฐฉ๋ฒ•, ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•, CBD ๋ฐฉ๋ฒ•

 

 

2. ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ

๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•

(1) ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ

๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ์ด ํ”„๋กœ์„ธ์Šค ๋ฐ ๊ธฐ๋Šฅ ์ค‘์‹ฌ์˜ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•œ๋‹ค.

๋˜ํ•œ, ์ถ”์ƒํ™”๋œ ๊ฐœ๋…์—์„œ๋ถ€ํ„ฐ ์„ธ๋ถ„ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ๋ฉด ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•œ๋‹ค.

 

(2) ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํŠน์„ฑ

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด ๊ตฌ์กฐ์  ๋ฐฉ๋ฒ•๋ก ์ด๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ ˆ์ฐจ์  ์–ธ์–ด ๊ธฐ๋ฐ˜์ด๋ฉด ๊ตฌ์กฐ์  ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•˜์—ฌ ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

 

3. ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ

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

 

(1) ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ

๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ์ด ๊ฐ์ฒด ๋ฐ ์ปดํฌ๋„ŒํŠธ ์ค‘์‹ฌ์˜ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•œ๋‹ค.

๋˜ํ•œ, ์žฌ์‚ฌ์šฉ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ค‘์‹ฌ์ด๊ฑฐ๋‚˜ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์—ฐ๊ณ„ ์ค‘์‹ฌ์ธ ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•œ๋‹ค.

 

(2) ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•œ ๋ชฉํ‘œ ์‹œ์Šคํ…œ์˜ ํŠน์„ฑ

๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•๋ก ์ด๊ฑฐ๋‚˜ CBD ๋ฐฉ๋ฒ•๋ก ์ด๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด ๊ธฐ๋ฐ˜์ด๋ฉด ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•˜์—ฌ ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋ชฉํ‘œ ์‹œ์Šคํ…œ ํŠน์„ฑ์ด ๊ฐ์ฒด์˜ ๊ด€์ ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ์‹ ์ด๋ผ๋ฉด ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ•์„ ์„ ์ •ํ•˜์—ฌ ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 


 

์ด๋ ‡๊ฒŒ ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ์ ˆ์ฐจ์ง€ํ–ฅ์ธ ๊ตฌ์กฐ์  ๋ถ„์„ ๋ฐฉ๋ฒ• ๋‘ ๊ฐ€์ง€๋ฅผ ๋น„๊ตํ•˜์—ฌ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

SW๋Š” ํŠน์„ฑ์— ๋”ฐ๋ผ ๊ฐ์ฒด์ง€ํ–ฅ, ์ ˆ์ฐจ์ง€ํ–ฅ ๋ฐ ๊ด€์ ์ง€ํ–ฅ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋ก ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•˜๊ณ , ์–ด๋Š ์ƒํ™ฉ์— ์“ธ ์ˆ˜ ์žˆ์„์ง€ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

์œ„ ๋‚ด์šฉ์˜ ๋ชจ๋“  ์ถœ์ฒ˜๋Š” NCS SW๊ฐœ๋ฐœ ํ•™์Šต๋ชจ๋“ˆ - ๊ธฐ๋Šฅ๋ชจ๋ธ๋ง ์— ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€