Software Cost Estimation

36
Software Cost Estimation

description

Software Cost Estimation. Software Estimation. การประมาณการซอฟต์แวร์ เป็นส่วนที่สำคัญในการวางแผนงาน เนื่องจากแผนงานนั้นจะอยู่บนพื้นฐานของสิ่งที่ต้องการทำการจัดสร้างหรือพัฒนา โดยในส่วนของซอฟต์แวร์นั้นมุมมองหลักที่มองถึง คือ 1. ขนาด (Size) 2. ค่าใช้จ่าย (Cost) - PowerPoint PPT Presentation

Transcript of Software Cost Estimation

Page 1: Software Cost Estimation

Software Cost Estimation

Page 2: Software Cost Estimation

การประมาณการซอฟตแวร เปนสวนทสำาคญในการวางแผนงาน เนองจากแผนงานนนจะอยบนพนฐานของสงทตองการทำาการจดสรางหรอพฒนา โดยในสวนของซอฟตแวรนนมมมองหลกทมองถง คอ1. ขนาด (Size) 2. คาใชจาย (Cost) 3. บคลากรทใชในการพฒนา (Effort)

Software Estimation

Page 3: Software Cost Estimation

สงแรกทจะตองทำากอนการเรมตนการประมาณการ คอ การวด แยกลกษณะการวดออกเปน 2 ประเภท คอ

1. การวดในเชงปรมาณ (Software Quantitative)

2. การวดเชงคณภาพ (Software Qualitative)

การประมาณการขนาดซอฟแวร (Size Estimation)

Page 4: Software Cost Estimation

กรรมวธทใชในการวดขนาดของซอฟตแวร ม 2ลกษณะ คอ1. การใช Model ในการประเมนราคาซอฟตแวร2. Function Point (FP)

การประมาณการขนาดซอฟแวร (ตอ)

Page 5: Software Cost Estimation

การใช Model ในการประเมนราคาซอฟแวร1. วธของ LaBolle ไดเสนอวธทเนนเทคนคทางคณตศาสตร การประเมนราคาจะตองพจารณาถงวธการในการคำานวณอยาง

นอย 1 วธการดงน - ราคาตอหนวย เชน ราคาตอคำาสง ตอโปรแกรมยอย ตอชดคำาสง หรอ

ตอโมดล หรอ ราคาตอระบบ และ ราคาตอการทำากจกรรมอยางหนง - เปอรเซนตจากราคารวม เชน ใหราคาโปรแกรมคอมพวเตอรเปน x%

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

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

Page 6: Software Cost Estimation

Cost ,C = K1X+K2Y+K3Z

X= จำานวนหนาจอ Y=จำานวนชนโปรแกรม Z=จำานวนขอมล K1,K2,K3 = เปนคาคงททกำาหนดคาไว

สตรทใชคำานวณ

Page 7: Software Cost Estimation

2. Wolverton ไดเสนอเทคนคการจดโมเดลในการประเมนราคาซอฟตแวรไวดงน 2.1 การประเมนแบบ Top-down

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

2.2 การประเมนราคาโดยพจารณาจากความเหมอนและความแตกตาง -ผประเมนจะแบงงานการประเมนโดยคำานงถงรายละเอยดของ

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

2.3 กระประเมนโดยใชวธ Bottom-up -วธนทใชกนอยางกวางขวางในหนวยงานการประเมนของรฐบาล โดย

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

Page 8: Software Cost Estimation

3. Walston และ Felix ไดเรมเกบขอมลตงแตป ค.ศ. 1973 และในป 1977 สามารถสรปไดในรปแบบสมการดงนคอ

E = 5.2(KDSI)0.91

E = Effort มหนวยเปน คน-เดอนKDSI = Kilo(1000 บรรทด) of Delivered Source

Instruction

Page 9: Software Cost Estimation

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

รวมสวนของการทดสอบ หรอ สวนงานทรองรบการทำางานอนๆ

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

ถอวา 1 คำาสงคอ 1 Line of Code นบสวนของการประกาศคา (Declaration) เปนสวนของ

Instruction ไมนบในสวนขยายความ หรอ Comment

Page 10: Software Cost Estimation

4. Boehm B.W. ไดพฒนาโมเดล COCOMO (Constructive Cost Model) ขนในป ค.ศ. 1981 โดยใชการวเคราะหขอมลจาก 63 โครงการ วธการของ COCOMO นเปนวธการวด Effort ในการพฒนาซอฟตแวรทคดเปน

