51
กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก COCOMO II เเเเ เเเเเเเเเเเเเเ เเเเเเเเเเเเเ เเเเเเเเเ เเเเเเเเเเเ เเเเเเเ เเเเเเเเเ 54160209 เเเเเเเเเเเเเเเเเเเเเเเเเเเเเ 888353 เเเเ เเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเเ (Open Source Methodology and Business Model)

bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

การจดทำาเอกสารประกอบการเรยนรเรอง COCOMO II

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

จดทำาโดยนางสาวชญาภา แสวงงาม รหสนสต 54160209

รายงานนเปนสวนหนงของวชา 888353 วธวทยาโอเพนซอรสและแบบจำาลองธรกจ (Open Source Methodology

and Business Model)ภาคการศกษาท 2 ปการศกษา 2556 สาขาวศวกรรมซอฟตแวร

คณะวทยาการสารสนเทศ มหาวทยาลยบรพา

Page 2: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

สารบญ

เรอง หนา

บทท 1 บทนำา..............................................................1บทท 2 การประมาณการซอฟตแวร.....................................3

1. การประมาณการคาใชจาย (Cost Estimation).........42. วธการประมาณการขนาด (Size) ของซอฟตแวร..........73. วธในการประมาณคาใชจาย (Costing Model) ของการ

พฒนาซอฟตแวร.........................................................12บทท 3 ความเปนมา COCOMO.....................................14บทท 4 วธการแบบ COCOMOII....................................15

Page 3: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

สารบญภาพ

เรอง หนา

รปท 1 องคประกอบการประเมนราคาซอฟตแวร.............5รปท 2 แสดงขนตอนการประมาณคาใชจายโดย

COCOMO-II........................................................24

Page 4: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

สารบญตาราง

เรอง หนา

ตาราง 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

Page 5: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

1COCOMO II

บทท 1 บทนำา

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

ดงนนในการประเมนคาใชจายจะตองทำาการประเมนอยางรอบคอบ ทงคาใชจายในการพฒนา และคาใชจายในสวนอนๆอยางเหมาะสม ซงในการประเมนคาใชจายใหไดอยางเหมาะสมนนจะตองเลอกวธการในการประเมนราคาทเหมาะสมกบองคกรดวย การประเมนราคานนถงจะมประสทธภาพสงสด

เทคนคทใชในการประเมนตนทนซอฟตแวร ไดแก การใชแบบจำาลองอลกอรทมเปนฐานในการประเมน (Algorithmic

cost modeling) พจารณาจากการพฒนาระบบในอดตซงสามารถบอกไดวาการพฒนาระบบโดยขนตอนวธทใชจะมบรรทดคำาสงมากนอยเทาใด และประเมนตนทนและแรงงานจากปรมาณบรรทดคำาสงทตองเขยน

การประเมนโดยผเชยวชาญ (Expert judgment) เปนเทคนคทใชผเชยวชาญหลายคนเปนทปรกษาโครงการ ผเชยวชาญแตละคนจะประเมนตนทนและนำาเขาทประชมเพอทำาการเปรยบเทยบ และทำาการตกลงกำาหนดเปนตนทนของการพฒนาระบบ

การประเมนโดยการเทยบเคยงกบระบบทเคยพฒนามาแลว (Estimate by analogy) เปนเทคนคการประเมนตนทนการ

Page 6: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

2COCOMO II

พฒนาซอฟตแวรใหมโดยเทยบกบซอฟตแวรในโดเมนเดยวกนทไดพฒนาสำาเรจแลว

การประเมนโดยใชสตรการคำานวณ (Parkinson’s law) ตามกฎของ Parkinson แรงงานทใชในการทำางานขนอยกบขนอยกบทรพยากรทมอยมากกวา

การประเมนจากราคาททจะทำาใหไดงาน (Pricing to win) เปนการประมาณตนทนจากงบประมาณทลกคามใหสำาหรบโครงการการพฒนาระบบ เทคนคการประเมนตนทนแบบน จะขนอยกบงบประมาณของโครงการมากวาฟงกชนของการทำางานของซอฟตแวร การวดขนาดของซอฟตแวร การประเมนตนทนซอฟตแวร ขนอยกบวธทใชในการวดขนาดของซอฟตแวร ซงม 2 ลกษณะ คอ Line of Code (LOC) และ Function Point (FP)

Page 7: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 คำานวณตวแปรปรบคาตามลกษณะเฉพาะ

Page 8: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

4COCOMO II

ขนท 5 คำานวณจำานวนฟงกชนทผานการปรบคา ขนท 6 ฟงกชนพอยตทผานการปรบคา สามารถนำาไปคำานวณแบบ

