Upload
marli
View
62
Download
5
Embed Size (px)
DESCRIPTION
310414 Software Engineering. Cost Estimation. Cost Estimation. การวิเคราะห์ต้นทุน วิเคราะห์ก่อนโครงงานจะเริ่มต้น. [Jalote1991]. Why do we estimate?. เพื่อเอื้อโอกาสให้ทีมพัฒนาและลูกค้าได้มีโอกาสวิเคราะห์กำไรต้นทุน. [Jalote1991]. เป็นสิ่งสำคัญมากในการควบคุมการดำเนินโครงงาน - PowerPoint PPT Presentation
Citation preview
310414 - Lecture 1
310414Software Engineering
Cost Estimation
310414 - Lecture 2
Cost Estimationการวเคราะหตนทนวเคราะหกอนโครงงานจะเรมตน
1991[Jalote ]1991[Jalote ]
310414 - Lecture 3
Why do we estimate?เพอเออโอกาสใหทมพฒนาและลกคาไดมโอกาสวเคราะหกำาไรตนทน
1991[Jalote ]1991[Jalote ]
310414 - Lecture 4
Cost Estimation forDevelopers
เปนสงสำาคญมากในการควบคมการดำาเนนโครงงานความคลาดเคลอนจากการประมาณสามารถใชเปน
เกณฑในการ วดสถานะของโครงงาน วดคณภาพในการจดการบคคลากร
การประมาณตนทน จดเปนขนตอนหลกของการวางแผน
1991[Jalote ]1991[Jalote ]
310414 - Lecture 5
Uncertainties in CostEstimation
ความไมแนนอนในการประมาณตนทน
ความคลาดเคลอนในการประมาณความคลาดเคลอนในการประมาณ
1991[Jalote ]1991[Jalote ]
310414 - Lecture 6
เทคนคในการประเมนราคาซอฟตแวรเทคนคในการประเมนราคาซอฟตแวรความแมนยำาในการประเมนราคามความสำาคญดงนคอ สามารถคดกำาไรทไดมาและระบบการเงนในบรษท สามารถคำานวณการใชทรพยากร HW/SW ไดอยางถก
ตอง สามารถคำานวณราคาตอโปรเจคยอย ๆ ได
ในการประเมนราคาเราควรทจะบวกคาความ เทยงตรงไว + - 20%
310414 - Lecture 7
Estimation BasicsModelsMetrics
Historical Data
310414 - Lecture 8
Estimation Accuracyแมนยำาในการประมาณขนาดแมนยำาในการประมาณกำาลงบคลากรและเวลาทใชจากขนาดแมนยำาในการวางแผนทแสดงถงความสามารถทแทจรงของทมงาน
ความคงทของความตองการของผลตภณฑ และสภาพแวดลอมตางๆ
310414 - Lecture 9
HOW NOT TO ESTIMATE COST
มองคประกอบภายนอกททำาใหการประมาณคาไมอาจทำาไดหรอไม ตองทำา เชน
โครงการซอฟตแวรผบรหารกำาหนดใหทำาเสรจภายใน 12 เดอน ดงนนผพฒนาระบบซอฟตแวรจะมเวลาไมเกนนจะตอง
ทำาใหเสรจโครงการซอฟตแวรทตองมการประกวดราคาซงเราทราบวาค
แขงเสนอราคา 1 ลานบาท เมอเปนเชนนเราตองชนะการ ประกวดจงเสนอราคาไป 9 แสนบาท
จรงๆแลวโครงการใชเวลา 1 ปแตไมสามารถบอกหวหนาได หรอบอกเขากไมเชอจงตองกำาหนดเวลาพฒนาไว 10 เดอน
310414 - Lecture 10
DELPHI METHODผบรหารหรอผมอำานาจในองคกรมอทธพลตอการประมาณราคาและเวลาในการพฒนาDelphi Method คอวธทผเชยวชาญแตละคนเขยนรายละเอยดการประมาณการลงบนกระดาษแลว
ผประสานงานจะเกบผลการประมาณการมารวมกนแลวแจกจายใหแตละผเชยวชาญพจารณาของกนและ
กน ทำาวนเวยนเชนนจนกระทงผลลพธทไดเหนพองกนระหวางผเชยวชาญในกลม
310414 - Lecture 11
An Expected Value ใหผเชยวชาญประมาณการคาใชจาย 3 คา คอ
คาแรกเปนคาดทสดเชนกรณทเสรจกอนเวลาเรยกวาOptimistic Estimate แทนดวย Q
คาทสองเปนคาทคดวาตรงความเปนจรงหรอเปนไปไดมาก ทสดเรยก Realistic Estimate แทนดวย R
คาทสาม เปนคาทคดวาเลวรายทสดหรอแยทสดเทาทเปนไป ได เรยกวา Pessimistic Estimate แทนดวย S
แลวใชความรเกยวกบ beta distribution หาความสมพนธ
310414 - Lecture 12
An Expected Value EV = (Q + 2 R + P) / 4 หรอ 4 6EV = (Q + R + P) /
Q = optimistic estimation R = realistic estimation P = prestimistic estimation
[1 9 9 4 ][1 9 9 4 ]
[1997][1997]
- 3aka a point estimated value - 3aka a point estimated value
310414 - Lecture 13
Estimation Techniques 1( )
Decomposition Techniques : กระจายงานออกเปนงานยอยๆ เพอทจะประมาณได โดยใน
งานยอยนนอาจจะนำาวธการคำานวณทางคณตศาสตรมาใชกได
Empirical models (Algorithmic Cost Modeling) : ใชการคำานวณทางคณตศาสตร หาความสมพนธระหวางสงท
ประมาณไดกบอกสงหนง Based on last projects (Estimation by
analogy)
([1 9 8 1 ] [ 1 9 9 6 ]) ( [1 9 9 7 ]) ([1 9 8 1 ] [ 1 9 9 6 ]) ( [1 9 9 7 ])
310414 - Lecture 14
Estimation Techniques (2 )
Expert judgement Parkinson’s Law :
ตนทนขนกบทรพยากรทมให Pricing to win
ตนทนทใชกตนทนทมให
1997([Pressman ])1997([Pressman ])
310414 - Lecture 15
Decomposition Techniques
- Problem Based Estimation- Process Based Estimation
310414 - Lecture 16
- Problem BasedDecomposition
แบงงานเปนงานยอยๆ โดยใชขนตอนตามปญหา ใช LOC และ FP
310414 - Lecture 17
An Example of LOC Estm.Function
user interface and control facilities
- two dimensional geometricanalysis
- three dimensional geometric analysis…
estimated line of code
Estm.LOC
230053006800
…33200
- 3Using point estimated values - 3Using point estimated values
310414 - Lecture 18
An Example of FP Estminf
o domainvalue
number ofinputs
number ofoutputs…
-counttotal
likely2415…
opt.2012…
pess.3022…
ets.2416…
w45…
FP9680…318
- *FP estm = count total factor - *FP estm = count total factor 372FP estm = 372FP estm =
310414 - Lecture 19
- Process Based Decompositi on
แบงการประมาณเปนงานยอย ตามกระบวนการขนตอนพฒนา Planning Analysis Design Code Test
310414 - Lecture 20
Empirical Modelsเปนการประมาณกำาลงบคลากรจากขนาดของงานท
อาจจะประมาณโดยใชวธตางๆ โดยการกระจายงาน Models :
- Single Variable Models COCOMO Model
310414 - Lecture 21
- Single Variable Model EFFORT = a * SIZE
EFFORT=a * SI ZE +bฯลฯ
bb
• คาคงท คาคงท aa และ และ bb คำานวณจากขอมลในอดตคำานวณจากขอมลในอดต
310414 - Lecture 22
COCOMO Model
19811984 1991 1997[Boehm , ] from [Jalote ] and [Pressman ] 19811984 1991 1997[Boehm , ] from [Jalote ] and [Pressman ]
E = a (KLOC) x EAF E = a (KLOC) x EAF D = c E D = c E
bbdd
• a b c a b c และ และ d : constant d : constant ทขนกบประเภทของ ทขนกบประเภทของ softwaresoftware• EAF : Effort Adjustment Factor EAF : Effort Adjustment Factor
-effort (person month) -effort (person month) duration (month) duration (month)
310414 - Lecture 23
COCOMO project typesOr gani c a simple small application developed by a
small team with good application experience.
Semidetached โครงการทมขนาดหรอความซบซอนปลานกลาง
Embedded โครงการพฒนาซอฟตแวรทมขอจำากดสง.
310414 - Lecture 24
Organicใชทมขนาดเลก -13( คน ) ภายใต HW, SW และการประยกตทคนเคยบคลากรทเกยวของกบการพฒนามประสบการณเปนอยางดเกยวกบซอฟตแวรทมลกษณะคลายๆกนมากอนกจกรรมตางๆเรมตนไดอยางรวดเรวมขนาดเลก
310414 - Lecture 25
Embeddedเปนซอฟตแวรทพฒนาภายใตสงแวดลอมทมความซบ
ซอน มความเสยงสงและมเงอนไขทยงยากซอฟตแวรทพฒนาแลวจะถกนำาไปใชภายใตสงแวดลอมทไมมความยดหยน
เชนซอฟตแวรทใชควบคมการขนลงของเครองบนซอฟตแวรควบคมการยงขปนาวธ
310414 - Lecture 26
Semi-detachedเปนซอฟแวรทมขนาดและความยากปานกลางทมงานประกอบดวยกลมบคคลทมทงประสบการณและไมมประสบการณ
อยระหวางประเภท Organic และ Embeded
310414 - Lecture 27
Constants for different project types
Systemorganicsemidetachedembedded
a32.3028
b10.511.212.0
c25.25.25.
d03.803.503.2
310414 - Lecture 28
Effective AdjustmentFactor
Factor ทคดจากความตองการในคณสมบตตางๆ ของ software นน (cost driver attributes)
product attribute computer attribute personal attribute project attribute
โดย Factor นจะมคามากหรอนอยขนกบระดบของคณลกษณะตางๆ
310414 - Lecture 29
Product Attributes Reliability requirement Database size
Product complexity
310414 - Lecture 30
Computer attributes Execution time constraints
Storage constaints Virtual machine volatility
Computer turnround time
310414 - Lecture 31
Personnel attributes Analyst capability
Virtual machine experience Programmer capability
Programming language experience Application experience
310414 - Lecture 32
Project attributes Modern programming practices
Software tools Required development schedule
310414 - Lecture 33
Example จากการประมาณขนาดโดยใช -problem based
decomp. ไดวา data entry 0.6 KLOC data update 0.6 KLOC query 0.8 KLOC report gen. 1.0 KLOC TOTAL 3.0 KLOC
cost driver attribute Complexity high 1.15 St or age high 1.06 113Experience low . Programmer capability low 1.17
310414 - Lecture 34
Example (cont.) EAF = 1.15 * 1.06 * 1.13 * 1.17 = 1.61
E i 32* 3 105= . ( ^ . ) = 1014. PM
E = 1 .6 1 * 1 0 .1 4 = 1 6 .5 PM ใชกำาลงบคลากรประมาณ 16.5 คน-เดอน D = 2.5 (16.5 ^ 0.38) = 7.23 M
ใชเวลาประมาณ 723. เดอน
310414 - Lecture 35
การใช Function Point วดขนาดและความซบซอนโดยใชเปน Function ท
ตองพฒนา ไมขนอยกบภาษา เครองมอหรอ กรรมวธ
สามารถประเมนใหมไดเนองจาก Function สามารถเปลยนแปลงไดงาย ไมคอยเหมาะกบโปรแกรมทางดานเทคนคเทาไหร
310414 - Lecture 36
การคดคา FP สามารถหาไดจากสมการดงน *FP = Total weighted count
(0 .6 5 + (0 .1 * ()))
- Total weighted count ไดจากตารางทกำาหนดให complexity adjustments - ไดจากการตอบ
คำาถาม 14 คำาถาม
310414 - Lecture 37
Function Point Questions ( Rating Scale from 0 to5) 1. Is reliable backup and recovery
required?2. Are data communications required?3. Are any functions distributed?4. Is performance critical?5. Is operational environment volume high?6. Is on-line data entry required?7. Does on-lines data entry require
multiple screens or operations?
310414 - Lecture 38
Function Point Questions R RRRRR RRRRR RRRR R RR 05)8. Is on-line files update used?
9. Are quires, screens, reports, or files complex?10. Is processing complex?11. Is code design for reuse?12. Does implementation include conversion and
installation?13. Are multiple installations and/or multiple
organizations involved?14. Does application design facilitate user
changes?
310414 - Lecture 39
Function Point Weight 22Simple= = 3 0 = 4 4
FP= 2 2 * ( 0 .6 5 + ( 0 .1 * 36 935)) = .
310414 - Lecture 40
Line of Code/FP Line of Code/FP LanguageLanguage 25 4GL 25 SS S 100 Cobol
*Number of Lines of Code per Function Point SS SSSSSSSS SSSSSS S SSSSS SSSS SS SSSS=
เพราะฉะนน 935*25 2337KLOC = . = . K
310414 - Lecture 41
นำาไปคดกบ COCOMO Model =2 .4 (2.33) 105.
E =583. คน ตอ เดอน D = 2.5 x (5.83)0.38
D = 4.88 เดอน
310414 - Lecture 42
ปจจยอนทมผลตอราคา
ขนาดฐานขอมล ความซบซอน ขอจำากดดานฮารดแวร ความสามารถประสบการณของโปรแกรมเมอร การใช Tool ในการพฒนา กำาหนดการสงงาน ประสบการณดานการพฒนา
310414 - Lecture 43
ปจจยความตองการ- ความตองการ- ราคาของ
ปจจยขอจำากด- การเงน- ทรพยากร
ปจจยอน ๆ- ความเสยง- ฯลฯ
กระบวนการประเมนราคาซอฟตแวร Effort
310414 - Lecture 44
ควรใชโมเดลในการประเมนราคาหรอ ไม ? ความไมนาเชอถอของโมเดล ความตางกนของการใชคาคงทดงนน อาศยการเปรยบเทยบจากโครงการเกา ๆ ทเคยทำา ประสบการณของผประเมน
310414 - Lecture 45
การประเมนราคา
การประเมนราคาไมไดทำาเพยงครงเดยวจบ ระยะแรกกอนการประมล ระยะสองทำาหลงการประมล หวหนาทมตองพยายามประเมนราคาบอย ๆ เพอ
ใหเหมาะสมกบราคาปจจบน
310414 - Lecture 46
การประเมนราคาในทางปฏบต
ดความตองการหลก แลวแบงใหเปนความตองการยอย
งานทตองทำา & ผลลพธทตองไดแปลงเปนหนาจอทตองสราง หนาจอกรอกขอมล หนาจอสอบถามขอมล หนาจอรายงาน หนาจอบรหารระบบ
310414 - Lecture 47
การประเมนราคาในทางปฏบต
คำานวณหนาจอทตองสรางเปน N หนาจอ แลว ให B เปนราคาตอหนาจอ
B ? คาของ B อยในชวง 3,000-20,000
~ 5,000-13,000
310414 - Lecture 48
ตวอยาง สมมตประเมนวาระบบตองมหนาจอ 65 หนาจอ
รายงานทตองทำา 15 รายงาน รวมเปน 65 ชนงาน
ใชราคากลางท 9 ,000 บาทตอชน ราคาเบองตนนาจะ เปน585,000 บาท
โปรแกรมเมอรหนงคนเฉลยทำาได 6 หนาจอตอเดอน งานชนนนาจะใช 10 คน-เดอน
ระยะเวลางาน 5 เดอนเพราะฉะนนใชโปรแกรมเมอร 105 =2 คนชวยกนทำางาน
310414 - Lecture 49
ทมงานประกอบดวย หวหนาโครงการ 1 คน ตลอดโครงการ ( นนคอ 02.
คนตอเดอน = อาทตยละครง) เลขานการพมพเอกสาร 2 คน (ใชสองเดอนหลง) โปรแกรมเมอร 2 คน หวหนาโครงการ 80,000 x 1 = 80,000 เลขานการ 20,000 x 2 = 40,000 โปรแกรมเมอร 60,000 x 5 x 2 = 600,000
720,000720,000
310414 - Lecture 50
ตวประกอบทมผลตอโครงการระดบโครงการ
• เงนเดอนของโปรแกรมเมอร• ระยะเวลาการพฒนา• กรรมวธการพฒนา
ขนาดของโปรแกรม x 1000 บรรทด
จำา
นวนบ
รรทด
ตอป
ตอคน
5
1000
Individual-Simple Program
Team-S SSSSS -SSS SSSSSSS
SSSS - SSSSS SSS SSSSSSS
310414 - Lecture 51
• ความเขาใจกบลกคาระดบองคกร
• คณภาพของผบรหาร• โปรแกรมเมอร
ระดบชนงาน• เอกสาร• ภาษาโปรแกรมทใช• ความซบซอนของงาน