คน-เดอน โดยไดกำาหนดปจจยทมผลตอราคาซอฟตแวรได 4 อยางกวางๆ คอ

ผลผลคอมพวเตอร บคลากร โครงการ โดยรปแบบของโมเดลจะแบงออกเปน 3 ลกษณะดวยกนคอ Basic COCOMO Model : เปนโมเดลทมการกำาหนดคาคงทคาเดยว

เพอการคำานวณในการพฒนาซอฟตแวรเปนขนาดโปรแกรมซงปรากฏในรปแบบ Lines of Code (LOC)

Intermediate COCOMO Model : คำานวณ Effort ในการพฒนาซอฟตแวรเปนขนาดของโปรแกรมและรวมปจจยทมผลกระทบตอราคา

Advanced COCOMO Model : จะรวมปจจยทมผลกระทบตอราคาทงหมดในทกๆขนตอน เชน ในกรณการวเคราะห และ การออกแบบ

Page 11: Software Cost Estimation

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

ชวยลดปญหาดานความแตกตางของภาษาโปรแกรมมงทใช Allan Albrecht [1] John Gaffney, Jr [2] ได

ออกแบบ FPs ทใชวดฟงกชนพอยต FPs เปนผลรวมของขนาด ขอมลเขา , ขอมลออก , ขอมลความตองการ ,แฟมขอมล และสวนของโปรแกรมทใชในการตดตอกบลกคา

Function Point

Page 12: Software Cost Estimation

กระบวนการนบฟงกชนพอยต มลกษณะดงน 1. นำา Requirement ทเกบรวบรวมไวมาทำาการแบงฟงกชนพอยต 2. ประเมนความซบซอนของฟงกชน 3. เปรยบเทยบความซบซอน เพอใหไดระดบความซบซอน เพอคำานวณ ฟงกชนพอยตทยงไมไดปรบคา (Unadjusted Function Point :

UFP) 4. คำานวณคาตวแปรปรบคา (Value Adjustment Factor) ตาม

ลกษณะ ของโครงการ 5. คำานวณจำานวนฟงกชนพอยตทผานการปรบคา (Adjusted

Function Point : AFP) 6. ฟงกชนพอยตทผานการปรบคา สามารถนำาไปคำานวณเปน LOC ได

Page 13: Software Cost Estimation

FP คอ ขนาดของซอฟตแวร UFP (Unadjusted Function Point) คา FP ทยงไมไดถก

ปรบแตง VAF (Value Adjustment Factor) คาปจจยคณลกษณะของ

ระบบ

FP = UFP * VAF

สตรคำานวณ Function Point : FP

Page 14: Software Cost Estimation

ประเภทของฟงกชนพอยต สามารถแบงได 5 ลกษณะหลก คอ External Input (EI) External Output (EO) External Inquiry (EQ) Internal Logical Files (ILF) External Interface Files (EIF)

การคำานวณหา FP ทยงไมไดปรบแตง

Page 15: Software Cost Estimation
Page 16: Software Cost Estimation
Page 17: Software Cost Estimation

ฟงกชนแตละประเภทเกดจากการทำารายการขอมล (Transaction) ของผใช จงมความซบซอนแตกตางกนขนอยกบสงตอไปน จำานวนของขอมล ฟลดขอมล (Data Element

Type : DET) จำานวนเรคคอรด ( Record Element Type: RET ) ไฟลทเกยวของ (File Type Reference: FTR)

Page 18: Software Cost Estimation

ดงนนการนบฟงกชนแตละประเภท จงตองนบทจำานวนของ DET , RET และ FTR ทเกยวของกบฟงกชนแตละประเภท แลวนำามาเทยบกบตารางเกณฑระดบความซบซอนของฟงกชน

เกณฑความซบซอนแบงเปน ระดบตำา (Low) ระดบปานกลาง (Average) ระดบสง (High)

Page 19: Software Cost Estimation
Page 20: Software Cost Estimation

จากตารางขางบน จะไดระดบความซบซอนของการทำางาน จากนนนำาคาความซบซอนทเปนคาเฉลยมาทำาการคำานวณคา Complexity weight ตามตารางถวงนำาหนกดงน

Page 21: Software Cost Estimation

ถาขอมลสนคาทจะนำาเขาสระบบ (EI) เกยวของกบไฟล 2 ชนด (FTR) และขอมลสนคานประกอบดวยฟลดขอมลไมเกน 15 ฟลด(DET) เมอเทยบกบตารางเกณฑระดบความซบซอนของ

