Software Cost Estimation

Post on 12-Feb-2016

67 views 0 download

description

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

Transcript of Software Cost Estimation

Software Cost Estimation

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

Software Estimation

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

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

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

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

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

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

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

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

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

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

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

Cost ,C = K1X+K2Y+K3Z

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

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

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

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

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

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

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

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

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

E = 5.2(KDSI)0.91

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

Instruction

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

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

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

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

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

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 : จะรวมปจจยทมผลกระทบตอราคาทงหมดในทกๆขนตอน เชน ในกรณการวเคราะห และ การออกแบบ

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

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

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

Function Point

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

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

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

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

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

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

ระบบ

FP = UFP * VAF

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

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

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

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

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

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

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

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

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

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

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

จะได UFP = 2 * 4 = 8

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

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

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

Entry)

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

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

Requirement)

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

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

1Incidental Influence

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

2Moderate Influence

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

3Average Influence

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

4Significant Influence

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

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

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

VAF = 0.65 + [ 0.01 x Total DI ]

DI : Degree of Influence

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

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

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

ตวอยาง

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

COCOMO Model (Constructive Cost Model)

COCOMO Model (Constructive Cost Model)

COCOMO Model (Constructive Cost Model)

COCOMO Model (Constructive Cost Model)

COCOMO Model (Constructive Cost Model)