23
COCOMO II 54160343 นนนนนน นนนนนนนนน นนนนน 1 นนนนน นนนนน 2556 นนน นนนนน

Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

COCOMO II

54160343 นางสาวภทราภรณ กลม 1 ปการศกษา 2556

จเอยม

Page 2: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

COCOMO II Constructive Cost Model โมเดลในการประเมนราคาซอฟตแวร หรอ Software Costing Model ซงโมเดลนถกสรางขน ในป 1981 โดย Barry Boehm ซงเปนทยอมรบและนาเอาไปใชกนแพรหลายในสหรฐอเมรกาโดยแนวความคดนนตองการเพอประเมนราคาซอฟตแวร โดยจะตองนาเอาความแตกตางของแตละโครงการ, ลกษณะเฉพาะ, ผทเกยวของตางๆ มาคดคานวณคาออกมาเปนตวเลขได โดยปจจบนพฒนามาถง COCOMO II ซงมการนาเอาแนวคดเกยวกบ CMM มาใชรวมดวย จดเดนทนาสนใจของ COCOMO II คอการทาเอาตวเลขทางคณตศาสตรและสถต มาใชประยกตในการพฒนาซอฟตแวรตามหลกการของการบรหารจดการ เปนการนาเอาสงทเปนกระบวนการมาเปนตวเลขได การบรหารจดการจดการซอฟตแวรประกอบไปดวย ผลตภณฑกระบวนการ โครงการ และบคลากร นอกจากนยงมปจจยอนทเกยวของ ในการทจะประเมนราคาและระยะเวลาของซอฟตแวร โดยมโมเดลการคานวณเปนดงน

PM = A x SizeE x EM = PMauto

PMAE

BEM

PMauto

…………………………1

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

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

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

……………………………...2

Page 3: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

100

CFDSCED

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

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

Page 4: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

วธการแบบ COCOMO ทเกยวของกบ COCOMOII

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

จดเดนทนาสนใจของ COCOMO II คอ การทาเอาตวเลขทางคณตศาสตรและสถตมาประยกตใชในการพฒนาซอฟตแวรตามหลกการของการบรหารจดการ เปนการนาเอาสงทเปนกระบวนการมาเปนตวเลขได การบรหารจดการซอฟตแวรประกอบไปดวย ผลตภณฑกระบวนการ โครงการ และบคลากร นอกจากนยงมปจจยอนทเกยวของ ในการทจะประเมนราคาและระยะเวลาในการพฒนาของซอฟตแวร โดยมโมเดลการคานวณเปนดงนPM = A x Size x EM + Pmauto ...............................สมการท 1.6

E = B + 0.01 * Scale Factors ……………………..สมการท 1.7ซง

PM คอ Effort มหนวยเปน Person-Months (PM)A คอ คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94B คอ Scaling Base-exponent สาหรบคานวณ EffortsE คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ ขนาด

ของโครงการ Size คอ ขนาดของซอฟตแวร EM คอ Effort Multipliers เปนคาทไดจากการคานวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวรดงแสดงในตารางท 2.2

Page 5: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

Pmauto คอ คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการReuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา Pmauto จะเปน 0 Scale Factors คอ ตวแปรทมผลกระทบขอขนาด ดงจะแสดงในตารางท 2.3ซงเมอใชสมการท 1.6 คานวณหาคา PM ไดแลว ตอไปคอการคานวณหาคาระยะเวลาทใชในการพฒนา ระยะเวลาทใชในการพฒนาซอฟตแวรมสตรดงน

TDEV = [ C x (PM) F ] x SCED% …………..สมการท 1.8______100F = [ D + 0.2 (E-B) ] ................สมการท 1.9ซง

TDEV คอ Time to Develop ระยะเวลาทใชในการพฒนา PM คอ Effort มหนวยเปน Person-Months (PM) SCED คอ ความรบเรงของเวลาเมอเปรยบเทยบกบการพฒนาปกต B คอ Scaling Base-exponent สาหรบคานวณ Efforts C คอ Schedule Coefficient ทใชมาคานวณ โดย C = 3.67 D คอ Scaling Base-exponent สาหรบ ระยะเวลา โดย D = 0.28 E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ ขนาดของโครงการ F คอ Scaling Exponent สาหรบระยะเวลา สมการท 1.6 เปนสมการทใชหาคาความพยายาม (Effort) ทใชในการพฒนาซอฟตแวร ซงจะขนอยกบขนาด (Size) ของซอฟตแวรทจะพฒนา แตขนาดอยางเดยวยงไมเพยงพอในการคานวณ เนองจากยงมปจจยสภาวะแวดลอมทตางกนทอาจจะมผลตอความพยายามในการพฒนาซอฟตแวร โดยปจจยนจะมองในรปของ Effort Multipliers ซงจะใชสมการท 1.7 เพอคานวณหาคา Effort Multipliers และใชขอมลคานาหนกจากตารางท 2.2 ซงผประมาณการจะเปนผเลอกตวเลขโดยจะประมาณการจากสภาพแวดลอมตางๆ ของการพฒนา

Page 6: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

ซอฟตแวร เชน ขนาดของฐานขอมลวามความซบซอนเพยงใด โปรแกรมเมอรมความเชยวชาญหรอมประสบการณมากนอยเพยงใด เปนตน รวมไปถงการคานวณคา Scale Factors ในตารางท2.3 ทมผลตอขนาดของโครงการพฒนาซอฟตแวร เมอไดคา Effort มาแลวขนตอไปคอการนาเอาคาทไดไปคา ระยะเวลาในการพฒนา (TDEV) ในสมการท 1.8

Page 7: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

ขอมลทเกยวของกบ COCOMOII

Page 8: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

1

Lecture 12 การประมาณการตนทนของซอฟตแวร การประมาณการตนทนของซอฟตแวร(Software Cost Estimation) เปนกจกรรมหนงท

สาคญทสดในการวางแผนโครงการ (Project Planning) ทมงานจะตองประมาณการคาใชจายทเกดขนทงหมดจกการผลตซอฟตแวร เพอนามาคดเปนตนทนของซอฟตแวร และนาไปใชประเมนราคาของซอฟตแวรตอไป ตนทนหรอคาใชจายทเกดขนจากการผลตซอฟตแวรมหลายรายการ ไมวาจะเปนคาใชจายทเกดจากการซอวตถดบทวไป คาใชจายในการเดนทาง หรอคาใชจายเบดเตลด แตคาใชจายทสาคญทสด คอ คาแรง “ (Effort)” ซงผบรหารโครงการจะตองกาหนดจานวนของแรงงาน (ทมงาน) ทตองใชในแตละวน (หรอเดอน) เพอการผลตซอฟตแวรจนแลวเสรจ (จงเรยกไดอกอยางหนงวา“ความเพยรพยายาม”) คาใชจายดานแรงงาน เปนองคประกอบหนงของตนทนทมความไมแนนอนสงมาก เนองจากปจจยหลายประการ เชน ประสบการณของทมงาน โครงสรางของโครงการ ความสามารถของแตละบคคล เปนตนปจจยดงกลาวสงผลใหตองใชเวลาในการดาเนนงานมากขน และทาใหตนทนเพมสงขนตามไปดวย นอกจากน ตนทนทเกดขนบางครงอาจมตนทนแฝง ซงอาจเปนคาใชจายทไมชดเจนเปนสวนประกอบดวย อกทงสภาพแวดลอมในการผลตซอฟตแวรยงมการเปลยนแปลงตลอดระยะเวลาของโครงการ ทาใหตนทนทประมาณการไวในตอนตนมการเปลยนแปลง ผบรหารโครงการตองปรบตนทนอยเสมอ การประมาณการตนทนจงเปนเรองยาก และจาเปนตองอาศยเทคนคในการประมาณการตาง ๆ เขามาชวย