ฟงกชน พบวา EI มระดบความซบซอนอยท Average

เมอดจากตารางถวงนำาหนกแลว EI ทมคาความซบซอนอยท Average จะมตวคณถวงนำาหนกอยท 4

จะได UFP = 2 * 4 = 8

ตวอยาง การหาคา UFP

Page 22: Software Cost Estimation

การประเมน VAF นนจะประเมนคาของ 14 ปจจย ดงน 1. การตดตอสอสารขอมล (Data Communication) 2. การประมวลผลขอมลแบบกระจาย (Distributed Data

Processing) 3. ประสทธภาพของระบบ (Performance) 4. การแกไขคาของระบบ (Configuration) 5. ปรมาณรายการขอมล (Transaction) 6. การปอนขอมลเขาสระบบแบบออนไลน (Online Data

Entry)

Page 23: Software Cost Estimation

7. ประสทธภาพการใชงานของผใช (End user Efficiency) 8. การปรบปรงขอมลแบบออนไลน (Online Update) 9. ความซบซอนของการประมวลผล (Complex

Processing) 10. การนำาไปใชซำาได (Reusability) 11. ความงายในการตดตง (Installation Ease) 12. ความงายในการดำาเนนงาน (Operational Ease) 13. การใชงานไดหลายไซต (Multiple Sites) 14. รองรบการเปลยนแปลงความตองการของผใช (Change

Requirement)

Page 24: Software Cost Estimation

การประเมนนน แบงออกเปน 6 ระดบ (0-5)ระดบ ความหมาย

0 Not Present ไมมผลเกยวของกบตวแปรนนๆ

1Incidental Influence

มความเกยวของกบตวแปรนนๆ โดยมเกดขนในระบบงาน ไมกระทบตอการทำางาน

2Moderate Influence

มความเกยวของกบตวแปรนนๆ โดยมเกดขนในระบบงาน กระทบตอการทำางาน โดยทำาใหการทำางานซบซอนขนบางเลกนอย

3Average Influence

มความเกยวของกบตวแปรนนๆ โดยมเกดขนในระบบงาน กระทบตอการทำางาน โดยทำาใหการทำางานซบซอนขน

4Significant Influence

มความเกยวของกบตวแปรนนๆ โดยมเกดขนในระบบงาน กระทบตอการทำางาน โดยทำาใหการทำางานซบซอนคอนขางมาก

5Strong Influence มความเกยวของกบตวแปรนนๆ โดยม

เกดขนในระบบงาน กระทบตอการทำางาน โดยทำาใหการทำางานซบซอนมาก

Page 25: Software Cost Estimation

VAF = 0.65 + [ 0.01 x Total DI ]

DI : Degree of Influence

Page 26: Software Cost Estimation
Page 27: Software Cost Estimation

จาก Use case Diagram ดงรป จะทำาการแยกประเภทของ use case ตามฟงกชนพอยต

Page 28: Software Cost Estimation
Page 29: Software Cost Estimation

ทำาการเปรยบเทยบคาของ Value Adjustment Factors : VAF

Page 30: Software Cost Estimation

UFP = 23 VAF = 0.65 + [0.01 x 17]

= 0.82FP = UFP x VAF

= 23 x 0.82= 18.86 FP

ถาหากจดทำาซอฟตแวรโดยใชภาษาจาวา จะไดคา LOC= 18.86 x 53 = 999.58

~1000 LOC

ตวอยาง

Page 31: Software Cost Estimation

Item Type DETs RETs/FTRs Complexity Value

1 EI 20 2 ? ?2 EQ 15 1 ? ?3 ILF 10 2 ? ?4 EI 20 3 ? ?5 EIF 5 1 ? ?6 EQ 12 2 ? ?

รวม UFP ?

Total Degree of Influence = 20คำานวณคา LOC จากการใช ภาษา C++

แบบฝกหด จงคำานวณหาคา FP และ LOC

Page 32: Software Cost Estimation

COCOMO Model (Constructive Cost Model)

Page 33: Software Cost Estimation

COCOMO Model (Constructive Cost Model)

Page 34: Software Cost Estimation

COCOMO Model (Constructive Cost Model)

Page 35: Software Cost Estimation

COCOMO Model (Constructive Cost Model)

Page 36: Software Cost Estimation

COCOMO Model (Constructive Cost Model)