310414 software engineering

Post on 19-Mar-2016

64 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

310414 Software Engineering. Cost Estimation. Cost Estimation. การวิเคราะห์ต้นทุน วิเคราะห์ก่อนโครงงานจะเริ่มต้น. [Jalote1991]. Why do we estimate?. เพื่อเอื้อโอกาสให้ทีมพัฒนาและลูกค้าได้มีโอกาสวิเคราะห์กำไรต้นทุน. [Jalote1991]. เป็นสิ่งสำคัญมากในการควบคุมการดำเนินโครงงาน - PowerPoint PPT Presentation

TRANSCRIPT

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

• ความเขาใจกบลกคาระดบองคกร

• คณภาพของผบรหาร• โปรแกรมเมอร

ระดบชนงาน• เอกสาร• ภาษาโปรแกรมทใช• ความซบซอนของงาน

top related