12.1 การประมาณการตนทนของซอฟตแวร Software Cost Estimation จดทาขนเพอนาไปประเมนราคาซอฟตแวร ซงเปนสงจาเปนสาหรบการรเรมโครงการ สาหรบโครงการทตองเขารวมประมล หากบรษทผผลตซอฟตแวรตองการใหชนะการประมล จะตองเสนอราคาซอฟตแวรหรอราคาโครงการทคอนขางตากวาคแขงขน แตการเสนอราคาทตากวานนจะตองไมทาใหบรษทขาดทนเมอเทยบกบตนทนทตองจายจรง ในอดต การประเมนราคาซอฟตแวรใชสตรแบบงาย ๆ คอ ใชตนทนบวกดวยกาไรทตองการ แตไมสามารถใชไดกบภาวะเศรษฐกจในปจจบนทมปจจยหลายประการสงผลกระทบตอการกาหนดราคา ทาใหการประเมนราคาแบบเดมคลาดเคลอน โดยอาจประเมนตาหรอสงเกนไป การประเมนราคาซอฟตแวรนนเปนสงสาคญสาหรบทกโครงการ หากประเมนราคาตาทาใหบรษทขาดทน แตหากประเมนสงเกนไปกไมสามารถชนะการประมล หรอไมถกเลอกใหดาเนนงานตอไปได

สงสาคญในการประเมนราคากคอ ตนทนของโครงการ “ (Project Cost)” ทไมไดหมายถงเพยงตนทนทใชในการผลตซอฟตแวรหรอตนทนทางตรงเทานน แตยงหมายรวมถงตนทนอน ๆ ดวย โดยตนทนรวมของโครงการผลตซอฟตแวร ประกอบไปดวย1. คาใชจายดานฮารดแวร ซอฟตแวร และการบารงรกษา (Hardware, Software and Maintenance Cost)2. คาใชจายจากการเดนทาง และการฝกอบรม (Travel and Training Cost)3. คาใชจายในความเพยรพยายาม (Effort Cost: หรอคาใชจายแรงงาน)สาหรบคาใชจายทเกดจาก Effort ทใชในการผลตนน นอกจากจะหมายถงคาแรงหรอเงนเดอนบคลากรในโครงการแลว ยงรวมถงคาใชจายอน ๆ เปนสวนประกอบดวย ซงกคอ คาใชจายเบดเตลด (Overhead) เชน คาใชจายในการเตรยมงาน คาใชจายในการบรหารงาน การตดตอสอสาร และสวสดการ เปนตน เมอโครงการเรมดาเนนการผบรหารโครงการจะตองมการปรบตนทนและตารางงานอยางสมาเสมอ เพอจดสรรการใชทรพยากรใหเหมาะสมทสด

Page 9: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

2

ปจจยทสงผลกระทบตอการกาหนดราคาซอฟตแวร(Software Pricing) ในภาวะปจจบน ไดแก โอกาสในดานการตลาด (Market Opportunity) ขอกาหนดในสญญา (Contractual Term) ความตองการของซอฟตแวรทเปลยนแปลงได (Requirement Volatile) ฐานะทางการเงน (Financial Health) และทสาคญทสดคอ การประมาณการตนทน (Cost Estimation) ซงหากไมมความชดเจนในตวเลขตนทนทประมาณการได จะทาใหราคาซอฟตแวรสงเกนไป อาจทาใหเสยโอกาสในการประมลได

12.2 การประมาณขนาดของซอฟตแวร สาหรบบางโครงการ ผบรหารโครงการอาจตองใชคาทไดจากการวดประสทธผลในการทางาน(Productivity)ซงหมายถงผลทไดจากการผลตงานของบคลากรในโครงการ ไปคานวณหาตนทนหรอจดตารางดาเนนงาน ตลอดจนอาจนาไปใชในการตดสนใจประเมนกระบวนการหรอการนาเทคโนโลยเขามาใชดวย โดย Productivity วดไดจากจานวนหนวยของงานทผลตได หารดวยจานวนเวลาทตองการใชในการผลต (หรอ Effort นนเอง) อาจมหนวยเปน Person-Hours หรอ Man-Day หรอ Man-Month กไดตามตองการ

หากเปนการผลตสนคาทจบตองไดทวไป จานวนหนวยของงานจะเปนรปธรรมคอจานวนสนคาทผลตได แตสาหรบการผลตซอฟตแวรทจบตองไมได จาเปนตองวดจากขนาดของซอฟตแวร (Software Size) ดงนน จงสามารถคานวณ Productivity ในการผลตซอฟตแวรของบคลากร ไดดงน Productivity = Size / Effort สาหรบกรรมวธในการวดขนาดของซอฟตแวรนน ม 2 ประเภท คอ วดจากจานวนบรรทดของซอรสโคด (Lineof Code: LoC) และวดจากจานวนฟงกชนทใชงานได (Function Point: FP) ดงรายละเอยดตอไปน12.2.1 การนบจานวนบรรทดของซอรสโคด (Line of Code)เปนวธวดขนาดซอฟตแวรวธแรกทนามาใชในยคกอน เนองจากภาษาโปรแกรมมงในยคนน มลกษณะการเขยนแบบลาดบเปนบรรทดตอเนองกนไป เชน COBOL, ASSEMBLY, FORTRAN เปนตน การนบจานวนบรรทดของโคด จงเปนวธวดขนาดซอฟตแวรทงายและใหผลชดเจนทสด แตเนองจากใน 1 โปรแกรมนน นอกจากจะมบรรทดทเปนชดคาสงใหคอมพวเตอรทางานจรง ๆ แลว (Source Line Code) ยงประกอบไปดวยบรรทดทเปน Commentโปรแกรม การประกาศตวแปรและฟงกชน วธการนบจานวนบรรทดจงแบงออกเปนหลายวธ ดงน

Simple Line Count เปนวธการนบโคดทงายทสด เนองจากนบทกบรรทดทอยใน Source File โดยจะนบรวมบรรทดวางหรอบรรทดทเปน Comment โปรแกรมดวย Physical Lines (LINES) เปนวธการนบจานวนบรรทดของโคดทยงคงใชกนอยในการบรหารโครงการผลตซอฟตแวร โดยจะนบโคดทกบรรทด (ยกเวนบรรทดทเปนการนยามตวแปรของโคดทเขยนดวย) Physical Line Of Code เปนวธนบจานวนบรรทด แตไมนบรวมบรรทดวางและบรรทดทเปน Commentโปรแกรม บางครงจงเรยกวธแบบนวา “Source Line Code (sLOC)” Logical Lines of Code (LLOC) วธการนบแบบ Logical มลกษณะคลายกบ Physical แตกตางกนคอLogical Lines นน จะนบบรรทดทมการเชอมตอกนดวยอกขระ “_” รวมเปนบรรทดเดยว

