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

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋ฐ˜๋ณต์  ๋ชจ๋ธ์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์ 

by Leica 2020. 4. 18.
๋ฐ˜์‘ํ˜•

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค - ๋ฐ˜๋ณต์  ๋ชจ๋ธ์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์ 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋ชจ๋ธ ์ค‘ ๋ฐ˜๋ณต์  ๋ชจ๋ธ์€ ์ฆ๋ถ„ํ˜•(Incremental) ๋ชจ๋ธ๊ณผ ์ง„ํ™”ํ˜•(Evolutional) ๋ชจ๋ธ ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ๋ฐ˜๋ณต์  ๋ชจ๋ธ - ์ง„ํ™”ํ˜• ๋ชจ๋ธ(Iterative Evolutional Model)

  • ๋ถˆ์•ˆ์ •ํ•œ(๋ฏธ์™„์„ฑ๋œ) ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ๋ถ€ํ„ฐ ๋ช…์„ธ(์„ค๊ณ„) โžก๏ธ ๊ฐœ๋ฐœ โžก๏ธ ๊ฒ€์ฆ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ดˆ๊ธฐ๋ฒ„์ „ ๊ฐœ๋ฐœ
  • ๋ช…์„ธ(์„ค๊ณ„) โžก๏ธ ๊ฐœ๋ฐœ โžก๏ธ ๊ฒ€์ฆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ค‘๊ฐ„ ๋ฒ„์ „, ์ตœ์ข… ๋ฒ„์ „ ๊ฐœ๋ฐœ
  • ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ํ†ตํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณด์™„ํ•˜๋ฉฐ ์ ์ฐจ์ ์œผ๋กœ ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ๋„์ถœ
  • ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ์˜ ํ™•์žฅ ํ˜•ํƒœ๋กœ ๋‚˜์„ ํ˜• ๋ชจ๋ธ(spiral model)๐Ÿ”—์ด ์žˆ๋‹ค.
  • ์žฅ์ 
    • ์š”๊ตฌ์‚ฌํ•ญ์ด ์™„์„ฑ๋˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์—๋„ ์ดˆ๊ธฐ ๋ฒ„์ „ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
  • ๋‹จ์ 
    • ๊ฐœ๋ฐœ ๋น„์šฉ ์˜ˆ์ƒ ์–ด๋ ค์›€
    • ๋ฐ˜๋ณต ์ž‘์—…์— ์˜ํ•œ ํ”„๋กœ์ ํŠธ ์ง€์—ฐ ๊ฐ€๋Šฅ์„ฑ ํผ
    • ์žฆ์€ ์ˆ˜์ • ์ž‘์—… - ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ์™€ ์œ ์ง€๋ณด์ˆ˜์— ์•…์˜ํ–ฅ

 

2. ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ํƒ€์ดํ•‘(Prototyping) ๋ฐฉ๋ฒ•์ด๋ž€?

ํ”„๋กœํ† ํƒ€์ดํ•‘์€ ๊ฐœ๋ฐœ์ดˆ๊ธฐ์— ์‹œ์Šคํ…œ์˜ ๋ชจํ˜•(์›ํ˜•, prototype)์„ ๊ฐ„๋‹จํžˆ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ ์ฃผ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ •๋ณด์‹œ์Šคํ…œ์„ ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณด๊ฒŒ ํ•จ์œผ๋กœ์จ ๊ธฐ๋Šฅ์˜ ์ถ”๊ฐ€, ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ ๋“ฑ์„ ์š”๊ตฌํ•˜๋ฉด ์ด๋ฅผ ์ฆ‰๊ฐ ๋ฐ˜์˜ํ•˜์—ฌ ์ •๋ณด์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ๋‹ค์‹œ ํ•˜๊ณ  ํ”„๋กœํ† ํƒ€์ž…์„ ์žฌ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์„ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด ๋‚˜๊ฐ€๋ฉด์„œ ์‹œ์Šคํ…œ์„ ๊ฐœ์„ ์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์ด๋‹ค. - ์œ„ํ‚ค๋ฐฑ๊ณผ
  • Throwaway Prototyping
    • ํ”„๋กœํ† ํƒ€์ž…์„ ์˜์‚ฌ์†Œํ†ต ์ˆ˜๋‹จ์œผ๋กœ๋งŒ ์‚ฌ์šฉ
    • ์š”๊ตฌ์‚ฌํ•ญ์ด ํ™•์ธ๋˜๋ฉด ํ”„๋กœํ† ํƒ€์ž…์„ ๋ฒ„๋ฆฌ๊ณ  ์ƒˆ๋กœ ๊ฐœ๋ฐœ
  • Evolutionary Prototyping
    • ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ช…ํ™•ํ•œ ๋ถ€๋ถ„๋ถ€ํ„ฐ ํ”„๋กœํ† ํƒ€์ž…์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์ ์ง„์ ์œผ๋กœ ๋ฐœ์ „์‹œ์ผœ ์ตœ์ข… ๋ฒ„์ „์„ ๊ฐœ๋ฐœ
  • ์žฅ์ 
    • ํ”„๋กœ์ ํŠธ ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ์„ฑ ํŒ๋‹จ ๊ฐ€๋Šฅ
    • ๊ฐœ๋ฐœ์ž-์‚ฌ์šฉ์ž ๊ฐ„ ์˜์‚ฌ์†Œํ†ต์ด ๋ช…ํ™•ํ•ด์ง
    • ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ์™ธ์—๋„ ์„ฑ๋Šฅ, ์œ ์šฉ์„ฑ ๋“ฑ์˜ ํ’ˆ์งˆ ์š”๊ตฌ๋ฅผ ๋ถ„๋ช…ํžˆ ํ•  ์ˆ˜ ์žˆ์Œ
    • ์‹œ์Šคํ…œ์„ ๋ฏธ๋ฆฌ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž ๊ต์œก ํšจ๊ณผ๊ฐ€ ์žˆ์Œ
    • ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์ผ์–ด๋‚˜๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Œ
  • ๋‹จ์ 
    • ๋ฌธ์„œํ™” ์–ด๋ ค์›€
    • ์ง„ํ–‰์‚ฌํ•ญ ์ œ์–ด๊ฐ€ ์–ด๋ ค์›€

 

