Upload
ilar
View
67
Download
0
Embed Size (px)
DESCRIPTION
Software Cost Estimation. Software Estimation. การประมาณการซอฟต์แวร์ เป็นส่วนที่สำคัญในการวางแผนงาน เนื่องจากแผนงานนั้นจะอยู่บนพื้นฐานของสิ่งที่ต้องการทำการจัดสร้างหรือพัฒนา โดยในส่วนของซอฟต์แวร์นั้นมุมมองหลักที่มองถึง คือ 1. ขนาด (Size) 2. ค่าใช้จ่าย (Cost) - PowerPoint PPT Presentation
Citation preview
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)