Page 10: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

3

Statements (STMT) วธการนไมใชการนบจานวนบรรทด แตเปนการนบจานวนประโยคคาสง โดยภาษาโปรแกรมมงสวนใหญจะมเพยง 1 ประโยคคาสงตอ 1 บรรทด การวดขนาดซอฟตแวรดวยวธการนบจานวนบรรทด ปจจบนพบวายงคงถกนามาใชเปนดชนชวดโครงการ(Project Metric) อย แตดวยวธการนบจานวนบรรทดในยคกอนนนยงมขอจากดอยบาง หากตองเปรยบเทยบโคดทเขยนดวยภาษาโปรแกรมมงทแตกตางกน ดงนน จงพบวามการแบงแยกวธการนบออกเปนหลายแบบขางตน อยางไรกตาม วธการนบจานวนบรรทดยงแตกตางออกไป ขนอยกบผคดคนวธนบเหลานน ทงน กเพอใหผลทไดจากการนบสามารถอธบายขนาดของซอฟตแวรไดถกตองและชดเจนทสด (วธนบจานวนบรรทดขางตน ในทนอางองมาจากเครองมอชวยวดทชอวา “Project Analyzer 7.1” ซงเปนเครองมอจดทาดชนวดโครงการผลตซอฟตแวร) ปจจบนถงแมวาจะมการพฒนาเครองมอนบจานวนบรรทดแบบอตโนมตขนมาหลายผลตภณฑกตาม แตทกผลตภณฑไมสามารถรองรบภาษาโปรแกรมมงไดครบถวน หรอบางผลตภณฑสามารถใชไดกบภาษาโปรแกรมมงเพยงภาษาเดยวเทานน (คนหาเครองมอนบจานวนบรรทดสาหรบระบบปฎบตการ UNIX ไดท http://sarovar.org/projects/kloc สวน

ระบบปฏบตการ Windows คนทไดท http://www.anologx.com/contents/download/program/kloc.htm สวนเครองมออน ๆทใชนบจานวนบรรทดแบบ Physical และสนบสนนภาษาโปรแกรมมงทหลายหลายเชน C, Java, COBL, Fortran และ C# คนหาไดทhttp://www.geronesoft.com) ขอเสยของการประมาณการขนาดของซอฟตแวรดวยการนบจานวนบรรทด คอ จานวนบรรทดทนบได ขนอยกบภาษาโปรแกรมมงทใชและคณภาพในการออกแบบโปรแกรม หากภาษาโปรแกรมมงทใชแตกตางกนจะไมสามารถเปรยบเทยบกนได บางภาษาตองเขยนโคดหลายบรรทดในการสรางฟงกชนงานเดยว กบภาษาโปรแกรมมงอนทเขยนเพยงไมกบรรทด หากออกแบบโปรแกรมไดด อาจทาใหจานวนบรรทดของโคดนอยกวาการออกแบบโปรแกรมในลกษณะอนได ดงนนคาทไดจากการนบจานวนบรรทด จงไมสามารถนามาใชประมาณขนาดของซอฟตแวรไดอยางสมบรณ ยกตวอยางโปรแกรม “Hello World” ทเขยนจากภาษาโปรแกรมมงทแตกตางกน ดงน

C Programming Language#include<stdio.h>#include<conio.h>void main(){ printf(“Hello, World”); getch();}

COBOL Programming Language100 IDENTIFICATION DIVISION.200 PROGRAM-ID. EXAMHELLO.300 ENVIRONMENT DIVISION.400 CONFIGURATION SECTION.500 SOURCE-COMPUTER. KTP.600 OBJECT-COMPUTER. KTP.700 DATA DIVISION.800 FILE SECTION.900 PROCEDURE DIVISION.1000 MAIN-DISPLAY SECTION.2000 BEGIN.3000 DISPLAY “Hello World” LINE 10POSITION 104000 STOP RUN.

Page 11: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

4

เมอประมาณการขนาดของซอฟตแวรไดแลว กสามารถนามาคานวณหาประสทธผลในการผลตซอฟตแวรไดโดยนาขนาดของซอฟตแวร (ในทนคอจานวนบรรทดของโคดทนบได) มาหารดวย Effort ยกตวอยางดงน

ตวอยางท 12.1 แสดงการคานวณหา Productivity ของโปรแกรมเมอร

โคด Assemblyโคดภาษาระดบสง

วเคราะห4 สปดาห4 สปดาห

ออกแบบ6 สปดาห6 สปดาห

Size6,000 บรรทด2,500 บรรทด

เขยนโปรแกรม10 สปดาห 5 สปดาห

ทดสอบ12 สปดาห 7 สปดาห

จดทาเอกสาร2 สปดาห2 สปดาห

โคด Assemblyโคดภาษาระดบสง

EffortProductivity 34 สปดาห705 บรรทด/เดอน 24 สปดาห416 บรรทด/เดอน Effort ตองหารดวย 4 กอน เพอทาใหหนวยเปนเดอน

LoC ถกคดคนขนในยคแรกของภาษาระดบสง เชน COBOL, FORTRAN เปนตน แตปจจบน ภาษาโปรแกรมมงถกพฒนาไปอยางมาก ทาใหเกดปญหาความไมเทาเทยมกนของผลจากการวดประสทธผลการผลตงานซอฟตแวรเนองจากภาษาโปรแกรมมงทโปรแกรมเมอรใชแตกตางกนมาก ในงานเดยวกนทใหผลลพธเหมอนกน เมอเขยนดวยภาษาโปรแกรมมงทแตกตางกน จานวนบรรทดจะแตกตางกนมาก ดงตวอยางท 12.1 ทาใหตองมการคดคนวธการวดขนาดของซอฟตแวรขนมาใหม นนคอ นบจานวนฟงกชน “ (Function Point: FP)”

12.2.2 การนบจานวนฟงกชน (Function Point: FP) การนบจานวนฟงกชน (Function Point: FP) เปนการวดขนาดของซอฟตแวรดวยการนบจานวนฟงกชนการทางานของโปรแกรมจากขอกาหนดความตองการของซอฟตแวร ดงนน วธการนบจานวนฟงกชนจงลดปญหาดานความแตกตางของภาษาโปรแกรมมงทใช และความแตกตางในเทคโนโลยดานอน ๆ ดวย วธการนบจานวนฟงกชนถกปรบปรงโดยคณะกรรมการกาหนดและรวบรวมกรรมวธในการวดขนาดซอฟตแวรดวยฟงกชนพอยท (InternationalFunction Point User Group: IFPUG) โดยมสตรการคานวณดงน

FP = UFP * VAF จากสตรการคานวณ จานวนของฟงกชนจะหาไดจากคา FP ทยงไมไดถกปรบแตง (Unadjusted Function Point: UFP) คณกบคาปจจยคณลกษณะของระบบ (Value Adjustment Factor: VAF) ดงรป

Page 12: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

5

การนาคาปจจยคณลกษณะของระบบมาคานวณดวยนน เนองจากคณลกษณะเดนของแตละระบบแตกตางกน ทาใหความยากงายในการผลตซอฟตแวรแตกตางกน หากไมนาปจจยเหลานมาคานวณดวย คา FP ทไดในแตละระบบจะไมเทาเทยมกน ทาใหคา FP ไมสามารถบงบอกถงประสทธผลในการทางานของโปรแกรมเมอรแตละคน ไดอยางแทจรง จากสตรการคานวณ ในทนขอแบงขนตอนการคานวณออกเปน 3 ขนตอน คอ คานวณหา FP ทยงไมไดปรบแตง (UFP) คานวณคาปจจยคณลกษณะของระบบ (VAF) และคานวณคา FP ทปรบแตงแลว

1. คานวณหาคา FP ทยงไมไดปรบแตง (UFP) กอนอนตองแบงประเภทของฟงกชนเสยกอน โดยฟงกชนการทางานทตองนบ แบงเปน 5 ประเภท ไดแก Internal Logical Files (ILF), External Interface Files (EIF), External Inputs (EI), External Outputs (EO) และ External Queries (EQ) แสดงรายละเอยดดงตารางท 12.1ตารางท 12.1 แสดงรายละเอยดของฟงกชนแตละ

ประเภท ฟงกชนExternal Inputs (EI)

External Outputs (EO)External Queries (EQ)Internal Logical Files (ILF)

รายละเอยดขอมลทรบเขามาในระบบ (อาจเปนขอมลทางธรกจหรอขอมลควบคม) เพอนาไปอพเดทขอมลใน ILF เชน ขอมลในกระบวนการ เพม ลบ แกไข ขอมล เปนตนขอมลทเปนผลลพธจากการประมวลผลขอมลทไดรบจากภายในระบบ ใหนบการแสดงผลขอมลทมรปแบบแตกตางกนกระบวนการดงขอมลและประมวลผลเพอแสดงผลตอผใช(คอ Query ขอมลนนเอง)ไฟลทเกยวของกบขอมลทอยในระบบตลอดชวงอายของระบบ และเปนไฟลทมกจะถกบารงรกษาหรอปรบปรงดวยขอมลทไดรบจากภายนอก (EI) ใหนบรวมเรคคอรดททาหนาทเทยบเทากบไฟลดวยไฟลทเกยวของกบขอมลทใชเพอการอางองเทานน และใชรวมกบระบบอน EIF เปนไฟลทถกเรยกใชโดยระบบทจะพฒนา แตจะบารงรกษาหรอถกสรางโดยระบบอน

External Interface Files (EIF)

ฟงกชนแตละประเภทเกดจากการทารายการขอมล (Transaction) ของผใช จงมความซบซอนแตกตางกนตามจานวนของขอมล (Data Element Type: DET) เรคคอรด (Record Element Type: RET) และไฟลทเกยวของ (File TypeReference: FTR) ทประกอบขนเปน Transaction แตละรายการ ดงนน การนบฟงกชนแตละประเภท จงตองนบทจานวนของ DET, RET และ FTR ทเกยวของกบฟงกชนแตละประเภท แลวนามาเทยบกบตารางเกณฑระดบความซบซอนของฟงกชน ซงแบงเปน 3 ระดบ คอ ระดบตา (Low) ปานกลาง (Average) และสง (High) ในฟงกชนแตละประเภทจะถกวดขนาดความซบซอนออกมาไดหลายระดบ ใหนบวาแตละฟงกชนมระดบ ตา กลาง และสงจานวนเทาใด แลวนามาคณกบตวถวงนาหนกของแตละระดบในฟงกชนแตละประเภท ตามตารางตวถวงนาหนก จากนน หาผลรวมฟงกชนทงหมดทนบไดกจะไดคา UFP (คา FP ทยงไมไดปรบแตง)

Page 13: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

6

ตารางท 12.2 แสดงตารางเกณฑระดบความซบซอนของฟงกชนแตละประเภท ตารางถวงนาหนก และการคานวณหาคา UFP

จากตวอยางในตาราง สมมต ขอมลสนคาทจะนาเขาสระบบ (EI) เกยวของกบไฟล 2 ชนด (FTR) และขอมลสนคานประกอบไปดวยฟลดขอมลไมเกน 15 ฟลด (DET) เมอเทยบกบตาราง EI แลวพบวาฟงกชน EI นมระดบความซบซอนอยท Average แตขอมลทจะนาเขาสระบบทงหมดม 10 ชนด (คอ นอกจากขอมลสนคาแลวยงมขอมลอน ๆดวย) เมอประเมนแลวพบวา อยในระดบ “Low” 2 ชนด อยในระดบ “Average” 5 ชนด และระดบ “High” 3 ชนดเมอนาไปคณกบตวถวงนาหนกแลวรวมกนทงหมดไดคาความซบซอนของ EI เทากบ 44 จงดาเนนการหาคาความซบซอนของขอมลชนดตอไปจนครบเพอหาผลรวม UFP ของขอมลทกชนด

2. คานวณหาคาปจจยคณลกษณะของระบบ (VAF) กอนคานวณหาคา FP สดทาย ใหคานวณคาปจจยทสงผลตอความแตกตางกนของแตละระบบ ปจจยดง กลาวคอ คณลกษณะเดนของระบบทงหมด 14 ดานตามขอกาหนดความตองการทลกคาตองการ โดยให กาหนดระดบอทธพลของคณลกษณะในแตละดานวามความเกยวของกบระบบมากนอยเพยงใด โดยมคา ตงแต 0 (ไมเกยวของ) ถง 5 (เกยวของมาก)

Page 14: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

7

ตารางท 12.3 คณลกษณะเดนของระบบทง 14 ดาน คาทประเมนตงแต 0 (ไมเกยวของ) ถง 5 (เกยวของมาก)

1

2

34

5

6

7

คณลกษณะการตดตอสอสารขอมล (DataCommunication)การประมวลผลขอมลแบบกระจาย(Distribution Data Processing)ประสทธภาพของระบบ (Performance)การแกไขคาของระบบ (Configuration)ปรมาณรายการขอมล (Transaction)การปอนขอมลเขาสระบบแบบออนไลน(Online Data Entry)ประสทธภาพการใชงานของผใช (End-user Effciency)

คา8

9

1011

12

13

14

คณลกษณะการปรบปรงขอมลแบบออนไลน (OnlineUpdate)ความซบซอนของการประมวลผล(Complex Processingการนาไปใชซาได (Reusability)ความงายในการตดตง (InstallationEase)ความงายในการดาเนนงาน (OperationalEase)การใชงานไดหลายไซต (Multiple Sites)รองรบการเปลยนแปลงความตองการของผใช (Change Requirement)

คา

จากนน ใหรวมระดบอทธพลทง 14 ดานเขาดวยกน แลวนามาคานวณหา VAF ตามสตรคานวณ ดงน

VAF = 0.65 + [0.01 * ผลรวมคาคณลกษณะ 14 ดาน]

3. คานวณหาคา FP ทปรบแตงแลว เมอคานวณหา UFP และ VAF แลว นามาคณกน จะไดผลลพธเปนคา FP ทปรบแตงตามคณลกษณะ เดนของระบบ ตามสตร FP = UFP * VAF ทง LoC และ FP คอ วธวดขนาดของซอฟตแวร โดยสามารถนาไปคานวณหา Productivity

และ Effort ตอไปได อยางไรกตาม สตรคานวณเพอประมาณการ Effort นนบางครงอาจตองการใชขนาดของซอฟตแวรทเปน LoCดงนน คา FP ทหาได อาจตองแปลงไปเปน LoC ซงมตารางเปรยบเทยบ ดงนตารางท 12.4 ตารางเปรยบเทยบคา FP เพอแปลงไปเปน LoC ตามมาตรฐานของ QSM (QuantitiativeSoftware Management: www.qsm.com)ภาษาโปรแกรมมง

AccessAdaASPCC++C#Clipper

Average 35 154 59 148 60 59 38

Medium 38 - 62 104 53 59 39

LoC ตอ 1 FPLow 15104 32 9 29 51 27

High 47205127704178 66 70

Page 15: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

8

COBOLFoxProHTMLInformixJ2EEJavaJavaScriptJSPOraclePerlPL/1PL/SQLPowerbuilderSQLVBScriptVisual Basic

73324342616056593860594630394550

77354231505954 -29 -593124353442

8253524501444 -4 -22147152714

400 35 53 57100 97 65 -122 - 92110105143 50276

12.3 เทคนคการประมาณการตนทนและ Effortการประมาณการตนทน และ Effort ทดจะตองใกลเคยงกบความเปนจรง แตการประมาณการใหใกลเคยงกบคาจรงนนเปนสงททาไดยาก จงไดมการคดคนเทคนคในการประมาณการตนทนและ Effort ขนมาหลายเทคนค ดงตวอยางตอไปนตารางท 12.5 ตารางแสดงตวอยางเทคนคในการประมาณการตนทนและ Effort เทคนค

Algorithm Cost Modeling

รายละเอยดการใชแบบจาลองทางคณตศาสตรเพอการประมาณการ โดยแบบจาลองนนถกพฒนาจากการรวบรวมขอมลตนทนทใชจรงในอดตทมความสมพนธกบหนวยวดบางอยางของซอฟตแวร เชน ขนาดของซอฟตแวร เพอใชเปนตวแปรทสงผลตอการประมาณการตนทนการใชผเชยวชาญประมาณการ โดยใชความเหนของผเชยวชาญ เปรยบเทยบกบขอมลในอดต ปรกษา และตกลงกาหนดตนทนรวมกนการประมาณการดวยการวเคราะห โดยอาศยขอมลจากโครงการในธรกจเดยวกนทดาเนนการประสบความสาเรจแลวมาเปนขอมลหลกในการวเคราะหกฎของพารคนสน คอ การกระจายงานใหกบบคลากรตามระยะเวลาทมอย เชน ถาตองสงมอบซอฟตแวรภายใน 12 เดอน และมบคลากรอยเพยง 5 คน จะตองจดสรรบคลากรทง 5 ใหทางานไดเทากบ 60 Person-Monthการประมาณการเพอใหชนะการประมล กลาวคอ ตองประมาณการตนทนใหตาทสดเพอจะไดกาหนดราคาซอฟตแวรใหตากวาคแขงขน โดยไมสนใจวาการประมาณการนจะถกตองหรอไม

Expert Judgment

Estimation by AnalogyParkinson’s Law

Pricing to Win

ตวอยางเทคนคในตารางขางตน เปนเทคนคทอาศยความรและประสบการณหรอขอมลในอดตเปนสวนใหญแตโครงการในปจจบนนนมความแตกตางจากในอดตเปนอยางมาก วธการดงกลาวจงคลาดเคลอนสง ในทนจงขอ

Page 16: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

9

กลาวถงการประมาณการดวยแบบจาลอง หรอสตรทางคณตศาสตรทเรยกวา “COCOMO Model” ซงมการนาปจจยทสงผลตอตนทนหลายประการมาคานวณดวย

12.4 เทคนคการประมาณการแบบ COCOMO COCOMO (Constructive Cost Model) เปนแบบจาลองประมาณการ Effort ตนทน และจดตารางการทางาน ทคดคนโดย Dr. Barry Boehm ในป ค.ศ. 1981 โดยการพจารณาจากขนาดของซอฟตแวรและคณลกษณะของซอฟตแวรทผใชตองการ เนองจากความซบซอนและคณลกษณะของซอฟตแวรเรมมมากขน อนเปนผลมาจากแนวทางเครองมอ และเทคโนโลยทใชผลตซอฟตแวรนนถกพฒนาขดความสามารถมากขน ไมวาจะเปนเทคโนโลยการออกแบบเชงวตถ (Object-oriented Design: OOD) การผลตซอฟตแวรเปนคอมโพเนนท รวมถงเครองมอทดสอบโปรแกรมแบบอตโนมต การประมาณการตนทนและ Effort ดวยแบบจาลอง COCOMO นน เปนการคานวณจากขนาดของซอฟตแวรรวมกบปจจยแวดลอมอน ๆ ทเกยวของ เชน ความแนนอนของกระบวนการ และความสามารถในการผลตซอฟตแวรของทมงาน ความยดหยน ความเสยง และวธจดการกบความเสยง เปนตน นอกจากน แบบจาลอง COCOMO ยงมการคานวณแบบเอกซโปเนนเชยล (Exponential) เนองจาก Dr.Barry Boehm พบวา Effort กบขนาดของซอฟตแวรมความสมพนธกนแบบไมเปนเสนตรง กลาวคอ Effort แปรผนตามขนาดของซอฟทแวรแบบยกกาลง เชน หากเพมขนาดของซอฟตแวร นอกจากจะทาใหจานวนบคลากรในทมงานเพมขนแลว ยงอาจทาใหคาใชจายอน ๆ เพมขนตามไปดวยไมวาจะเปนคาใชจายในการตดตอสอสาร คาใชจายในการบรหาร ตลอดจนคาใชจายในการรวมระบบ (เรยกคาใชจายเหลานวา “Overhead”) เปนตน นอกจากขนาดของซอฟตแวรและปจจยแวดลอม ทสงผลตอ Effort ทงการเพมขนหรอลดลงของ Effort แลว ยงมปจจยอนทตองพจารณาเพมเตม เชน คณลกษณะของซอฟตแวร คณลกษณะของPlatform คณลกษณะของทมงาน และคณลกษณะของการบรหารโครงการ เปนตน แลวใหนาหนกกบคณลกษณะดงกลาวเพอปรบคาจานวน Effort ทเหมาะสมทสด แบบจาลอง COCOMO ถกพฒนาเปนเวอรชน 2 คอ COCOMO II ตงแตป ค.ศ. 1997 โดยรวบรวมขอมลจากโครงการทงหมด 161 โครงการ จาแนกตามขนาดของโครงการ และใชหลกการวเคราะหทางสถต (BayesianStatistical Analysis) วเคราะหขอมลของโครงการทประสบความสาเรจเหลานน รวมทงความคดเหนของผเชยวชาญ

Page 17: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

10

อยางไรกตาม ในระบบงานหรอโครงการขนาดใหญ อาจแบงการประมาณการออกเปนสวนยอย โดยในแตละสวนสามารถใชเทคนคในการประมาณการทแตกตางกนได จากนนจงนาผลทไดในแตละสวนมารวมกน โดยทผบรหารโครงการไมจาเปนตองประเมนทกสวนกได ขนอยกบความเหมาะสมและขอตกลง Application-composition Model Application-composition Model เปนแบบจาลอง COCOMO II ทเหมาะกบการผลตซอฟตแวรดวยแนวทางคอมโพเนนท โดยแตละคอมโพเนนทสามารถอธบายแทนดวย Object Point ได นนคอ ขนาดของซอฟตแวรจะตองนบเปนออบเจกพอยท เปนการนบจานวนออบเจกต ทหมายถงคอมโพเนนท 3 สวน ไดแก หนาจอ (Screen)รายงาน (Report) และโมดลทเขยนดวยภาษาโปรแกรมมงในยค 3GL (Third Generation Language) ขนไป ดงนนออบเจกตในทนจงตางจากออบเจกตตามการนยามของเทคโนโลยเชงวตถ (Object-oriented Technology) ออบเจกตคอมโพเนนทเหลาน จะมจานวนออบเจกตพอยทแตกตางกน ขนอยกบระดบความซบซอน โดยแบงออกเปน 3ระดบ แตละระดบมคะแนนความซบซอน ดงตารางตอไปน

ตารางท 12.6 แสดงระดบความซบซอนของออบเจกตพอยท

ScreenReports3GL Modules

งาย (Simple) 1 2 4

ซบซอน (Complex) 2 5 10

ซบซอนมาก (Very Complex) 3 6 -

กรณคอมโพเนนทของซอฟตแวรถกออกแบบใหมการนากลบมาใชใหม และมการใชงานไลบรารดวย จะตองนาอตราการนาไปใชใหมมาลบออกจากจานวนออบเจกตพอยททนบไดทงหมด ผลลพธทไดคอ คาของออบเจกตพอยททถกปรบลดแลว หรอเรยกวา “Revised Object Point (ROP)” มสตรคานวณ ดงน

Revised Object Point (ROP) = Object Point x [(100 - %reuse)/100]จากนนใหนา ROP ทไดไปคานวณหา Effort ดงน

MME (Man Month Effort) = [ROP / Productivity Constant] โดย Effort ทได จะมหนวยเปน Man-Month หาไดจากอตราสวนระหวาง ROP กบคาคงทของประสทธผลในการผลตซอฟตแวร (Productivity Constant) ซงคดจากประสบการณและความสามารถของทมงาน มคาคงทดงตารางตอไปนตารางท 12.7 แสดงคาคงทของประสทธผลในการผลตซอฟตแวร โดยพจารณาจากระดบประสบการณและความสามารถของทมงาน ระดบประสบการณและ

ความสามารถProductivity Constant(NOP per Month)

ตามาก(Very Low) 4

ตา(Low) 7

ปานกลาง(Nominal) 13

สง(High) 25

สงมาก(Very High) 50

Page 18: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

11

ประสทธผลในการผลตซอฟตแวร จะมหนวยเปนจานวนของออบเจกตพอยทตอเดอน (Number of ObjectPoint per Month) ยกตวอยางเชน ในระยะการกอนการดาเนนงาน โครงการ ก นบจานวนออบเจกตพอยทได 40 OP มอตราการนาโคดไปใชใหม 10% และเมอประเมนประสบการณและความสามารถของทมงานแลว พบวาอยในระดบปานกลาง(Nominal/Normal) สามารถคานวณหา Effort ทตองการใชในโครงการได ดงน

100 − 10𝑅𝑂𝑃 = 40 ×= 40 × 0.90 = 36 100 36𝑀𝑀𝐸 𝑀𝑎𝑛𝑀𝑜𝑛𝑡𝑕𝐸𝑓𝑓𝑜𝑟𝑡 == 3 𝑀𝑎𝑛 𝑀𝑜𝑛𝑡𝑕𝑠 13 การประมาณการ Effort ดวยแบบจาลองชนดน นอกจากจะใชในระยะการหา Concept ในการดาเนนงานแลว ยงสามารถใชประมาณการจานวนแรงงานจากโปรโตไทปทสรางขนมา เพอเสนอลกคา ในกรณทขอมลความตองการของลกคายงไมชดเจนไดอกดวย

Early Design Modelเปนแบบจาลอง COCOMO II ทใชในระยะกอนการออกแบบซอฟตแวร โดยมสตรคานวณพนฐาน ดงน 𝑀𝑀𝐸 = 𝐴 × (𝑆𝑖𝑧𝑒)𝐵โดยท MME A B

คอ Effort ทมหนวยเปน Man-Month (Man Month Effort)คอ คาคงทของประสทธผลในการผลตซอฟตแวร คดทระดบปานกลาง (Nominal)คอ คาของปจจยทสงผลกระทบให Effort และขนาดแปรผนตรงตอกนแบบไมเปน เสนตรง (Exponential) เรยกปจจยเหลานวา “Scaling Factor” หรอ “Economics Scale” หรอ “Cost Driver” ในทนขอเรยกวา ปจจยขบ“ ”คอ ขนาดของซอฟตแวร มหนวยเปน KLoC (Kilo of Line of Code = Loc x 1000)

Size

ตามทเคยกลาวไปแลววา COCOMO II ไดนาปจจยอน ๆ มาคานวณดวย เนองจากพบวา ปจจยดงกลาวทาใหขนาดและ Effort แปรผนตอกนแบบไมเปนเสนตรง ปจจยดงกลาวเรยกวา “Scaling Factor” หรอ คาของปจจยขบแสดงแทนดวย B จากสตรคานวณ จะสงเกตวา B เปนเลขชกาลงของขนาดซอฟตแวร ดงนน B จะสงผลให Size ofSoftware เปลยนแปลง โดยจะสงผลให Effort เปลยนแปลงไปดวย ดงน - ถา B = 1 หมายถง Scaling Factor ไมสงผลกระทบตอขนาดซอฟตแวร (ไมทาใหขนาดซอฟตแวรเปลยนแปลง) - ถา B > 1 หรอ B < 1 หมายถง Scaling Factor สงผลกระทบใหขนาดของซอฟตแวรเปลยนแปลงขนหรอลง ปจจยขบทนามาใชใน Early Design Model มทงหมด 5 ปจจย โดยเบองตนจะตองประเมนระดบและใหคะแนนแตละปจจย (Rating) จากนนหาผลรวมของคะแนนทประเมนไดในปจจยทงหมด แลวนามาคานวณหาคาของปจจยทแทนดวย B จากสตรคานวณ ดงน

Page 19: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

12

5𝐵 = 0.91 + 0.01(1 𝑅𝑎𝑡𝑖𝑛𝑔𝑠) ระดบในการประเมนปจจยทง 5 ม 4 ระดบ ไดแก ตามาก(Very Low) ตา (Low) ปานกลาง (Nominal) และสง (High) แตละระดบมคะแนน ดงตารางตอไปนตารางท 12.8 แสดงคะแนนของปจจยแตละระดบ (Value of Rating for Scaling Factor)Factor Code

PRECFLEXRESLTEAMPMAT

ตามาก(Very Low) 6.20 5.07 7.07 5.48 7.80

ตา(Low) 4.96 4.05 5.65 4.38 6.24

ปานกลาง(Nominal) 3.72 3.04 4.24 3.29 4.68

สง(High) 2.48 2.03 2.83 2.19 3.12

Factor Name

PrecedentnessFlexibilityRisk ResolutionTeam CohesionProcess Maturity

สาหรบความหมายของ ปจจยขบ ทง 5 มดงนตารางท 12.9 แสดงปจจยขบสาหรบ COCOMO II ในระยะ

Early DesignปจจยPREC

FLEXRESLTEAMPMAT

รายละเอยดความเหมอนของซอฟตแวรใหมกบซอฟตแวรเดมทเคยพฒนามาแลว (เหมอนมาก คะแนนนอยอยในระดบสง แปลวาผลกระทบนอย แตถาเหมอนนอย อยในระดบตา คะแนนสง เพราะสงผลกระทบมาก)การวดระดบความยดหยนในการบรหารจดการและดาเนนโครงการ (เชน การใชเครองมอ)การวดระดบความสามารถในการจดการหรอควบคมความเสยงขององคกรหรอทมงานของโครงการการวดระดบของการทางานเปนทมขององคกรหรอทมงานโครงการการวดระดบวฒภาวะความสามารถขององคกร หรอทมงานโครงการ ตงแตระดบตาสดคอ 1 จนถงระดบสงสดคอ 5

ตวอยางท 12.2 สมมตวา ปจจยขบทง 5 ขอ ถกจดอนดบใหอยในระดบตามาก (Very Low) ทงหมด และกาหนดใหขนาดของซอฟตแวรทนบแบบฟงกชนพอยทและแปลงมาเปน LoC แลวมคาเทากบ 10 KLoC สามารถคานวณหาแรงงานโดยประมาณ บนพนฐานของคาคงทของประสทธผลในการผลตทระดบปกต (Nominal) ไดดงนหาคาระดบคะแนนรวมของปจจยขบ หรอคา B กอน ดงน

B = 0.91 + 0.01 x (6.20 + 5.07 + 7.07 +5.48 + 7.80) = 0.91 + 0.01 x 31.62 = 1.2262 สงเกต B มคามากกวา 1 ทาใหทราบในเบองตนวา ปจจยขบสงผลกระทบตอขนาดของซอฟตแวรและ Effortแนนอน ตอไปคานวณหา Effort โดยประมาณ ดงนMME = A x (Size)B

= 13 x (10)1.2262 ** A = 13 เทยบจากตารางท 12.7 ** = 13 x 16.8344 = 218.84 หรอ ประมาณ 219 Man Month

Page 20: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

13

ตวอยางท 12.3 ในทางตรงกนขามกบตวอยางท 12.2 สมมต ปจจยขบทง 5 ขอ ถกจดอนดบใหอยในระดบสง(High) ทงหมด และกาหนดใหขนาดของซอฟตแวรทนบแบบฟงกชนพอยทมคาเทาเดม สามารถคานวณหาแรงงานโดยประมาณ บนพนฐานของคาคงทของประสทธผลในการผลตทระดบปกต (Nominal) ไดดงน

B = 0.91 + 0.01 x (2.48 + 2.03 + 2.83 + 2.19 + 3.12) = 0.91 + 0.01 x 12.65 = 1.0365 หรอประมาณ 1.04MME = A x (Size)B = 13 x (10)1.04 ** A = 13 เทยบจากตารางท 12.7 ** = 13 x 10.9647 = 142.54 หรอ ประมาณ 143 Man Month

จะเหนวา คา B มากกวา 1 เชนกน แตมากกวาเพยงเลกนอยเทานน ดงนน จงสงผลใหขนาดของซอฟตแวรเพมขนเพยงเลกนอย กลาวคอ เพมจาก 10 เปน 10.9647 ทาใหใชแรงงานหรอความพยายามโดยประมาณเพยง 143 ManMonth Post Architecture Model ในระยะหลงการออกแบบ จะพบวานอกจากปจจยขบทง 5 ในระยะกอนออกแบบ ทมผลตอ Effort ทตองใชโดยประมาณแลว ยงมปจจยทมผลกระทบรวมดวย ทงในดานคณลกษณะของผลตภณฑหรอซอฟตแวร (ProductFactor) ดาน Platform (Platform Factor) ดานบคลากร (Personnel Factor) และดานโครงการ (Project Factor)รวมทงสน 16 ปจจย เรยกปจจยเหลานวา “Effort Multiplier” ดงนน จงตองปรบคา Effort โดยประมาณทคานวณไดจากระยะกอนออกแบบใหมเปน MME (Modified) ดวยการประเมนระดบการสงผลกระทบตอ Effort ของทง 16ปจจย ออกมาเปนคาคะแนนในแตละระดบ ไดแก ตามาก (Very Low) ตา (Low) ปานกลาง (Nominal) และสง(High) นาคะแนนระดบทประเมนไดทง 16 มาคณกน เพอใหไดเปน Effort Multiplier คอ Effort ตามสตรคานวณตอไปน

MME (Modified) = MME x (EM)

โดย EM คอ Effort Multiplier เปนผลคณของปจจยทสงผลใหจานวน Effort เปลยนแปลงไป นนคอEM1 x EM2 x Em3 x ….. x EM16 สาหรบปจจยในระยะหลงการออกแบบ ทง 16 ปจจย จะแบงออกเปน 4 กลม ดงน

Page 21: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

14

ตารางท 12.10 แสดงปจจยสาหรบ COCOMO II ในระยะ Post Architecture กลมปจจยผลตภณฑซอฟตแวร(Product)

แพลตฟอรม(Platform)

บคลากร(Personnel)

ปจจยRELY: Software ReliabilityDATA: Database SizeCPLX: Software ComplexityRUSE: Required ReusabilityDOCU: DocumentationTIME: Time Constraint on ExecutionSTOR: Main Storage ConstraintPVOL: Platform VolatilityACAP: Analyst CapabilityPCAP: Programmer CapabilityPCON: Personnel ContinuityAEXP: Analyst ExperiencePEXP: Programmer ExperienceLTEX: Language and ToolsExperienceTOOL: Use of Software ToolsSITE: Site Environment

รายละเอยดระดบความนาเชอถอและไววางใจไดของซอฟตแวรทตองการขนาดของฐานขอมลระดบความซบซอนของซอฟตแวรความตองการในการนาโคดไปใชซาระดบมาตรฐานของเอกสารขอจากดดานเวลาในการรนซอฟตแวรขอจากดดานเนอทการเกบขอมลความถในการเปลยนแพลทฟอรมหรอระบบปฏบตการความสามารถของนกวเคราะหระบบความสามารถของโปรแกรมเมอรความถในการเปลยนแปลงพนกงานหรอทมงานประสบการณของนกวเคราะหระบบประสบการณของโปรแกรมเมอรประสบการณในการใชภาษาโปรแกรมมงและเครองมอ

การใชเครองมอในการบรหารโครงการจานวนของไซตงาน

โครงการ(Project)

เมอประเมนระดบการสงผลกระทบตอเปนคะแนน ตามเกณฑในตารางตอไปน

Effort ของทง 16 ปจจยจนครบแลว ใหนาระดบทประเมนได มาเทยบ

ตารางท 12.11 แสดงระดบการสงผลกระทบตอ Effort ของปจจยทง 16 ประการในระยะ Post ArchitectureFactor

ตามาก (Very Low)Product Factor1. RELY2. DATA3. CPLX4. RUSE5. DOCUPlatform Factors1. TIME2. STOR3. PVOLPersonnel Factors1. ACAP2. PCAP3. AEXP4. PEXP5. LTXP

0.820.800.730.850.81

---

1.421.341.221.191.20

0.920.900.870.950.91

---

1.191.151.101.091.09

Levels and Ratingsตา (Low)ปานกลาง (Nominal)

1.001.001.001.001.00

1.001.001.00

1.001.001.001.001.00

1.101.141.171.071.11

1.111.051.15

0.850.880.880.910.91

สง (High)

Page 22: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

15

6. PCONProject Factors1. TOOL2. SITE

1.29

1.171.22

1.12

1.091.09

1.00

1.001.00

0.90

0.90093

ตวอยางท 12.4 จากตวอยางท 12.2 และ 12.3 เปนการหาคา MME (Effort) โดยประมาณในระยะกอนการออกแบบ เมอมาถงระยะหลงการออกแบบ ตองนาคา Effort ทไดมาปรบคาใหมตามปจจยเพมเตม 16 ปจจย โดยยงคงใหขนาดของซอฟตแวรมคาเทากบ 10 KLoC เชนเดม แตในตวอยางน จะคานวณหา MME ใน 2 กรณ คอ กรณท 1ปจจยขบทง 16 ประการอยในระดบ “Very Low” และกรณท 2 คอ ปจจยขบทง 16 ประการอยในระดบ “High”กรณท 1 ปจจยขบทง 16 ประการ ถกจดใหอยในระดบ “Very Low” ทงหมดEffort Multiplier กรณท 1= EM1 x EM2 x ….. EM16 = 0.82 x 0.80 x 0.73 x 0.85 x 0.81 x 1.42 x 1.34 x 1.22 x 1.19 x 1.20 x 1.29 x 1.17 x 1.22 = 2.01

กรณท 2 ปจจยขบทง 16 ประการ ถกจดใหอยในระดบ “High” ทงหมดEffort Multiplier กรณท 2= EM1 x EM2 x ….. EM16 = 1.10 x 1.14 x 1 17 x 1.07 x 1.11 x 1.11 x 1.05 x 1.15 x 0.85 x = 0.88 x 0.88 x 0.91 x 0.91 x 0.90 x 0.90 x 0.93 = 0.96ดงนน MME (Modified) ของทง 2 กรณ คานวณได ดงน

MME (Modified) = MME x (EM)

MME (จากตวอยางท 12.2)MME (จากตวอยางท 12.3)

= 219 x 2.01 = 143 x 0.96

440 Man Month137 Man Month

หากตองการคานวณคาใชจายของ Effort (Man Month Cost) โดยประมาณ ใหนา MME โดยประมาณคณดวยอตราคาแรงตอคน (Man Month Rate)

สรปการประมาณการตนทนของซอฟตแวร(Software Cost Estimation) จดทาขนเพอนาตนทนทประมาณการไดมาประเมนราคาโครงการหรอประเมนราคาของซอฟตแวร การประมาณการตนทนซอฟตแวรจงเปนอกกจกรรมหนงทสาคญเทยบเทากบกจกรรมอน เนองจากหากตนทนทประมาณการไดนาไปสการประมาณราคาของซอฟตแวรไมถกตองอาจทาใหองคกรตองขาดทนหรอกาไรทไดไมคมคา หรออาจไมชนะการแขงขนประมลโครงการ ในระหวางการประมาณการตนทน ยอมตองมปจจยททาใหตนทนเปลยนแปลง ผบรหารโครงการมหนาทในการปรบคาตนทนใหเหมาะสมกบปจจยทเปลยนแปลงไปดวย เพอใหตนทนโดยประมาณใกลเคยงกบตนทนจรงมากทสด และจะสงผลให

Page 23: Burapha Universitybls.buu.ac.th/~s56103/11Feb06/54160343_COCOMO II_01.docx · Web viewข น ในป 1981 โดย Barry Boehm ซ งเป นท ยอมร บและนาเอาไปใช

16

การประมาณราคาซอฟตแวรถกตองทสดดวย ตนทนของโครงการผลตซอฟตแวรประกอบไปดวยคาใชจายหลายประเภท เชนคาเดนทาง คาฝกอบรม คาฮารดแวร ซอฟตแวร และแรงงาน เปนตน แตการประมาณการแรงงาน (Effort) เพอใหไดประสทธผลการทางานทตองการ (Productivity) นน จาเปนตองอาศย ขนาด “ (Size)” ของซอฟตแวรในการประมาณการ ดงนน จงตองมการคดคนวธการวดขนาดของซอฟตแวรขนมา โดยนยมใชวธ นบจานวนบรรทด “ (Line of Code: LoC)” และวธ นบ“ฟงกชน (Function Point: FP)” โดยวธนบจานวนบรรทดเปนวธทงายและชดเจนมากกวา แตขอเสยคอ ไมสามารถนามาใชวดประสทธผลการผลตซอฟตแวรของโปรแกรมเมอรทใชภาษาโปรแกรมมงทแตกตางกนได เนองจากภาษาโปรแกรมมงทแตกตางกน จะใชจานวนบรรทดทไมเทากน เมอตองเขยนฟงกชนงานเดยวกน ดงนนจงตองใชวธ FPแทน เนองจากเปนการนบทจานวนฟงกชนงาน และยงมการนาคาคณลกษณะของซอฟตแวรมาคานวณรวมดวย ทาใหลดปญหาความแตกตางของภาษาโปรแกรมมงได เทคนคในการคานวณหาตนทนและแรงงานทนยมใชกนมากในปจจบน คอ“COCOMO (Constructive CostModel)” เนองจากเปนวธทมการเกบขอมลทางสถตในการผลตซอฟตแวรของโครงการทงสน 161 โครงการ แลวนามาสรางเปนสตรคานวณหาตนทน ทาใหไดคาทนาเชอถอมากขน