LOC ไดเมอเราทราบถงกระบวนการ วธการประเมนตนทนในรปแบบตางๆท

กลาวมาในขางตนแลว เราสามารถสรางแบบจำาลองทได นนคอแบบจำาลองการประมาณตนทนซอฟตแวร COCOMO

Page 9: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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), เวบแอปพลเคชนเกยวกบ

Page 10: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

6COCOMO II

การเงน (Finance), เวบแอปพลเคชนเชงธรกจตอธรกจ (Business to Business) และเวบแอปพลเคชนยทลต (Web based information Utilities)

เรองของการประมาณการหรอการคาดการซอฟตแวรทจะพฒนานน ถอเปนเรองทสำาคญในการวางแผนงาน แตหากซอฟตแวรทจะพฒนานนมลกษณะแตกตางกน ผควบคมโครงงานกจะตองวางแผนในการพฒนาโครงการทแตกตางกนไป ในสวนของซอฟตแวรนนการประมาณการจะมองกนทเรองของขนาด (Size) คาใชจาย (Investment) หรองบประมาณ บคลากรทใชในการพฒนา (Effort) และระยะเวลา (Time) เพอใชในการพฒนาดำาเนนงาน ซงองคประกอบเหลานจะสงผลใหการดำาเนนโครงงานเปนไปไดอยางมประสทธภาพ กระบวนการในการประมาณการนนประกอบดวย 7 ขนตอนดงแสดงในตารางท 1

Page 11: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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) จากนนทำาการประมาณในสวนของขนาด คาใชจายและระยะเวลา รวมถงทำาการประเมนความเสยง หรอปจจยทมผลกระทบในการพฒนาซอฟตแวร เมอนำาการประมาณไปใชในการวางแผนงานแลว กทำาการตดตามและวดผล ทำาใหทราบถงประสทธภาพของการประมาณการวามความถกตองหรอไม เพอดำาเนนการปรบปรงกระบวนการการประมาณการใหมความถกตองใกลเคยงตอไป

Page 12: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

8COCOMO II

1.การประมาณการคาใชจาย (Cost Estimation)

แนวทางในการประมาณราคาซอฟตแวร (Cost Estimate) จะมงเนนถงการประมาณขนาดของซอฟตแวร (Size) การประมาณความพยายามทตองใช (Effort) การประมาณระยะเวลาของการพฒนาซอฟตแวร (Time) และการประมาณคาใชจายอนในการพฒนา (Investment) ดงทแสดงในรปท 1

Page 13: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

9COCOMO II

รปท 1 องคประกอบการประเมนราคาซอฟตแวร

ขนาดของซอฟตแวร (Size) หมายถง ขนาดของการพฒนาซอฟตแวร มหนวยวดเปนจำานวนบรรทด

การประมาณความพยายามทตองใช (Effort) หมายถง กำาลงคนทจะใชในการพฒนาซอฟตแวร

การประมาณระยะเวลาของการพฒนาซอฟตแวร (Time) หมายถง ระยะเวลาทจะใชในการพฒนาซอฟตแวร มหนวยเปนชวงเวลา เชน Man Month (MM) หรอ Person Month (PM)

การประมาณคาใชจายอนในการพฒนา (Investment) หมายถงคาใชจายทเกยวของ ซงอาจจะเปนคาเสอมของอปกรณ คาไฟฟา คานำา ทเปนคาทตองใชจายแนนอน เปนตน

เมอพจารณาจากองคประกอบทง 4 จะเหนวาในการประมาณราคานน สงทสำาคญทสดจะขนอยกบการประมาณขนาดของซอฟตแวร ซงเมอไดขนาดของซอฟตแวร สงทจะไดตอมาคอความพยายามทตองใช (Effort) และระยะเวลาในการพฒนา (Time) ซงวธการทจะใชในการประมาณการขนาดของซอฟตแวรจะไดกลาวในรายละเอยดตอไป

2.1 การประมาณการขนาด (Size)ขนาดของซอฟตแวร เปนตวแปรหลกในการประมาณการราคาในการ

พฒนาซอฟตแวร วธการหลกๆทใชในการประมาณขนาด เชน การใชวธการนบจำานวนบรรทด (Line of Code) การวเคราะหจำานวนฟงกชนของ

Page 14: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

10COCOMO II

ระบบ เพอใหไดคาฟงกชนพอยต (Function Point) Error: Reference source not found และการนบจำานวนวตถ (Object Point)

นอกจากนกยงมวธวดแบบใหมอกหลายวธ เชน การวดจากยสเคส (Use Case Point) ฯลฯ ซงการประมาณขนาดถอเปนตวแปรสำาคญในการประมาณการราคาซอฟตแวร

