bls.buu.ac.thbls.buu.ac.th/~s56103/11feb06/54160342_cocomo-ii.docx · web viewว ตถ...

Post on 23-Feb-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

รายงาน

COCOMO 2เสนอ

อาจารย ธวชชย เอยมไพโรจน

จดทำาโดยนายภพพล ประทมษารหสนสต 54160342

รายงานเลมนเปนสวนหนงของวชา การบรหารโครงการซอฟตแวร

Software Project Management ภาคการศกษาท 2 ปการศกษา 2556 สาขาวชา

วศวกรรมซอฟตแวร คณะวทยาการสารสนเทศ มหาวทยาลยบรพา

คำานำา

รายงานนเปนสวนหนงของรายวชา 888321 การบรหารโครงการซอฟตแวร จดทำาขนเพอศกษาเกยวกบโมเดลในการประเมนราคาซอฟตแวร Constructive Cost Model โดยแบบจำาลอง COCOMO II ในการประมาณการ โดยมพนฐานหลกอยบนการประมาณความซบซอนจากจำานวนฟงกชนการทำางานของซอฟตแวร

ผจดทำาหวงเปนอยางยงวารายงานเลมนจะมประโยชนไมมากกนอยแกผทตองการศกษา หากรายงานฉบบนผดพลาดประการใด ขออภย ณ ทนดวย

ภพพล ประทมษา

ผจดทำา

บทท 1 ความหมายของ cocomo II

COCOMO ยอมาจาก Construction Cost Model พฒนาโดย โบแอม (ค.ศ.1981) เรยกวา COCOMO81 หรอ COCOMOI

วตถประสงค เพอประมาณการแรงงานและเวลาทตองใชในการพฒนาซอฟแวร

ป ค.ศ.2004 โบแอม ไดพฒนาปรบปรงตวแบบ COCOMO ใหมใหสอดคลองกบวธการพฒนาซอฟแวรทเปลยนไปจากเดม ตวแบบใหมเรยกวา COCOMO2000 หรอ COCOMOII

COCOMO I

COCOMOI เปนตวแบบทประมาณการแรงงาน (effort) และระยะเวลาทใชจำานวนบรรทดของโปรแกรม (LOC)

ประกอบดวยตวแบบ 3 แบบ คอ 1. ตวแบบระดบพนฐาน (Basic Model) 2. ตวแบบระดบกลาง (Intermediate model)

3. ตวแบบระดบสง (Advance Model)

ตวแบบระดบพนฐาน ประมาณการแรงงาน โดยไมมตวปรบคา

ตวแบบระดบกลาง เปนตวแบบทมการพฒนาจากตวแบบระดบพนฐาน แตมความละเอยดมากขน โดยมการปรบคาทไดจากตวแบบแรกดวยตวขบเคลอนคาใชจาย (Cost Driven)

ตวแบบระดบสงมการประมาณการแบบเดยวกบตวแบบระดบกลาง แตการคำานวณ

แรงงาน และการประเมนตวขบเคลอนคาใชจาย จะทำาในแตละเฟสของการพฒนาระบบงาน

โดยปจจบนพฒนามาถง COCOMO II ซงมการนำาเอาแนวคดเกยวกบ CMM มาใชรวมดวย

จดเดนทนาสนใจของ COCOMO II คอการทำาเอาตวเลขทางคณตศาสตรและสถต มาใชประยกตในการพฒนาซอฟตแวรตามหลกการของการบรหารจดการ เปนการนำาเอาสงทเปนกระบวนการมาเปนตวเลขได การบรหารจดการจดการซอฟตแวรประกอบไปดวย ผลตภณฑ กระบวนการ โครงการ และบคลากร นอกจากนยงมปจจยอนทเกยวของ ในการทจะประเมนราคา และระยะเวลาของซอฟตแวร โดยมโมเดลการคำานวณเปนดงน

PM = A x SizeE x EM = PMauto…………………………1

PM คอ Effort มหนวยเปน Person-Months (PM)A คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย

A = 2.94E คอ Economics of Scale ซงเปนผลทขนาดของ

ซอฟตแวรสมพนธกบขนาดของโครงการ โดย E = B + 0.01 * Scale Factors

B Scaling Base-exponent สำาหรบคำานวณ EffortEM คอ Effort Multipliers เปนคาทไดจากการคำานวณ

Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร

PMauto คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ Reuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา PMauto จะเปน 0

ระยะเวลาทใชในการพฒนาซอฟตแวรมสตรดงน

TDEV = [ C x (PM) F ] x SCED%……………………………...2

100

C คอ Schedule Coefficient ทใชมาคำานวณ โดย C = 3.67

F คอ Scaling Exponent สำาหรบระยะเวลา โดย F = [ D + 0.2 (E-B) ]

D Scaling Base-exponent สำาหรบ ระยะเวลา โดย D = 0.28

