Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
สงสำคญในการประเมนราคากคอ “ตนทนของโครงการ (Project Cost)”
ประกอบดวย
1. คาใชจายดานฮารดแวร ซอฟตแวร และการบำรงรกษา(Hardware , Software
and Maintenance Cost)
2. คาใชจายในการเดนทาง และการฝกอบรม (Travel and Training Cost)
3. คาใชจายในความเพยรพยายาม (Effort Cost: หรอคาใชจายแรงงาน ในทนจะ
ใชคำวา “Effort” แทน เชน คาใชจายเบดเตลด (Overhead) คาใชจายในการเตรยมงาน
คาใชจายในการบรหารงาน การตดตอสอสาร และสวสดการตาง ๆ เปนตน)
การประมาณการตนทนของซอฟตแวร
การผลตซอฟตแวรจำเปนตองวดขนาดของซอฟตแวร(Software Size) ดงนน จงสามารถคำนวณ Productivity (Productivity วดไดจากจำนวนหนวยของงานทผลตไดหารดวยจำนวนเวลาทตองการใชในการผลต หรอ Effort นนเอง )ในการผลตซอฟตแวรของบคลากรไดดงน
!!! มการวดขนาดของซอฟตแวร 2 ประเภท ดงน
1. การนบจำนวนบรรทดของซอรสโคด (Line of Code)
2. การนบจำนวนฟงกชน (Function Point: FP)
การประมาณขนาดของซอฟตแวร
Productivity = Size/ Effort
วธการนบจำนวนบรรทดแบงออกเปนหลายวธดงน } Simple Line Count } Physical Lines (LINES) } Physical Lines of Cost } Logical Lines of Cost (LLOC) } Statements (STMT)
การนบจำนวนบรรทดของซอรสโคด (Line of Code)
แสดงการคำนวณหา Productivity ของโปรแกรมเมอร
วเคราะห ออกแบบ เขยนโปรแกรม ทดสอบ จดทำเอกสาร
โคด Assembly 4 สปดาห 6 สปดาห 10 สปดาห 12 สปดาห 2 สปดาหโคด-ภาษาระดบสง 4 สปดาห 6 สปดาห 5 สปดาห 7 สปดาห 2 สปดาห
Size Effort Productivityโคด Assembly 6,000 บรรทด 34 สปดาห 705 บรรทด/เดอน
โคด-ภาษาระดบสง 2,500 บรรทด 24 สปดาห 416 บรรทด/เดอน
Effort ตองหารดวย 4 กอน เพอทำหนวยใหเปนเดอน
การนบจำนวนฟงกชน (Function Point: FP) เปนการวดขนาดของซอฟตแวร
ดวยการนบจำนวนฟงกชนการทำงานของโปรแกรมจากขอกำหนดความตองการของ
ซอฟตแวร มสตรดงน
!! จากสตรคำนวณ จำนวนของฟงกชนจะหาคาไดจาก FP ทยงไมไดถกปรบแตง
คณกบคาปจจยคณลกษณะของระบบ
!UFP = FP ทยงไมไดถกปรบแตง
VAF = คาปจจยคณลกษณะของระบบ
การนบจำนวนฟงกชน (Function Point:FP)
FP = UFP*VAF
1. คำนวณหา FP ทยงไมไดปรบแตง (UFP)ตารางแสดงรายละเอยดของฟงกชนแตละประเภท
ฟงกชน รายละเอยด
External Input (EI) ขอมลทรบเขามาในระบบ เพอนำไปอพเดทขอมลใน ILF เชน ขอมล
ในกระบวนการเพม ลด แกไขขอมล
External Output (EO) ขอมลทเปนผลลพธจากการประมวลผลขอมลทไดรบจากภายใน
ระบบ ใหนบการแสดงผลขอมลทมรปแบบตางกน
External Quenes (EQ) กระบวนการดงขอมลและประมวลผลเพอแสดงผลตอผใช
ฟงกชน รายละเอยด
Internal Logical Files (ILF) ไฟลทเกยวของกบขอมลทอยในระบบตลอดชวงอายของระบบ
และเปนไฟลทมกจะถกบำรงรกษาหรอปรบปรงดวยขอมลทได
รบจากภายนอก
External Interface Files
(EIF)
ไฟลทเกยวของกบขอมลทใชเพอการอางองเทานน และใชรวม
กบระบบอน EIF เปนไฟลทถกเรยกใชโดยระบบทจะพฒนา
(ตอ)
ฟงกชนแตละประเภทเกดจากการทำรายขอมล (Transaction) ของผใช จงมความ
ซบซอนแตงตางกนตามจำนวนของขอมล (Data Element Type : DET) เรคคอรด
(Report Element Type : RET) และไฟลทเกยวของ (File Type Reference: FTR) ท
ประกอบขนเปน Transaction แตละรายการ
! ดงนน การนบฟงกชนแตละประเภทจงตองนบทจำนวนของ DET, RET และ FTR
ทเกยวของกบฟงกชนแตละประเภท แลวนำมาเปรยบเทยบกบตารางเกณฑระดบความซบ
ซอนของฟงกชน ซงแบงไดเปน 3 ระดบ คอ ระดบตำ (Low) ปานกลาง (Average) สง
(High)
DET
1-4 5-15 มากกวา 15
นอยกวา 2 Low Low Average
2 Low Average High
มากกวา 2 Average High High
ตารางแสดงตารางเกณฑระดบความซบซอนของฟงกชนแตละประเภท
ตารางตวถวงนำหนกและการคำนวณหาคา UFP
EI
FTR
ตาราง (ตอ)
DET
1-5 6-19 มากกวา 19
นอยกวา 2 Low Low Average
2 หรอ 3 Low Average High
มากกวา 3 Average High High
EO,EQ
FTR
ตาราง (ตอ)
RET DET
1-19 20-50 51 ขนไป
1 Low Low Average
2-5 Low Average High
6 ขนไป Average High High
ILF,EIF
ประเภทของฟงกชน เกณฑความซบซอน รวม
Low Average High
External Input (EI) *3= *4 = *6= 44
External Output (EO) *4= *5 = *7=
External Quenes (EQ) *3= *4 = *6=
Internal Logical Files (ILF) *7= *7 = *15=
External Interface Files (EIF) *5= *10 = *10=
ผลรวม UFP
ตาราง(ตอ)ตวถวงนำหนก
2 6 5 20 3 18
2. คำนวณคาปจจยคณลกษณะของระบบ (VAF)
ตารางแสดงคณลกษณะเดนของระบบทง 14 ดาน คาทประเมน ตงแต 0 ถง 5
คณลกษณะ คา คณลกษณะ คา
1. การตดตอสอสารขอมล 8. การปรบปรงขอมลแบบออนไลน
2. การประมวลผลขอมลแบบ
กระจาย
9. ความซบซอนของการประมวลผล
3. ประสทธภาพของระบบ 10. การนำไปใชซำได
4. การแกไขคาของระบบ 11. ความงายในการตดตง
5. ปรมาณรายการขอมล 12. ความงายในการดำเนนงาน
คณลกษณะ คำ คณลกษณะ คำ
6. การปอนขอมลเขาสระบบออนไลน 13. การใชงานไดหลายไซต
7. ประสทธภาพการใชงานของผใช 14. รองรบการเปลยนแปลงของผใช
(ตอ)
VAF = 0.65 + [0.01 * ผลรวมคาคณลกษณะ 14 ดาน]
! เมอคำนวณคา UFP และ VAF แลว นำมาคณกน จะไดผลลพธเปนคา FP ทปรบ
แตงแลวตามคณลกษณะเดนของระบบ ตามสตร
FP = UFP * VAF
3.คำนวณคา FP ทปรบแตงแลว
ภาษาโปรแกรมมง LoC ตอ 1 FPAverage Median Low High
ASP 59 62 32 127
Ada 154 - 104 205
C 148 104 9 704
C++ 60 53 29 178
C# 59 59 51 66
HTML 43 42 35 53
J2EE 61 50 50 100
Java 60 59 50 97
Java Script 56 54 44 65
JSP 59 - - -
Oracle 38 29 4 122
SQL 46 31 14 110
VBScript 45 34 27 50
Visual 50 42 14 276
เทคนคการประมาณการตนทนและ Effortตารางแสดงเทคนคในการประมาณตนทนและ Effort
เทคนค รายละเอยด
Algorithmic Cost Modeling การใชแบบจำลองทางคณตศาสตรเพอการประมาณการ โดย
แบบจำลองนนถกพฒนามาจากขอมลตนทนจรง
Expert Judgement การใชผเชยวชาญประมาณการ โดยใชความเหนของผ
เชยวชาญ เปรยบเทยบกบขอมลในอดต ปรกษา และตกลง
กำหนดตนทนรวมกน
Estimation By Analogy การประมาณดวยการวเคราะห โดยอาศยขอมลจากโครงสราง
ธรกจเดยวกนทดำเนนการประสบความสำเรจมาเปนขอมล
หลกในการวเคราะห
เทคนค รายละเอยด
Parkinson’s Low กฎของพารคนสน คอ การกระจายงานใหกบบคลากรตาม
ระยะเวลาทมอย
Pricing to Win การประมาณเพอใหชนะการประมล
(ตอ)
COCOMO (Constructive Cost Model) เปนแบบจำลองประมาณการ
Effort และการจดตารางการทำงาน โ ดยพจารณาจากขนาดของซอฟตแวร
และคณลกษณะของซอฟตแวรทผใชตองการ COCOMO II แบงแบบจำลอง
ออกเปน 3 ชนด
1. Application-composition Model
2. Early Design Model
3. Post- architecture Model
เทคนคการประมาณแบบ COCOMO
1. Application-composition Modelแบบจำลอง COCOMO II ทเหมาะกบการผลตซอฟตแวรดวยแนวทางคอมโพเนนท
ตารางแสดงระดบความซบซอนของออบเจกตพอยท
งาย
(Simple)
ซบซอน
(Complex)
ซบซอนมาก
(Very Complex)
Screen 1 2 3
Reports 2 5 8
3GL Modules 4 10 -
คาของออบเจคตพอยททถกปรบลดแลว หรอเรยกวา Revised Object Point (ROP) มสตร
คำนวณดงน
Revised Object Point (ROP) = Object Point *
!
จากนนใหนำ ROP ทคำนวณไดไปหา Effort ดงน
(100-%Reuse)
100
ROP
MME(ManMonthEffort) = Productivity Constant
Productivity Constant คอ คาคงทของประสทธผลในการผลตซอฟตแวรซงคดจากประสบการณและ
ความสามารถของทมงาน
ตารางแสดงคาคงทของประสทธผลในการผลตซอฟตแวรโดยพจารณาจากระดบ
ประสบการณและความสามารถของทมงาน
ระดบประสบการณ
และความสามารถ
ตำมาก
(Very Low)
ตำ
( Low)
ปาน
กลาง(Nominal)
สง
(High)
สงมาก
(Very High)
Productivity
Constant
(NOP Per Month)
4 7 13 25 50
ตวอยางเชน ในระยะการกอนการดำเนนงาน โครงการ ก นบจำนวนออบเจคตพอยท
ได 40 OP มอตราการนำโคดไปใชใหม 10% และเมอประเมนประสบการณและความ
สามารถของทมงานแลว พบวาอยในระดบปกต สามารถคำนวณหา Effort ทตองใชใน
โครงการไดดงน
ROP = 40 * (100-10)100
= 40*0.90 = 36
MME = 3613
ประมาณ 3 Man-Month
Revised Object Point (ROP) = Object Point * (100-%Reuse)
100
ROP
MME(ManMonthEffort) = Productivity Constant
แบบจำลอง COCOMO II ทใชในระยะกอนการออกแบบซอฟตแวร โดยมสตร
คำนวณพนฐานดงน
!!โดยท MME คอ Effort ทมหนวยเปน Man-Month
A คอ คาคงทของประสทธผลในการผลตซอฟตแวร
B คอ คาของปจจยทสงผลกระทบให Effort และขนานแปรผน
ตรงตอกน แบบไมมเสนตรง ถา B เปน 1 หมายถง คาปจจยไม
สงผลกระทบตอขนาดซอฟตแวร ถา B มากกวา หรอ นอยกวา 1 แสดงวา คา
ปจจยสงผลกระทบตอขนาดของซอฟตแวร
Size คอ ขนาดของซอฟตแวร มหนวยเปน KLoC(LoC x 1,000)
2. Early Design Model
MME = A*(Size)B
ตารางแสดงคะแนนของปจจยขบแตละระดบ (Value of Rating for Scaling Factor)
Factor
Code
ตำมาก
(Very Low)
ตำ
( Low)
ปาน
กลาง(Nominal)
สง
(High)
Factor Name
PREC 6.20 4.96 3.27 2.48 Precedentness
FLEX 5.07 4.05 3.04 2.03 Flexibility
RESL 7.07 5.65 4.24 2.83 Risk Resolution
TEAM 5.48 4.38 3.29 2.19 Team Cohesion
PMAT 7.80 6.24 4.68 3.12 Process Maturity
ตารางแสดงปจจยขบสำหรบ COCOMO II ในระยะ Early Design Model
ปจจย รายละเอยด
PREC ความเหมอนของซอฟตแวรใหมกบซอฟตแวรเดมทเคยพฒนามาแลว
FLEX การวดระดบความยดหยนในการบรหารจดการและดำเนนโครงการ
RESL การวดระดบความสามารถในการจดการหรอควบคมความเสยงขององคกรหรอทมงาน
ของโครงการ
TEAM การวดระดบของการทำงานเปนทมขององคกรหรอทมงานโครงการ
PMAT การวดระดบวฒภาวะความสามารถขององคกรหรอทมงานโครงการ ตงแตระดบตำสด
คอ 1 จนถงระดบสงสดคอ 5
ตวอยาง สมมตวา ปจจยขบทง 5 ขอ ถกจดอนดบใหอยในระดบตำมากทงหมดและ
กำหนดใหขนาดของซอฟตแวรทนบแบบฟงกชนพอยทและแปลงมาเปน LoC แลว
มคาเทากบ 10 KLoC สามารถคำนวนหาแรงงานโดยประมาณ บนพนฐานของ
คาคงทของประสทธผลในการผลตระดบปกต
1. ตองหาคาของ B กอน B = 0.91 + 0.01 ! B = 0.91 + 0.01 x (6.20 + 5.07 + 7.07 + 5.48 + 7.80) = 0.91 + 0.01 x 31.62 = 1.2262
2. คำนวนหา Effort ดงน MME = A x (Size)B = 13 x (10)1.2262 = 13 x 16.8344 = 218.84 หรอประมาณ 219 Man-Month !A = 13 เทยบจากตารางแสดงคาคงทของประสทธผลในการผลตซอฟตแวรโดยพจารณา
จากระดบประสบการณและความสามารถของทมงาน
ในระยะหลงการออกแบบ จะพบวานอกจากปจจยขบทง 5 ใ นระยะกอนออกแบบ ทมผลตอ Effort ทตองใชโดยประมาณแลว ยงมปจจยอนทมผลกระทบรวมดวย ทงในดานคณลกษณะของซอฟตแวร (Product Factor) ดาน Platform (Platform Factor) ดานบคลากร (Personnel Factor) และดานโครงการ (Project Factor) รวมทงสน 16 ปจจย เรยกปจจยเหลานวา Effort Multiplier ดงนน จงตองปรบคา Effort โ ดยประมาณทคำนวณไดจากระยะกอนออกแบบใหมเปน MME ดวยการประเมนระดบการสงผลกระทบตอ Effort ของทง 16 ปจจยออกมาเปนคา
3. Post- architecture Model
MME (Modified) = MME X (EM)
EM คอ Effort Multiplier เปนผลคณของปจจยทสงผลกระทบใหจำนวน Effort
เปลยนไป
ตารางแสดงปจจยขบ COCOMOII ในระยะ Post Architecture
MME (Modified) = MME X (EM)
กลมปจจย ปจจย รายละเอยด
ผลตภณฑซอฟตแวร (Product)
RELY: Software Reliability ระดบความนาเชอถอและไววางใจไดของซอฟตแวรทตองการ
DATA : Database Size ขนาดฐานขอมล
CPLX : Software Complexity ระดบความซบซอนของซอฟตแวร
RUSE : Required Reusability ความตองการในการนำโคดไปใชซำ
Docu : Documentation ระดบมาตรฐานของเอกสาร
แพลตฟอรม (Platform)
TIME : Time Constraint on Execution ขอจำกดดานเวลาในการรนซอฟตแวร
STOR : Main Storage Constraint ขอจำกดของเนอทจดเกบขอมล
PVOL : Platform Volatility ความถในการเปลยนแพลตฟอรมหรอระบบปฏบตการ
บคลากร (Personnel) ACAP: Analyst Capability ความสามารถของนกวเคราะหระบบ
PCAP: Programmer Capability ความสามารถของโปรแกรมเมอร
PCON : Personnel Continuity ความถในการเปลยนแปลงพนกงานหรอทมงาน
AEXP : Analyst Experience ประสบการณของนกวเคราะหระบบ
PEXP : Programmer Experience ประสบการณของโปรแกรมเมอร
LTEX : Language and Tools Experience ประสบการณในการใชภาษาโปรแกรมมงและเครองมอ
โครงการ (Project) TOOL : Use of Software Tools การใชเครองมอในการบรหารโครงการ
SITE : Site Environment จำนวนของไซตงาน
ปจจย ตำมาก ตำ ปานกลาง สง
RELY: Software Reliability 0.82 0.92 1.0 1.10DATA : Database Size 0.80 0.90 1.0 1.14CPLX : Software Complexity 0.73 0.87 1.0 1.17RUSE : Required Reusability 0.85 0.95 1.0 1.07Docu : Documentation 0.81 0.91 1.0 1.11TIME : Time Constraint on Execution - - 1.0 1.11STOR : Main Storage Constraint - - 1.0 1.05PVOL : Platform Volatility - - 1.0 1.15ACAP: Analyst Capability 1.42 1.19 1.0 0.85PCAP: Programmer Capability 1.34 1.15 1.0 0.88PCON : Personnel Continuity 1.22 1.10 1.0 0.88AEXP : Analyst Experience 1.19 1.09 1.0 0.91PEXP : Programmer Experience 1.20 1.09 1.0 0.91LTEX : Language and Tools Experience 1.29 1.12 1.0 0.90TOOL : Use of Software Tools 1.17 1.09 1.0 0.90SITE : Site Environment 1.22 1.09 1.0 0.93
2. คำนวนหา Effort ดงน MME (Modified) = MME X (EM)
EM คอ ผลคณของปจจยทสงผลใหจำนวน Effort เปลยนแปลงไป
! EM = 0.82 x 0.80 x 0.73 x 0.85 x 0.81 x 1.42 x 1.34 x 1.22 x 1.19 x 1.20 x 1.29 x 1.17 x 1.22 = 2.01
MME = 219 x 2.01 = 440 Man-Month !หากตองการคำนวนคาใชจายโดยประมาณใหคณดวยอตราคาแรงตอคน
กำหนดใหโครงการ ข มระยะเวลาตงแตเรมโครงการและสงมอบเทากบ 10 เดอนโดยวศวกรซอฟตแวรจะตองทำการประมาณการตนทน
ดวยวธ COCOMO ซงแบงโครงการออกเปน 3 ระยะดงน
ในระยะการกอนการดำเนนงาน นบจำนวนออบเจคตพอยทได 80 OP มอตราการนำโคดไปใชใหม 15% และเมอประเมน
ประสบการณและความสามารถของทมงานแลว พบวาอยในระดบปกต ในระยะกอนการออกแบบซอฟตแวรปจจยขบทง 5 ขอ ถกจดอนดบดงน !!!!!!!!!!!! และกำหนดใหขนาดของซอฟตแวรทนบแบบฟงกชนพอยทและแปลงมาเปน LoC แลว มคาเทากบ 12 KLoC สามารถคำ
นวนหาแรงงานโดยประมาณ บนพนฐานของคาคงทของประสทธผลในการผลตระดบปกต ในระยะหลงการออกแบบ ไดนำคา Effort ทไดมาปรบคาตามปจจยขบเพมเตม 16 ปจจย ใหอยในระดบ สง ทกปจจย และยง
คงขนาดซอฟตแวรเปน 12 KLoC เชนเดม จงคำนวนหาคาใชจายทงหมดตงแตเรมโครงการจนถงสงมอบ โดยใหอตราคาแรงตอคนตอเดอน
เทากบ 10000 บาท
ปจจย ระดบการ
ประเมนPREC ตำ
FLEX ปานกลาง
RESL ปานกลาง
TEAM สง
PMAT ปานกลาง
ปจจย ตำมาก ตำ ปานกลาง สง
RELY: Software Reliability 0.82 0.92 1.0 1.10DATA : Database Size 0.80 0.90 1.0 1.14CPLX : Software Complexity 0.73 0.87 1.0 1.17RUSE : Required Reusability 0.85 0.95 1.0 1.07Docu : Documentation 0.81 0.91 1.0 1.11TIME : Time Constraint on Execution - - 1.0 1.11STOR : Main Storage Constraint - - 1.0 1.05PVOL : Platform Volatility - - 1.0 1.15ACAP: Analyst Capability 1.42 1.19 1.0 0.85PCAP: Programmer Capability 1.34 1.15 1.0 0.88PCON : Personnel Continuity 1.22 1.10 1.0 0.88AEXP : Analyst Experience 1.19 1.09 1.0 0.91PEXP : Programmer Experience 1.20 1.09 1.0 0.91LTEX : Language and Tools Experience 1.29 1.12 1.0 0.90TOOL : Use of Software Tools 1.17 1.09 1.0 0.90SITE : Site Environment 1.22 1.09 1.0 0.93