Page 15: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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)นอกจากขนาดและความพยายามแลว ระยะเวลากเปนอกตวแปรท

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

Page 16: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

12COCOMO II

2.4 การประมาณคาใชจายอนในการพฒนา (Investment)คาใชจายอนทเกยวของ เปนอกเรองหนงทตองใหความสำาคญ คาใช

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

Page 17: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 18: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

14COCOMO II

Code (LOC) หรอ Kilo Line of Code (KLOC) ในบางครงอาจจะใช Kilo of Delivered Source Instruction (KDSI) ซงไดมการสรปลกษณะการวด LOC ดงน

- นบเฉพาะบรรทดทมการจดสงเปน Source Code ไมนบรวมสวนของการทดสอบ

- นบเฉพาะสวนทพฒนาโดยบคลากร ไมรวมสวนทระบบสามารถสรางไดอตโนมต

- ถอวา หนงคำาสง คอ หนง LOC- นบสวนประกาศคา (Declaration) เปนสวนของคำาสง

(Instruction)- ไมนบสวนขยาย (Comment)แมวาวธการวดขนาดของโปรแกรมดวยจำานวนบรรทดนจะทำาไดงาย

แตมจดออนหลายประการ เนองจากโปรแกรมททำางานอยางเดยวกนทเขยนดวยภาษาคอมพวเตอรตางกน จะมจำานวนบรรทดทตางกน

Page 19: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 20: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

16COCOMO II

โดยตวแปรทมผลกระทบในการพฒนาซอฟตแวร (Value Adjustment Factor) หรอสภาพแวดลอมในของการพฒนาซอฟตแวรนน อาจจะมหรอไมมผลกระทบจากตวแปรเหลานหรอไม ซงผประมาณการจะเปนผใหคานำาหนกเพอหาคา Technical Complexity Factor (TCF) หรอ คาความซบซอนของตวแปรทมผลกระทบตอไปโดย คา Value Adjustment Factor (VAF) ประกอบดวยตวแปร 14 คา ดงน

Page 21: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 สามารถทเปลยนแปลงซอฟตแวรไดงาย

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

Page 22: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 23: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 24: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

20COCOMO II

Function Pointsตาราง 2 ตวอยางคานำาหนกความซบซอนของ Function Point

Page 25: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 26: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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)

Page 27: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 ขอเสยของระบบนคอ การพฒนาซอฟตแวรนนมการปรบปรงเปลยนแปลงอยตลอด หากใชสมการกตองมการปรบเปลยน

Page 28: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

24COCOMO II

คาตามไปดวย ซงนอกจากวธการใชสมการทางคณตศาสตร ยงมวธการทใชในปจจบน เชน

1. การประมาณการคาใชจายโดยวธทางสถต จะใชขอมลทางสถตเดมมาประมาณการคาใชจายและใชขอมลนมาประมาณการระยะเวลาและคาใชจาย มความนาเชอถอ

2. การใชความคดเหนของผเชยวชาญ (Expert Judgment) เปนการทำานายโดยใชประสบการณและความสามารถของผเชยวชาญ เทคนคทใชกจะแตกตางกนไปในแตละบคคล

3. การวเคราะหขอมลเดม (Analogy) เปนวธการหนงของการประมาณการแบบ Expert Opinion ผทประมาณการจะเปรยบเทยบกบขอมลเดมทมอยวามความเหมอนหรอความแตกตางของระบบงานหรอซอฟตแวรใหมอยางไรโดยการประมาณการจะอาศยขอมลบรรทดฐานของขอมลเกาทมการเกบเอาไว แลวใชขอมลนในการทำานาย

Page 29: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 เนองจากเปนแบบจำาลองทมความนาเชอถอและไดรบความนยมในปจจบน

Page 30: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

26COCOMO II

Page 31: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 เหมาะสำาหรบใชกบโครงการพฒนาซอฟตแวรท มขนาดกลาง มนวตกรรมใหมเปนบางสวน ระยะเวลาทมความเหมาะเหมาะสม และไมมขอจำากดมาก ลกษณะการพฒนามความซบซอนในระดบปานกลาง

Page 32: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

28COCOMO II

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

Page 33: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 34: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

30COCOMO II

E คอ Economics of Scale ซงเปนผลทขนาดของซอฟตแวรสมพนธกบ

ขนาดของโครงการSize คอ ขนาดของซอฟตแวรEM คอ Effort Multipliers เปนคาทไดจากการคำานวณ Cost Driver ทเกยวกบโครงการ ทสงผลตอ Effort ในการพฒนาซอฟตแวร ดงแสดงในตารางท 5,6Pmauto คอ คาของ Effort ทไดจากการแปลงอตโนมต ซงจะเกดเมอมการ Reuse Code โดยคานนจะไมมผลตอการพฒนา แตเนองจากมผลตอคาใชจาย ถาเปนการพฒนาซอฟตแวรใหม คา Pmauto จะเปน 0Scale Factors คอ ตวแปรทมผลกระทบขอขนาด ดงจะแสดงในตารางท 6

