bls.buu.ac.thbls.buu.ac.th/~s56103/11feb06/54160209_cocomo ii.docx · web viewการส...
TRANSCRIPT
การจดทำาเอกสารประกอบการเรยนรเรอง COCOMO II
เสนออาจารยธวชชย เอยมไพโรจน
จดทำาโดยนางสาวชญาภา แสวงงาม รหสนสต 54160209
รายงานนเปนสวนหนงของวชา 888353 วธวทยาโอเพนซอรสและแบบจำาลองธรกจ (Open Source Methodology
and Business Model)ภาคการศกษาท 2 ปการศกษา 2556 สาขาวศวกรรมซอฟตแวร
คณะวทยาการสารสนเทศ มหาวทยาลยบรพา
สารบญ
เรอง หนา
บทท 1 บทนำา..............................................................1บทท 2 การประมาณการซอฟตแวร.....................................3
1. การประมาณการคาใชจาย (Cost Estimation).........42. วธการประมาณการขนาด (Size) ของซอฟตแวร..........73. วธในการประมาณคาใชจาย (Costing Model) ของการ
พฒนาซอฟตแวร.........................................................12บทท 3 ความเปนมา COCOMO.....................................14บทท 4 วธการแบบ COCOMOII....................................15
สารบญภาพ
เรอง หนา
รปท 1 องคประกอบการประเมนราคาซอฟตแวร.............5รปท 2 แสดงขนตอนการประมาณคาใชจายโดย
COCOMO-II........................................................24
สารบญตาราง
เรอง หนา
ตาราง 1 กระบวนการในการประมาณการ..............................4ตาราง 2 ตวอยางคานำาหนกความซบซอนของ Function Point
....................................................................................10ตาราง 3 ตวอยางตววดขนาดของเวบออบเจกตพอยต (Web
Object Point)................................................................11ตาราง 4 ตวอยางตววดขนาดของเวบออบเจกตพอยต (Web
Object Point)................................................................12ตาราง 5 COCOMO II Software Development Effort
Multipliers....................................................................16ตาราง 6 COCOMO II Software Development Effort
Multipliers....................................................................17ตาราง 7 COCOMO II Scale Factors..........................18ตาราง 8 COCOMO II Scale Factors..........................18ตาราง 9 แสดงนำาหนกของตวชวดตาง ๆ ใน COCOMO II......20ตาราง 10 การประมาณคา Web Object (ตวชวด).............21ตาราง 11 คาปจจยขยายของภาษา(Language expansion
factors: LEF)................................................................21ตาราง 12 การเทยบเคยงตวแปรคาทวคณกบตวชวดใน
แบบสอบถาม....................................................................22ตาราง 13 การเทยบเคยงตวแปรคาความผกผนกบตวชวดใน
แบบสอบถาม....................................................................23
1COCOMO II
บทท 1 บทนำา
Software Cost Estimation คอการประเมนตนทนซอฟตแวร ในการประเมนคาใชจายในการพฒนาซอฟตแวร ซงเปนเรองทสำาคญมาก เพราะจะเปนสงบอกถงการไดมาซงโครงการนนๆ ถามการประเมนราคาผดพลาดมากกวาความเปนจรง กอาจจะสงผลเสยตอองคกรคอ อาจจะทำาใหลกคาไมพอใจ หรอเสยโอกาสทางการตลาดได แตถาประเมนราคาตำาเกนไป กอาจจะสงผลรายตามมาใหกบการทำางานนน หรออาจจะทำาใหขาดทนในระหวางการดำาเนนการได
ดงนนในการประเมนคาใชจายจะตองทำาการประเมนอยางรอบคอบ ทงคาใชจายในการพฒนา และคาใชจายในสวนอนๆอยางเหมาะสม ซงในการประเมนคาใชจายใหไดอยางเหมาะสมนนจะตองเลอกวธการในการประเมนราคาทเหมาะสมกบองคกรดวย การประเมนราคานนถงจะมประสทธภาพสงสด
เทคนคทใชในการประเมนตนทนซอฟตแวร ไดแก การใชแบบจำาลองอลกอรทมเปนฐานในการประเมน (Algorithmic
cost modeling) พจารณาจากการพฒนาระบบในอดตซงสามารถบอกไดวาการพฒนาระบบโดยขนตอนวธทใชจะมบรรทดคำาสงมากนอยเทาใด และประเมนตนทนและแรงงานจากปรมาณบรรทดคำาสงทตองเขยน
การประเมนโดยผเชยวชาญ (Expert judgment) เปนเทคนคทใชผเชยวชาญหลายคนเปนทปรกษาโครงการ ผเชยวชาญแตละคนจะประเมนตนทนและนำาเขาทประชมเพอทำาการเปรยบเทยบ และทำาการตกลงกำาหนดเปนตนทนของการพฒนาระบบ
การประเมนโดยการเทยบเคยงกบระบบทเคยพฒนามาแลว (Estimate by analogy) เปนเทคนคการประเมนตนทนการ
2COCOMO II
พฒนาซอฟตแวรใหมโดยเทยบกบซอฟตแวรในโดเมนเดยวกนทไดพฒนาสำาเรจแลว
การประเมนโดยใชสตรการคำานวณ (Parkinson’s law) ตามกฎของ Parkinson แรงงานทใชในการทำางานขนอยกบขนอยกบทรพยากรทมอยมากกวา
การประเมนจากราคาททจะทำาใหไดงาน (Pricing to win) เปนการประมาณตนทนจากงบประมาณทลกคามใหสำาหรบโครงการการพฒนาระบบ เทคนคการประเมนตนทนแบบน จะขนอยกบงบประมาณของโครงการมากวาฟงกชนของการทำางานของซอฟตแวร การวดขนาดของซอฟตแวร การประเมนตนทนซอฟตแวร ขนอยกบวธทใชในการวดขนาดของซอฟตแวร ซงม 2 ลกษณะ คอ Line of Code (LOC) และ Function Point (FP)
3COCOMO II
วธการวดขนาดของซอฟตแวร มหลกการดงน แบบนบบรรทดของคำาสง (Line of Code หรอ LOC) นบเฉพาะ
บรรทดทเปน Source Code ไมนบรวม สวนของการทดสอบ (Test Driver) หรอสวนงานทรองรบการทำางานอนๆ จะนบเฉพาะบรรทดทพฒนาโดยบคลากร นบสวนของการประกาศคา (Declaration) เปนสวนของ Instruction จะไมนบสวนของการขยายความ หรอ Comment
วธการวดขนาดของซอฟตแวรแบบฟงกชนพอยต (Function Point - FP) เปนการวดขนาดของซอฟตแวรดวยการนบจำานวนฟงกชนในการทำางานของโปรแกรม การวดดวยฟงกชนพอยต จะมงเนนทการวดดวยฟงกชน หรอการวดโดยผานมมมองความตองการของซอฟตแวร จะชวยลดปญหาดานความแตกตางของภาษาทโปรแกรมทใช หรอ FP (Function Point) ซงเปนลกษณะของการวดขนาดของซอฟตแวรทไมไดมงเนนในเรองของจำานวนบรรทด เพราะบางทการเขยนโปรแกรมในเรองเดยวกน แตใชคนละภาษาแตผลลพธออกมาเหมอนกน อาจจะได LOC ทไมเทากนกได ซงไมสามารถวดไดวา คนทเขยนโปรแกรมดวยขนาดของ LOC ทยาวกวาจะมประสทธภาพการทำางานทดกวา ในการวดขนาดแบบ FP จะไมสนใจความยาวของโปรแกรม และไมสนใจวาจะเขยนจากภาษาใด แตจะนบจากผลลพธฟงกชนทระบบสามารถรองรบความตองการของผใชงานได
กระบวนการนบแบบฟงกชนพอยต มขนตอน คอขนท 1 นำาความตองการทจดการเกบรวมรวมไว มาทำาการแบง
ประเภทของฟงกชนพอยต ขนท 2 ประเมนความซบซอนของฟงกชน ขนท 3 เปรยบเทยบความซำาซอน เพอเปนการปรบระดบความซำาซอน เพอใชในการคำานวณ ฟงกชนพอยตทยงไมไดปรบคา ขนท 4 คำานวณตวแปรปรบคาตามลกษณะเฉพาะ
4COCOMO II
ขนท 5 คำานวณจำานวนฟงกชนทผานการปรบคา ขนท 6 ฟงกชนพอยตทผานการปรบคา สามารถนำาไปคำานวณแบบ
LOC ไดเมอเราทราบถงกระบวนการ วธการประเมนตนทนในรปแบบตางๆท
กลาวมาในขางตนแลว เราสามารถสรางแบบจำาลองทได นนคอแบบจำาลองการประมาณตนทนซอฟตแวร COCOMO
5COCOMO II
บทท 2 การประมาณการซอฟตแวร
ในการประมาณราคาซอฟตแวรนน จะคดจากความพยายามในการพฒนา (Effort) ซงความพยายามในการพฒนาซอฟตแวร จะขนอยกบขนาดของซอฟตแวรทจะพฒนา (Size) เปนหลก การวดขนาดของซอฟตแวรกจะมวธการวดหลายอยาง เชน วดจากจำานวนบรรทด (Line of Code) หรอวดจากคาฟงกชนพอยต (Function Point) และวธการวดอนๆ
ตอมามผคดคนแบบจำาลองเพอใชในการประมาณราคาซอฟตแวร จนกระทงในป 1981 Barry Boehm ไดนำาเอาแนวความคดของการคำานวณทางคณตศาสตร การใชคาสถต และปจจยอนๆทสงผลกระทบในการประมาณราคาซอฟตแวรแบบปกต เรยกวา COnstruction COst MOdel (COCOMO) ซงเปนแบบจำาลองทไดรบการยอมรบ และใชกนอยางแพรหลาย ในประเทศสหรฐอเมรกา และไดพฒนามาเปน COnstruction COst MOdel II (COCOMO II) ในป 2000 แบบจำาลองดงกลาวนนเหมาะสำาหรบการราคาซอฟตแวรแบบทไมใชซอฟตแวรทพฒนาบนเวบ
ในยคตอมารปแบบของการพฒนาซอฟตแวรเรมเปลยนทศทางมาพฒนาบนเวบมากขน ซงเรยกกนวา ซอฟตแวรทพฒนาบนเวบ (Web Based Application) แบบจำาลองหนงทไดรบการยอมรบในการประมาณความพยายามและระยะเวลาในการพฒนาซอฟตแวรทพฒนาบนเวบ คอ เวบโมเดล (Web Model) ซงไดพฒนามาจากแบบจำาลอง COCOMO II และใชวธการวดของ Web Object (WO) ซงเปนการประมาณขนาดของซอฟตแวรทพฒนาบนเวบโดยเฉพาะ
ซง Web Model เปนแบบจำาลองทเหมาะสมกบการประมาณความพยายาม และระยะเวลาทใชในการพฒนาซอฟตแวรทพฒนาบนเวบทมลกษณะแบบอคอมเมรซ (e-commerce), เวบแอปพลเคชนเกยวกบ
6COCOMO II
การเงน (Finance), เวบแอปพลเคชนเชงธรกจตอธรกจ (Business to Business) และเวบแอปพลเคชนยทลต (Web based information Utilities)
เรองของการประมาณการหรอการคาดการซอฟตแวรทจะพฒนานน ถอเปนเรองทสำาคญในการวางแผนงาน แตหากซอฟตแวรทจะพฒนานนมลกษณะแตกตางกน ผควบคมโครงงานกจะตองวางแผนในการพฒนาโครงการทแตกตางกนไป ในสวนของซอฟตแวรนนการประมาณการจะมองกนทเรองของขนาด (Size) คาใชจาย (Investment) หรองบประมาณ บคลากรทใชในการพฒนา (Effort) และระยะเวลา (Time) เพอใชในการพฒนาดำาเนนงาน ซงองคประกอบเหลานจะสงผลใหการดำาเนนโครงงานเปนไปไดอยางมประสทธภาพ กระบวนการในการประมาณการนนประกอบดวย 7 ขนตอนดงแสดงในตารางท 1
7COCOMO II
การเลอกวธการวดSoftware Measurement
Method Selection
SizeCostEffort
ScheduleCritical
Resources
การเลอกวธการประมาณการ
Software Estimation Techniques Selection
ประมาณการซอฟตแวรSoftware Product
EstimationประมาณการความเสยงRisk Assessment /
Impact Analysisพจารณา ตรวจสอบเอกสาร
Review / Revise / Refine / Documentตดตามการวดผล
Tracking / Product Measurementปรบปรงกระบวนการใหม
ความถกตองProcess Improvement
ตาราง 1 กระบวนการในการประมาณการ
โดยกระบวนการจะเรมจากการเลอกวธในการวดลกษณะของซอฟตแวร (Measurement Method) แลวเลอกวธในการประมาณ (Estimation Techniques) จากนนทำาการประมาณในสวนของขนาด คาใชจายและระยะเวลา รวมถงทำาการประเมนความเสยง หรอปจจยทมผลกระทบในการพฒนาซอฟตแวร เมอนำาการประมาณไปใชในการวางแผนงานแลว กทำาการตดตามและวดผล ทำาใหทราบถงประสทธภาพของการประมาณการวามความถกตองหรอไม เพอดำาเนนการปรบปรงกระบวนการการประมาณการใหมความถกตองใกลเคยงตอไป
8COCOMO II
1.การประมาณการคาใชจาย (Cost Estimation)
แนวทางในการประมาณราคาซอฟตแวร (Cost Estimate) จะมงเนนถงการประมาณขนาดของซอฟตแวร (Size) การประมาณความพยายามทตองใช (Effort) การประมาณระยะเวลาของการพฒนาซอฟตแวร (Time) และการประมาณคาใชจายอนในการพฒนา (Investment) ดงทแสดงในรปท 1
9COCOMO II
รปท 1 องคประกอบการประเมนราคาซอฟตแวร
ขนาดของซอฟตแวร (Size) หมายถง ขนาดของการพฒนาซอฟตแวร มหนวยวดเปนจำานวนบรรทด
การประมาณความพยายามทตองใช (Effort) หมายถง กำาลงคนทจะใชในการพฒนาซอฟตแวร
การประมาณระยะเวลาของการพฒนาซอฟตแวร (Time) หมายถง ระยะเวลาทจะใชในการพฒนาซอฟตแวร มหนวยเปนชวงเวลา เชน Man Month (MM) หรอ Person Month (PM)
การประมาณคาใชจายอนในการพฒนา (Investment) หมายถงคาใชจายทเกยวของ ซงอาจจะเปนคาเสอมของอปกรณ คาไฟฟา คานำา ทเปนคาทตองใชจายแนนอน เปนตน
เมอพจารณาจากองคประกอบทง 4 จะเหนวาในการประมาณราคานน สงทสำาคญทสดจะขนอยกบการประมาณขนาดของซอฟตแวร ซงเมอไดขนาดของซอฟตแวร สงทจะไดตอมาคอความพยายามทตองใช (Effort) และระยะเวลาในการพฒนา (Time) ซงวธการทจะใชในการประมาณการขนาดของซอฟตแวรจะไดกลาวในรายละเอยดตอไป
2.1 การประมาณการขนาด (Size)ขนาดของซอฟตแวร เปนตวแปรหลกในการประมาณการราคาในการ
พฒนาซอฟตแวร วธการหลกๆทใชในการประมาณขนาด เชน การใชวธการนบจำานวนบรรทด (Line of Code) การวเคราะหจำานวนฟงกชนของ
10COCOMO II
ระบบ เพอใหไดคาฟงกชนพอยต (Function Point) Error: Reference source not found และการนบจำานวนวตถ (Object Point)
นอกจากนกยงมวธวดแบบใหมอกหลายวธ เชน การวดจากยสเคส (Use Case Point) ฯลฯ ซงการประมาณขนาดถอเปนตวแปรสำาคญในการประมาณการราคาซอฟตแวร
11COCOMO II
2.2 การประมาณการความพยายาม (Effort)ความพยายามทตองใช เปนอกตวแปรทใชในการประมาณการกำาลง
คน หรอแรงงานทตองใชในการพฒนาซอฟตแวรซงจะเกยวของกบเรองของ Productivity หรอประสทธผลในการผลตงาน โดยคา Productivity จะเปนสงทบงชวาในแตละการพฒนาจำาเปนจะตองใชบคลากรจำานวนเทาใด โดยจะวดจากจำานวนบรรทดทสามารถทำาไดตอความพยายาม ดงสมการท 1 ซงคาความพยายามจะไดมาจากขนาดของซอฟตแวร กลาวคอเมอประมาณการขนาดของซอฟตแวรไดแลวกสามารถทจะคำานวณหาคาความพยายามทตองใชตอไป
Productivity =
Line of Code หรอ Function Point
Effort (Man Month)
สมการ 1 สมาการหาคาประสทธผลในการผลตงาน
โดยทProductivity คอ คาประสทธผลในการผลตLine of Code คอ จำานวนบรรทดของซอฟตแวรFunction Point คอ คาจากการสดฟงกชนพอยตEffort คอ กำาลงคนหรอแรงงานทตองใชในการพฒนาซอฟตแวร
2.3 การประมาณการระยะเวลาของการพฒนาซอฟตแวร (Time)นอกจากขนาดและความพยายามแลว ระยะเวลากเปนอกตวแปรท
สำาคญทสงผลถงความสำาเรจของการพฒนาซอฟตแวร และการบรหารจดการโครงการ ซงหากสามารถทจะควบคมเวลาการพฒนาซอฟตแวรไดกจะสงผลใหการดำาเนนโครงการนนประสบผลสำาเรจ
12COCOMO II
2.4 การประมาณคาใชจายอนในการพฒนา (Investment)คาใชจายอนทเกยวของ เปนอกเรองหนงทตองใหความสำาคญ คาใช
จายในสวนนจะเกยวของกบคาใชจายในการพฒนาทตองคด เชน คาเสอมสภาพของอปกรณ คานำา คาไฟ และคาอนๆทเกยวของ ซงจะตองมการประมาณการไวดวย ตามระยะเวลาทคาดวาจะใชในการพฒนาซอฟตแวร ซงหากประมาณการผดพลาด เชน มากเกนไปหรอนอยเกนไป กอาจจะสงผลเสยตอการบรหารจดการโครงการได
13COCOMO II
2.วธการประมาณการขนาด (Size) ของซอฟตแวร
การวดขนาด (Size) ของซอฟตแวรจะเรมจาก การเลอกวธวดใหเหมาะสมกบการพฒนาซอฟตแวร วธการวดแบงออกเปน 2 ลกษณะ คอ การวดโดยตรง (Direct Measures) เปนลกษณะการวดขนาดของงานทสามารถวดจากขอมลทสามารถนบได เชน จำานวนหรอความยาว จะประกอบดวยตววดดงตอไปน
1. คาใชจาย (Investment)2. ความพยายามหรอกำาลงคนทตองใช (Effort)3. จำานวนบรรทด (Line of Code / Kilo of Delivered
Source Instruction)4. คาทไดจากฟงกชนพอยต (Function Point)5. ความเรวของการพฒนา (Speed)6. ความผดพลาดของการพฒนา (Number of Error)และการวดแบบโดยออม(Indirect Measures) เปนการวดในดาน
ประสทธภาพ จะประกอบดวยตววดดงตอไปน1. คณภาพ (Quality)2. ความซบซอน (Complexity)3. ประสทธภาพ (Efficiency)4. ความนาเชอถอ (Reliability)5. การดแลรกษา (Maintainability)ซงเมอผนวกรวมทงสองลกษณะแลวจะนำาไปสการวดขนาดของ
ซอฟตแวรได วธการทพบบอยในการวดขนาดของซอฟตแวร มกจะใชตววดคอ Line of Code และ Function Point
2.1 ก า ร ว ด ข น า ด โ ด ย ใ ช Line of Code / Kilo of Delivered Source Instructionการวดขนาดของซอฟตแวรโดยใชจำานวนบรรทดเปนวธการทใชใน
การวดทงายทสดโดยการนบจำานวนบรรทดทพฒนาซอฟตแวรได Line of
14COCOMO II
Code (LOC) หรอ Kilo Line of Code (KLOC) ในบางครงอาจจะใช Kilo of Delivered Source Instruction (KDSI) ซงไดมการสรปลกษณะการวด LOC ดงน
- นบเฉพาะบรรทดทมการจดสงเปน Source Code ไมนบรวมสวนของการทดสอบ
- นบเฉพาะสวนทพฒนาโดยบคลากร ไมรวมสวนทระบบสามารถสรางไดอตโนมต
- ถอวา หนงคำาสง คอ หนง LOC- นบสวนประกาศคา (Declaration) เปนสวนของคำาสง
(Instruction)- ไมนบสวนขยาย (Comment)แมวาวธการวดขนาดของโปรแกรมดวยจำานวนบรรทดนจะทำาไดงาย
แตมจดออนหลายประการ เนองจากโปรแกรมททำางานอยางเดยวกนทเขยนดวยภาษาคอมพวเตอรตางกน จะมจำานวนบรรทดทตางกน
15COCOMO II
2.2 การวดขนาดโดยใช Function Pointจากปญหาเกยวกบความแตกตางของภาษาในการวดดวย Line Of
Code จงมการแกปญหาโดยใช Function Point โดย A.J. Albrecht จากบรษท IBM โดยใชวธวเคราะหฟงกชนพอยต (Function Point Analysis: FPA) วธการของ Function Point จะไมสนใจวาเขยนดวยภาษาใด แตจะนบจากผลลพธของฟงกชนสวนประกอบของระบบ ฟงกชนพอยตแตละประเภทจะมความซบซอนตางกน ดงนนจงมการใหคานำาหนก (Complexity Weight) เพอแบงความซบซอนของฟงกชนพอยตแตละประเภท ดงจะแสดงดงนโดยสมการของการหาฟงกชนพอยต คอ
FP = UFP * TCF ….……………….สมการท 2
VAF = 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 คา
14
1i
16COCOMO II
โดยตวแปรทมผลกระทบในการพฒนาซอฟตแวร (Value Adjustment Factor) หรอสภาพแวดลอมในของการพฒนาซอฟตแวรนน อาจจะมหรอไมมผลกระทบจากตวแปรเหลานหรอไม ซงผประมาณการจะเปนผใหคานำาหนกเพอหาคา Technical Complexity Factor (TCF) หรอ คาความซบซอนของตวแปรทมผลกระทบตอไปโดย คา Value Adjustment Factor (VAF) ประกอบดวยตวแปร 14 คา ดงน
17COCOMO II
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 สามารถทเปลยนแปลงซอฟตแวรไดงาย
การตดสนใจในเรองของขนาดโดยใชสวนประกอบในการประมวลผลของซอฟตแวร โดยถอเอาวาสวนประกอบของระบบคอสงทผใชใชงานหรอ
18COCOMO II
มองเหนได (เรยก User Function Types by IBM) และมการกำาหนดการวดขนาดทใชวดดงน- ขอมลเขาจากภายนอก (External Input) - ขอมลทสงออกสภายนอก (External Output) - ขอมลทดงมาจากภายนอก (External Inquiries) - ขอมลทตองการจากภายนอก (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
19COCOMO II
โดยท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 คอ คานำาหนกของความซบซอนในแตละฟงกชนพอยต
คานำาหนกความซบซอนนนแบงเปน 3 ระดบคอ Simple, Average, Complex ซงขอมลน เปนขอมลทไดจากขอมลสถตทกำาหนดโดย IFPUG [5] ดงจะแสดงในจากตารางท 2
ประเภทของฟงกชนพอยตคานำาหนกความซบซอนนอย ปาน
กลางมาก
ขอมลเขาจากภายนอก (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
20COCOMO II
Function Pointsตาราง 2 ตวอยางคานำาหนกความซบซอนของ Function Point
21COCOMO II
การเลอกคานำาหนกของตวแปรนนไดถกกำาหนดโดย Albrecht “คานำาหนกมความสำาคญกบฟงกชนผใชและลกคา และ การกำาหนดนน” “มาจากการประชมเพอแสดงความคดเหนและพจารณา ความเคลอบ”แคลงเกยวกบคานำาหนกเกดขนวาจะมความเหมาะสมกบทกๆกรณหรอไม เรมเปนปญหาทถกเถยงขน เพราะคานำาหนกทกคานนมาจากซอฟตแวรทสรางภายใตมาตรฐานและวฒนธรรมของ IBM และจะมนใจไดอยางไรวาคานำาหนกเหลานเหมาะสมกบซอฟตแวรอนๆ ทไมไดพฒนาแบบ IBM หรอไม เปนเหตทำาใหมการศกษาการวเคราะหคานำาหนก ยกตวอยางระบบทเปนแบบ Batch ทจำานวน Input / Output มขอมลเกยวกบ FP ทสามารถนบคาได หากพฒนาระบบนเปนแบบ Online มขอมล Input / Output เทาเดมจะเกดปญหาวา ถาใช FPA แบบ Albrecht คากยอมออกมาเทากน กรณปญหานบอกใหรวา FPA ยงไมคลอบคลมไปในเรองทเกยวกบความสมพนธทางดานเทคโนโลย ซงการวเคราะหแบบใหมคอ Object Orient Approach จะมขอบเขตทควบคมปญหาเหลานดวย
2.3 การวดขนาดโดยใช 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
Web Object predictors
Low Average
High
ฟงกชนหรอโมดล 1 2 4
22COCOMO II
สำาเรจรปNumber of
building blocksจำานวนสวนประกอบของ
COTSNumber of COTS
components2 4 6
จำานวนไฟลมลตมเดยNumber of
multimedia files1 2 4
จำาวนวตถNumber of object
or application points* * *
ตาราง 3 ตวอยางตววดขนาดของเวบออบเจกตพอยต (Web Object Point)
23COCOMO II
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 files2 4 6
จำานวนสครปสNumber of scripts 1 2 3อนๆOther 2 4 6
ตาราง 4 ตวอยางตววดขนาดของเวบออบเจกตพอยต (Web Object Point)
เมอผประมาณการวดขนาดของซอฟตแวรทพฒนาบนเวบเรยบรอยแลว ตอไปกจะหาคานำาหนกตามตารางท 4 ตอไป
3.วธในการประมาณคาใชจาย (Costing Model) ของการพฒนาซอฟตแวร
Costing Model เปนวธการทจะมงประมาณการคาใชจายดงทกลาวมาแลวในขอ 2.1 โดยขอดของการใช Cost Models ใชไดกบระบบทเปนแบบ Non Expert ขอเสยของระบบนคอ การพฒนาซอฟตแวรนนมการปรบปรงเปลยนแปลงอยตลอด หากใชสมการกตองมการปรบเปลยน
24COCOMO II
คาตามไปดวย ซงนอกจากวธการใชสมการทางคณตศาสตร ยงมวธการทใชในปจจบน เชน
1. การประมาณการคาใชจายโดยวธทางสถต จะใชขอมลทางสถตเดมมาประมาณการคาใชจายและใชขอมลนมาประมาณการระยะเวลาและคาใชจาย มความนาเชอถอ
2. การใชความคดเหนของผเชยวชาญ (Expert Judgment) เปนการทำานายโดยใชประสบการณและความสามารถของผเชยวชาญ เทคนคทใชกจะแตกตางกนไปในแตละบคคล
3. การวเคราะหขอมลเดม (Analogy) เปนวธการหนงของการประมาณการแบบ Expert Opinion ผทประมาณการจะเปรยบเทยบกบขอมลเดมทมอยวามความเหมอนหรอความแตกตางของระบบงานหรอซอฟตแวรใหมอยางไรโดยการประมาณการจะอาศยขอมลบรรทดฐานของขอมลเกาทมการเกบเอาไว แลวใชขอมลนในการทำานาย
25COCOMO II
4. กฎของพารคนสน (Parkinson’s Law) เปนวธการทจะพฒนาซอฟตแวรภายใตระยะเวลาและทรพยากรบคคลทจำากด คาใชจายในแตละโครงการจะคดจากบคลากรทมอยในองคกร โดยไมสนใจปจจยภายนอกทมาเกยวของ
5. แบบลางขนบน (Bottom-up) การประมาณการดวยวธ Bottom-up เปนการประมาณการโดยใหสวนทลางทสดของระบบ โดยประมาณการจากสวนทยอยๆ ทสดไลระดบขนไป จากคอมโพเนนท ไปเปนระดบทสงกวา สวนการประมาณการแบบ Top-up จะใชการประมาณการจากระบบโดยภาพรวม แลวแตกรายละเอยดไลไปจนถงระดบลางสด
6. แบบใชราคาเพอใหไดงาน (Price-to Win) เปนวธการทตองการชยชนะ โดยอาจจะประมาณการทตำากวาทน เพอใหไดงานนนมา ดงนนในการพฒนาจรงอาจจะเกนงบ แตโดยสวนใหญแลว อาจจะตองการพฒนาซอฟตแวรนเพอผลประโยชนอยางอน เชน ตองการไปพฒนา หรอทำาธรกจตอ หรอเพอสรางเครดต เปนตน
7. COnstructive COst MOdel (COCOMO II) โมเดลในการประเมนราคาซอฟตแวร หรอ Software Costing Model ซงโมเดลนถกสรางขน ในป 1981 โดย Barry Boehm ซงเปนทยอมรบและนำาเอาไปใชกนแพรหลายในสหรฐอเมรกา โดยแนวความคดนนตองการเพอประเมนราคาซอฟตแวร โดยจะตองนำาเอาความแตกตางของแตละโครงการ, ลกษณะเฉพาะ, ผทเกยวของตางๆ มาคดคำานวณคาออกมาเปนตวเลข โดยปจจบนพฒนามาถง COCOMO II ซงมการนำาเอาแนวคดเกยวกบ CMM (Capability Maturity Model) มาใชรวมดวยในสวนของคณภาพของการบรหารจดการซอฟตแวร และการควบคมคณภาพของซอฟตแวร
ซงในรายงานนจะเลอกใชวธการในการประมาณการความพยายาม คอ COCOMO II เนองจากเปนแบบจำาลองทมความนาเชอถอและไดรบความนยมในปจจบน
26COCOMO II
27COCOMO II
บทท 3 ความเปนมา COCOMO
แบบจำาลองการประมาณตนทนซอฟตแวร หรอ COCOMO (Constructive Cost Model) ถกพฒนาขนโดย Boehm B.W. ในปค.ศ.1981 โดยใชการวเคราะหขอมลจาก 63 โครงการ วธการของ COCOMO นเปนวธการวด Effort ในการพฒนาซอฟตแวรทคดเปน คน-เดอน โดยไดกำาหนดปจจยทมผลตอราคาซอฟตแวรได 4 อยางกวางๆ คอ ผลผลต คอมพวเตอร บคลากร และโครงการ โดยรปแบบของโมเดลจะแบงออกเปน 3 ลกษณะดวยกนคอ
Basic COCOMO Model : เปนโมเดลทมการกำาหนดคาคงทคาเดยวเพอการคำานวณในการพฒนาซอฟตแวรเปนขนาดโปรแกรมซงปรากฏในรป แบบ Lines of Code (LOC)
Intermediate COCOMO Model : คำานวณ Effort ในการพฒนา ซอฟตแวรเปนขนาดของโปรแกรมและรวมปจจยทมผลกระทบตอราคา •
Advanced COCOMO Model : จะรวมปจจยทมผลกระทบตอราคา ทงหมดในทกๆขนตอน เชน ในกรณการวเคราะห และการออกแบบ
The COCOMO model สามารถแบงออกเปน 3 ประเภทโครงการดงน ประเภท Organic เหมาะสำาหรบใชกบโครงการพฒนาซอฟตแวรทม
ขนาด เลก มวตกรรมใหมเพยงเลกนอย เวลาทใชในการพฒนามความยดหยนมาก และการพฒนามลกษณะคงท
ประเภท Semi Detached เหมาะสำาหรบใชกบโครงการพฒนาซอฟตแวรท มขนาดกลาง มนวตกรรมใหมเปนบางสวน ระยะเวลาทมความเหมาะเหมาะสม และไมมขอจำากดมาก ลกษณะการพฒนามความซบซอนในระดบปานกลาง
28COCOMO II
ประเภท Embedded เหมาะสำาหรบใชกบโครงการพฒนาซอฟตแวรทม ขนาดใหญ มนวตกรรมใหมคอนขางมาก ใชระยะเวลาสน ตองเรงดวน และมขอจำากดสง ลกษณะการพฒนามความซบซอน
29COCOMO II
บทท 4 วธการแบบ COCOMOII
การประมาณการซอฟตแวรแบบดงเดมสวนใหญจะใชแบบจำาลอง COCOMO II ในการประมาณการ โดยมพนฐานหลกอยบนการประมาณความซบซอนจากจำานวนฟงกชนการทำางานของซอฟตแวร ขอมลเขาจากภายนอก ขอมลทสงออกสภายนอก ขอมลทดงมาจากภายนอก ขอมลทตองการจากภายนอก ขอมลเชงตรรกะภายใน ปจจยสภาพแวดลอมเกยวกบคน ทมพฒนา และระบบ และรวมไปถงการใชขอมลเชงสถตเดมมาใชรวมในการประมาณขนาด ความพยายาม และระยะเวลาของการพฒนาซอฟตแวร
จดเดนทนาสนใจของ COCOMO II คอ การทำาเอาตวเลขทางคณตศาสตรและสถตมาประยกตใชในการพฒนาซอฟตแวรตามหลกการของการบรหารจดการ เปนการนำาเอาสงทเปนกระบวนการมาเปนตวเลขได การบรหารจดการซอฟตแวรประกอบไปดวย ผลตภณฑ กระบวนการ โครงการ และบคลากร นอกจากนยงมปจจยอนทเกยวของ ในการทจะประเมนราคา และระยะเวลาในการพฒนาของซอฟตแวร โดยมโมเดลการคำานวณเปนดงน
PM = A x Size x EM + Pmauto...............................สมการท 6
E = B + 0.01 * Scale Factors……………………..สมการท 7
ซงPM คอ Effort มหนวยเปน Person-Months (PM)A คอ คาคงททไดจากการรวบรวมขอมลใน 161 โครงการ โดย A = 2.94B คอ Scaling Base-exponent สำาหรบคำานวณ Efforts
30COCOMO II
E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ
ขนาดของโครงการSize คอ ขนาดของซอฟตแวรEM คอ Effort Multipliers เปนคาทไดจากการคำานวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร ดงแสดงในตารางท 5,6Pmauto คอ คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ Reuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา Pmauto จะเปน 0Scale Factors คอ ตวแปรทมผลกระทบขอขนาด ดงจะแสดงในตารางท 6
31COCOMO II
Attribute VL LO NM HI VH XHRequired Reliability
(RELY)ความเปนไปไดของความ
ตองการ
0.75
0.88
1.00
1.15
1.39
Database Size (DATA)
ขนาดของฐานขอมล
0.93
1.00
1.09
1.19
ตาราง 5 COCOMO II Software Development Effort Multipliers
Attribute VL LO NM HI VH XHProduct Complexity
(CPLX)ความซบซอน
0.75
0.88
1.00
1.15
1.30
1.66
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
32COCOMO II
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
33COCOMO II
ตาราง 6 COCOMO II Software Development Effort Multipliers
ซงเมอใชสมการท 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 สำาหรบคำานวณ EffortsC คอ Schedule Coefficient ทใชมาคำานวณ โดย C = 3.67D คอ Scaling Base-exponent สำาหรบ ระยะเวลา โดย D = 0.28E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ
ขนาดของโครงการF คอ Scaling Exponent สำาหรบระยะเวลา
ดงจากสตร จะเหนวา Effort ของการพฒนาทใชในการพฒนาจะขนอยกบขนาดของการพฒนา หรอ size ของซอฟตแวรหลก แตขนาดเพยงอยางเดยวอาจจะไมเพยงพอ เพราะจะตองนำาเอาปจจยอน และภาวะความเสยงอนมารวมคดดวย แนวความคดของ COCOMO II ไดแบงการประเมนราคาซอฟตแวรเปน 2 ระยะคอ Early-design และ Post-design เนองจากม
34COCOMO II
ความคดวาผลของการประเมนในเวลาททำาการเรมตนการออกแบบเบองตนยอมแตกตางจากการทไดทำาการวางโครงสรางแลว เมอเรมการพฒนาไปสกระยะจะทราบถงปจจยทสงผลกระทบตอคาใชจายมากขน
35COCOMO II
RatingScale
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 ควบคมความเสยงมากทสด
ตาราง 7 COCOMO II Scale FactorsRating
Scale Factors
VL LO NM HI VH XH
Team Cohesion (TEAM)การทำางานเปน
4.94ไมมความสมพนธ
3.95สมพนธในทม
2.97สมพนธในทม
2.97สมพนธในทมทำางาน
0.99สมพนธในทมทำางาน
0.00สมพนธในทม
36COCOMO II
ทม ในทมทำางาน
ทำางานเลกนอย
ทำางานปานกลาง
คอนขางมาก
มาก ทำางานมากทสด
Process Maturity (PMAT)การวดคามารชวรรตของกระบวนการ
4.54 CMM Lv1 หรอตำากวา
3.64CMM Lv2 หรอตำากวา
2.73 CMM Lv2
2.73CMM Lv3
0.91CMM Lv4
0.00 CMM Lv5
ตาราง 8 COCOMO II Scale Factors
สมการท 6 เปนสมการทใชหาคาความพยายาม (Effort) ทใชในการพฒนาซอฟตแวร ซงจะขนอยกบขนาด (Size) ของซอฟตแวรทจะพฒนา แตขนาดอยางเดยวยงไมเพยงพอในการคำานวณ เนองจากยงมปจจยสภาวะแวดลอมทตางกนทอาจจะมผลตอความพยายามในการพฒนาซอฟตแวร
37COCOMO II
โดยปจจยนจะมองในรปของ Effort Multipliers ซงจะใชสมการท 7 เพอคำานวณหาคา Effort Multipliers และใชขอมลคานำาหนกจากตารางท 3 ซงผประมาณการจะเปนผเลอกตวเลขโดยจะประมาณการจากสภาพแวดลอมตางๆ ของการพฒนาซอฟตแวร เชน ขนาดของฐานขอมลวามความซบซอนเพยงใด โปรแกรมเมอรมความเชยวชาญหรอมประสบการณมากนอยเพยงใด เปนตน รวมไปถงการคำานวณคา Scale Factors ในตารางท 5 ทมผลตอขนาดของโครงการพฒนาซอฟตแวร เมอไดคา Effort มาแลวขนตอไปคอการนำาเอาคาทไดไปคา ระยะเวลาในการพฒนา (TDEV) ในสมการท 8
แบบจำาลอง COCOMO II มความเหมาะสมกบการประมาณการราคา ระยะเวลา และคาความพยายามในการพฒนาซอฟตแวรแบบทวๆไป ทไมใชซอฟตแวรทพฒนาบนเวบ ซงในสวนตอไปจะกลาวถงแบบจำาลองทใชกบซอฟตแวรทพฒนาบนเวบนนคอ Web Model
1.ก าร ว เ คร า ะห ค า ใ ช จ า ย ใน ก า ร พ ฒ น า โ ป ร แ ก ร ม โ ด ย COCOMO-II
Barry Boehm ไดพฒนาสตรทใชในการประมาณการคาใชจาย ในการพฒนาซอฟตแวรซงเปนชวงตน ๆ ของการออกแบบระบบ (Early design level) มสตรในการประมาณการ PM (Person month) และ DT (Development Time) ดงสมการ
PM = A x Size B x M และ DT = 3 x PM (0.33+0.2x(B-1.01)) x SCED%
โดยท A = 2.5Size = ขนาดของ Software นบหนวยเปนหลกพนคำานวณจาก Function pointB = คาความผกผน ซงจะขนกบตวแปร 5 ตว (Precendentedness, Development Flexibility, Architecture/risk resolution, Team Cohesion และ Process Maturity)
38COCOMO II
M = คาทวคณ คำานวณจากผลคณของ 7 ตวแปร (Product reliability andComplexity, Reused required, Platform Difficulty, Personnel capability, Personnel experience , Schedule, Support)SCED Percentage แทนรอยละของเพมและลดหมายกำาหนดการ โครงการทพฒนาซอฟตแวรแบบเรงรด เรงดวน จะมปจจย SCED เขามาเกยวของตอเวลาในการพฒนา
39COCOMO II
ซอฟตแวร ตารางท 9 แสดงคาของปจจยตาง ๆ ทเกยวของในการประมาณการคาใชจายและเวลาของ COCOMO II
ตาราง 9 แสดงนำาหนกของตวชวดตาง ๆ ใน COCOMO II
ในสวนของการประมวลการขนาด (Size) ใน COCOMO-II Barry Boehm ไดเสนอแนะใหใช Function point แตเนองจากการนำาเสนอสมการประมาณการ ไดพฒนาบนแบบการประมวลผลแบบเดม ๆ เชน การประมวลผลแบบรวมศนย และเรมคำานงถงการนำามาใชคน (Reuse) บาง แตในปจจบนรปแบบการประมวลผลตางไป เปนการประมวลผลเชงโครงขาย (Web based) ดงนน Reifer จงไดนำาเสนอแนวคดในการประมาณการคาขนาดของ ซอฟตแวรโดยการใช Web object แทน Function point ซงจะใหความแมนยำาสงกวาการใช Function point ประมาณคา Web object ดำาเนนการไดดงน
ทำาการเกบรวบรวมจำานวนของ Object ตาง ๆ ทคาดวาโปรแกรมนน ๆ ตองมทงทฝง Client และฝง Server ตวชวดตาง ๆ
40COCOMO II
(Object) ปรากฏดงตารางท1-2 โดยทคาตาง ๆ จะมการใหนำาหนกตามระดบของความซบซอน/ยงยาก (Complexity)
41COCOMO II
ตาราง 10 การประมาณคา Web Object (ตวชวด)
การประมาณการคาขนาดของซอฟตแวรจะใชคาปจจยขยายของภาษา (LanguageExpansion Factors: LEF) ซงจะมคาแตกตางกนไป ขนกบวาจะใชภาษาใดในการพฒนาตารางท11 แสดงคาปจจยขยายของภาษาตาง ๆ ไว คา LEF คณดวยผลรวมของ Webobject และหารดวย 1,024 จะเปนคาขนาดของซอฟตแวรตอไป
ตาราง 11 คาปจจยขยายของภาษา(Language expansion factors: LEF)
42COCOMO II
2.การประมาณคาใชจายและเวลาโดย COCOMO-IIการประมาณการคาใชจายและเวลาโดย COCOMO II มจดประสงค
หลกคอ เพอทำาการประมาณการคาใชจายและเวลาของ 30 โครงการ ทใชในการสอบทานความแมนยำาในการพยากรณของวธการตางๆ ทกลาวมา แลวทำาการเปรยบเทยบผลการประมาณการกบวธการตางๆขางตนเพอหาวธการทประมาณการไดแมนยำาทสดตอไป
1. การประมาณการขนาดของซอฟตแวร (Size) จากสตรการประมาณการ PM และ DT โดยปกตจะประมาณจาก Function Point แตในงานวจยนไดใชผลการวจยของ Reifer คอ การประมาณการขนาดของซอฟตแวรโดยวดจาก Web Object แทน Web Object จะมวธการคำานวณทคลายคลงกบ Function Point แตกตางกนตรงแหลงของ Object จะเนนไปท Web based application แทน Application ปกต การคำานวณจะใชตารางท 1-2 เมอไดจำานวนของ Web Object แลว จะทำาการแปลงใหเปนขนาดของซอฟตแวรโดยการคณ Object point ทงหมด ทหาไดกบ LEF ซงจะแตกตางกนไปวาใชภาษาใดในการพฒนา ในทนไดใช Java for Web เปนหลก Size = (Amount of web object * LEF) / 1024
2. การประมาณการคาทวคณ (Multiplier) คาเกณฑการใหนำาหนกของตวชวด / ตวทวคณ ในตารางท 1-1 จะถกใชในการกำาหนดคาทวคณ (ทกตว) ตามรปแบบสมการ C = C1 * C2 * C3 * C4 …
ปจจยใดไมมผลกระทบตอโครงการพฒนาซอฟตแวรจะใหคาปกตเปน Nominal หากมผลกระทบตอโครงการจะกอใหเกดปญหาหรอเปนอปสรรคจะมคาเกนกวา ‘ 1’ ในทนจากการรวบรวมแบบสอบถามของงานวจยสามารถนำาตวชวดบางตวมาทำาการทดแทนคาตวชวดทวคณใน COCOMO II ได ดงตารางท 12
43COCOMO II
ตาราง 12 การเทยบเคยงตวแปรคาทวคณกบตวชวดในแบบสอบถาม
3. การประเมนคาผกผน (B) คาผกผน B คำานวณจากตวแปรตว (bi) คาตวแปร 5 ตวน จะมคา ‘ 1-5’ ขนกบระดบของความยาก ซบ–ซอน ของแตละโครงการพฒนาซอฟตแวรนำาเอาผลรวมของทกๆ คามารวมกน แลวหารดวย ‘ 100’ จากนน บวกดวยคา ‘ 1.01’
44COCOMO II
คา bi จะใชวธเทยบเคยงจากตวชวดอนๆในแบบสอบถาม ดงแสดงไวในตารางท 13
ตาราง 13 การเทยบเคยงตวแปรคาความผกผนกบตวชวดในแบบสอบถาม
4. การประมาณการคา SCED เปนปจจยทเกยวกบความเรงรดในหมายกำาหนดการตอโครงการ ซงจะมผลกระทบตอ Development time ในสมการ 2.10 เทานน คา SCED คำานวณไดจาก การเพม หรอลดเวลาในหมายกำาหนดการ เปนปจจยความเสยงทจะทำาใหจดสงซอฟตแวรถงผใชงานชากวากำาหนด หากไมมแรงกดดนใดๆ ในหมายกำาหนดการคา SCED จะมคาเปน ‘ 1’ ในงานวจยนได กำาหนดใหตวชวด กำาหนดการ / ระยะเวลา โครงการในการพฒนาซอฟตแวร (V7_2) โดยกำาหนดให (อางองจาก [19]) 0 = 1.23, 1 = 1.23, 2 = 1.08, 3 = 1.00, 4 = 1.04, 5 = 1.10(0, 1, 2, 3, 4, 5 เปนคาคะแนนทผพฒนาใหนำาหนกความสำาคญ –เรงรด ของหมายกำาหนดตอโครงการ)
5. การประมาณการคาความแมนยำาในการประมาณการโดยวธ COCOMO II เมอไดคำานวณคา PM จะเปน Person month นนคอ จะตองเปลยนแปลงเปนคาใชจายโดยการคณดวยอตราเงนเดอนของคาจางบคลากรททำาหนาทในการพฒนาโปรแกรมในทนไดใช อตราคาจางขนตำาของพนกงานพฒนาโปรแกรมอายงาน 2-3 ป การศกษาระดบปรญญาดานคอมพวเตอรหรอเกยวของในอตราคาจางเดอนละ 15,000 บาทสวนคา DT นน หนวยเปนเดอน จงไมตองมการดำาเนนการใดๆ COST = PM
45COCOMO II
* 15,000 (บาท)(สมมต) เมอไดคาใชจายและเวลาในการพฒนาซอฟตแวรประมาณการ (Predict) จากสมการจะนำาคาประมาณการนไปเปรยบเทยบกบคาใชจาย และเวลาจรง (actual) ของ 30 โครงการเดยวกนน เพอคำานวณหาคา MMRE ของการประมาณการโดย COCOMO II ตอคาใชจายจรงตอไปผวจยไดทำาการศกษา สถานภาพการทำางานในหนาท-งานทเกยวของกบการพฒนาซอฟตแวรโปรแกรมประยกตเชงโครงขายกบผปฏบตงานเกยวของกบการพฒนาระบบงาน โดยการสงแบบสอบถาม สภาพการทำางานในหนาท“ -งานทเกยวของกบการพฒนาซอฟตแวรโปรแกรมประยกตเชงโครงขาย รายละเอยด ดงปรากฏ”ในภาคผนวก (ข) ไปยงกลมตวอยางจำานวนรวม 142 คน คาอตราเงนเดอนเฉลย และคาเบยงเบนมาตรฐาน ทไดจากผลการวเคราะห จะไดนำาไปใชเปนคาอตราคาจางจรงในสมการดงกลาวตอไป
46COCOMO II
3.การประมาณคาใชจายโดย COCOMO-IIในการประมาณการคาใชจาย และเวลาในการพฒนาซอฟตแวรโดยวธ
การ COCOMO –II มขนตอนดงน
รปท 2 แสดงขนตอนการประมาณคาใชจายโดย COCOMO-II