์†Œํ”„ํŠธ์›จ์–ด ์ถ”์ • ๋ชจ๋ธ, ์ฝ”์ฝ”๋ชจ (COCOMO Model)
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋””์ง€ํ„ธ ๊ฟ€ํŒ

์†Œํ”„ํŠธ์›จ์–ด ์ถ”์ • ๋ชจ๋ธ, ์ฝ”์ฝ”๋ชจ (COCOMO Model)

by ์ผ์ƒ์„ ๊ณต์œ ํ•จ๋‹ˆ๋‹ค 2022. 9. 4.

Boehm์€ 1981๋…„์— COCOMO(Constructive Cost Estimation Model)๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. COCOMO๋Š” ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ถ”์ • ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. COCOMO๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ๋…ธ๋ ฅ๊ณผ ์ผ์ •์„ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋ธ์—์„œ ํ•„์š”ํ•œ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ˆ˜์ฒœ ์ค„์˜ ์†Œ์Šค ์ฝ”๋“œ(KDLOC)๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ๊ฐœ๋ฐœ ๋…ธ๋ ฅ์˜ ์ดˆ๊ธฐ ์ถ”์ •์น˜๋ฅผ ์–ป์œผ์‹ญ์‹œ์˜ค.
  2. ํ”„๋กœ์ ํŠธ์˜ ๋‹ค์–‘ํ•œ ์†์„ฑ์—์„œ 15๊ฐœ์˜ ๊ณฑ์…ˆ ์š”์†Œ ์ง‘ํ•ฉ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ดˆ๊ธฐ ์ถ”์ •๊ฐ’์— ๋ชจ๋“  ๊ณฑ์…ˆ ์š”์ธ์„ ๊ณฑํ•˜์—ฌ ๋…ธ๋ ฅ ์ถ”์ •์น˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. 
    ์ฆ‰, 1๋‹จ๊ณ„์™€ 2๋‹จ๊ณ„์˜ ๊ฐ’์„ ๊ณฑํ•ฉ๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ์ถ”์ •(๋ช…๋ชฉ ์ถ”์ •์ด๋ผ๊ณ ๋„ ํ•จ)์€ KDLOC๋ฅผ ํฌ๊ธฐ ์ธก์ •์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ๋‹จ์ผ ๋ณ€์ˆ˜ ๋ชจ๋ธ์— ์‚ฌ์šฉ๋œ ํ˜•์‹์˜ ๋ฐฉ์ •์‹์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋…ธ๋ ฅ Ei๋ฅผ ์ธ-์›” ๋‹จ์œ„๋กœ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ ๋ฐฉ์ •์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

Ei= a * (KDLOC)b

์ƒ์ˆ˜ ๋ฐ b์˜ ๊ฐ’์€ ํ”„๋กœ์ ํŠธ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.



COCOMO์—์„œ ํ”„๋กœ์ ํŠธ๋Š” ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

1.Organic(์œ ๊ธฐ์ ): ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๊ฐ€ ์œ ๊ธฐ์  ์œ ํ˜•์œผ๋กœ ์ทจ๊ธ‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์ ํŠธ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ, ๊ฐœ๋ฐœ ํŒ€์˜ ๊ทœ๋ชจ๊ฐ€ ์ƒ๋‹นํžˆ ์ž‘๊ณ , ํŒ€์›๋“ค์ด ์œ ์‚ฌํ•œ ํ”„๋กœ์ ํŠธ ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ . ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ๋กœ๋Š” ๋‹จ์ˆœ ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ์Šคํ…œ, ๋‹จ์ˆœ ์žฌ๊ณ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. Semi-detached: ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋Š” ๊ฒฝํ—˜์ด ์žˆ๋Š” ์ง์›๊ณผ ๊ฒฝํ—˜์ด ์—†๋Š” ์ง์›์ด ํ˜ผํ•ฉ๋œ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ semi-detached ์œ ํ˜•์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€ ๊ตฌ์„ฑ์›์€ ๊ด€๋ จ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์ œํ•œ์ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐœ๋ฐœ ์ค‘์ธ ์ฃผ๋ฌธ์˜ ์ผ๋ถ€ ์ธก๋ฉด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Semi-detached ์‹œ์Šคํ…œ์˜ ์˜ˆ๋กœ๋Š” ์ƒˆ๋กœ์šด ์šด์˜ ์ฒด์ œ(OS), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS), ๋ณตํ•ฉ ์žฌ๊ณ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

3. Embedded(์ž„๋ฒ ๋””๋“œ): ๊ฐœ๋ฐœ ์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ณต์žกํ•œ ํ•˜๋“œ์›จ์–ด์™€ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜๊ฑฐ๋‚˜ ์šด์˜ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์—„๊ฒฉํ•œ ๊ทœ์ •์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋Š” ์ž„๋ฒ ๋””๋“œ ์œ ํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ: ATM, ํ•ญ๊ณต ๊ตํ†ต ๊ด€์ œ.