Page 35: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 36: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 37: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 เนองจากม

Page 38: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

34COCOMO II

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

Page 39: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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สมพนธในทม

Page 40: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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) ของซอฟตแวรทจะพฒนา แตขนาดอยางเดยวยงไมเพยงพอในการคำานวณ เนองจากยงมปจจยสภาวะแวดลอมทตางกนทอาจจะมผลตอความพยายามในการพฒนาซอฟตแวร

Page 41: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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)

Page 42: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

38COCOMO II

M = คาทวคณ คำานวณจากผลคณของ 7 ตวแปร (Product reliability andComplexity, Reused required, Platform Difficulty, Personnel capability, Personnel experience , Schedule, Support)SCED Percentage แทนรอยละของเพมและลดหมายกำาหนดการ โครงการทพฒนาซอฟตแวรแบบเรงรด เรงดวน จะมปจจย SCED เขามาเกยวของตอเวลาในการพฒนา

Page 43: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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 ตวชวดตาง ๆ

Page 44: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

40COCOMO II

(Object) ปรากฏดงตารางท1-2 โดยทคาตาง ๆ จะมการใหนำาหนกตามระดบของความซบซอน/ยงยาก (Complexity)

Page 45: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

41COCOMO II

ตาราง 10 การประมาณคา Web Object (ตวชวด)

การประมาณการคาขนาดของซอฟตแวรจะใชคาปจจยขยายของภาษา (LanguageExpansion Factors: LEF) ซงจะมคาแตกตางกนไป ขนกบวาจะใชภาษาใดในการพฒนาตารางท11 แสดงคาปจจยขยายของภาษาตาง ๆ ไว คา LEF คณดวยผลรวมของ Webobject และหารดวย 1,024 จะเปนคาขนาดของซอฟตแวรตอไป

ตาราง 11 คาปจจยขยายของภาษา(Language expansion factors: LEF)

Page 46: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 47: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

43COCOMO II

ตาราง 12 การเทยบเคยงตวแปรคาทวคณกบตวชวดในแบบสอบถาม

3. การประเมนคาผกผน (B) คาผกผน B คำานวณจากตวแปรตว (bi) คาตวแปร 5 ตวน จะมคา ‘ 1-5’ ขนกบระดบของความยาก ซบ–ซอน ของแตละโครงการพฒนาซอฟตแวรนำาเอาผลรวมของทกๆ คามารวมกน แลวหารดวย ‘ 100’ จากนน บวกดวยคา ‘ 1.01’

Page 48: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

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

Page 49: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

45COCOMO II

* 15,000 (บาท)(สมมต) เมอไดคาใชจายและเวลาในการพฒนาซอฟตแวรประมาณการ (Predict) จากสมการจะนำาคาประมาณการนไปเปรยบเทยบกบคาใชจาย และเวลาจรง (actual) ของ 30 โครงการเดยวกนน เพอคำานวณหาคา MMRE ของการประมาณการโดย COCOMO II ตอคาใชจายจรงตอไปผวจยไดทำาการศกษา สถานภาพการทำางานในหนาท-งานทเกยวของกบการพฒนาซอฟตแวรโปรแกรมประยกตเชงโครงขายกบผปฏบตงานเกยวของกบการพฒนาระบบงาน โดยการสงแบบสอบถาม สภาพการทำางานในหนาท“ -งานทเกยวของกบการพฒนาซอฟตแวรโปรแกรมประยกตเชงโครงขาย รายละเอยด ดงปรากฏ”ในภาคผนวก (ข) ไปยงกลมตวอยางจำานวนรวม 142 คน คาอตราเงนเดอนเฉลย และคาเบยงเบนมาตรฐาน ทไดจากผลการวเคราะห จะไดนำาไปใชเปนคาอตราคาจางจรงในสมการดงกลาวตอไป

Page 50: bls.buu.ac.thbls.buu.ac.th/~s56103/11Feb06/54160209_COCOMO II.docx · Web viewการส งแบบสอบถาม “สภาพการทำงานในหน าท

46COCOMO II

3.การประมาณคาใชจายโดย COCOMO-IIในการประมาณการคาใชจาย และเวลาในการพฒนาซอฟตแวรโดยวธ

การ COCOMO –II มขนตอนดงน

รปท 2 แสดงขนตอนการประมาณคาใชจายโดย COCOMO-II