SCED คอ ความรบเรงของเวลาเมอเปรยบเทยบกบการพฒนาปกต

ดงจากสตร จะเหนวา Effort ของการพฒนาทใชในการพฒนาจะขนอยกบขนาดของการพฒนา หรอ size ของซอฟตแวรหลก แตขนาดเพยงอยางเดยวอาจจะไมเพยงพอ เพราะจะตองนำาเอาปจจยอน และภาวะความเสยงอนมารวมคดดวย แนวความคดของ COCOMO II ไดแบงการประเมนราคาซอฟตแวรเปน 2 ระยะคอ Early-design และ Post-design เนองจากมความคดวาผลของการประเมนในเวลาททำาการเรมตนการออกแบบเบองตนยอมแตกตางจากการทไดทำาการวางโครงสรางแลว เมอเรมการพฒนาไปสกระยะจะทราบถงปจจยทสงผลกระทบตอคาใชจายมากขน

ขนตอนการประมาณการ

1. จดประเภทของระบบงานทกำาลงพจารณา ม 3 ประเภท 1.1 ประเภทออกานก (Organic Model) 1.2 ประเภทเซมดเทช (Semi-detached Model) 1.3 ประเภทเอมเบดเดด (Embedded Model) 2. คำานวณหาแรงงานปกต และระยะเวลาการพฒนาระบบงาน3. คำานวณหาปจจยปรบแรงงาน (Effort Adjustment Factor)

1.1 ประเภทของออกานก (Organic Model)

- ทมงานทพฒนามขนาดเลก- ระบบงานมขนาดเลก ประมาณไมเกน 50 KLOC- พฒนาภายในสภาวะแวดลอมภายในองคกร (in-house

environment)- ทมงานมความคนเคย หรอมประสบการณกบระบบงานทจะพฒนา- สามารถตอรอง ขอปรบเปลยนรายละเอยดของซอฟแวรได

- ระบบงานพฒนาอยบนสภาพแวดลอมทคงท (static environment)

- อลกอรทมของการประมวลผลไมมความซบซอน- ระยะเวลาในการพฒนาไมเปนตวกดดนตอผพฒนามากนก-

1.2 ประเภทเซมดเทช (Semi-detached Model)

- คนในทม มทงคนทม และไมมประสบการณในระบบงานทกำาลงพฒนา- คนในทมทกคนมประสบการณในระบบงานทเกยวของปานกลาง- มแรงกดดนจากระยะเวลาของโครงการบาง- ระบบงานมขนาดปานกลาง ประมาณไมเกน 300 KLOC- อลกอรทมของการประมวลผลมความซบซอนพอประมาณ-

1.3 ประเภทของเอมเบดเดด (Embedded Model)

- ทมงาน ไมมความคนเคย หรอไมมประสบการณกบระบบงานทจะพฒนา

- ขอกำาหนดของระบบงานทพฒนา ไมสามารถเปลยนแปลงได เนองมาจากขอจำากดตางๆ

- ตองพฒนาระบบงานททำางานรวมกบอปกรณเฉพาะ หรอระบบพฒนาขนโดยผกกบกฎ ระเบยบ หรอขนตอนการดำาเนนงานอยางเครงครด

- ตองพฒนาระบบงานภายในเวลาทกำาหนด- อลกอรทมของการประมวลผลมความซบซอน- ตองทดสอบความถกตองอยางมาก

การคำานวณหาแรงงาน และระยะเวลา

- ตวแบบพนฐาน

แรงงาน (คน-เดอน) = a x KLOCb

ระยะเวลาการพฒนา = c X แรงงาน d โดยท a, b, c, d มคาตามตาราง

ตาราง แสดงคาพารามเตอรสำาหรบตวแบบระดบพนฐาน

ประเภทระบบงาน a b c d

ออกานก 2.4 1.05 2.5 0.38

เซมดเทช 3.0 1.12 2.5 0.35

เอมเบดเดด 3.6 1.20 2.5 0.32

ตาราง ระบบงานมขนาด 33.3 KLOC เปนระบบแบบเซมดเทช จงคำานวณหาแรงงาน ระยะเวลา และจำานวนคน

- แรงงาน (คน-เดอน) = 3.0 x KLOC1.12 = 3.0 x 33.31.12 = 152 คน - เดอน

- ระยะเวลา = 2.5 x 152 = 14.5 เดอน

- จำานวนคน = 152/14.5 = 11 คน

การคำานวณหาปจจยปรบแรงงาน

- ถาการคำานวณแรงงาน ใชตวแบบระดบกลาง ผจดการโครงการตองปรบคาของแรงงานปกต ทคำานวณไดจากขอ 2 ดวยปจจยปรบแรงงาน ซงไดจากตวขบเคลอนคาใชจาย (Cost Driver) ทม 15 ตว แบงออกเปน 4 กลม ดงตาราง

บทท 1 COCOMO Model (Constructive Cost Model)

