cocomo ii - bls.buu.ac.th
TRANSCRIPT
COCOMO II
จดท ำโดย นำยศรชย วนทอง 54160167 สำขำวชำวศวกรรมซอฟตแวร คณะวทยำกำรสำรเทศ มหำวทยำลยบรพำ
COCOMO II
เสนอ
อาจารยธวชชย เอยมไพโรจน
จดท าโดย
นายศรชย วนทอง รหสนสต 5416167 กลม 2
รายงานนเปนสวนหนงในรายวชา 888321 การบรหารโครงการซอฟแวร ภาคการศกษาท 2 ปการศกษา 2556
สาขาวชาวศวกรรมซอฟตแวร คณะวทยาการสารสนเทศ มหาวทยาลยบรพา
ค าน า
กำรประมำณกำรตนทนของซอฟตแวร ( Software Cost Estimation) จดท ำขนเพอน ำตนทนทประมำณกำรไดมำประเมนรำคำโครงกำรหรอประเมนรำคำของซอฟตแวร กำรประมำณกำรตนทนซอฟตแวรจงเปนอกกจกรรมหนงทส ำคญเทยบเทำกบกจกรรมอน เนองจำกหำกตนทนทประมำณกำรไดน ำไปสกำรประมำณรำคำของซอฟตแวรไมถกตองอำจท ำใหองคกรตองขำดทนหรอก ำไรทไดไมคมคำ หรออำจไมชนะกำรแขงขนประมลโครงกำร ในระหวำงกำรประมำณกำรตนทน ยอมตองมปจจยทท ำใหตนทนเปลยนแปลง ผบรหำรโครงกำรมหนำทในกำรปรบคำตนทนใหเหมำะสมกบปจจยทเปลยนแปลงไปดวย เพอใหตนทนโดยประมำณใกลเคยงกบตนทนจรงมำกทสด และจะสงผลใหกำรประมำณรำคำซอฟตแวรถกตองทสดดวย
รำยงำนฉบบนเปนสวนหนงในรำยวชำ 888321 กำรบรหำรโครงกำรซอฟแวร โดยมจดประสงค เพอกำรศกษำควำมรทเกยวกบโมเดลในกำรประเมนรำคำซอฟตแวร COCOMO II ซงรำยงำนนมเนอหำควำมรเกยวกบควำมหมำย ปจจยทเกยวของ และแนวคดของ COCOMO II
ในกำรจดท ำรำยงำนประกอบกำรเรยนรในครงน ขำพเจำหวงเปนอยำงยงวำรำยงำนฉบบนจะใหควำมร และเปนประโยชนแกผอำนทกทำน หำกมขอผดพลำดประกำรใด ขำพเจำขออภยมำ ณ ทนดวย
นำยศรชย วนทอง
สารบญ
ค ำน ำ สำรบญ COCOMO II คอ .................................................................................................................................................... 1 กำรประมำณกำรหรอกำรคำดกำรซอฟตแวร.......................................................................................................... 1 กำรประมำณกำรคำใชจำย (Cost Estimation) .................................................................................................... 3 กำรประมำณกำรขนำด (Size) ................................................................................................................................ 4 กำรประมำณกำรควำมพยำยำม (Effort) ................................................................................................................ 4 กำรประมำณกำรระยะเวลำของกำรพฒนำซอฟตแวร (Time) ................................................................................ 5 กำรประมำณคำใชจำยอนในกำรพฒนำ (Investment) .......................................................................................... 5 วธกำรประมำณกำรขนำด (Size) ของซอฟตแวร .................................................................................................... 5 กำรวดขนำดโดยใช Line of Code / Kilo of Delivered Source Instruction ................................................... 6 กำรวดขนำดโดยใช Function Point ..................................................................................................................... 7 กำรวดขนำดโดยใช Web Object Point ............................................................................................................ 11 วธในกำรประมำณคำใชจำย (Costing Model) ของกำรพฒนำซอฟตแวร .......................................................... 13 วธกำรแบบ COCOMO II .................................................................................................................................... 14 วธกำรแบบ Web Model ................................................................................................................................... 19 คำวดควำมถกตองของกำรประมำณกำร.............................................................................................................. 22 บรรณำนกรม ...................................................................................................................................................... 24
ห น ำ | 1
COCOMO II คอ
กำรพฒนำซอฟตแวรในปจจบนสวนใหญจะถกพฒนำใหใชงำนบนเครอขำยอนเทอรเนตเพอควำมสะดวกกบกำรใชงำน ซงกำรพฒนำหลกกำรท ำงำนหรอเทคนคกำรท ำงำนใหมใหมควำมเหมำะสมและทนสมยอยตลอดเวลำ ซงในระบบซอฟตแวรทมขนำดใหญกำรก ำหนดก ำลงคนและงบประมำณ ในกำรพฒนำใหเหมำะสมมควำมส ำคญมำกซงวธกำรพยำกรณก ำลงคนและกำรประมำณงบประมำณทใช ทใชในกำรพฒนำซอฟตแวรตลอดจนกำรบ ำรงรกษำซอฟตแวรทนยมอยำงแพรหลำยในปจจบน คอ Constructive Cost Model II
(COCOMO II)
COCOMO II เปนโมเดลในกำรประเมนรำคำซอฟตแวร หรอ Software Costing Model ถกสรำงขน ในป 1981 โดย Barry Boehm ไดเปนทยอมรบและน ำเอำไปใชกนแพรหลำยในสหรฐอเมรกำ โดยแนวควำมคดนนตองกำรเพอประเมนรำคำซอฟตแวร โดยจะตองน ำเอำควำมแตกตำงของแตละโครงกำร ลกษณะเฉพำะ และผทเกยวของตำงๆ มำคดค ำนวณคำออกมำเปนตวเลขได ซงในปจจบนไดพฒนำมำถง COCOMO II ซงมกำรน ำเอำแนวคดเกยวกบ CMM มำใชรวมดวย และทนำสนใจของ COCOMO II คอกำรท ำเอำตวเลขทำงคณตศำสตรและสถตมำใชประยกตในกำรพฒนำซอฟตแวรตำมหลกกำรของกำรบรหำรจดกำร เปนกำรน ำเอำสงทเปนกระบวนกำรมำสรำงเปนตวเลขได กำรบรหำรจดกำรจดกำรซอฟตแวรประกอบไปดวย ผลตภณฑ กระบวนกำร โครงกำร และบคลำกร นอกจำกนยงมปจจยอนทเกยวของ ในกำรทจะประเมนรำคำ และระยะเวลำของซอฟตแวร
การประมาณการหรอการคาดการซอฟตแวร
กำรประมำณกำรหรอกำรคำดกำรซอฟตแวรทจะพฒนำนน ถอเปนเรองทส ำคญในกำรวำงแผนงำน แตหำกซอฟตแวรทจะพฒนำนนมลกษณะแตกตำงกน ผควบคมโครงงำนกจะตองวำงแผนในกำรพฒนำโครงกำรทแตกตำงกนไป ในสวนของซอฟตแวรนนกำรประมำณกำรจะมองกนท เรองของขนำด (Size) คำใชจำย (Investment) หรองบประมำณ บคลำกรทใชในกำรพฒนำ (Effort) และระยะเวลำ (Time) เพอใชในกำรพฒนำ
ห น ำ | 2 ด ำเนนงำน ซงองคประกอบเหลำนจะสงผลใหกำรด ำเนนโครงงำนเปนไปไดอยำงมประสทธภำพ กระบวนกำรในกำรประมำณกำรนนประกอบดวย 7 ขนตอนดงตอไปน
ตารางท 1 กระบวนกำรประมำณรำคำซอฟตแวร
กำรเลอกวธกำรวด Software Measurement Method Selection
Size Cost Effort
Schedule Critical Resources
กำรเลอกวธกำรประมำณกำร Software Estimation Techniques Selection ประมำณกำรซอฟตแวร Software Product Estimation ประมำณกำรควำมเสยง Risk Assessment / Impact Analysis พจำรณำ ตรวจสอบเอกสำร Review / Revise / Refine / Document ตดตำมกำรวดผล Tracking / Product Measurement ปรบปรงกระบวนกำรใหมควำมถกตอง Process Improvement
โดยกระบวนกำรจะเรมจำกกำรเลอกวธในกำรวดลกษณะของซอฟตแวร (Measurement Method) สวนตอมำคอกำรเลอกวธในกำรประมำณ (Estimation Techniques )จำกนนท ำกำรประมำณในสวนของขนำด คำใชจำย และระยะเวลำ รวมถงท ำกำรประเมนควำมเสยง หรอปจจยทมผลกระทบในกำรพฒนำซอฟตแวร นอกจำกน เมอน ำกำรประมำณไปใชในกำรวำงแผนงำน ใหด ำเนนกำรตดตำมและวดผล เพอใหทรำบถงประสทธภำพของกำรประมำณกำรวำมควำมถกตองหรอไม เพอด ำเนนกำรปรบปรงกระบวนกำรกำรประมำณกำรใหมควำมถกตองและใกลเคยงควำมเปนจรงมำกทสด
ห น ำ | 3
การประมาณการคาใชจาย (Cost Estimation)
แนวทำงในกำรประมำณรำคำซอฟตแวร (Cost Estimate) จะมงเนนถงกำรประมำณขนำดของซอฟตแวร
(Size) กำรประมำณควำมพยำยำมทตองใช (Effort) กำรประมำณระยะเวลำของกำรพฒนำซอฟตแวร (Time) และกำรประมำณคำใชจำยอนในกำรพฒนำ (Investment)
รปท 1 กำรประเมนรำคำซอฟตแวร
ขนำดของซอฟตแวร (Size) หมำยถง ขนำดของกำรพฒนำซอฟตแวร มหนวยวดเปนจ ำนวนบรรทด
กำรประมำณควำมพยำยำมทตองใช (Effort) หมำยถง ก ำลงคนทจะใชในกำรพฒนำซอฟตแวร
กำรประมำณระยะเวลำของกำรพฒนำซอฟตแวร (Time) หมำยถง ระยะเวลำทจะใชในกำรพฒนำซอฟตแวร มหนวยเปนชวงเวลำ เชน Man Month (MM) หรอ Person Month (PM)
กำรประมำณคำใชจำยอนในกำรพฒนำ (Investment) หมำยถงคำใชจำยทเกยวของ ซงอำจจะเปนคำเสอมของอปกรณ คำไฟฟำ คำน ำ ทเปนคำทตองใชจำยแนนอน เปนตน เมอพจำรณำจำกองคประกอบทง 4 จะเห นวำในกำรประมำณรำคำนน มส ำคญทสดจะขนอยกบกำรประมำณขนำดของซอฟตแวร ซงเมอไดขนำดของซอฟตแวร สงทจะไดตอมำคอควำมพยำยำมทตองใช (Effort) และระยะเวลำในกำรพฒนำ (Time)
Costing Estimate
Size
(Line of Code)
Effort
(People)
Time
(Period of time)
Investment
(Currency)
ห น ำ | 4
การประมาณการขนาด (Size)
ขนำดของซอฟตแวร เปนตวแปรหลกในกำรประมำณกำรรำคำในกำรพฒนำซอฟตแวร วธกำรหลกๆทใชในกำรประมำณขนำด เชน กำรใชวธกำรนบจ ำนวนบรรทด (Line of Code) กำรวเครำะหจ ำนวนฟงกชนของระบบ เพอใหไดคำฟงกชนพอยต (Function Point) และกำรนบจ ำนวนวตถ (Object Point) นอกจำกนกยงมวธวดแบบใหมอกหลำยวธ เชน กำรวดจำกยสเคส (Use Case Point) ฯลฯ ซงกำรประมำณขนำดถอเปนตวแปรส ำคญในกำรประมำณกำรรำคำซอฟตแวร
การประมาณการความพยายาม (Effort)
ควำมพยำยำมทตองใช เปนอกตวแปรทใชในกำรประมำณกำรก ำลงคนหรอแรงงำนทตองใชในกำรพฒนำซอฟตแวรซงจะเกยวของกบเรองของ Productivity หรอประสทธผลในกำรผลตงำน โดยคำ Productivity จะเปนสงทบงชวำในแตละกำรพฒนำจ ำเปนจะตองใชบคลำกรจ ำนวนเทำใด โดยจะวดจำกจ ำนวนบรรทดทสำมำรถท ำไดตอควำมพยำยำม ดงสมกำรท 1 ซงคำควำมพยำยำมจะไดมำจำกขนำดของซอฟตแวร กวำวคอเมอประมำณกำรขนำดของซอฟตแวรไดแลว กสำมำรถทจะค ำนวณหำคำควำมพยำยำมทตองใชตอไป
Productivity = Line of Code หรอ Function Point ................................. สมการท 1
Effort (Man Month) Productivity คอ คาประสทธผลในการผลต
Line of Code คอ จ านวนบรรทดของซอฟตแวร
Function Point คอ คาจากการสดฟงกชนพอยต
Effort คอ ก าลงคนหรอแรงงานทตองใชในการพฒนาซอฟตแวร
ห น ำ | 5
การประมาณการระยะเวลาของการพฒนาซอฟตแวร (Time) นอกจำกขนำดและควำมพยำยำมแลว ระยะเวลำกเปนอกตวแปรทส ำคญทสงผลถงควำมส ำเรจของกำร
พฒนำซอฟตแวร และกำรบรหำรจดกำรโครงกำร ซงหำกสำมำรถทจะควบคมเวลำกำรพฒนำซอฟตแวรไดกจะสงผลใหกำรด ำเนนโครงกำรนนประสบผลส ำเรจ
การประมาณคาใชจายอนในการพฒนา (Investment)
คำใชจำยอนทเกยวของ เปนอกเรองหนงทตองใหควำมส ำคญ คำใชจำยในสวนนจะเกยวของกบคำใชจำยในกำรพฒนำทตองคด เชน คำเสอมสภำพของอปกรณ คำน ำ คำไฟ และคำอนๆทเกยวของ ซงจะตองมกำรประมำณกำรไวดวย ตำมระยะเวลำทคำดวำจะใชในกำรพฒนำซอฟตแวร ซงหำกประมำณกำรผดพลำด เชน มำกเกนไปหรอนอยเกนไป กอำจจะสงผลเสยตอกำรบรหำรจดกำรโครงกำรได
วธการประมาณการขนาด (Size) ของซอฟตแวร
กำรวดขนำด (Size) ของซอฟตแวรจะเรมจำก กำรเลอกวธวดใหเหมำะสมกบกำรพฒนำซอฟตแวร วธกำรวดแบงออกเปน 2 ลกษณะ คอ กำรวดโดยตรง (Direct Measures) เปนลกษณะกำรวดขนำดของงำนทสำมำรถวดจำกขอมลทสำมำรถนบได เชน จ ำนวนหรอควำมยำว จะประกอบดวยตววดดงตอไปน
คำใชจำย (Investment)
ควำมพยำยำมหรอก ำลงคนทตองใช (Effort)
จ ำนวนบรรทด (Line of Code / Kilo of Delivered Source Instruction)
คำทไดจำกฟงกชนพอยต (Function Point)
ควำมเรวของกำรพฒนำ (Speed)
ควำมผดพลำดของกำรพฒนำ (Number of Error)
กำรวดแบบโดยออม(Indirect Measures) เปนกำรวดในดำนประสทธภำพ จะประกอบดวยตววดดงตอไปน
ห น ำ | 6
คณภำพ (Quality)
ควำมซบซอน (Complexity)
ประสทธภำพ (Efficiency)
ควำมนำเชอถอ (Reliability)
กำรดแลรกษำ (Maintainability)
เมอรวมทงสองลกษณะจะน ำไปสกำรวดขนำดของซอฟตแวร ซงวธกำรทพบบอยในกำรวดขนำดของซอฟตแวร มกจะใชตววดคอ Line of Code และ Function Point
การวดขนาดโดยใช Line of Code / Kilo of Delivered Source Instruction
กำรวดขนำดของซอฟตแวรโดยใชจ ำนวนบรรทดเปนวธกำรทใชในกำรวดทงำยทสดโดยกำรนบจ ำนวนบรรทดทพฒนำซอฟตแวรได Line of Code (LOC) หรอ Kilo Line of Code (KLOC) ในบำงครงอำจจะใช Kilo of Delivered Source Instruction (KDSI) ซงไดมกำรสรปลกษณะกำรวด LOC ดงน
นบเฉพำะบรรทดทมกำรจดสงเปน Source Code ไมนบรวมสวนของกำรทดสอบ
นบเฉพำะสวนทพฒนำโดยบคลำกร ไมรวมสวนทระบบสำมำรถสรำงไดอตโนมต
ถอวำ หนงค ำสง คอ หนง LOC
นบสวนประกำศคำ (Declaration) เปนสวนของค ำสง (Instruction)
ไมนบสวนขยำย (Comment)
อนงวธกำรวดขนำดของโปรแกรมดวยจ ำนวนบรรทดนจะท ำไดงำย แตมจดออนหลำยประกำร เนองจำกโปรแกรมทท ำงำนอยำงเดยวกนทเขยนดวยภำษำคอมพวเตอรตำงกน จะมจ ำนวนบรรทดทตำงกน
ห น ำ | 7
การวดขนาดโดยใช Function Point
จำกปญหำเกยวกบควำมแตกตำงของภำษำในกำรวดดวย Line Of Code จงมกำรแกปญหำโดยใช Function Point โดย A.J. Albrecht จำกบรษท IBM โดยใชวธวเครำะหฟงกชนพอยต (Function Point Analysis: FPA) วธกำรของ Function Point จะไมสนใจวำเขยนดวยภำษำใด แตจะนบจำกผลลพธของฟงกชนสวนประกอบของระบบ ฟงกชนพอยตแตละประเภทจะมควำมซบซอนตำงกน ดงนนจงมกำรใหคำน ำหนก (Complexity Weight) เพอแบงควำมซบซอนของฟงกชนพอยตแตละประเภท กำรหำฟงกชนพอยต คอ
FP = UFP * TCF ….……………….สมการท 0
VAF =
14
1i General Applications Characteristics[ i ] ….……………….สมการท 3 TCF = 0.65 + 0.01 * VAF …….…….……….สมการท 4
FP (Function Point) คอ คาของฟงกชนพอยต
TCF (Technical Complexity Factor) คอ คาความซบซอนของตวแปรทมผลกระทบ
UFP (Unjustified Function Point) คอฟงกชนพอยตทยงไมคดตวแปรทสงผลกระทบ
VAF (Value Adjustment Factor) คอ ความซบซอนของการพฒนาซอฟตแวร
i คอ คาของ VAF จ านวน 14 คา
ห น ำ | 8
โดยตวแปรทมผลกระทบในกำรพฒนำซอฟตแวร (Value Adjustment Factor) หรอสภำพแวดลอมในของกำรพฒนำซอฟตแวรนน อำจจะมหรอไมมผลกระทบจำกตวแปรเหลำนหรอไม ซงผประมำณกำรจะเปนผใหคำน ำหนกเพอหำคำ Technical Complexity Factor (TCF) หรอ คำควำมซบซอนของตวแปรทมผลกระทบตอไปโดย คำ Value Adjustment Factor (VAF) ประกอบดวยตวแปร 14 คำ ดงน
1. Data communication ขอมลและกำรควบคมขอมลทใชในซอฟตแวร
2. Distributed function กำรประมวลผลขอมลแบบกระจำย
3. Performance ประสทธภำพดำนตำงๆของซอฟตแวร
4. Heavily used configuration โปรแกรมทตองมกำรคอนฟกบอยครง
5. Transaction rates อตรำกำรท ำงำนของขอมล
6. On-line data entry สำมำรถทจะควบคมขอมลแบบออนไลน
7. Design for end-user efficiency ประสทธภำพในกำรออกแบบส ำหรบผใช
8. On-line update คณสมบตในกำรปรบปรงขอมลแบบออนไลน
9. Complex processing ควำมซบซอนในกำรประมวลผล
10. Usability in other applications มควำมยดหยนทจะใชรวมกบแอปพลเคชนอน
11. Installation ease ควำมงำยในกำรตดตง
12. Operational ease ควำมงำยในกำรใชงำน
13. Multiple sites มกำรแบงกำรท ำงำนเปนหลำยทหรอไม
14. Facilitate change สำมำรถทเปลยนแปลงซอฟตแวรไดงำย
กำรตดสนใจในเรองของขนำดโดยใชสวนประกอบในกำรประมวลผลของซอฟตแวร โดยถอเอำวำสวนประกอบของระบบคอสงทผใชใชงำนหรอมองเหนได (เรยก User Function Types by IBM) และมกำรก ำหนดกำรวดขนำดทใชวดดงน
ขอมลเขำจำกภำยนอก (External Input)
ขอมลทสงออกสภำยนอก (External Output)
ขอมลทดงมำจำกภำยนอก (External Inquiries)
ห น ำ | 9
ขอมลทตองกำรจำกภำยนอก (External Interface Files)
ขอมลเชงตรรกะภำยใน (Internal Logical Files)
นอกจำกกำรวดขนำดของ User Function แลว ยงมกำรก ำหนดคำน ำหนก (Weighting Factor) ทน ำไป
คณกบ User Function โดยผประมำณกำรจะเปนผก ำหนดวำควรจะใหคำน ำหนกเปนเทำใด เพอหำผลรวมของกำรคณทงหมด ซงจะถกเรยกวำ “ฟงกชนพอยตทยงไมคดตวแปรทสงผลกระทบตอกำรท ำงำน (The Unadjusted Function Point) หรอตวยอคอ ยเอฟซ (UFC)” ดงสมกำรท 5
UFP = EI(WEI) + EO(WEO) + EQ(WEQ) + EIF(WEIF) + ILF (WILF) …………..สมการท 5 UFP (Unjustified Function Point) คอ ฟงกชนพอยตทยงไมคดตวแปรทสงผลกระทบ
ตอการท างาน
EI (External Input) คอ ขอมลเขาจากภายนอก
EO (External Output) คอ ขอมลทสงออกสภายนอก
EQ (External Inquiries) คอ ขอมลทดงมาจากภายนอก
EIF (External Interface Files) คอ ขอมลทตองการจากภายนอก
ILF (Internal Logical Files ) คอ ขอมลเชงตรรกะภายใน
WEI WEO WEQ WEIF WILF คอ คาน าหนกของความซบซอนในแตละฟงกชนพอยต
ห น ำ | 10 คำน ำหนกควำมซบซอนนนแบงเปน 3 ระดบคอ Simple, Average, Complex ซงขอมลน เปนขอมลทไดจำกขอมลสถตทก ำหนดโดย IFPUG ดงจะแสดงในจำกตำรำงท 0
ตารางท 0 คาน าหนกความซบซอนของ FUNCTION POINT
ประเภทของฟงกชนพอยต คำน ำหนกควำมซบซอน
นอย ปานกลาง มาก
ขอมลเขาจากภายนอก (External Input) 3 4 6
ขอมลทสงออกสภายนอก (External Output) 4 5 7
ขอมลทดงมาจากภายนอก (External Inquiries) 3 4 6
ขอมลทตองการจากภายนอก (External Interface Files) 5 7 10
ขอมลเชงตรรกะภายใน (Internal Logical Files) 7 10 15
Total Unadjusted Function Points
กำรเลอกคำน ำหนกของตวแปรนนไดถกก ำหนดโดย Albrecht “คำน ำหนกมควำมส ำคญกบฟงกชนผใชและลกคำ” และ “กำรก ำหนดนนมำจำกกำรประชมเพอแสดงควำมคดเหนและพจำรณำ” ควำมเคลอบแคลงเกยวกบคำน ำหนกเกดขนวำจะมควำมเหมำะสมกบทกๆ กรณหรอไม
กำรเรมเปนปญหำทถกเถยงกนขนมำ เพรำะคำน ำหนกทกคำนนมำจำกซอฟตแวรทสรำงภำยใตมำตรฐำนและวฒนธรรมของ IBM และจะมนใจไดอยำงไรวำคำน ำหนกเหลำนเหมำะสมกบซอฟตแวรอนๆ ทไมไดพฒนำแบบ IBM หรอไม เปนเหตท ำใหมกำรศกษำกำรวเครำะหคำน ำหนก ยกตวอยำงระบบทเปนแบบ Batch ทจ ำนวน Input / Output มขอมลเกยวกบ FP ทสำมำรถนบคำได หำกพฒนำระบบนเปนแบบ Online มขอมล Input / Output เทำเดมจะเกดปญหำวำ ถำใช FPA แบบ Albrecht คำกยอมออกมำเทำกน กรณปญหำนบอกใหรวำ FPA ยงไมคลอบคลมไปในเรองทเกยวกบควำมสมพนธทำงดำนเทคโนโลย ซงกำรวเครำะหแบบใหมคอ Object Orient Approach จะมขอบเขตทควบคมปญหำเหลำน
ห น ำ | 11
การวดขนาดโดยใช Web Object Point
เวบออบเจกตพอยต (Web Object Point) เปนวธกำรวดทใชกบซอฟตแวรทพฒนำบนเวบ เปนวธแบบ Indirect Metric ทเหมอนกบ FP โดยจะวดขอมลประเภท สวนประกอบของเวบ (Web Component) ฟงกชนหรอโมดลส ำเรจรป (Building Block) ไฟลสครปต (Script Files) ภำพกรำฟก (Graphic Files) ออบเจกต หรอแอปพลเคชนพอยต (Object or Application Point) และสวนทตดตอกบผใช เชน รำยงำน หนำจอรบขอมล โดยจะมกำรแบงควำมซบซอนของตววดคลำยกบฟงกชนพอยต แบงควำมซบซอนเปน 3 ระดบ ไดแก Basic, Intermediate และ Advanced
ตารางท 3 ตววดขนำดของเวบออบเจกตพอยต (Web Object Point)
Web Object predictors Low Average High
ฟงกชนหรอโมดลส าเรจรป
Number of building blocks
1 2 4
จ านวนสวนประกอบของ COTS
Number of COTS components
2 4 6
จ านวนไฟลมลตมเดย
Number of multimedia files
1 2 4
จ าวนวตถ
Number of object or application
points
* * *
ห น ำ | 12 ตารางท 3 ตววดขนำดของเวบออบเจกตพอยต (Web Object Point) (ตอ)
Web Object predictors Low Average High
จ านวนสวนประกอบของเวบ
Number of Web components
2 4 6
จ านวนไฟล xml, html และ query
Number of xml, sgml, html, and query
lines
3 5 8
จ านวนไฟลกราฟก
Number of graphics files
2 4 6
จ านวนสครปส
Number of scripts
1 2 3
อนๆ
Other
2 4 6
ห น ำ | 13
วธในการประมาณคาใชจาย (Costing Model) ของการพฒนาซอฟตแวร
Costing Model เปนวธกำรทจะมงประมำณกำรคำใชจำยดงทกลำวมำแลว โดยขอดของกำรใช Cost Models ใชไดกบระบบทเปนแบบ Non Expert ขอเสยของระบบนคอ กำรพฒนำซอฟตแวรนนมกำรปรบปรงเปลยนแปลงอยตลอด หำกใชสมกำรกตองมกำรปรบเปลยนคำตำมไปดวย ซงนอกจำกวธกำรใชสมกำรทำงคณตศำสตร ยงมวธกำรทใชในปจจบน เชน
การประมาณการคาใชจายโดยวธทางสถต จะใชขอมลทำงสถตเดมมำประมำณกำรคำใชจำยและใชขอมลนมำประมำณกำรระยะเวลำและคำใชจำย มควำมนำเชอถอ
การใชความคดเหนของผเชยวชาญ (Expert Judgment) เปนกำรท ำนำยโดยใชประสบกำรณและควำมสำมำรถของผเชยวชำญ เทคนคทใชกจะแตกตำงกนไปในแตละบคคล
การวเคราะหขอมลเดม (Analogy) เปนวธกำรหนงของกำรประมำณกำรแบบ Expert Opinion ผทประมำณกำรจะเปรยบเทยบกบขอมลเดมทมอยวำมควำมเหมอนหรอควำมแตกตำงของระบบงำนหรอซอฟตแวรใหมอยำงไรโดยกำรประมำณกำรจะอำศยขอมลบรรทดฐำนของขอมลเกำทมกำรเกบเอำไว แลวใชขอมลนในกำรท ำนำย
กฎของพารคนสน (Parkinson’s Law) เปนวธกำรทจะพฒนำซอฟตแวรภำยใตระยะเวลำและทรพยำกรบคคลทจ ำกด คำใชจำยในแตละโครงกำรจะคดจำกบคลำกรทมอยในองคกร โดยไมสนใจปจจยภำยนอกทมำเกยวของ
แบบลางขนบน )Bottom-up) กำรประมำณกำรดวยวธ Bottom-up เปนกำรประมำณกำรโดยใหสวนทลำงทสดของระบบ โดยประมำณกำรจำกสวนทยอยๆ ทสดไลระดบขนไป จำกคอมโพเนนท ไปเปนระดบทสงกวำ สวนกำรประมำณกำรแบบ Top-up จะใชกำรประมำณกำรจำกระบบโดยภำพรวม แลวแตกรำยละเอยดไลไปจนถงระดบลำงสด
ห น ำ | 14
แบบใชราคาเพอใหไดงาน (Price-to Win) เปนวธกำรทตองกำรชยชนะ โดยอำจจะประมำณกำรทต ำกวำทน เพอใหไดงำนนนมำ ดงนนในกำรพฒนำจรงอำจจะเกนงบ แตโดยสวนใหญแลว อำจจะตองกำรพฒนำซอฟตแวรนเพอผลประโยชนอยำงอน เชน ตองกำรไปพฒนำ หรอท ำธรกจตอ หรอเพอสรำงเครดต เปนตน
COnstructive COst MOdel (COCOMO II) โมเดลในกำรประเมนรำคำซอฟตแวร หรอ Software Costing Model ซงโมเดลนถกสรำงขน ในป 1981 โดย Barry Boehm ซงเปนทยอมรบและน ำเอำไปใชกนแพรหลำยในสหรฐอเมรกำ โดยแนวควำมคดนนตองกำรเพอประเมนรำคำซอฟตแวร โดยจะตองน ำเอำควำมแตกตำงของแตละโครงกำร ,ลกษณะเฉพำะ ,ผทเกยวของตำงๆ มำคดค ำนวณคำออกมำเปนตวเลข โดยปจจบนพฒนำมำถง COCOMO II ซงมกำรน ำเอำแนวคดเกยวกบ CMM (Capability Maturity Model) มำใชรวมดวยในสวนของคณภำพของกำรบรหำรจดกำรซอฟตแวร และกำรควบคมคณภำพของซอฟตแวร
วธการแบบ COCOMO II
กำรประมำณกำรซอฟตแวรแบบดงเดมสวนใหญจะใชแบบจ ำลอง COCOMO II ในกำรประมำณกำร โดยมพนฐำนหลกอยบนกำรประมำณควำมซบซอนจำกจ ำนวนฟงกชนกำรท ำงำนของซอฟตแวร ขอมลเขำจำกภำยนอก ขอมลทสงออกสภำยนอก ขอมลทดงมำจำกภำยนอก ขอมลทตองกำรจำกภำยนอก ขอมลเชงตรรกะภำยใน ปจจยสภำพแวดลอมเกยวกบคน ทมพฒนำ และระบบ และรวมไปถงกำรใชขอมลเชงสถตเดมมำใชรวมในกำรประมำณขนำด ควำมพยำยำม และระยะเวลำของกำรพฒนำซอฟตแวร
จดเดนทนำสนใจของ COCOMO II คอ กำรท ำเอำตวเลขทำงคณตศำสตรและสถตมำประยกตใชในกำรพฒนำซอฟตแวรตำมหลกกำรของกำรบรหำรจดกำร เปนกำรน ำเอำสงทเปนกระบวนกำรมำเปนตวเลขได กำรบรหำรจดกำรซอฟตแวรประกอบไปดวย ผลตภณฑ กระบวนกำร โครงกำร และบคลำกร นอกจำกนยงมปจจยอนทเกยวของ ในกำรทจะประเมนรำคำ และระยะเวลำในกำรพฒนำของซอฟตแวร โดยมโมเดลกำรค ำนวณเปนดงน
PM = A x Size x EM + Pmauto ...............................สมการท 6
ห น ำ | 15
E = B + 0.01 * Scale Factors ……………………..สมการท 7
PM คอ Effort มหนวยเปน Person-Months (PM)
A คอ คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94
B คอ Scaling Base-exponent ส าหรบค านวณ Efforts
E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ
ขนาดของโครงการ
Size คอ ขนาดของซอฟตแวร
EM คอ Effort Multipliers เปนคาทไดจากการค านวณ Cost Driver ท
เกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร ดงแสดงในตาราง
ท 4
Pmauto คอ คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ
Reuse Code โดยคาน นจะไมมผลตอการพฒนา แตเนองจากมผลตอ
คาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา Pmauto จะเปน 0
Scale Factors คอ ตวแปรทมผลกระทบขอขนำด ดงจะแสดงในตารางท 5
ตารางท 4 COCOMO II Software Development Effort Multipliers
Attribute VL LO NM HI VH XH Required Reliability (RELY) ควำมเปนไปไดของควำมตองกำร
0.75 0.88 1.00 1.15 1.39
Database Size (DATA) ขนำดของฐำนขอมล
0.93 1.00 1.09 1.19
Product Complexity (CPLX) ควำมซบซอน
0.75 0.88 1.00 1.15 1.30 1.66
ห น ำ | 16 ตารางท 4 COCOMO II Software Development Effort Multipliers (ตอ)
Attribute VL LO NM HI VH XH Required Reusability (RUSE) กำรน ำขอมลกลบมำใหใหม
0.91 1.00 1.14 1.29 1.49
Documentation Required (DOCU) ควำมตองกำรเกยวกบเอกสำร
0.95 1.00 1.06 1.13
Execution Time Constraints (TIME) เวลำทใชในกำรประมวลผลและทรพยำกรทใช
1.00 1.11 1.31 1.67
Main Storage Constraints (STOR) กำรใชหนวยควำมจ ำส ำรองของระบบ
1.00 1.06 1.21 1.57
Platform Volatility (PVOL) โอกำสเปลยน HW/SW
0.87 1.00 1.15 1.30
Analyst Capability (ACAP) ประสบกำรณของ SA
1.50 1.22 1.00 0.83 0.67
Applications Experience (AEXP) ประสบกำรณในกำรท ำซอฟตแวร
1.22 1.10 1.00 0.89 0.81
Programmer Capability (PCAP) ควำมสำมำรถโปรแกรมเมอร
1.37 1.16 1.00 0.87 0.74
Personnel Continuity (PCON) ควำมเสถยรภำพ
1.24 1.10 1.00 0.92 0.84
Platform Experience (PEXP) ประสบกำรณในดำน platform ของกำรพฒนำ
1.25 1.12 1.00 0.88 0.81
Language and Tool Experience (LTEX) ประสบกำรณในดำนภำษำและเครองมอ
1.22 1.10 1.00 0.91 0.84
Use of Software Tools (TOOL) เครองมอ 1.24 1.12 1.00 0.86 0.72 Multiple Site Development (SITE) จ ำนวน site ในกำรพฒนำ
1.25 1.10 1.00 0.92 0.84 0.78
Required Development Schedule (SCED) ควำมเรงดวนของโครงกำร
1.29 1.10 1.00 1.00 1.00
ห น ำ | 17
ซงเมอใชสมกำรท 6 ค ำนวณหำคำ PM ไดแลว ตอไปคอกำรค ำนวณหำคำระยะเวลำทใชในกำรพฒนำ ระยะเวลำทใชในกำรพฒนำซอฟตแวรมสตรดงน
TDEV = [ C x (PM) F ] x SCED% …………..สมการท 8 100
F = [ D + 0.2 (E-B) ] ................สมการท 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 ส าหรบระยะเวลา
ห น ำ | 18 ตารางท 5 COCOMO II SCALE FACTORS
Rating Scale Factors VL LO NM HI VH XH
Precedentedness (PREC) ควำมคลำยคลงกบโครงกำรเดม
4.05 ไมคลำยคลง
3.24เลกนอย
2.43ใกลเคยงปำนกลำง
1.62คลำยคลง
0.81คลำยคลงคอนขำงมำก
0.00 เหมอนทเคยพฒนำ
Development Flexibility (FLEX) ควำมซบซอนในกำรพฒนำ
6.07 ซบซอนอยำงรนแรง
4.86สำมำรถยดหยนผอนผนได
3.64ยดหยนผอนผนไดบำง
2.43 มควำมสอดคลอง
1.21 มควำมสอดคลองบำง
0.00 ไมซบซอน
Architecture / Risk Resolution (RESL) กำรควบคมควำมเสยง
4.22 เลกนอย
3.38 ควบคมบำง
2.53 ควบคมปำนกลำง
2.53 มกำรควบคมควำมเสยง
0.84 ควบคมควำมเสยงสง
0.00ควบคมควำมเสยงมำกทสด
Team Cohesion (TEAM) กำรท ำงำนเปนทม
4.94 ไมมควำมสมพนธในทมท ำงำน
3.95 สมพนธในทมท ำงำนเลกนอย
2.97 สมพนธในทมท ำงำนปำนกลำง
2.97 สมพนธในทมท ำงำนคอนขำงมำก
0.99 สมพนธในทมท ำงำนมำก
0.00 สมพนธในทมท ำงำนมำกทสด
Process Maturity (PMAT) กำรวดคำมำรชวรรตของกระบวนกำร
4.54 CMM Lv1 หรอต ำกวำ
3.64 CMM Lv2หรอต ำกวำ
2.73 CMM Lv2
2.73 CMM Lv3
0.91 CMM Lv4
0.00 CMM Lv5
สมกำรท 6 เปนสมกำรทใชหำคำควำมพยำยำม (Effort) ทใชในกำรพฒนำซอฟตแวร ซงจะขนอยกบขนำด (Size) ของซอฟตแวรทจะพฒนำ แตขนำดอยำงเดยวยงไมเพยงพอในกำรค ำนวณ เนองจำกยงมปจจยสภำวะแวดลอมทตำงกนทอำจจะมผลตอควำมพยำยำมในกำรพฒนำซอฟตแวร โดยป จจยนจะมองในรปของ Effort Multipliers ซงจะใชสมกำรท 7 เพอค ำนวณหำคำ Effort Multipliers และใชขอมลคำน ำหนกจำกตำรำง
ห น ำ | 19 ท 3 ซงผประมำณกำรจะเปนผเลอกตวเลขโดยจะประมำณกำรจำกสภำพแวดลอมตำงๆ ของกำรพฒนำซอฟตแวร
เชน ขนำดของฐำนขอมลวำมควำมซบซอนเพยงใด โปรแกรมเมอรมควำมเชยวชำญหรอมประสบกำรณมำกนอยเพยงใด เปนตน รวมไปถงกำรค ำนวณคำ Scale Factors ในตำรำงท 5 ทม ผลตอขนำดของโครงกำรพฒนำ
ซอฟตแวร เมอไดคำ Effort มำแลวขนตอไปคออกำรน ำเอำคำทไดไปคำ ระยะเวลำในกำรพฒนำ (TDEV) ในสมกำรท 8
แบบจ ำลอง COCOMO II มควำมเหมำะสมกบกำรประมำณกำรรำคำ ระยะเวลำ และคำควำมพยำยำมในกำรพฒนำซอฟตแวรแบบทวๆไป ทไมใชซอฟตแวรทพฒนำบนเวบ ซงในสวนตอไปจะกลำวถงแบบจ ำลองทใชกบซอฟตแวรทพฒนำบนเวบนนคอ Web Model
วธการแบบ Web Model
Web Model เปนแบบจ ำลองทใชในกำรประมำณกำรระยะเวลำและควำมพยำยำมในกำรพฒนำซอฟตแวรทพฒนำบนเวบ แบบจ ำลองนสรำงโดย Donald J. Reifer จำก Reifer Consultants ซงพฒนำมำจำก COCOMO II ในชวงกำรออกแบบในสวนระยะเรมแรกของกำรพฒนำ โดยแบบจ ำลองนท ำกำรศกษำควำมสมพนธของตวแปรทเกยวของกบกำรพฒนำซอฟตแวรบนเวบ ( Web Model) เกบขอมลแบบ Expert Judgment มำจำกเวบแอปพลเคชน 46 โครงกำร และใชวธกำรทำงสถต Regression Analysis ในกำรหำคำกำรประมำณกำร
แบบจ ำลอง Web Model ได พฒนำจำก COCOMO II และใชตวแปร Cost Drivers และ Effort Multipliers บำงตวจำก COCOMO II มำค ำนวณในสมกำร ซงแบบจ ำลองนใชคำคงท 2 คำ คำยกก ำลง 2 คำ ขอมลคำของ Cost Drivers และขนำดผลคณทแสดงในสมกำรท 10 และ สมกำรท 11
9
1
)(1
i
SizeP
cd iAEffort
…………..……..…สมการท 10
2PEffortBDuration
………….………….สมการท 11
ห น ำ | 20
Effort คอ คาความพยายามทใชในพฒนาซอฟตแวรทพฒนาบนเวบ
A and B คอ คาคงทของโครงการจาก Web Model
P1 and P2 คอ คาคงททเปนคายกก าลงของ Web Model
cdi คอ คา Cost Drivers เปนคาสงแวดลอมตางๆในการพฒนา
มจ ำนวน 9 ตวแปร โดย i มคำตงแต 1-9
Size คอ จ านวนของ Web Object
Duration คอ คาระยะเวลาในการพฒนาซอฟตแวรทพฒนาบนเวบ
ตารางท 6 WEB DEVELOPMENT MODEL PARAMETER VALUES
Web Development Model Parameter Values A B P1 P2 แบบอคอมเมรซ
Web based electronic commerce 2.3 2.0 2.05 *
เวบแอปพลเคชนเกยวกบการเงน Financial / trading applications
2.7 2.2 2.05 *
เวบแอปพลเคชนเชงธรกจตอธรกจ Business to business applications
2.0 1.5 1.00 *
เวบแอปพลเคชนยทลต Web based information utilities
2.1 2.0 1.00 *
ห น ำ | 21
ตารางท 7 ตำรำงแสดงคำ COST DRIVERS ของ WEB MODEL
Rating Attribute VL LO NM HI VH
ผลคณของควำมนำเชอถอ และ ควำมซบซอน Product Reliability and Complexity (RCPX)
0.63 0.85 1.00 1.30 1.67
ควำมยำกของ Platform Platform Difficulty (PDIF)
0.75 0.87 1.00 1.21 1.41
ควำมสำมำรถสวนบคคล Personnel Capability (PERS)
1.55 1.35 1.00 0.75 0.58
ประสบกำรณสวนบคคล Personnel Experience (PREX)
1.35 1.19 1.00 0.87 0.71
ควำมสะดวกในกำรใชเครองมอและอปกรณตำงๆ Facilities of Tools and Equipment (FCIL)
1.35 1.13 1.00 0.85 0.68
กำรก ำหนดตำรำงเวลำ Scheduling (SCED)
1.35 1.15 1.00 1.05 1.10
กำรน ำกลบมำใชใหม Reuse (RUSE)
1.45 1.31 1.00 0.85 0.62
กำรท ำงำนเปนทม Team Work (TEAM)
1.35 1.20 1.00 0.75 0.65
ประสทธภำพในขนตอนกำรท ำงำน Process Efficiency (PEFF)
Not Rate
Not Rate
1.00 Not Rate Not Rate
ในสมกำรท 9 เปนสมกำรทหำคำควำมพยำยำม หรอ Effort โดยคำ A คอคำคงทของลกษณะของซอฟตแวรทพฒนำบนเวบทจะท ำกำรประมำณกำร โดยมอยดวยกน 4 ลกษณะดงทแสดงในตำรำงท 6 จำกนนผประมำณกำรจะตองน ำคำ Cost Drivers ในตำรำงท 7 ทง 9 ตวแปรมำค ำนวณหำคำน ำหนกในแตละโครงกำรกำรพฒนำซอฟตแวร วำมปจจยใดบำงทอำจจะมผลตอกำรพฒนำซอฟตแวร ซงมลกษณะคลำยกบ Effort Multipliers ของ COCOMO II แตตำงกนตรงท ของ COCOMO II ม 14 คำ และคำน ำหนกนนคดมำจำกขอมลทำงสถตของกำรพฒนำซอฟตแวรภำยใตสภำพแวดลอมของบรษท IBM แตคำ Cost Drivers ของแบบจ ำลองเวบโมเดลเปนคำน ำหนกทคดมำจำกคำทำงสถตของกำรพฒนำซอฟตแวรในรปแบบของเวบจ ำนวน 46 โครงกำร จำกนนกน ำคำมำคณกบขนำดของซอฟตแวร โดยในสวนนแบบจ ำลองเวบโมเดลไดใชวธกำรของฟงกชนพอยตและเวบออบตเจกดงตำรำงท มำใชเปนตววด ดงแสดงโครงสรำงแบบจ ำลองของตววดขนำดของกำรพฒนำซอฟตแวรประเภทเวบในรปท 1 และยกก ำลงดวยคำคงททมก ำหนดไวในตำรำงท 6
ห น ำ | 22
รปท 1 แบบจ ำลองของตวท ำนำยในกำรวดขนำดของ WEB MODEL
ตววดของ Web Model ดงทแสดงไวในรปท 1 ประกอบไปดวยวธกำรวดแบบ Function Point 5 แบบ คอ External Input, External Output, External Inquiries, External Interface Files และ Internal Logical Files ตววดแบบ Web Object คอ Web building blocks, Multi-media, Scripts , Links (xml, html &query
language lines ) เปนตน
คาวดความถกตองของการประมาณการ
ควำมถกตองของประมำณกำรจะมมำกหรอนอยขนอยกบวำไดคำใกลเคยงกบคำจรงมำกหรอนอยเพยงใด ถำคำจรงตำงจำกคำทพยำกรณมำกคำควำมคลำดเคลอนกจะมสง และในทำงตรงขำมถำหำกพยำกรณไดใกลเคยงกบคำจรงคำควำมถกตองกจะสง คำควำมถกตองของกำรพยำกรณเปนฟงกชนกำรพยำกรณทไมตองค ำนงถงทศทำง โดยคำฟงกชนของคำควำมคลำดเคลอนทใชชวยวดควำมถกตองไดแก MAPE (Mean Absolute
Multi-media
Internal Logical File
Web building blocks Scripts
External
Interface
External Inputs External
Links (xml, html &query language
Transform Center
External Inquiries
ห น ำ | 23 Percentage Error) เปนคำวดควำมถกตองของกำรพยำกรณทวดจำกคำควำมคลำดเคลอนของกำรพยำกรณทเทยบกบคำจรง ดงสมกำรท 12 โดยไมคดคำเครองหมำย
คำ MAPE เปนคำวดควำมแมนย ำทไมมหนวย จงเหมำะทจะใชกบกำรเปรยบเทยบวธพยำกรณเดยวหรอเมอใชอนกรมเวลำชดเดยวกน
100*1
nMAPE
n
iii ae
.............................สมกำรท 12
ei คอ คาจากการประมาณการ
ai คอ คาขอมลจรง
n คอ จ านวนของขอมลท งหมด
i คอ ขอมลท งหมดจ านวน n ตว
ห น ำ | 24
บรรณานกรม
2556 . COCOMO II.)ออนไลน : แหลงทมา).www.google.co.th/#q=Constructive+Cost+Model +%E0%B8%84%E0%B8%B7%E0%B8%AD.1 ธนวาคม 2556
2556. วธการแบบ COCOMO.)ออนไลน : แหลงทมา). pirun.kps.ku.ac.th/~b4928043/COCOM O .htm
2556.COCOMOII.)ออนไลน : แหลงทมา).http://www.informatics.buu.ac.th/~athitha/ bangmod/project-estimate/%E0%CD%A1%CA%D2%C3%B7%D5%E8%E1%BB%C5/COCOMOII.doc
2556. COCOMOII.)ออนไลน : แหลงทมา). http://202.44.34.144/nccitedoc/admin/nccit_files/NCCIT-2011260221.pdf 2556.COCOMOII.)ออนไลน : แหลงทมา).http://www.gits.kmutnb.ac.th/ethesis/ data/ 4670290016.pdf