Bohem ์€ 3๊ฐœ์˜ ์ œํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•ด KLOC(Kilo Line of code)์˜ ์ถ”์ • ํฌ๊ธฐ๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ(in a unit of person month)์„ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋ ฅ ์ถ”์ •์€ ํœด์ผ๋กœ ์ธํ•œ ์ƒ์‚ฐ์„ฑ ์†์‹ค์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. (ํœด๋ฌด์ผ, ์—ฐ์ฐจ-OFF, ์ปคํ”ผ ํƒ€์ž„ ๋“ฑ)
Boehm์— ๋”ฐ๋ฅด๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ๋น„์šฉ ์ถ”์ •์€ ๋‹ค์Œ ์„ธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

Basic Model (๊ธฐ๋ณธ ๋ชจ๋ธ)

๊ธฐ๋ณธ COCOMO ๋ชจ๋ธ: ๊ธฐ๋ณธ COCOMO ๋ชจ๋ธ์€ ํ”„๋กœ์ ํŠธ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ •ํ™•ํ•œ ํฌ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

๋‹ค์Œ ํ‘œํ˜„์‹์€ ๊ธฐ๋ณธ COCOMO ์ถ”์ • ๋ชจ๋ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Effort = aโ‚ * (KLOC) aโ‚‚ PM
Tdev = bโ‚ * (efforts) bโ‚‚ Months

KLOC๋Š” Kilo Lines of Code๋กœ ํ‘œ์‹œ๋œ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ์˜ˆ์ƒ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
aโ‚,aโ‚‚,bโ‚,bโ‚‚๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ๊ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ƒ์ˆ˜์ด๋ฉฐ,
Tdev๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์˜ˆ์ƒ๋˜๋Š” ์‹œ๊ฐ„์œผ๋กœ, ๊ฐœ์›”๋กœ ํ‘œ์‹œ๋˜๋ฉฐ,
๋…ธ๋ ฅ์€ ๊ฐœ์ธ ์›”(PM)๋กœ ํ‘œ์‹œ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ด ๋…ธ๋ ฅ์ž…๋‹ˆ๋‹ค.

 

๊ฐœ๋ฐœ ๋…ธ๋ ฅ ์ถ”์ • (Estimation of development effort)

์„ธ ์ข…๋ฅ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์— ๋Œ€ํ•ด ์ฝ”๋“œ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋…ธ๋ ฅ์„ ์ถ”์ •ํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Organic: Effort = 2.4(KLOC) 1.05 PM
  • Semi-detached: Effort = 3.0(KLOC) 1.12 PM
  • Embedded: Effort = 3.6(KLOC) 1.20 PM

๊ฐœ๋ฐœ ์‹œ๊ฐ„ ์ถ”์ • (Estimation of development time)

์„ธ ์ข…๋ฅ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์— ๋Œ€ํ•ด ๋…ธ๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ถ”์ •ํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Organic: Tdev = 2.5(Effort) 0.38 Months
  • Semi-detached: Tdev = 2.5(Effort) 0.35 Months
  • Embedded: Tdev = 2.5(Effort) 0.32 Months

๊ธฐ๋ณธ COCOMO ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ผ๋ถ€ ํ†ต์ฐฐ๋ ฅ์€ ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํฌ๊ธฐ์— ๋Œ€ํ•œ ์ถ”์ •๋œ ํŠน์„ฑ์„ ๋„ํ‘œํ™”ํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์€ ์˜ˆ์ƒ ๋…ธ๋ ฅ ๋Œ€ ์ œํ’ˆ ํฌ๊ธฐ์˜ ํ”Œ๋กฏ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ์šฐ๋ฆฌ๋Š” ๋…ธ๋ ฅ์ด ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ํฌ๊ธฐ์—์„œ ๋‹ค์†Œ ์Šˆํผ๋ผ์ด๋„ˆ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ œํ’ˆ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋…ธ๋ ฅ์€ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