COCOMO II แบงออกเปน 3 ประเภท เพอใชประมาณการในระยะตางๆของกระบวนการพฒนาซอฟแวร มรายละเอยดดงน

1. Application Composition Modelเหมาะกบการผลตซอฟตแวรดวยแนวทางคอมโพเนนท สามารถอธบายแทนดวย Object Point ได

2. Early Design Modelใชประมาณการในระยะกอนการออกแบบซอฟตแวร เมอกำาหนดความความตองการแลว ใหใชคา FP แทนขนาดของซอฟตแวร

3. Post-Architecture Model ใชประมาณการในระยะหลงการออกแบบซอฟตแวร เปนการประมาณการอกครงเพอความถกตองของคาประมาณการทได

แบบจำาลอง COCOMO II ไดมแนวทางประมาณปจจยตางๆ โดย Boehm ไดแบงโปรแกรมออกเปน 4 กลม มดงน

1. โปรแกรมใหม (new code) เปนซอฟตแวรทพฒนาใหมทงหมดตงแตแรก

2. โปรแกรมทปรบเปลยน (adapted code) เปนโปรแกรมทมอยกอนแลวนำามาปรบแกเพอใชงานกบระบบใหม

3. โปรแกรมนำากลบมาใชใหม (reused code) เปนโปรแกรมทไมมการปรบแก หรอโปรแกรมทมอยเดม แตนำามาตดตงแลวใชงาน

4. โปรแกรมทมขาย (of-the-shelf software) เปนโปรแกรมเชนเดยวกบโปรแกรมนำากลบมาใชใหม แตโปรแกรมนจะมคำาสงใหมทนำามาใชรวมกน

1.1โมเดลการคำานวณ COCOMO II

1.1.1 การประมาณการแรงงานสำาหรบระยะพฒนาตนแบบชวงตนสตรแรงงาน คอ

แรงงาน (PM) = (NOPx(1-%reuse/100))/PRODโดยท

PM แรงงาน คน-เดอนNOP New Object Point%reuse รอยละของซอฟตแวรทนำากลบมาใชใหมPROD ผลผลตเพม

1.1.2 การประมาณการแรงงานหลงการออกแบบเปนตวแบบสำาหรบการประมาณการแรงงานในระยะนน โดยใชตวแบบพนฐานเดยวกบระดบการออกแบบชวงตน แตมผลคณแรงงานแตกตางกน

โดยมสตรดงนโดยท

PM Effort คอ กำาลงคนหรอแรงงานทตองใชในการพฒนาซอฟตแวร มหนวยเปน Person-Months (PM)

PM Effort คอ กำาลงคนหรอแรงงานทตองใชในการพฒนาซอฟตแวร มหนวยเปน Person-Months (PM)

A คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบขนาดของโครงการ โดย E = B + 0.01 * Scale FactorsB Scaling Base-exponent สำาหรบคำานวณ EffortEM คอ Effort Multipliers เปนคาทไดจากการคำานวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวรPMauto คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ Reuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา PMauto จะเปน 0

1.1.3 การประมาณการเวลาทใชในการพฒนาระบบระยะเวลาทใชในการพฒนาซอฟแวรเปนสงสำาคญทสงผลถงความสำาเรจของการพฒนาซอฟแวรและการบรหารจดการโครงการซงมสตรคำานวณ

ดงน

โดยทC คอ Schedule Coefficient ทใชมาคำานวณ โดย C = 3.67F คอ Scaling Exponent สำาหรบระยะเวลา โดย F =[ D + 0.2 (E-B) ]D Scaling Base-exponent สำาหรบ ระยะเวลา โดย D = 0.28SCED คอ ความรบเรงของเวลาเมอเปรยบเทยบกบการพฒนาปกต

จะเหนวา Effort ของการพฒนาทใชในการพฒนาจะขนอยกบขนาดของการพฒนาแตขนาดเพยงอยางเดยวอาจจะไมเพยงพอ เพราะจะตองนำาเอาปจจยอน และภาวะความเสยงอนมารวมคดดวย แนวความคดของ COCOMO II ไดแบงการประเมนราคาซอฟตแวรเปน 2 ระยะคอ Early-design และ Post-design เนองจากมความคดวาผลของการประเมนในเวลาททำาการเรมตนการออกแบบเบองตนยอมแตกตางจากการทไดทำาการวางโครงสรางแลว เมอเรมการพฒนาไปสกระยะจะทราบถงปจจยทสงผลกระทบตอคาใชจายมากขน

1.2แบบจำาลอง COCOMO II

1.3จดเดนของ COCOMO II

1. เปนแบบจำาลองทรวมเทคนคในการประเมนหลากหลายวธเขาดวยกน2. สามารถจดการหนวยการวดของซอฟแวรไดหลากหลาย3. สามารถนำาความเสยงสวนหนงมาเปนปจจยในการประมาณการได4. มการรองรบปรบปรงในอนาคต

top related