Software Development Life Cycle (SDLC)
์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช
์ฃผ๊ธฐ
์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช
์ฃผ๊ธฐ(SDLC)
์ํํธ์จ์ด ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ(ํ๋ก์ธ์ค ๋ชจ๋ธ์ด๋ผ๊ณ ๋ ํจ)์ ์ํํธ์จ์ด ๋ผ์ดํ ์ฌ์ดํด์ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ๋์์ ์ผ๋ก ํํํ ๊ฒ์
๋๋ค.(diagrammatic representation) ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ์ํํธ์จ์ด ์ ํ์ด ๋ผ์ดํ ์ฌ์ดํด ๋จ๊ณ๋ฅผ ํต๊ณผํ๋๋ก ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๋ฐฉ๋ฒ์ ๋ํ๋
๋๋ค. ๋ํ ์ด๋ฌํ ๋ฐฉ๋ฒ์ด ์ํ๋๋ ๊ตฌ์กฐ๋ฅผ ํฌ์ฐฉํฉ๋๋ค.
์ฆ, ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ์์๋ถํฐ ํ๊ธฐ๊น์ง ์ํํธ์จ์ด ์ ํ์์ ์ํ๋ ๋ค์ํ ํ๋์ ๋งคํํฉ๋๋ค. ๋ค๋ฅธ ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋จ๊ณ์ ํ์ํ ๊ฐ๋ฐ ํ๋์ ๊ณํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ ์์๊ฐ ์์ผ๋ฉฐ ๋ชจ๋ ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ํ์ ํ๋์ด ํฌํจ๋์ด ์์ง๋ง ์์ ์ ๋ค๋ฅธ ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์์ ๋ณ๊ฐ์ ์์๋ก ์ํ๋ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ผ์ดํ ์ฌ์ดํด ๋จ๊ณ์์ ๋ ์ด์์ ํ๋๋ ์ํ๋ ์ ์์ต๋๋ค.
Need of SDLC (ํ์์ฑ)
๊ฐ๋ฐ ํ์ ํน์ ๊ณํ(particular plan)์ ์ ํฉํ(suitable) ์๋ช ์ฃผ๊ธฐ ๋ชจ๋ธ์ ๊ฒฐ์ ํ ๋ค์ ๊ด์ฐฐํด์ผ ํฉ๋๋ค.
์ ํํ(exact) ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ ์ฌ์ฉํ์ง ์๊ณ ์ํํธ์จ์ด ์ ํ์ ๊ฐ๋ฐ์ ์ฒด๊ณ์ ์ด๊ณ (systematic) ํ๋ จ๋ ๋ฐฉ์์ผ๋ก(disciplined manner) ์ด๋ฃจ์ด์ง์ง ์์ ๊ฒ์ ๋๋ค. ํ์ด ์ํํธ์จ์ด ์ ํ์ ๊ฐ๋ฐํ ๋ ํ ๋ํ ๊ฐ์ ์ธ์ ๋ฌด์์ ํด์ผ ํ๋์ง์ ๋ํ ๋ช ํํ ์ดํด๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํผ๋๊ณผ ํ๋ก์ ํธ ์คํจ๋ฅผ ๊ฐ๋ฆฌํฌ ๊ฒ์ ๋๋ค. ์ด ๋ฌธ์ ๋ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํ ์ ์์ต๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฌธ์ ๊ฐ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋๊ณ ๊ทธ ๋ถ๋ถ์ด ํ ๊ตฌ์ฑ์์๊ฒ ํ ๋น๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ทธ๋๋ถํฐ ํ ๋ํ๊ฐ ์์ ์๊ฒ ํ ๋น๋ ์ญํ ์ ์ํ๋ ๋ฐฉ์์ผ๋ก ์์ ๋กญ๊ฒ ๊ฐ๋ฐํ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ํ ๋ด๋น์๊ฐ ์์ ์ ํํธ์ ๋ํ ์ฝ๋ ์์ฑ์ ์์ํ๊ณ , ๋ค๋ฅธ ๋ด๋น์๊ฐ ํ ์คํธ ๋ฌธ์๋ฅผ ๋จผ์ ์ค๋นํ๊ณ , ๋ค๋ฅธ ์์ง๋์ด๊ฐ ์์ ์๊ฒ ํ ๋น๋ ์ญํ ์ ์ค๊ณ ๋จ๊ณ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํ๋ก์ ํธ ์คํจ์(project failure) ๋ํ ์๋ฒฝํ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค.
SDLC Models
์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ(SDLC)๋ ์ด๊ธฐ ํ๋น์ฑ ์กฐ์ฌ์์ ์๋ฃ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง ๊ด๋ฆฌ์ ์ด๋ฅด๊ธฐ๊น์ง ์ ๋ณด ์์คํ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ํฌํจ๋๋ ๋จ๊ณ๋ฅผ ์ ์ํ๋ ํ๋ก์ ํธ ๊ด๋ฆฌ์ ์ฌ์ฉ๋๋ ์์ (spiritual) ๋ชจ๋ธ์ ๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ ๋จ๊ณ์์ ๋ฐ๋ฅด๋ ๋ค์ํ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ผ์ดํ ์ฌ์ดํด ๋ชจ๋ธ์ด ์ง์ (specify)๋๊ณ ์ค๊ณ(design)๋ฉ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ "์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ(Software Development Process Models)"์ด๋ผ๊ณ ๋ ํฉ๋๋ค. ๊ฐ ํ๋ก์ธ์ค ๋ชจ๋ธ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋จ๊ณ์์ ์ฑ๊ณต(success)์ ๋ณด์ฅํ๊ธฐ ์ํด ํด๋น ์ ํ์ ๊ณ ์ ํ ์ผ๋ จ์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฆ ๋๋ค.
๋ค์์ SDLC ์๋ช ์ฃผ๊ธฐ์ ๋ช ๊ฐ์ง ์ค์ํ ๋จ๊ณ์ ๋๋ค.
Waterfall Model (ํญํฌ ๋ชจํ)
ํญํฌ์๋ ๋ณดํธ์ ์ผ๋ก ์ธ์ ๋๋ SDLC ๋ชจ๋ธ์
๋๋ค.
์ด ๋ฐฉ๋ฒ์์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ์ฒด ํ๋ก์ธ์ค๋ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋ฉ๋๋ค.
ํญํฌ์ ๋ชจ๋ธ์ ์๊ตฌ ์ฌํญ ๋ถ์(analysis), ์ค๊ณ(design), ๊ตฌํ(implementation), ํ
์คํธ(๊ฒ์ฆ;validation), ํตํฉ(integration) ๋ฐ ์ ์ง ๊ด๋ฆฌ์(maintenance) ๋จ๊ณ๋ฅผ ํตํด ๊ฐ๋ฐ์ด ์ง์์ ์ผ๋ก ์๋์ชฝ์ผ๋ก(ํญํฌ์ฒ๋ผ) ํ๋ฅด๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ง์์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ชจ๋ธ์
๋๋ค.
ํ๋์ ์ ํ ์์๋ ๋ช ๊ฐ์ง ์ค์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ต๋๋ค. ์ฒซ์งธ, ๋จ๊ณ์ ๋๊ณผ ๋ค์ ๋จ๊ณ์ ์์์ ์๋ณํ๋ ค๋ฉด ๊ฐ ๋จ๊ณ๊ฐ ๋๋ ๋ ๋ช ๊ฐ์ง ์ธ์ฆ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ผ๋ถ ๊ฒ์ฆ(verification) ๋ฐ ๊ฒ์ฆ(ํ
์คํธ, validation)์ ์ผ๋ฐ์ ์ผ๋ก ๋จ๊ณ์ ์ถ๋ ฅ์ด ์
๋ ฅ(input, ์ด์ ๋จ๊ณ์ ์ถ๋ ฅ)๊ณผ ์ผ์นํ๊ณ ๋จ๊ณ์ ์ถ๋ ฅ(output)์ด ์์คํ
์ ์ ์ฒด ์๊ตฌ ์ฌํญ๊ณผ ์ผ์น(consistent)ํ๋๋ก ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
1. ์๊ตฌ ์ฌํญ ๋ถ์ ๋ฐ ์ฌ์ ๋จ๊ณ: ์ด ๋จ๊ณ์ ๋ชฉํ๋ ๊ณ ๊ฐ์ ์ ํํ ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ณ ์ ์ ํ๊ฒ ๋ฌธ์ํํ๋ ๊ฒ์ ๋๋ค. ๊ณ ๊ฐ๊ณผ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์ํํธ์จ์ด์ ๋ชจ๋ ๊ธฐ๋ฅ, ์ฑ๋ฅ ๋ฐ ์ธํฐํ์ด์ค ์๊ตฌ ์ฌํญ์ ๋ฌธ์ํํ๊ธฐ ์ํด ํจ๊ป ์์ ํฉ๋๋ค. ๊ทธ๊ฒ์ "์ด๋ป๊ฒ"๊ฐ ์๋๋ผ ์์ฐ๋ ์์คํ ์ "๋ฌด์"์ ์ค๋ช ํฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ๊ณตํต ์ธ์ด๋ก ์์คํ ์ด ์ํํ ์์ ์ ๋ํ ์์ธํ ์ค๋ช ์ด ํฌํจ๋ SRS(์ํํธ์จ์ด ์๊ตฌ ์ฌํญ ์ฌ์) ๋ฌธ์๋ผ๋ ํฐ ๋ฌธ์๊ฐ ์์ฑ๋ฉ๋๋ค.
2. ์ค๊ณ ๋จ๊ณ: ์ด ๋จ๊ณ๋ SRS์ ์์ง๋ ์๊ตฌ ์ฌํญ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ถ๊ฐ ์ฝ๋ฉ์ ํ์ฉํ๋ ์ ์ ํ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋์ ์์ค์ ์์ธํ ์ค๊ณ์ ํจ๊ป ์ ์ฒด ์ํํธ์จ์ด ์ํคํ ์ฒ๋ฅผ ์ ์ํฉ๋๋ค. ์ด ๋ชจ๋ ์์ ์ ์ํํธ์จ์ด ์ค๊ณ ๋ฌธ์(SDD; Software Design Document)๋ก ๋ฌธ์ํ๋ฉ๋๋ค.
3. ๊ตฌํ ๋ฐ ๋จ์ ํ ์คํธ: ์ด ๋จ๊ณ์์ ๋์์ธ์ด ๊ตฌํ๋ฉ๋๋ค. SDD(Software Design Document)๊ฐ ์๋ฃ๋๋ฉด ์ํํธ์จ์ด ๊ฐ๋ฐ์๊ฐ ํ์๋ก ํ๋ ๋ชจ๋ ์ ๋ณด๊ฐ SDD์ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๊ตฌํ ๋๋ ์ฝ๋ฉ ๋จ๊ณ๊ฐ ์ํํ๊ฒ ์งํ๋ฉ๋๋ค.
ํ ์คํธํ๋ ๋์ ์ฝ๋๋ฅผ ์ฒ ์ ํ ๊ฒ์ฌํ๊ณ ์์ ํฉ๋๋ค. ์์ ๋ชจ๋์ ์ด๊ธฐ์ ๊ฒฉ๋ฆฌ๋ ์ํ์์ ํ ์คํธ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฌํ ๋ชจ๋๊ณผ ์ค๊ฐ ์ถ๋ ฅ ํ๋ฆ ๊ฐ์ ์ํธ ์์ฉ์ ํ์ธํ๊ธฐ ์ํด ์ผ๋ถ ์ค๋ฒํค๋ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ด๋ฌํ ๋ชจ๋์ ํ ์คํธํฉ๋๋ค.
4. ํตํฉ ๋ฐ ์์คํ ํ ์คํธ: ์ด ๋จ๊ณ๋ ์ํ๋ ํ ์คํธ์ ํจ์จ์ฑ์ ๋ฐ๋ผ ์ต์ข ์ ํ์ ํ์ง์ด ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ ๋์ ์ถ๋ ฅ์ ๊ณ ๊ฐ ๋ง์กฑ, ์ ์ง ๋ณด์ ๋น์ฉ ์ ๊ฐ, ์ ํํ ๊ฒฐ๊ณผ๋ก ์ด์ด์ง๋๋ค. ๋จ์ ํ ์คํธ๋ ๊ฐ๋ณ ๋ชจ๋์ ํจ์จ์ฑ์ ๊ฒฐ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋จ๊ณ์์ ๋ชจ๋์ ์๋ก ๋ฐ ์์คํ ๊ณผ์ ์ํธ ์์ฉ์ ๋ํด ํ ์คํธ๋ฉ๋๋ค.
5. ์ด์ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๋จ๊ณ: ์ ์ง ๊ด๋ฆฌ๋ ์ํํธ์จ์ด๊ฐ ๊ณ ๊ฐ์๊ฒ ์ ๋ฌ๋๊ณ ์ค์น ๋ฐ ์๋๋๋ฉด ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ํํ๋ ์์ ์ ๋๋ค.
Waterfall ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํด์ผ ํฉ๋๊น?
Waterfall ๋ชจ๋ธ์ ์ฌ์ฉ์ด ๊ฐ์ฅ ์ ํฉํ ์ผ๋ถ ์ํฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๊ตฌ ์ฌํญ์ด ์ผ์ ํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒฝ์ฐ.
- ํ๋ก์ ํธ๋ ์งง๋ค
- ์ํฉ์ ์กฐ์ฉ(calm)ํ๋ค
- ์ฌ์ฉ๋ ๋๊ตฌ์ ๊ธฐ์ ์ด ์ผ๊ด(consistent)๋๊ณ ๋ณ๊ฒฝ๋์ง ์๋ ๊ฒฝ์ฐ
- ๋ฆฌ์์ค๊ฐ ์ ์ค๋น๋์ด ์๊ณ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ.
Waterfall ๋ชจ๋ธ์ ์ฅ์ (Advantages)
- ์ด ๋ชจ๋ธ์ ๊ตฌํ์ด ๊ฐ๋จํ๋ฉฐ ํ์ํ ๋ฆฌ์์ค ์๋ ์ต์ํ(minimal)๋ฉ๋๋ค.
- ์๊ตฌ ์ฌํญ์ ๊ฐ๋จ(simple)ํ๊ณ ๋ช
์์ (explicitly)์ผ๋ก ์ ์ธ(declared)๋์ด ์์ต๋๋ค.
์ ์ฒด ํ๋ก์ ํธ ๊ฐ๋ฐ ๋์ ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. - ๊ฐ ๋จ๊ณ์ ์์ ์ง์ ๊ณผ ๋ ์ง์ ์ด ๊ณ ์ (fixed)๋์ด ์์ด ์งํ ์ํฉ์(cover progress) ์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
- ์์ ํ์ ์ถ์์ผ(release date)๊ณผ ์ต์ข ๋น์ฉ์(final cost) ๊ฐ๋ฐ ์ ์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
- ์๊ฒฉํ(strict) ๋ณด๊ณ ์์คํ ์ผ๋ก ์ธํด ๊ณ ๊ฐ์๊ฒ ์ฌ์ด ์ ์ด ๋ฐ ๋ช ํ์ฑ(clarity)์ ์ ๊ณตํฉ๋๋ค.
Waterfall ๋ชจ๋ธ์ ๋จ์ (Disadvantages)
- ์ด ๋ชจ๋ธ์์๋ ์ํ ์์๊ฐ ๋ ๋์ผ๋ฏ๋ก ์ด ๋ชจ๋ธ์ ๋ ์ค์ํ๊ณ (significant) ๋ณต์กํ(complex) ํ๋ก์ ํธ์ ์ ํฉํ์ง ์์ต๋๋ค.
- ์ด ๋ชจ๋ธ์ ๊ฐ๋ฐ ์ค ์๊ตฌ ์ฌํญ์ ๋ณ๊ฒฝ ์ฌํญ์ ์์ฉํ ์ ์์ต๋๋ค.
- ๋จ๊ณ๋ก ๋์๊ฐ๊ธฐ๊ฐ ์ด๋ ค์์ง๋๋ค.
์๋ฅผ ๋ค์ด, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด์ ์ฝ๋ฉ ๋จ๊ณ๋ก ์ ํ๋์๊ณ ์๊ตฌ ์ฌํญ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ๋์๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ด๋ ค์์ง๋๋ค. - ํ ์คํธ๋ ํ๊ธฐ ๋จ๊ณ์์ ์ํ๋๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ๋จ๊ณ์ ๊ณผ์ ์ ์ํ์ ์๋ณํ ์ ์์ผ๋ฏ๋ก ์ํ ๊ฐ์ ์ ๋ต(risk reduction strategy)์ ์ค๋นํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
RAD ๋ชจ๋ธ (Rapid Application Development)
RAD ๋๋ Rapid Application Development ํ๋ก์ธ์ค๋ ํญํฌ์ ๋ชจ๋ธ(๋จ๊ธฐ๊ฐ์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ํญํฌ์ ๋ชจ๋ธ)์์ ๊ธฐ๋ฐํฉ๋๋ค. RAD ๋ชจ๋ธ์ ํฌ์ปค์ค ๊ทธ๋ฃน์ ์ฌ์ฉํ์ฌ ์์คํ ์๊ตฌ ์ฌํญ์ ์์งํจ์ผ๋ก์จ ๋ ์งง์ ์๊ฐ์ ๋ ๋์ ์์คํ ์ ๊ฐ๋ฐํ ์ ์๋ค๋ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
- ๋น์ฆ๋์ค ๋ชจ๋ธ๋ง
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ํ๋ก์ธ์ค ๋ชจ๋ธ๋ง
- ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ
- ํ ์คํธ ๋ฐ ํ์ ์จ
1. ๋น์ฆ๋์ค ๋ชจ๋ธ๋ง: ๋น์ฆ๋์ค ๊ธฐ๋ฅ ๊ฐ์ ์ ๋ณด ํ๋ฆ์ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์ฃผ๋ํ๋ ๋ฐ์ดํฐ, ์์ฑ๋ ๋ฐ์ดํฐ, ์์ฑํ ์ฌ๋, ์ ๋ณด๊ฐ ์ด๋๋ก ๊ฐ๋์ง, ์ฒ๋ฆฌํ๋ ์ฌ๋ ๋ฑ๊ณผ ๊ฐ์ ์ง๋ฌธ์ ๋ตํจ์ผ๋ก์จ ์ ์๋ฉ๋๋ค.
2. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง: ๋น์ฆ๋์ค ๋ชจ๋ธ๋ง์์ ์์ง๋ ๋ฐ์ดํฐ๋ ๋น์ฆ๋์ค๋ฅผ ์ง์ํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด(์ํฐํฐ) ์งํฉ์ผ๋ก ์ธ๋ถํ๋ฉ๋๋ค. ์์ฑ(๊ฐ ์ํฐํฐ์ ๋ฌธ์)์ ์๋ณํ๊ณ ์ด๋ฌํ ๋ฐ์ดํฐ ๊ฐ์ฒด(์ํฐํฐ) ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํฉ๋๋ค.
๋์์ ์ฌ์
3. ํ๋ก์ธ์ค ๋ชจ๋ธ๋ง: ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋จ๊ณ์์ ์ ์๋ ์ ๋ณด ๊ฐ์ฒด๋ ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ณํ๋ฉ๋๋ค. ๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐ, ์์ , ์ญ์ ๋๋ ๊ฒ์ํ๊ธฐ ์ํด ์ฒ๋ฆฌ ์ค๋ช ์ด ์์ฑ๋ฉ๋๋ค.
4. ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ: ์๋ํ๋ ๋๊ตฌ๋ ์ํํธ์จ์ด ๊ตฌ์ถ์ ์ฉ์ดํ๊ฒ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฌ์ง์ด ๊ทธ๋ค์ 4์ฐจ GL ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค.
5. ํ ์คํธ ๋ฐ ์ ํ: ๋ง์ ํ๋ก๊ทธ๋๋ฐ ๊ตฌ์ฑ ์์๋ RAD ๊ฐ์กฐ ์ฌ์ฌ์ฉ ์ดํ๋ก ์ด๋ฏธ ํ ์คํธ๋์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ฒด ํ ์คํธ ์๊ฐ์ด ๋จ์ถ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ถํ์ ํ ์คํธํด์ผ ํ๊ณ ๋ชจ๋ ์ธํฐํ์ด์ค๊ฐ ์์ ํ ์คํ๋์ด์ผ ํฉ๋๋ค.
RAD ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์์คํ ์ด ์งง์ ์๊ฐ(2~3๊ฐ์)์ ๋ชจ๋ํ ํ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ผ ํ ๋.
- ์๊ตฌ ์ฌํญ์ด ์ ์๋ ค์ง ๊ฒฝ์ฐ.
- ๊ธฐ์ ์ ์ํ์ด ์ ํ๋ ๊ฒฝ์ฐ.
- 2~3๊ฐ์ ๋ง์ ๋ชจ๋ํ ํ ์์คํ ์ ๋ง๋ค์ด์ผ ํ ๋.
- ์์ฐ์ด ์๋ ์ฝ๋ ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
RAD ๋ชจ๋ธ์ ์ฅ์ (Advantages)
- ์ด ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ด ๋ชจ๋ธ์์๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ์ ์์ต๋๋ค.
- RAD์ ๊ฐ ๋จ๊ณ๋ ๊ณ ๊ฐ์๊ฒ ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๊ฐ๋ฐ ์๊ฐ์ ๋จ์ถํ์ต๋๋ค.
- ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ ๋๋ค.
RAD ๋ชจ๋ธ์ ๋จ์ (Disadvantages)
- ๊ณ ๋๋ก ์๋ จ๋ ๋์์ด๋๊ฐ ํ์ํ์ต๋๋ค.
- ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ RAD์ ํธํ๋์ง ์์ต๋๋ค.
- ์๊ท๋ชจ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ RAD ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ธฐ์ ์ ์ํ์ด ๋๊ธฐ ๋๋ฌธ์ ์ ํฉํ์ง ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ฐธ์ฌ๊ฐ ํ์ํฉ๋๋ค.
Spiral Model (๋์ ํ ๋ชจ๋ธ)
๋์ ํ ๋ชจ๋ธ์ ์ํ ์ฃผ๋ ํ๋ก์ธ์ค(risk-driven process) ๋ชจ๋ธ์
๋๋ค. ์ด SDLC ๋ชจ๋ธ์ ๊ทธ๋ฃน์ด ํญํฌ์(waterfall), ์ฆ๋ถ(incremental) ๋ฑ๊ณผ ๊ฐ์ ํ๋ ์ด์์ ํ๋ก์ธ์ค ๋ชจ๋ธ ์์๋ฅผ ์ฑํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋์ ํ ๊ธฐ๋ฒ์ ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ํ๋์์ ์ ์ํ ํ๋กํ ํ์ดํ๊ณผ(prototyping) ๋์์ฑ์(concurrency) ์กฐํฉ์
๋๋ค.
๋์ ํ์ ๊ฐ ์ฃผ๊ธฐ๋ ํด๋น ์ฃผ๊ธฐ์ ๋ชฉํ, ๋ชฉํ ๋ฌ์ฑ์ ์ํด ๊ฐ๋ฅํ ๋ค์ํ ๋์, ์กด์ฌํ๋ ์ ์ฝ ์กฐ๊ฑด์ ์๋ณํ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์ด๊ฒ์ ์ฃผ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์ฌ๋ถ๋ฉด(์ผ์ชฝ ์ ์ฌ๋ถ๋ฉด)์
๋๋ค.
์ฃผ๊ธฐ์ ๋ค์ ๋จ๊ณ๋ ๋ชฉํ์(objectives) ์ ์ฝ ์กฐ๊ฑด์(constraints) ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฌํ ๋ค์ํ ๋์์ ํ๊ฐ(evaluate)ํ๋ ๊ฒ์
๋๋ค. ์ด ๋จ๊ณ์์ ํ๊ฐ์ ์ด์ ์ ํ๋ก์ ํธ์ ๋ํ ์ํ ์ธ์์(risk perception) ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ ๋ถํ์ค์ฑ๊ณผ(uncertainties) ์ํ์(risks) ํด๊ฒฐํ๋ ์ ๋ต์ ๊ฐ๋ฐํ๋ ๊ฒ์
๋๋ค. ์ด ๋จ๊ณ์๋ ๋ฒค์น๋งํน(benchmarking), ์๋ฎฌ๋ ์ด์
(simulation) ๋ฐ ํ๋กํ ํ์ดํ๊ณผ(prototyping) ๊ฐ์ ํ๋์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ชฉํ ์ค์ : ๋์ ํ์ ๊ฐ ์ฃผ๊ธฐ๋ ํด๋น ์ฃผ๊ธฐ์ ๋ชฉ์ ์๋ณ, ๋ชฉํ ๋ฌ์ฑ์ ์ํด ๊ฐ๋ฅํ ๋ค์ํ ๋์, ์กด์ฌํ๋ ์ ์ฝ์ผ๋ก ์์ํฉ๋๋ค.
- ์ํ ํ๊ฐ ๋ฐ ๊ฐ์ : ์ฃผ๊ธฐ์ ๋ค์ ๋จ๊ณ๋ ๋ชฉํ์ ์ ์ฝ ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฌํ ๋ค์ํ ๋์์ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ์์ ํ๊ฐ์ ์ด์ ์ ํ๋ก์ ํธ์ ๋ํ ์ํ ์ธ์์ ์์ต๋๋ค.
- ๊ฐ๋ฐ ๋ฐ ๊ฒ์ฆ : ๋ค์ ๋จ๊ณ๋ ๋ถํ์ค์ฑ๊ณผ ์ํ์ ํด๊ฒฐํ๋ ์ ๋ต์ ๊ฐ๋ฐํ๋ ๊ฒ์ ๋๋ค. ์ด ํ๋ก์ธ์ค์๋ ๋ฒค์น๋งํน, ์๋ฎฌ๋ ์ด์ ๋ฐ ํ๋กํ ํ์ดํ๊ณผ ๊ฐ์ ํ๋์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๊ณํ: ๋ง์ง๋ง์ผ๋ก ๋ค์ ๋จ๊ณ๊ฐ ๊ณํ๋ฉ๋๋ค. ํ๋ก์ ํธ๊ฐ ๊ฒํ ๋๊ณ ๋์ ํ์ ์ถ๊ฐ ๊ธฐ๊ฐ์ ๊ณ์ํ ์ง ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค. ์ ์งํ๊ธฐ๋ก ๊ฒฐ์ ๋๋ฉด ํ๋ก์ ํธ์ ๋ค์ ๋จ๊ณ์ ๋ํ ๊ณํ์ด ์๋ฆฝ๋ฉ๋๋ค.
๊ฐ๋ฐ ๋จ๊ณ๋ ๋๋จธ์ง ์ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฑ๋ฅ ๋๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ํ์ด ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์ํ๋ณด๋ค ๋ ์ค์ํ๊ฒ ์ทจ๊ธ๋๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ๋ ์ํ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ณด๋ค ์์ธํ ํ๋กํ ํ์ ๊ฐ๋ฐ์ ํฌํจํ๋ ์งํ์ ๊ฐ๋ฐ์ด ๋ ์ ์์ต๋๋ค.
๋์ ํ ๋ชจ๋ธ์ ์ํ ์ค์ฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ฌ์ ์งํฅ, ํ๋กํ ํ์ ์งํฅ, ์๋ฎฌ๋ ์ด์ ์งํฅ ๋๋ ๋ค๋ฅธ ์ ํ์ ์ ๊ทผ ๋ฐฉ์์ ํผํฉํ์ฌ ์์ฉํ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ ํ์ ์์๋ ๋์ ํ์ ๊ฐ ๊ธฐ๊ฐ์ด ๋ค์ ์ฃผ๊ธฐ์ ๋ํ ๊ณํ์ ํฌํจํ์ฌ ํด๋น ์ฃผ๊ธฐ ๋์ ๊ฐ๋ฐ๋ ๋ชจ๋ ์ ํ์ ํฌํจํ๋ ๊ฒํ ์ ์ํด ์๋ฃ๋๋ค๋ ๊ฒ์ ๋๋ค. ๋์ ํ ๋ชจ๋ธ์ ๊ฐ๋ฐ ๋ฐ ๊ฐ์ ํ๋ก์ ํธ์ ์ ์ฉ๋ฉ๋๋ค.
Spiral ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์์ฃผ ๊ตฌ์ถํด์ผ ํ ๋.
- ํ๋ก์ ํธ๊ฐ ํด ๋
- ์๊ตฌ ์ฌํญ์ด ๋ช ํํ์ง ์๊ณ ๋ณต์กํ ๋
- ์ธ์ ๋ ์ง ๋ณ๊ฒฝ์ด ํ์ํ ์ ์๋ ๊ฒฝ์ฐ
- ๋๊ท๋ชจ ๋ฐ ๋์ ์์ฐ ํ๋ก์ ํธ
Spiral ๋ชจ๋ธ์ ์ฅ์ (Advantages)
- ๋ง์ ์์ ์ํ ๋ถ์
- ํฌ๊ณ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ํ ํ๋ก์ ํธ์ ์ ์ฉํฉ๋๋ค.
Spiral ๋ชจ๋ธ์ ๋จ์ (Disadvantages)
- ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ชจ๋ธ์ด ๋ ์ ์์ต๋๋ค.
- ์ํ ๋ถ์์๋ ๊ณ ๋์ ์ ๋ฌธ ์ง์์ด ํ์ํ์ต๋๋ค.
- ์๊ท๋ชจ ํ๋ก์ ํธ์์๋ ์ ์๋ํ์ง ์์ต๋๋ค.
V-๋ชจ๋ธ
์ด๋ฌํ ์ ํ์ SDLC ๋ชจ๋ธ ํ
์คํธ ๋ฐ ๊ฐ๋ฐ์์๋ ๋จ๊ณ๊ฐ ๋ณ๋ ฌ(parallel)๋ก ๊ณํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ธก๋ฉด์๋ ๊ฒ์ฆ(verification) ๋จ๊ณ๊ฐ ์๊ณ ๋ค๋ฅธ ์ธก๋ฉด์๋ ๊ฒ์ฆ(ํ
์คํธ, validation) ๋จ๊ณ๊ฐ ์์ต๋๋ค.
V-Model์ ์ฝ๋ฉ(Coding) ๋จ๊ณ์ ์ํด ์กฐ์ธ๋ฉ๋๋ค.
Verification
์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ์ํ๋๋ ์ ์ (static) ๋ถ์ ๋ฐฉ๋ฒ(๊ฒํ )์ ํฌํจํฉ๋๋ค.
์ ํ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ(product development process) ํ๊ฐํ์ฌ ์ง์ ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ํ๋ก์ธ์ค์
๋๋ค.
Verification ๋จ๊ณ์๋ ๋ค์ํ ๋จ๊ณ๊ฐ ์์ต๋๋ค.
- ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ ๋ถ์: ๊ณ ๊ฐ ์ ์ฅ์์ ์ ํ ์๊ตฌ ์ฌํญ์ ์ดํดํ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ ๋๋ค. ์ด ๋จ๊ณ์๋ ๊ณ ๊ฐ์ ๊ธฐ๋์ ์ ํํ ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ธฐ ์ํ ์์ธํ ์ปค๋ฎค๋์ผ์ด์ ์ด ํฌํจ๋ฉ๋๋ค.
- ์์คํ ์ค๊ณ: ์ด ๋จ๊ณ์์ ์์คํ ์์ง๋์ด๋ ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ ๋ฌธ์๋ฅผ ์ฐ๊ตฌํ์ฌ ์ ์๋ ์์คํ ์ ๋น์ฆ๋์ค๋ฅผ ๋ถ์ํ๊ณ ํด์ํฉ๋๋ค.
- ์ํคํ ์ฒ ์ค๊ณ: ์ํคํ ์ฒ ์ ํ์ ๊ธฐ์ค์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ชฉ๋ก, ๊ฐ ๋ชจ๋์ ๊ฐ๋ตํ ๊ธฐ๋ฅ, ์ธํฐํ์ด์ค ๊ด๊ณ, ์ข ์์ฑ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ, ์ํคํ ์ฒ ๋ค์ด์ด๊ทธ๋จ, ๊ธฐ์ ์ธ๋ถ ์ ๋ณด ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ ๊ฒ์ ์ดํดํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ํตํฉ ํ ์คํธ ๋ชจ๋ธ์ ํน์ ๋จ๊ณ์์ ์ํ๋ฉ๋๋ค.
- ๋ชจ๋ ์ค๊ณ: ๋ชจ๋ ์ค๊ณ ๋จ๊ณ์์ ์์คํ ์ ์์ ๋ชจ๋๋ก ๋๋ฉ๋๋ค. ๋ชจ๋์ ์ธ๋ถ ์ค๊ณ๊ฐ ์ง์ ๋๋ฉฐ ์ด๋ฅผ ์ ์์ค ์ค๊ณ๋ผ๊ณ ํฉ๋๋ค.
- ์ฝ๋ฉ ๋จ๊ณ: ๋์์ธ ํ ์ฝ๋ฉ ๋จ๊ณ๊ฐ ์์๋ฉ๋๋ค. ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ ์ ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ์ฝ๋ฉ์ ๋ํ ๋ช ๊ฐ์ง ์ง์นจ๊ณผ ํ์ค์ด ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฒดํฌ์ธํ๊ธฐ ์ ์ ์ต์ข ๋น๋๋ ๋ ๋์ ์ฑ๋ฅ์ ์ํด ์ต์ ํ๋๊ณ ์ฝ๋๋ ์ฑ๋ฅ์ ํ์ธํ๊ธฐ ์ํด ๋ง์ ์ฝ๋ ๊ฒํ ๋ฅผ ๊ฑฐ์นฉ๋๋ค.
Validation
๋์ (dynamic) ๋ถ์ ๋ฐฉ๋ฒ(๊ธฐ๋ฅ;functional, ๋น๊ธฐ๋ฅ;non-functional)์ ํฌํจํ๋ฉฐ ํ ์คํธ๋ ์ฝ๋๋ฅผ ์คํํ์ฌ ์ํ๋ฉ๋๋ค. ํ ์คํธ๋ ์ํํธ์จ์ด๊ฐ ๊ณ ๊ฐ์ ๊ธฐ๋์(customer expectations) ์๊ตฌ ์ฌํญ์(requirements) ์ถฉ์กฑํ๋์ง ํ์ธํ๊ธฐ ์ํด ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋ ํ ์ํํธ์จ์ด๋ฅผ ๋ถ๋ฅ(classify)ํ๋ ํ๋ก์ธ์ค์ ๋๋ค.
Validation๋จ๊ณ์๋ ๋ค์ํ ๋จ๊ณ๊ฐ ์์ต๋๋ค.
- ๋จ์ ํ ์คํธ: V-Model์์ UTP(Unit Test Plans; ๋จ์ ํ ์คํธ ๊ณํ)๋ ๋ชจ๋ ์ค๊ณ ๋จ๊ณ์์ ๊ฐ๋ฐ๋ฉ๋๋ค. ์ด๋ฌํ UTP๋ ์ฝ๋ ์์ค ๋๋ ๋จ์ ์์ค์์ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์คํ๋ฉ๋๋ค. ๋จ์๋ ํ๋ก๊ทธ๋จ ๋ชจ๋๊ณผ ๊ฐ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ ์ ์๋ ๊ฐ์ฅ ์์ ๊ฐ์ฒด์ ๋๋ค. ๋จ์ ํ ์คํธ๋ ๊ฐ์ฅ ์์ ์ํฐํฐ๊ฐ ๋๋จธ์ง ์ฝ๋/๋จ์์ ๊ฒฉ๋ฆฌ๋ ๋ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
- ํตํฉ ํ ์คํธ: ํตํฉ ํ ์คํธ ๊ณํ์ ์ํคํ ์ฒ ์ค๊ณ ๋จ๊ณ์์ ๊ฐ๋ฐ๋ฉ๋๋ค. ์ด ํ ์คํธ๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋ค๊ณ ํ ์คํธํ ๊ทธ๋ฃน์ด ์๋ก ๊ณต์กดํ๊ณ ํต์ ํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
- ์์คํ ํ ์คํธ: ์์คํ ํ ์คํธ ๊ณํ์ ์์คํ ์ค๊ณ ๋จ๊ณ์์ ๊ฐ๋ฐ๋ฉ๋๋ค. ๋จ์ ๋ฐ ํตํฉ ํ ์คํธ ๊ณํ๊ณผ ๋ฌ๋ฆฌ ์์คํ ํ ์คํธ ๊ณํ์ ํด๋ผ์ด์ธํธ์ ๋น์ฆ๋์ค ํ์์ ๊ตฌ์ฑ๋ฉ๋๋ค. ์์คํ ํ ์คํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ๊ธฐ๋๊ฐ ์ถฉ์กฑ๋๋์ง ํ์ธํฉ๋๋ค.
- ์ธ์ ํ ์คํ : ์๋ฝ ํ ์คํ ์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ ๋ถ์ ๋ถ๋ถ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์ํํธ์จ์ด ์ ํ์ ํ ์คํธํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค. ์น์ธ ํ ์คํธ๋ ์ฌ์ฉ์ ํ๊ฒฝ ๋ด์์ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ์์คํ ๊ณผ์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๋ํ๋ ๋๋ค. ์ค์ ์ฌ์ฉ์ ํ๊ฒฝ ๋ด์์ ๋ถํ ๋ฐ ์ฑ๋ฅ ๊ฒฐํจ๊ณผ ๊ฐ์ ๋น๊ธฐ๋ฅ์ ๋ฌธ์ ๋ฅผ ๊ณต๋์ผ๋ก ๋ฐ๊ฒฌํฉ๋๋ค.
๊ทธ๋์ V-Model์ ๋ค๋ฅธ ์ชฝ์ ์๋ ๊ฒ์ฆ(Verification) ๋จ๊ณ์ ํ์ชฝ์ ๊ฒ์ฆ(ํ ์คํธ, Validation) ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค. ๊ฒ์ฆ ๋ฐ ๊ฒ์ฆ ๊ณผ์ ์ V์ ํํ์ ์ฝ๋ฉ ๋จ๊ณ๋ก ๊ฒฐํฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ V-๋ชจ๋ธ์ด๋ผ๊ณ ํฉ๋๋ค.
V-Model์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์๊ตฌ ์ฌํญ์ด ๋ช ํํ๊ณ ๋ชจํธํ์ง ์์ ๊ฒฝ์ฐ.
- V์ํ ๋ชจ๋ธ์ ์๊ตฌ ์ฌํญ์ด ๋ช ํํ๊ฒ ์ ์๋๊ณ ๊ณ ์ ๋ ์ค์ ๊ท๋ชจ(medium-sized) ํ๋ก์ ํธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- V์ํ ๋ชจ๋ธ์ ํ์ ๊ธฐ์ ์ ๋ฌธ ์ง์๊ณผ(essential technical expertise) ํจ๊ป ์ํ ๊ธฐ์ ๋ฆฌ์์ค๋ฅผ(ample technical resources) ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ ํํด์ผ ํฉ๋๋ค.
V-Model์ ์ฅ์ (Advantages)
- ์ดํดํ๊ธฐ ์ฌ์ด(Easy to Understand).
- ๊ณํ, ํ ์คํธ ์ค๊ณ์ ๊ฐ์ ํ ์คํธ ๋ฐฉ๋ฒ์ ์ฝ๋ฉ ์ ์ ์ ์ํ๋ฉ๋๋ค.
- ์ด๊ฒ์ ๋ง์ ์๊ฐ์ ์ ์ฝํฉ๋๋ค. ๋ฐ๋ผ์ ํญํฌ์ ๋ชจ๋ธ๋ณด๋ค ์ฑ๊ณตํ ๊ฐ๋ฅ์ฑ์ด ๋ ๋์ต๋๋ค.
- ๊ฒฐํจ์ ํํฅ ํ๋ฆ์(downward flow) ๋ฐฉ์ง(Avoids)ํฉ๋๋ค.
- ์๊ตฌ ์ฌํญ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ์๊ท๋ชจ ๊ณํ์ ์ ํฉํฉ๋๋ค.
V-Model์ ๋จ์ (Disadvantages)
- ๋งค์ฐ ๋จ๋จํ๊ณ (Very rigid) ์ ์ฐ์ฑ(flexible)์ด ๊ฑฐ์ ์์ต๋๋ค.
- ๋ณต์กํ(complex) ํ๋ก์ ํธ์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ์ํํธ์จ์ด๋ ๊ตฌํ ๋จ๊ณ์์ ๊ฐ๋ฐ๋๋ฏ๋ก ์ํํธ์จ์ด์ ์ด๊ธฐ ํ๋กํ ํ์ ์ด ์์ฑ๋์ง ์์ต๋๋ค.
- ์ค๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ํ์ํ ๋ฌธ์์ ํจ๊ป ํ ์คํธ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
Incremental Model (์ฆ๋ถ ๋ชจ๋ธ)
์ฆ๋ถํ ๋ชจ๋ธ์ ๋ณ๋๋ ๋ถ๋ฅ๋ ๋ชจ๋ธ์ด ์๋๋๋ค. ์ฆ๋ถ ๋ชจ๋ธ์ ํญํฌ์ ๋ชจ๋ธ์์ ๊ฐ๋ผ์ง ํ๋์ ์ฌ์ดํด์ด๋ค. (necessarily a series of waterfall cycles)
์๊ตฌ ์ฌํญ์ ํ๋ก์ ํธ ์์ ์ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค. ๊ฐ ๊ทธ๋ฃน์ ๋ํด SDLC ๋ชจ๋ธ์ ๋ฐ๋ผ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํฉ๋๋ค. ๋ชจ๋ ์๊ตฌ ์ฌํญ์ด ์ถฉ์กฑ๋ ๋๊น์ง ๊ฐ ๋ฆด๋ฆฌ์ค์ ๋ ๋ง์ ๊ธฐ๋ฅ(functionality)์ด ์ถ๊ฐ๋๋ฉด์ SDLC ํ๋ก์ธ์ค๊ฐ ๋ฐ๋ณต๋ฉ๋๋ค(repeated). ์ด ๋ฐฉ๋ฒ์์ ๊ฐ ์ฃผ๊ธฐ๋ ์ด์ ์ํํธ์จ์ด ๋ฆด๋ฆฌ์ค์ ์ ์ง ๊ด๋ฆฌ ๋จ๊ณ ์ญํ ์ ํฉ๋๋ค. ์ฆ๋ถ ๋ชจ๋ธ์ ์์ ํ๋ฉด ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ๊ฒน์น ์ ์์ต๋๋ค(overlap). ๊ทธ๋ค์ ์ฃผ๊ธฐ๋ ์ด์ ์ฃผ๊ธฐ๊ฐ ์๋ฃ๋๊ธฐ ์ ์ ์์๋ ์ ์์ต๋๋ค.
1. ์๊ตฌ ์ฌํญ ๋ถ์: ์ฆ๋ถ ๋ชจ๋ธ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์ ์ ํ ๋ถ์ ์ ๋ฌธ ์ง์์ด ์๊ตฌ ์ฌํญ์ ์๋ณํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์คํ ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ์ ์๊ตฌ ์ฌํญ ๋ถ์ ํ์์ ์ดํดํฉ๋๋ค. ์ฆ๋ถ ๋ชจ๋ธ์์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํด ์ด ๋จ๊ณ๋ ์ค์ํ ์ญํ ์ ์ํํฉ๋๋ค.
2. ์ค๊ณ ๋ฐ ๊ฐ๋ฐ: SDLC์ ์ฆ๋ถ ๋ชจ๋ธ์ ์ด ๋จ๊ณ์์ ์์คํ ๊ธฐ๋ฅ ๋ฐ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ์ค๊ณ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ฉ๋๋ค. ์ํํธ์จ์ด๊ฐ ์๋ก์ด ์ค์ฉ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฆ๋ถ ๋ชจ๋ธ์ ์คํ์ผ๊ณผ ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
3. ํ ์คํ : ์ฆ๋ถ ๋ชจ๋ธ์์ ํ ์คํ ๋จ๊ณ๋ ์ถ๊ฐ ๊ธฐ๋ฅ๋ฟ๋ง ์๋๋ผ ๊ธฐ์กด์ ๊ฐ ๊ธฐ๋ฅ์ ์ฑ๋ฅ์ ํ์ธํฉ๋๋ค. ํ ์คํธ ๋จ๊ณ์์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ ์์ ์ ๋์์ ํ ์คํธํฉ๋๋ค.
4. ๊ตฌํ: ๊ตฌํ ๋จ๊ณ๋ ๊ฐ๋ฐ ์์คํ ์ ์ฝ๋ฉ ๋จ๊ณ๋ฅผ ํ์ฑํํฉ๋๋ค. ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ค๊ณํ๊ณ ํ ์คํธ ๋จ๊ณ์์ ๊ธฐ๋ฅ์ ํ ์คํธํ๋ ์ต์ข ์ฝ๋ฉ์ด ํฌํจ๋ฉ๋๋ค. ์ด ๋จ๊ณ๊ฐ ๋๋๋ฉด ์์ ํ๋ ์ ํ์ ์๋ฅผ ๋๋ฆฌ๊ณ ์ต์ข ์์คํ ์ ํ๊น์ง ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
Incremental ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์๊ตฌ ์ฌํญ์ด ์ฐ์ํ ๋.
ํ๋ก์ ํธ์๋ ๊ธด ๊ฐ๋ฐ ์ผ์ ์ด ์์ต๋๋ค.
์ํํธ์จ์ด ํ์ด ์๋ จ๋๊ฑฐ๋ ํ๋ จ๋์ง ์์ ๊ฒฝ์ฐ.
๊ณ ๊ฐ์ด ์ ํ์ ๋น ๋ฅธ ์ถ์๋ฅผ ์๊ตฌํ ๋.
์ฐ์ ์์๊ฐ ์ง์ ๋ ์๊ตฌ ์ฌํญ์ ๋จผ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
Incremental ๋ชจ๋ธ์ ์ฅ์ (Advantages)
- ์ค๋ฅ๋ ์ธ์ํ๊ธฐ ์ฝ์ต๋๋ค.
ํ ์คํธ ๋ฐ ๋๋ฒ๊ทธ ์ฉ์ด์ฑ
๋ ์ ์ฐํฉ๋๋ค.
๋ฐ๋ณต ์ค์ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ์ํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋จํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์ค์ํ ๊ธฐ๋ฅ์ ์ผ์ฐ ์ป์ต๋๋ค.
Incremental ๋ชจ๋ธ์ ๋จ์ (Disadvantages)
- ์ข์ ๊ณํ์ด ํ์ํ๋ค
์ด๋น์ฉ์ด ๋์ต๋๋ค.
์ ์ ์๋ ๋ชจ๋ ์ธํฐํ์ด์ค๊ฐ ํ์ํฉ๋๋ค.
Agile Model (์ ์์ผ ๋ชจ๋ธ)
์ ์์ผ ๋ฐฉ๋ฒ๋ก ์ ๋ชจ๋ ํ๋ก์ ํธ์ SDLC ํ๋ก์ธ์ค ์ค์ ๊ฐ๋ฐ๊ณผ ํ
์คํธ์ ์ง์์ ์ธ ์ํธ ์์ฉ์ ์ด์งํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ ์์ผ ๋ฐฉ๋ฒ์์๋ ์ ์ฒด ํ๋ก์ ํธ๋ฅผ ์์ ์ฆ๋ถ ๋น๋๋ก ๋๋๋๋ค. ์ด๋ฌํ ๋ชจ๋ ๋น๋๋ ๋ฐ๋ณต์ ์ผ๋ก ์ ๊ณต๋๋ฉฐ ๊ฐ ๋ฐ๋ณต์ 1์ฃผ์์ 3์ฃผ๊น์ง ์ง์๋ฉ๋๋ค.
๋ชจ๋ ์ ์์ผ ์ํํธ์จ์ด ๋จ๊ณ๋ ๋๋ถ๋ถ์ ์ํํธ์จ์ด ํ๋ก์ ํธ์ ๋ํ ๋ช ๊ฐ์ง ์ฃผ์ ๊ฐ์ ์ ํด๊ฒฐํ๋ ๋ฐฉ์์ผ๋ก ํน์ฑํ๋ฉ๋๋ค.
- ์ด๋ค ์ํํธ์จ์ด ์๊ตฌ ์ฌํญ์ด ์ง์๋๊ณ ์ด๋ค ๊ฒ์ด ๋ณ๊ฒฝ๋ ์ง ๋ฏธ๋ฆฌ ์๊ฐํ๋ ๊ฒ์ ์ด๋ ต์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์งํ๋จ์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ฐ์ ์์๊ฐ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋ ์ง ์์ธกํ๋ ๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ ต์ต๋๋ค.
- ๋ง์ ์ ํ์ ์ํํธ์จ์ด์์ ์ค๊ณ์ ๊ฐ๋ฐ์ด ๊ต์ฐจ ์งํ๋ฉ๋๋ค(interleaved). ์ฆ, ์ค๊ณ ๋ชจ๋ธ์ด ์์ฑ๋ ๋ ์ ์ฆ๋ ์ ์๋๋ก ๋ ๊ฐ์ง ํ๋์ ๋์์ ์ํํด์ผ ํฉ๋๋ค. ๊ตฌ์ฑ์ ํ ์คํธํ๊ธฐ ์ํด ๊ตฌ์ฑ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ผ๋ง๋ ๋ง์ ์ค๊ณ๊ฐ ํ์ํ์ง ์๊ฐํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ๋ถ์, ์ค๊ณ, ๊ฐ๋ฐ ๋ฐ ํ ์คํธ๋ (๊ณํ์ ๊ด์ ์์) ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋งํผ ์์ธกํ ์ ์์ต๋๋ค.
์ ์์ผ ๋ชจ๋ธ์ ๋จ๊ณ
์ ์์ผ ๋ชจ๋ธ์ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Requirements gathering (์๊ตฌ์ฌํญ ์์ง)
์ด ๋จ๊ณ์์๋ ์๊ตฌ ์ฌํญ์ ์ ์ํด์ผ ํฉ๋๋ค. ์ฌ์ ๊ธฐํ๋ฅผ ์ค๋ช ํ๊ณ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ํ์ํ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ๊ณํํด์ผ ํฉ๋๋ค. ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๊ธฐ์ ์ , ๊ฒฝ์ ์ ํ๋น์ฑ์ ํ๊ฐํ ์ ์์ต๋๋ค. - Design the requirements (์๊ตฌ ์ฌํญ ์ค๊ณ)
ํ๋ก์ ํธ๋ฅผ ์๋ณํ์ผ๋ฉด ์ดํด ๊ด๊ณ์์ ํ๋ ฅํ์ฌ ์๊ตฌ ์ฌํญ์ ์ ์ํฉ๋๋ค. ์ฌ์ฉ์ ํ๋ฆ ๋ค์ด์ด๊ทธ๋จ ๋๋ ์์ ์์ค UML ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ์ ๊ธฐ๋ฅ์ ์์ ์ ํ์ํ๊ณ ๊ธฐ์กด ์์คํ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ํ์ํ ์ ์์ต๋๋ค. - Construction/ iteration (๊ตฌ์ถ/๋ฐ๋ณต)
ํ์ด ์๊ตฌ ์ฌํญ์ ์ ์ํ๋ฉด ์์ ์ด ์์๋ฉ๋๋ค. ๋์์ด๋์ ๊ฐ๋ฐ์๋ ์๋ํ๋ ์ ํ์ ๋ฐฐํฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ก์ ํธ ์์ ์ ์์ํฉ๋๋ค. ์ ํ์ ์ฌ๋ฌ ๋จ๊ณ์ ๊ฐ์ ์ ๊ฑฐ์ณ ๋จ์ํ๊ณ ์ต์ํ์ ๊ธฐ๋ฅ๋ง ํฌํจํฉ๋๋ค. - Testing/ Quality assurance (ํ
์คํธ/ํ์ง ๋ณด์ฆ)
์ด ๋จ๊ณ์์ ํ์ง ๋ณด์ฆ ํ์ ์ ํ์ ์ฑ๋ฅ์ ๊ฒ์ฌํ๊ณ ๋ฒ๊ทธ๋ฅผ ์ฐพ์ต๋๋ค. - Deployment (์ ๊ฐ, ๋ฐฐํฌ)
์ด ๋จ๊ณ์์ ํ์ ์ฌ์ฉ์์ ์์ ํ๊ฒฝ์ ๋ง๋ ์ ํ์ ์ถ์ํฉ๋๋ค. - Feedback (ํผ๋๋ฐฑ)
์ ํ ์ถ์ ํ ๋ง์ง๋ง ๋จ๊ณ๋ ํผ๋๋ฐฑ์ ๋๋ค. ์ฌ๊ธฐ์ ํ์ ์ ํ์ ๋ํ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ํผ๋๋ฐฑ์ ํตํด ์์ ํฉ๋๋ค.
Agile Testing Methods (์ ์์ผ ํ ์คํธ ๋ฐฉ๋ฒ)
Scrum (์คํฌ๋ผ)
SCRUM์ ํ ๊ธฐ๋ฐ ๊ฐ๋ฐ ์กฐ๊ฑด์์ ์์ ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ฃผ๋ก ์ด์ ์ ๋ง์ถ ์ ์์ผ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋๋ค.
์ฌ๊ธฐ์๋ ์ธ ๊ฐ์ง ์ญํ ์ด ์์ผ๋ฉฐ ๊ทธ ์ฑ ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์คํฌ๋ผ ๋ง์คํฐ: ์คํฌ๋ผ์ ๋ง์คํฐ ํ์ ๊ตฌ์ฑํ๊ณ ํ์๋ฅผ ์ฃผ์ ํ๋ฉฐ ํ๋ก์ธ์ค์ ์ฅ์ ๋ฌผ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
- ์ ํ ์์ ์: ์ ํ ์์ ์๋ ์ ํ ๋ฐฑ๋ก๊ทธ๋ฅผ ๋ง๋ค๊ณ ์ง์ฐ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ๋ฉฐ ๊ฐ ๋ฐ๋ณต์ ๋ํ ๊ธฐ๋ฅ ๋ฐฐํฌ๋ฅผ ์ฑ ์์ง๋๋ค.
- ์คํฌ๋ผ ํ: ํ์ ์์ ์ ๊ด๋ฆฌํ๊ณ ์คํ๋ฆฐํธ ๋๋ ์ฌ์ดํด์ ์๋ฃํ๊ธฐ ์ํด ์์ ์ ๊ตฌ์ฑํฉ๋๋ค.
eXtreme Programming(XP) (์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ)
์ด๋ฌํ ์ ํ์ ๋ฐฉ๋ฒ๋ก ์ ๊ณ ๊ฐ์ด ์ง์์ ์ผ๋ก ์๊ตฌ ์ฌํญ์ด๋ ์๊ตฌ ์ฌํญ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์์คํ ์ฑ๋ฅ์ ๋ํด ํ์ ํ ์ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค..
Crystal (๊ฒฐ์ )
์ด ๋ฐฉ๋ฒ์๋ ์ธ ๊ฐ์ง ๊ฐ๋ ์ด ์์ต๋๋ค.
- Chartering(์ฐจํฐ๋ง): ์ด ๋จ๊ณ์๋ ๊ฐ๋ฐ ํ ๊ตฌ์ฑ, ํ๋น์ฑ ๋ถ์ ์ํ, ๊ณํ ๊ฐ๋ฐ ๋ฑ๊ณผ ๊ฐ์ ์ฌ๋ฌ ํ๋์ด ํฌํจ๋ฉ๋๋ค.
- Cyclic delivery (์ฃผ๊ธฐ์ ์ธ ์ ๋ฌ): ์ด ์๋์๋ ๋ ๊ฐ์ ์ฃผ๊ธฐ๊ฐ ๋ ์์ต๋๋ค. ํ์์ ์ถ์ ๊ณํ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ํตํฉ๋ ์ ํ์ด ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋ฉ๋๋ค.
- Wrap up(๋ง๋ฌด๋ฆฌ): ์ฌ์ฉ์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ฐฐํฌ, ๋ฐฐํฌ ํ ์ํํ๋ ๋จ๊ณ์ ๋๋ค.
Dynamic Software Development Method(๋์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ์, DSDM)
DSDM์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ ๋ต์ด๋ฉฐ ๋ฏผ์ฒฉํ ํ๋ก์ ํธ ๋ฐฐํฌ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. DSDM์ ํ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์ ๊ทน์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์ผ ํ๊ณ ํ์ ์์ฌ ๊ฒฐ์ ๊ถํ์ด ๋ถ์ฌ๋๋ค๋ ๊ฒ์ ๋๋ค.
DSDM์์ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Time Boxing
- MoSCoW Rules
- Prototyping
DSDM ํ๋ก์ ํธ์๋ 7๋จ๊ณ๊ฐ ์์ต๋๋ค.
- Pre-project (์ฌ์ ํ๋ก์ ํธ)
- Feasibility Study (ํ๋น์ฑ ์กฐ์ฌ)
- Business Study (๋น์ฆ๋์ค ์คํฐ๋)
- Functional Model Iteration (๊ธฐ๋ฅ์ ๋ชจ๋ธ ๋ฐ๋ณต)
- Design and build Iteration (๋ฐ๋ณต ์ค๊ณ ๋ฐ ๊ตฌ์ถ)
- Implementation (๊ตฌํ)
- Post-project (ํ๋ก์ ํธ ํ)
Feature Driven Development (๊ธฐ๋ฅ ์ค์ฌ ๊ฐ๋ฐ, FDD)
์ด ๋ฐฉ๋ฒ์ "์ค๊ณ ๋ฐ ๊ตฌ์ถ" ๊ธฐ๋ฅ์ ์ค์ ์ ๋ก๋๋ค. ๋ค๋ฅธ ์ค๋งํธ ๋ฐฉ๋ฒ๊ณผ ๋ฌ๋ฆฌ FDD๋ ๊ธฐ๋ฅ๋ณ๋ก ๋ณ๋๋ก ์ป์ด์ผ ํ๋ ์์ ์ ์์ ๋จ๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค.
Lean Software Development (๋ฆฐ ์ํํธ์จ์ด ๊ฐ๋ฐ)
๋ฆฐ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ "์ ์ ์์ฐ(just in time production)" ์์น์ ๋ฐ๋ฆ ๋๋ค. ๋ฆฐ ๋ฐฉ๋ฒ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋์ ์ฆ๊ฐ์ ๋น์ฉ ์ ๊ฐ์ ๋ํ๋ ๋๋ค.
๋ฆฐ ๊ฐ๋ฐ์ 7๋จ๊ณ๋ก ์์ฝํ ์ ์์ต๋๋ค.
- Eliminating Waste (๋ญ๋น ์ ๊ฑฐ)
- Amplifying learning (์ง์ ์ฐฝ์ถ)
- Defer commitment deciding as late as possible (๊ฐ๋ฅํ ํ ๋ฆ๊ฒ ๊ฒฐ์ )
- Early delivery (๋น ๋ฅธ ๋ฐฐํฌ)
- Empowering the team (ํ์ ์ญ๋ ๊ฐํ)
- Building Integrity (๋ฌด๊ฒฐ์ฑ ๊ตฌ์ถ)
- Optimize the whole (์ ์ฒด ์ต์ ํ)
์ ์์ผ ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์ฆ์ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ.
- ๊ณ ๋๋ก ์๊ฒฉ์ ๊ฐ์ถ๊ณ ๊ฒฝํ์ด ํ๋ถํ ํ์ด ์๋ ๊ฒฝ์ฐ. (highly qualified and experienced team)
- ๊ณ ๊ฐ์ด ํญ์ ์ํํธ์จ์ด ํ๊ณผ ํ์๋ฅผ ๊ฐ์ง ์ค๋น๊ฐ ๋์ด ์์ ๋.
- ํ๋ก์ ํธ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ.
์ ์์ผ ๋ฐฉ์์ ์ฅ์ (Advantages):
- ๋น๋ฒํ ๋ฐฐํฌ (Frequent Delivery)
- ๊ณ ๊ฐ๊ณผ์ ๋๋ฉด ์ปค๋ฎค๋์ผ์ด์ .
- ํจ์จ์ ์ธ ๋์์ธ๊ณผ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํฉ๋๋ค.
- ์ธ์ ๋ ์ง ๋ณ๊ฒฝ์ด ํ์ฉ๋ฉ๋๋ค.
- ์ด ๊ฐ๋ฐ ์๊ฐ์ด ๋จ์ถ๋ฉ๋๋ค.
์ ์์ผ ๋ชจ๋ธ์ ๋จ์ (Disadvantages):
- ๊ณต์ ๋ฌธ์์(formal documents) ๋ถ์กฑ์ผ๋ก ์ธํด ํผ๋์ ์ผ๊ธฐํ๊ณ ๋ค์ํ ๋จ๊ณ์์ ๋ด๋ ค์ง ์ค์ํ ๊ฒฐ์ ์ด ๋ค๋ฅธ ํ ๊ตฌ์ฑ์์ ์ํด ์ธ์ ๋ ์ง ์๋ชป ํด์๋ (misinterpreted) ์ ์์ต๋๋ค.
- ์ ์ ํ ๋ฌธ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๊ฐ ์๋ฃ๋๊ณ ๊ฐ๋ฐ์๊ฐ ๋ค๋ฅธ ํ๋ก์ ํธ์ ํ ๋น๋๋ฉด ์์ฑ๋ ํ๋ก์ ํธ์ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
Iterative Model (๋ฐ๋ณต ๋ชจ๋ธ)
์ด๋ ์ด๊ธฐ์ ๋จ์ํ๋ ๊ตฌํ์ ์ด์ ์ ๋ง์ถ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ํน์ ๊ตฌํ์ผ๋ก, ์ต์ข ์์คํ ์ด ์์ฑ๋ ๋๊น์ง ์ ์ ๋ ๋ณต์กํด์ง๊ณ ๊ด๋ฒ์ํ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค. ์์ปจ๋, ๋ฐ๋ณต ๊ฐ๋ฐ์ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ ์์ ์กฐ๊ฐ์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด ๋ชจ๋ธ์์๋ ์ผ๋ถ ์ํํธ์จ์ด ์ฌ์์ผ๋ก ์์ํ์ฌ ์ํํธ์จ์ด์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ดํ์ ์ํํธ์จ์ด๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ๋ฒ์ ์ ์ํํธ์จ์ด๊ฐ ์ ๋ฐ๋ณต์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ณต ๋ชจ๋ธ์ ๋ชจ๋ ๋ฆด๋ฆฌ์ค๋ ๋ฐ๋ณต์ด๋ผ๊ณ ํ๋ ์ ํํ๊ณ ๊ณ ์ ๋ ๊ธฐ๊ฐ์ ์๋ฃ๋ฉ๋๋ค.
๋ฐ๋ณต ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉด ๋ณํ์ด ๊ฐ๊ฐ ์ด๋ฃจ์ด์ง ์ด๊ธฐ ๋จ๊ณ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช
์ฃผ๊ธฐ(SDLC) ํ๋ก์ธ์ค๊ฐ ๋๋๋ฉด ๊ฐฑ์ ๋ ํ๋ก์ ํธ์ ์ต์ข
์ถ๋ ฅ์
๋๋ค.
๋ฐ๋ณต ๋ชจ๋ธ์ ๋ค์ํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. Requirement gathering & analysis:(์๊ตฌ์ฌํญ ์์ง ๋ฐ ๋ถ์): ์ด ๋จ๊ณ์์๋ ๊ณ ๊ฐ์ผ๋ก๋ถํฐ ์๊ตฌ์ฌํญ์ ์์งํ๊ณ ๋ถ์๊ฐ๊ฐ ์๊ตฌ์ฌํญ์ด ์ถฉ์กฑ๋๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. ๋ถ์๊ฐ๋ ์์ฐ ๋ด์์ ๋ฌ์ฑํ ํ์๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค. ์ด ๋ชจ๋ ์์ ์ด ๋๋๋ฉด ์ํํธ์จ์ด ํ์ ๋ค์ ๋จ๊ณ๋ก ๊ฑด๋๋๋๋ค.
2. Design(๋์์ธ): ๋์์ธ ๋จ๊ณ์์ ํ์ ๋ฐ์ดํฐ ํ๋ฆ ๋ค์ด์ด๊ทธ๋จ, ํ๋ ๋ค์ด์ด๊ทธ๋จ, ํด๋์ค ๋ค์ด์ด๊ทธ๋จ, ์ํ ์ ํ ๋ค์ด์ด๊ทธ๋จ ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๋์์ธํฉ๋๋ค. ๋์์ ์ฌ์
3. Implementation(๊ตฌํ): ๊ตฌํ์์ ์๊ตฌ ์ฌํญ์ ์ฝ๋ฉ ์ธ์ด๋ก ์์ฑ๋๊ณ ์ํํธ์จ์ด๋ผ๊ณ ํ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํ๋ฉ๋๋ค.
4.Testing(ํ ์คํธ): ์ฝ๋ฉ ๋จ๊ณ๋ฅผ ์๋ฃํ ํ ์ํํธ์จ์ด ํ ์คํธ๋ ๋ค๋ฅธ ํ ์คํธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์์๋ฉ๋๋ค. ํ ์คํธ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ฒ์ ํ์ดํธ๋ฐ์ค, ๋ธ๋๋ฐ์ค, ๊ทธ๋ ์ด ๋ฐ์ค ํ ์คํธ ๋ฐฉ๋ฒ์ด๋ค.
5. Deployment(๋ฐฐํฌ): ๋ชจ๋ ๋จ๊ณ๋ฅผ ์๋ฃํ ํ ์ํํธ์จ์ด๊ฐ ์์ ํ๊ฒฝ์ ๋ฐฐํฌ๋ฉ๋๋ค.
6. Review(๊ฒํ ): ์ด ๋จ๊ณ์์๋ ์ ํ ๋ฐฐํฌ ํ ๊ฐ๋ฐ๋ ์ ํ์ ๋์ ๋ฐ ์ ํจ์ฑ์ ํ์ธํ๊ธฐ ์ํด ๊ฒํ ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ์๊ตฌ ์ฌํญ ์์ง์์ ํ๋ก์ธ์ค๊ฐ ๋ค์ ์์๋ฉ๋๋ค.
7. Maintenance(์ ์ง ๊ด๋ฆฌ): ์ ์ง ๊ด๋ฆฌ ๋จ๊ณ์์ ์์ ํ๊ฒฝ์ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ ํ ์ผ๋ถ ๋ฒ๊ทธ, ์ผ๋ถ ์ค๋ฅ ๋๋ ์๋ก์ด ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ์ ์์ต๋๋ค. ์ ์ง ๊ด๋ฆฌ์๋ ๋๋ฒ๊น ๋ฐ ์๋ก์ด ์ถ๊ฐ ์ต์ ์ด ํฌํจ๋ฉ๋๋ค.
Iterative ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํฉ๋๊น?
- ์๊ตฌ ์ฌํญ์ด ๋ช ํํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ์๋ ๊ฒฝ์ฐ.
- ์ํํธ์จ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ด ํฐ ๊ฒฝ์ฐ.
- ํฅํ ๋ณ๊ฒฝ ์๊ตฌ๊ฐ ์๋ ๊ฒฝ์ฐ.
Iterative ๋ชจ๋ธ์ ์ฅ์ (Advantages)
- ๋ ์์ ๋ฐ๋ณต ๋์ ํ ์คํธ ๋ฐ ๋๋ฒ๊น ์ด ์ฝ์ต๋๋ค.
- ๋ณ๋ ฌ ๊ฐ๋ฐ์ ๊ณํํ ์ ์์ต๋๋ค.
- ํ๋ก์ ํธ์ ๋์์์ด ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ์ฝ๊ฒ ์์ฉํ ์ ์์ต๋๋ค.
- ์ํ์ ๋ฐ๋ณต ์ค์ ์๋ณ๋๊ณ ํด๊ฒฐ๋ฉ๋๋ค.
- ๋ฌธ์ํ์ ์์๋๋ ์ ํ๋ ์๊ฐ๊ณผ ์ค๊ณ์ ์ถ๊ฐ ์๊ฐ.
Iterative ๋ชจ๋ธ์ ๋จ์ (Disadvantages)
- ์๊ท๋ชจ ํ๋ก์ ํธ์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ ์ ์์ต๋๋ค.
- ๋ถ์์ ํ ์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด ๋์์ธ์ด ๊ณ์ํด์ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค.
- ์๊ตฌ ์ฌํญ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์์ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์๊ตฌ ์ฌํญ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ํ๋ก์ ํธ ์๋ฃ ๋ ์ง๊ฐ ํ์ธ๋์ง ์์์ต๋๋ค.
Big bang model (๋น ๋ฑ ๋ชจ๋ธ)
๋น
๋ฑ
๋ชจ๋ธ์ ๊ณํ์ด ์๊ฑฐ๋ ๊ฑฐ์ ์๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐ ์ฝ๋ฉ์ ๋ชจ๋ ์ ํ์ ๋ฆฌ์์ค์ ์ค์ ์ ๋ก๋๋ค. ์๊ตฌ ์ฌํญ์ด ์ฌ ๋ ์ดํด๋๊ณ ๊ตฌํ๋ฉ๋๋ค.
์ด ๋ชจ๋ธ์ ์๊ท๋ชจ ๊ฐ๋ฐ ํ์ด ํจ๊ป ์์
ํ๋ ์๊ท๋ชจ ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค. ํ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ ํธ์๋ ์ ์ฉํฉ๋๋ค. ์๊ตฌ ์ฌํญ์ ์ ์ ์๊ฑฐ๋ ์ต์ข
๋ฆด๋ฆฌ์ค ๋ ์ง๊ฐ ์ง์ ๋์ง ์์ ์ด์์ ์ธ ๋ชจ๋ธ์
๋๋ค.
์ด ๋ชจ๋ธ์์ ๊ฐ๋ฐ์๋ ํน์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด์ง ์์ต๋๋ค. ๊ฐ๋ฐ์ ํฌ์
๋ฌผ์ ํํ๋ก ํ์ํ ์๊ธ๊ณผ ๋
ธ๋ ฅ์ผ๋ก ์์๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ ๊ณ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์๋ ์๊ณ ์๋ ์๋ ์์ต๋๋ค. ์๋ํ๋ฉด ์ด ๋ชจ๋ธ์์๋ ๊ณ ๊ฐ ์๊ตฌ ์ฌํญ์กฐ์ฐจ ์ ์๋์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด ๋ชจ๋ธ์ ํ์ ํ๋ก์ ํธ ๋๋ ์ค์ ํ๋ก์ ํธ์ ๊ฐ์ ์๊ท๋ชจ ํ๋ก์ ํธ์ ์ด์์ ์
๋๋ค. ํ ๋ ๋ช
์ ๊ฐ๋ฐ์๊ฐ ์ด ๋ชจ๋ธ์์ ํจ๊ป ์์
ํ ์ ์์ต๋๋ค.
Big bang ๋ชจ๋ธ์ ์ธ์ ์ฌ์ฉํ๋์?
์์์ ๋ ผ์ํ ๋ฐ์ ๊ฐ์ด ์ด ๋ชจ๋ธ์ ์ด ํ๋ก์ ํธ๊ฐ ํ์ ํ๋ก์ ํธ๋ ์ค์ ํ๋ก์ ํธ์ ๊ฐ์ด ์๊ท๋ชจ์ผ ๋ ํ์ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์ ํ์ ๊ท๋ชจ๊ฐ ์๊ณ ์๊ตฌ ์ฌํญ์ด ์ ์๋์ด ์์ง ์๊ณ ์ถ์ ๋ ์ง๊ฐ ๊ณ ๊ฐ์ ์ํด ํ์ธ๋๊ฑฐ๋ ์ ๊ณต๋์ง ์์ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค.
Big bang ๋ชจ๋ธ์ ์ฅ์ (Advantages):
- ๊ณํ์ด ํ์ํ์ง ์์ต๋๋ค.
- ๋จ์ํ ๋ชจ๋ธ.
- ๋ฆฌ์์ค๊ฐ ๊ฑฐ์ ํ์ํ์ง ์์ต๋๋ค.
- ๊ด๋ฆฌํ๊ธฐ ์ฝ์ต๋๋ค.
- ๊ฐ๋ฐ์์๊ฒ ์ ์ฐํฉ๋๋ค.
Big bang ๋ชจ๋ธ์ ๋จ์ (Disadvantages):
- ๋์ ์ํ๋์ ๋ถํ์ค์ฑ์ด ์กด์ฌํฉ๋๋ค.
- ๋๊ท๋ชจ ํ๋ก์ ํธ์ ์ ํฉํ์ง ์์ต๋๋ค.
- ์๊ตฌ ์ฌํญ์ด ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ ๋น์ฉ์ด ๋ง์ด ์์๋ ์ ์์ต๋๋ค.
Prototype Model (ํ๋กํ ํ์ ๋ชจ๋ธ)
ํ๋กํ ํ์
๋ชจ๋ธ์ ์๊ตฌ ์ฌํญ ์์ง์ผ๋ก ์์๋ฉ๋๋ค. ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ ์ํํธ์จ์ด์ ๋ชฉ์ ์ ์ถฉ์กฑํ๊ณ ์ ์ํ๊ณ ์๊ตฌ ์ฌํญ์ ์๋ณํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ '๋น ๋ฅธ ๋์์ธ'์ด ์์ฑ๋ฉ๋๋ค. ์ด ๋์์ธ์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ์ํํธ์จ์ด ์ธก๋ฉด์ ์ค์ ์ ๋ก๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋กํ ํ์
๊ฐ๋ฐ๋ก ์ด์ด์ง๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ณ ๊ฐ์ ํ๋กํ ํ์
์ ํ์ธํ๊ณ ํ์ํ ์์ ์ด๋ ๋ณ๊ฒฝ์ด ํ๋กํ ํ์
์ ์ ์ฉ๋ฉ๋๋ค.
์ด ๋จ๊ณ์์ ๋ฃจํ์ด ๋ฐ์ํ๊ณ ํ๋กํ ํ์
์ ๋ ๋์ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ์ด๋ ํ๋กํ ํ์
์์ ์๋ก์ด ๋ณ๊ฒฝ ์ฌํญ์ ์
๋ฐ์ดํธํ ์ ์๋๋ก ์ฌ์ฉ์์๊ฒ ์ง์์ ์ผ๋ก ํ์๋ฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๊ณ ๊ฐ์ด ์์คํ
์ ๋ง์กฑํ ๋๊น์ง ๊ณ์๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ง์กฑํ๋ฉด ํ๋กํ ํ์
์ ํ์ง๊ณผ ๋ณด์์ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ์ค์ ์์คํ
์ผ๋ก ๋ณํ๋ฉ๋๋ค.
ํ๋กํ ํ์ ๋ชจ๋ธ์ ์ค์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํํ๊ธฐ ์ ์ ์์คํ ์ ์๋ ํ๋กํ ํ์ ์ ๊ตฌ์ถํด์ผ ํฉ๋๋ค. ํ๋กํ ํ์ ์ ์์คํ ์ ์ฅ๋๊ฐ ๊ตฌํ์ ๋๋ค. ํ๋กํ ํ์ ์ ์ผ๋ฐ์ ์ผ๋ก ์ค์ ์์คํ ์ ๋งค์ฐ ์กฐ์กํ ๋ฒ์ ์ผ๋ก ๋ฐํ์ง๋ฉฐ ์ค์ ์ํํธ์จ์ด์ ๋น๊ตํ์ฌ ์ ํ๋ ๊ธฐ๋ฅ์ ๊ธฐ๋ฅ, ๋ฎ์ ์ ๋ขฐ์ฑ ๋ฐ ๋นํจ์จ์ ์ธ ์ฑ๋ฅ์ ๋ํ๋ผ ์ ์์ต๋๋ค. ๋ง์ ๊ฒฝ์ฐ์ ํด๋ผ์ด์ธํธ๋ ์ํํธ์จ์ด ์ ํ์์ ๊ธฐ๋๋๋ ๊ฒ์ ๋ํ ์ผ๋ฐ์ ์ธ ๊ฒฌํด๋ง ๊ฐ์ง๊ณ ์์ต๋๋ค. ์์คํ ์ ๋ํ ์ ๋ ฅ, ์ฒ๋ฆฌ ์๊ตฌ ์ฌํญ ๋ฐ ์ถ๋ ฅ ์๊ตฌ ์ฌํญ์ ๋ํ ์์ธํ ์ ๋ณด๊ฐ ์๋ ์๋๋ฆฌ์ค์์๋ ํ๋กํ ํ์ดํ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Prototype ๋ชจ๋ธ์ ๋จ๊ณ
- Requirement Gathering and Analyst (์๊ตฌ ์ฌํญ ์์ง ๋ฐ ๋ถ์)
- Quick Decision (๋น ๋ฅธ ๊ฒฐ์ )
- Build a Prototype(ํ๋กํ ํ์ ์ ์)
- Assessment or User Evaluation (ํ๊ฐ ๋๋ ์ฌ์ฉ์ ํ๊ฐ)
- Prototype Refinement (ํ๋กํ ํ์ ๊ฐ์ )
- Engineer Product (์์ง๋์ด ์ ํ)
Prototype ๋ชจ๋ธ์ ์ฅ์
- ์๋ชป๋ ์ฌ์ฉ์ ์๊ตฌ ์ฌํญ์ ์ํ ๊ฐ์
- ์๊ตฌ ์ฌํญ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ปค๋ฐ๋์ง ์์ ๊ฒฝ์ฐ ์ ํฉ
- ์ ๊ธฐ์ ์ผ๋ก ๊ฐ์์ ์ธ ํ๋ก์ธ์ค๊ฐ ๊ด๋ฆฌ๋ฅผ ๋์ต๋๋ค.
- ์ด๊ธฐ ์ ํ ๋ง์ผํ ์ง์
- ์ ์ง ๋ณด์ ๋น์ฉ์ ์ค์ ๋๋ค.
- ์์คํ ์ด ๋๋ํ ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋ฅผ ํจ์ฌ ์ผ์ฐ ๊ฐ์งํ ์ ์์ต๋๋ค.
Prototype ๋ชจ๋ธ์ ๋จ์
- ๋ถ์์ ํ๊ฑฐ๋ ์๋ชป ๊ตฌํ๋ ํ๋กํ ํ์ ์ด ์ข ์ข ์ต์ข ์ ํ์ด ๋ฉ๋๋ค.
- ๊ด๋ฒ์ํ ๊ณ ๊ฐ ํ์
ํ์
- ๋น์ฉ ๊ณ ๊ฐ ๋น์ฉ
- ํ์ ์ ์ธ ๊ณ ๊ฐ ํ์
- ๊ณ ๊ฐ์ด ์ฒ ํํ๋ฉด ์๋ฃํ๊ธฐ ์ด๋ ค์ - ๋๋ฌด ๊ณ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ณ ์์ฅ์ด ๋์ง ์์ ์ ์์
- ํ๋ก์ ํธ๊ฐ ์ผ๋ง๋ ์ง์๋ ์ง ์๊ธฐ ์ด๋ ต์ต๋๋ค.
์ ์ ํ ์๊ตฌ ์ฌํญ ๋ถ์, ์ค๊ณ, ๊ณ ๊ฐ ํ๊ฐ ๋ฐ ํผ๋๋ฐฑ ์์ด ์ฝ๋๋ก ๋์๊ฐ ์์ ํ๊ธฐ ์ฝ์ต๋๋ค. - ํ๋กํ ํ์ดํ ๋๊ตฌ๋ ๋น์ธ๋ค.
- ํ๋กํ ํ์ ์ ์ ์ํ๋ ค๋ฉด ํน๋ณํ ๋๊ตฌ์ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค.
- ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ ๊ณผ์ ์ ๋๋ค.
Evolutionary Process Model (์งํ ๊ณผ์ ๋ชจ๋ธ)
์งํ์ ํ๋ก์ธ์ค ๋ชจ๋ธ์ ๋ฐ๋ณต์ ํฅ์ ๋ชจ๋ธ๊ณผ ์ ์ฌํฉ๋๋ค. ํญํฌ์ ๋ชจ๋ธ์ ๋ํด ๋์ผํ ๋จ๊ณ๊ฐ ์ ์๋์ด ์ํ ๋ฐฉ์์ผ๋ก ์ฌ๊ธฐ์์ ๋ฐ์ํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๊ฐ ์ฃผ๊ธฐ๊ฐ ๋๋ ๋ ์ ์ฉํ ์ ํ์ด ํ์ํ์ง ์๋ค๋ ์ ์์ ๋ฐ๋ณต ํฅ์ ๋ชจ๋ธ๊ณผ ๋ค๋ฆ
๋๋ค. ์งํ์ ๊ฐ๋ฐ์์ ์๊ตฌ ์ฌํญ์ ์ฐ์ ์์๊ฐ ์๋ ๋ฒ์ฃผ๋ณ๋ก ๊ตฌํ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฉ ํ๋ก๊ทธ๋จ์์ ํ ์ฃผ๊ธฐ๋ GUI(๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค), ๋ค๋ฅธ ํ์ผ ์กฐ์, ๋ค๋ฅธ ์ฟผ๋ฆฌ ๋ฐ ๋ค๋ฅธ ์
๋ฐ์ดํธ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์๋ ์ ํ์ ์ฌ์ฉํ ์ ์์ผ๋ ค๋ฉด 4๊ฐ์ ์ฌ์ดํด์ด ๋ชจ๋ ์๋ฃ๋์ด์ผ ํฉ๋๋ค.
์งํ ๊ณผ์ ๋ชจ๋ธ์ ์ด์ (Benefits)
EVO๋ฅผ ์ฌ์ฉํ๋ฉด ์ํํธ์จ์ด ํ๋ก์ ํธ์ ์ํ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
- EVO๋ ์คํ์ ์ํ ์ฒด๊ณ์ ์ด๊ณ ํ๋ จ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ฌ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค.
- EVO๋ฅผ ์ฌ์ฉํ๋ฉด ๋ง์ผํ ๋ถ์์์ ์กฐ๊ธฐ ๋ฉํ์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๋ฐ ๋ฐ๋ชจ ๊ฐ๋ฐ์ด ์ฉ์ดํฉ๋๋ค.
- ์ฌ์ฉ์ ์๊ตฌ์ ์์ฅ ์๊ตฌ ์ฌํญ์ ๋ ์ ๋ง๋ ์ ํ.
- ์ด๊ธฐ ์ฃผ๊ธฐ ๋ด์ฉ์ ์ ์๋ก ํ๋ก์ ํธ ์ํ์ ๊ด๋ฆฌํฉ๋๋ค.
- ํต์ฌ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ์ ์ ํ๊ฒ ์ฃผ์๋ฅผ ์ง์คํ์ญ์์ค.
- ์์ฅ ์ฐฝ๊ตฌ์ ๋๋ฌํ ๊ธฐํ๋ฅผ ๋๋ฆฝ๋๋ค.
- ์ด๊ธฐ ๊ณ ๊ฐ ๋ ธ์ถ๋ก ํ๋งค ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํฉ๋๋ค.
- ํ๋ก์ ํธ ์งํ ์ํฉ์ ๋ํ ๊ด๋ฆฌ ๊ฐ์์ฑ์ ๋์ ๋๋ค.
- ์ ํ ํ์ ์์ฐ์ฑ๊ณผ ๋๊ธฐ๋ฅผ ๋์ ๋๋ค.
๋๊ธ