KLOC์˜ ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋Œ€ ์ œํ’ˆ ํฌ๊ธฐ๋Š” ๊ทธ๋ฆผ์— ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์€ ์ œํ’ˆ ํฌ๊ธฐ์˜ ํ•˜์œ„ ์„ ํ˜• ํ•จ์ˆ˜์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ œํ’ˆ ํฌ๊ธฐ๊ฐ€ 2๋ฐฐ ์ฆ๊ฐ€ํ•  ๋•Œ ์ œํ’ˆ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์€ ๋‘ ๋ฐฐ๊ฐ€ ๋˜์ง€ ์•Š๊ณ  ์ ๋‹นํžˆ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋” ํฐ ์ œํ’ˆ์˜ ๊ฒฝ์šฐ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋” ๋งŽ์€ ํ™œ๋™์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ ์ž‘์—…์€ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ทธ๋ฆผ์—์„œ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์€ ์„ธ ๊ฐ€์ง€ ๋ฒ”์ฃผ์˜ ์ œํ’ˆ ๋ชจ๋‘์—์„œ ๊ฑฐ์˜ ๋™์ผํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 60 KLOC ํ”„๋กœ๊ทธ๋žจ์€ Organic, Semi-detached, Embedded์— ๊ด€๊ณ„์—†์ด ์•ฝ 18๊ฐœ์›” ๋งŒ์— ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ธ๋ ฅ ์ถ”์ •์—์„œ ํ”„๋กœ์ ํŠธ ๋น„์šฉ์€ ํ•„์š”ํ•œ ๋…ธ๋ ฅ์— ์›”๋ณ„ ์ธ๋ ฅ ๋น„์šฉ์„ ๊ณฑํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์‚ฌ์—…๋น„ ๊ณ„์‚ฐ์— ํ•จ์ถ•๋œ ๊ฒƒ์€ ์ „์ฒด ์‚ฌ์—…๋น„๊ฐ€ ์ธ๋ ฅ๋น„๋งŒ์œผ๋กœ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฐ€์ •์ด๋‹ค. ์ธ๋ ฅ ๋น„์šฉ ์™ธ์—๋„ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ๊ด€๋ฆฌ, ์‚ฌ๋ฌด์‹ค ๊ณต๊ฐ„ ๋“ฑ์˜ ํšŒ์‚ฌ ๊ฐ„์ ‘๋น„๋กœ ์ธํ•ด ํ”„๋กœ์ ํŠธ์— ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

COCOMO ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ป์€ ๋…ธ๋ ฅ ๋ฐ ๊ธฐ๊ฐ„ ์ถ”์ •์„ ๋ช…๋ชฉ ๋…ธ๋ ฅ ์ถ”์ • ๋ฐ ๋ช…๋ชฉ ์ง€์† ๊ธฐ๊ฐ„ ์ถ”์ •์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ชฉ์ด๋ผ๋Š” ์šฉ์–ด๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์˜ˆ์ƒ ๊ธฐ๊ฐ„๋ณด๋‹ค ์งง์€ ์‹œ๊ฐ„์— ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋น„์šฉ์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์˜ˆ์ƒ๋ณด๋‹ค ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ์˜ˆ์ƒ ๋น„์šฉ ๊ฐ€์น˜๊ฐ€ ๊ฑฐ์˜ ๊ฐ์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Example1: ํ”„๋กœ์ ํŠธ๊ฐ€ 400KLOC๋กœ ์ถ”์ •๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. Organic, Semidetached, Embedded  ์„ธ ๊ฐ€์ง€ ๋ชจ๋ธ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋…ธ๋ ฅ๊ณผ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
Solution: ๊ธฐ๋ณธ COCOMO ๋ฐฉ์ •์‹์€ ์•„๋ž˜๊ณผ ๊ฐ™์€ ํ˜•์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.

(i)Organic Mode
    E = 2.4 * (400)1.05 = 1295.31 PM
    D = 2.5 * (1295.31)0.38=38.07 PM

(ii)Semidetached Mode
    E = 3.0 * (400)1.12=2462.79 PM    
    D = 2.5 * (2462.79)0.35=38.45 PM

(iii) Embedded Mode
    E = 3.6 * (400)1.20 = 4772.81 PM
    D = 2.5 * (4772.8)0.32 = 38 PM

 

Example2: 200 KLOC ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐœ๋ฐœ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํŒ€์€ ์œ ์‚ฌํ•œ ์œ ํ˜•์˜ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํ‰๊ท ์ ์ธ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ผ์ •์€ ๊ทธ๋ฆฌ ๋นก๋นกํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋…ธ๋ ฅ, ๊ฐœ๋ฐœ ์‹œ๊ฐ„, ํ‰๊ท  ์ง์› ๊ทœ๋ชจ ๋ฐ ์ƒ์‚ฐ์„ฑ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

Solution: semi-detached ๋ชจ๋“œ๋Š” ๊ฐœ๋ฐœ ์‹œ๊ฐ„์˜ ํฌ๊ธฐ, ์ผ์ • ๋ฐ ๊ฒฝํ—˜์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.

E = 3.0 * (200)1.12=1133.12PM
D = 2.5 * (1133.12)0.35=29.3PM
P = 176 LOC/PM

 

Intermediate Model (์ค‘๊ธ‰ ๋ชจ๋ธ)