3. ๋ฐ˜๋ณต์  ๋ชจ๋ธ - ์ ์ฆ์  ๋ชจ๋ธ(Iterative Incremental Model)

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹œ์Šคํ…œ/๋ชจ๋“ˆ๋กœ ๋ถ„ํ•ดํ•˜๊ณ  ๊ฐ๊ฐ์„ ์ ์ฆ์ ์œผ๋กœ ๊ฐœ๋ฐœ, ๋ฆด๋ฆฌ์ฆˆํ•˜๋Š” ๋ฐฉ์‹
  • ์„ ํ˜• ์ˆœ์ฐจ ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ ์šฉํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์กฐํ•ฉํ•จ
  • ๊ฐ ๋ชจ๋“ˆ์„ ์ฆ๋ถ„(Increment)์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ํ•ต์‹ฌ ์ฆ๋ถ„์„ ์šฐ์„ ์ ์œผ๋กœ ๊ฐœ๋ฐœ
  • ์žฅ์ 
    • ํ•ต์‹ฌ ์ฆ๋ถ„์„ ๋จผ์ € ๊ฐœ๋ฐœํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋Š” ์‹œ์Šคํ…œ์„ ๋น„๊ต์  ์ผ์ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ๋ฆด๋ฆฌ์ฆˆ ๋ฐฉ์‹ - ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€ํ™”์— ๋Œ€์‘ ์šฉ์ด
    • ์—ฌ๋Ÿฌ ์ฆ๋ถ„์œผ๋กœ ์ชผ๊ฐœ์ง€๋ฏ€๋กœ ๊ฐ ์ฆ๋ถ„์˜ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ด
    • ๋จผ์ € ๊ฐœ๋ฐœ๋˜๋Š” ํ•ต์‹ฌ ์ฆ๋ถ„์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋˜๋Š” ํšจ๊ณผ
  • ๋‹จ์ 
    • ํ˜„์‹ค์ ์œผ๋กœ ๊ธฐ๋Šฅ์  ๋ถ„ํ•ด๊ฐ€ ์–ด๋ ค์›€
    • ์ฆ๋ถ„๋“ค์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์ „์— ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•ด์•ผ ํ•จ

 

4. ๋ฐ˜๋ณต์  ๋ชจ๋ธ - ์ง„ํ™”ํ˜• ๋ชจ๋ธ VS ์ ์ฆ์  ๋ชจ๋ธ

  • ๋ฐ˜๋ณต ์ง„ํ™”ํ˜• ๋ชจ๋ธ
    • ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ถˆ์•ˆ์ •, ๋ถˆ๋ช…ํ™•ํ•  ๋•Œ ์‚ฌ์šฉ
    • ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๋ฉด์„œ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๋ณ€ํ™”๋ฅผ ์ˆ˜์šฉ
    • ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์ ์šฉํ•ด์•ผ ํ• ๋•Œ ์ ํ•ฉ
    • ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ ๋ฒ„์ „์„ ์ธ๋„ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ
    • ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‚˜๋ˆ„์ง€ ์•Š๊ณ  ์ „์ฒด ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋ช…์„ธ(์„ค๊ณ„) โžก๏ธ ๊ฐœ๋ฐœ โžก๏ธ ๊ฒ€์ฆ ๋ฐ˜๋ณต
  • ๋ฐ˜๋ณต ์ ์ฆ์  ๋ชจ๋ธ
    • ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‚˜๋ˆ„๊ณ  ์ž‘์—… ์ˆœ์„œ๋ฅผ ์ •ํ•จ
    • ์ค‘์š”ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋จผ์ € ๊ฐœ๋ฐœ
    • ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ๋ฆด๋ฆฌ์ฆˆ๊ฐ€ ๋ฐœ์ƒ

 

References

ํ•œ๊ตญ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™(๊น€ํฌ์ฒœ ๊ต์ˆ˜)

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€