๊ธฐ๋ณธ Cocomo ๋ชจ๋ธ์€ ๋…ธ๋ ฅ์ด ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ ๊ณ„์‚ฐ๋œ ์ฝ”๋“œ ์ค„ ์ˆ˜์™€ ์ผ๋ถ€ ์ƒ์ˆ˜์˜ ํ•จ์ˆ˜์ผ ๋ฟ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ค‘๊ฐ„ COCOMO ๋ชจ๋ธ์€ ์ด๋Ÿฌํ•œ ์‚ฌ์‹ค์„ ์ธ์‹ํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์˜ ๋‹ค์–‘ํ•œ ์†์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ 15๊ฐ€์ง€ ๋น„์šฉ ์š”์ธ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ COCOMO ๋ชจ๋ธ์„ ํ†ตํ•ด ์–ป์€ ์ดˆ๊ธฐ ์ถ”์ •์น˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋น„์šฉ ๋™์ธ ๋ฐ ํ•ด๋‹น ์†์„ฑ์˜ ๋ถ„๋ฅ˜:

์ œํ’ˆ ์†์„ฑ

  • ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์‹ ๋ขฐ์„ฑ ๋ฒ”์œ„
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํฌ๊ธฐ
  • ์ œํ’ˆ์˜ ๋ณต์žก์„ฑ

ํ•˜๋“œ์›จ์–ด ์†์„ฑ

  • ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ ์ œ์•ฝ
  • ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ
  • ๊ฐ€์ƒ ๋จธ์‹  ํ™˜๊ฒฝ์˜ ๋ณ€๋™์„ฑ
  • ์†Œ์š”์‹œ๊ฐ„

์ธ์‚ฌ ์†์„ฑ

  • ๋ถ„์„๊ฐ€ ๋Šฅ๋ ฅ
  • ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋Šฅ๋ ฅ
  • ์‘์šฉ ๊ฒฝํ—˜
  • ๊ฐ€์ƒ ๋จธ์‹  ๊ฒฝํ—˜
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฒฝํ—˜

ํ”„๋กœ์ ํŠธ ์†์„ฑ

  • ์†Œํ”„ํŠธ์›จ์–ด ๋„๊ตฌ ์‚ฌ์šฉ
  • ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐฉ๋ฒ•์˜ ์ ์šฉ
  • ํ•„์š”ํ•œ ๊ฐœ๋ฐœ ์ผ์ •

 

๋น„์šฉ ๋™์ธ์€ ๋„ค ๊ฐ€์ง€ ๋ฒ”์ฃผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

Intermediate COCOMO equation:

                E=ai (KLOC) bi*EAF
                D=ci (E)di

Coefficients for intermediate COCOMO

 


Detailed Model (์ƒ์„ธ ๋ชจ๋ธ)

์ƒ์„ธ COCOMO๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋น„์šฉ ๋™์ธ์˜ ์˜ํ–ฅ์— ๋Œ€ํ•œ ํ‰๊ฐ€์™€ ํ•จ๊ป˜ ํ‘œ์ค€ ๋ฒ„์ „์˜ ๋ชจ๋“  ํ’ˆ์งˆ์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์„ธ๋ถ€ ๋ชจ๋ธ์€ ๊ฐ ๋น„์šฉ ๋™์ธ ์†์„ฑ์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ๋…ธ๋ ฅ ์Šน์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ธ COCOMO์—์„œ๋Š” ์ „์ฒด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ๋กœ ๊ตฌ๋ถ„ํ•œ ๋‹ค์Œ COCOMO๋ฅผ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์— ์ ์šฉํ•˜์—ฌ ๋…ธ๋ ฅ์„ ์ถ”์ •ํ•˜๊ณ  ๋…ธ๋ ฅ์„ ํ•ฉ์‚ฐํ•ฉ๋‹ˆ๋‹ค.

์„ธ๋ถ€ COCOMO์˜ 6๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ณ„ํš ๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ
  • ์‹œ์Šคํ…œ ๊ตฌ์กฐ
  • ์™„์ „ํ•œ ๊ตฌ์กฐ
  • ๋ชจ๋“ˆ ์ฝ”๋“œ ๋ฐ ํ…Œ์ŠคํŠธ
  • ํ†ตํ•ฉ ๋ฐ ํ…Œ์ŠคํŠธ
  • ๋น„์šฉ ๊ตฌ์„ฑ ๋ชจ๋ธ

๋…ธ๋ ฅ์€ ํ”„๋กœ๊ทธ๋žจ ์ถ”์ •์น˜์˜ ํ•จ์ˆ˜๋กœ ๊ฒฐ์ •๋˜๋ฉฐ ์†Œํ”„ํŠธ์›จ์–ด ์ˆ˜๋ช… ์ฃผ๊ธฐ์˜ ๋ชจ๋“  ๋‹จ๊ณ„์— ๋”ฐ๋ผ ์ผ๋ จ์˜ ๋น„์šฉ ๋™์ธ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

๋Œ“๊ธ€