310414 software engineering
Download
1 / 51

310414 Software Engineering - PowerPoint PPT Presentation


  • 118 Views
  • Uploaded on
  • Presentation posted in: General

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

310414 Software Engineering

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


310414Software Engineering

Cost Estimation

310414 - Lecture


Cost Estimation

310414 - Lecture

[Jalote1991]


Why do we estimate?

310414 - Lecture

[Jalote1991]


Cost Estimation for Developers

310414 - Lecture

[Jalote1991]


Uncertainties in Cost Estimation

310414 - Lecture

[Jalote1991]


    • HW/SW

  • + - 20%

310414 - Lecture


Estimation Basics

  • Models

  • Metrics

  • Historical Data

310414 - Lecture


Estimation Accuracy

310414 - Lecture


HOW NOT TO ESTIMATE COST

  • 12

  • 1 9

  • 1 10

310414 - Lecture


DELPHI METHOD

  • Delphi Method

310414 - Lecture


An Expected Value

  • 3

    • Optimistic EstimateQ

    • Realistic Estimate R

    • Pessimistic Estimate S

  • beta distribution

310414 - Lecture


An Expected Value

  • EV = (Q + 2R + P) / 4

  • EV = (Q + 4R + P) / 6

    • Q = optimistic estimation

    • R = realistic estimation

    • P = prestimistic estimation

[Conger1994]

[Pressman1997]

aka a 3-point estimated value

310414 - Lecture


Estimation Techniques (1)

  • Decomposition Techniques :

  • Empirical models (Algorithmic Cost Modeling) :

  • Based on last projects (Estimation by analogy)

310414 - Lecture

([Boehm1981] in [Sommerville1996]) and ([Pressman1997])


Estimation Techniques (2)

  • Expert judgement

  • Parkinsons Law :

  • Pricing to win

310414 - Lecture

([Pressman1997])


Decomposition Techniques

  • Problem-Based Estimation

  • Process-Based Estimation

310414 - Lecture


Problem-Based Decomposition

  • LOC FP

310414 - Lecture


Function

user interface and control facilities

two-dimensional geometric analysis

three-dimensional geometric analysis

estimated line of code

Estm. LOC

2300

5300

6800

33200

An Example of LOC Estm.

Using 3-point estimated values

310414 - Lecture


An Example of FP Estm

info domain value

number of inputs

number of outputs

count-total

opt.

20

12

likely

24

15

pess.

30

22

ets.

24

16

w

4

5

FP

96

80

318

FP estm = count-total * factor

FP estm = 372

310414 - Lecture


Process-Based Decomposition

    • Planning

    • Analysis

    • Design

    • Code

    • Test

310414 - Lecture


Empirical Models

  • Models :

    • Single-Variable Models

    • COCOMO Model

310414 - Lecture


Single-Variable Model

b

  • EFFORT = a * SIZE

  • EFFORT = a * SIZE + b

  • a b

310414 - Lecture


b

  • E = a (KLOC) x EAF

  • D = c E

d

COCOMO Model

effort (person-month)

duration (month)

  • a b c d : constant software

  • EAF : Effort Adjustment Factor

310414 - Lecture

[Boehm1981,1984] from [Jalote1991] and [Pressman1997]


COCOMO project types

  • Organic

    • a simple small application developed by a small team with good application experience.

  • Semidetached

  • Embedded

    • .

310414 - Lecture


Organic

  • (1-3) HW, SW

310414 - Lecture


Embedded

310414 - Lecture


Semi-detached

  • Organic Embeded

310414 - Lecture


System

organic

semidetached

embedded

a

3.2

3.0

2.8

b

1.05

1.12

1.20

c

2.5

2.5

2.5

d

0.38

0.35

0.32

Constants fordifferent project types

310414 - Lecture


Effective Adjustment Factor

  • Factor software (cost driver attributes)

    • product attribute

    • computer attribute

    • personal attribute

    • project attribute

  • Factor

310414 - Lecture


Product Attributes

  • Reliability requirement

  • Database size

  • Product complexity

310414 - Lecture


Computer attributes

  • Execution time constraints

  • Storage constaints

  • Virtual machine volatility

  • Computer turnround time

310414 - Lecture


Personnel attributes

  • Analyst capability

  • Virtual machine experience

  • Programmer capability

  • Programming language experience

  • Application experience

310414 - Lecture


Project attributes

  • Modern programming practices

  • Software tools

  • Required development schedule

310414 - Lecture


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

    • Storage high 1.06

    • Experience low 1.13

    • Programmer capability low 1.17

310414 - Lecture


Example (cont.)

  • EAF = 1.15 * 1.06 * 1.13 * 1.17 = 1.61

  • Ei = 3.2 * (3 ^ 1.05) = 10.14 PM

  • E = 1.61 * 10.14 = 16.5 PM

    • 16.5 -

  • D = 2.5 (16.5 ^ 0.38) = 7.23 M

    • 7.23

310414 - Lecture


Function Point

  • Function

  • Function

310414 - Lecture


  • FP

  • FP = Total weighted count * (0.65 + (0.1* SUM(complexity adjustments)))

    • Total weighted count -

    • complexity adjustments - 14

310414 - Lecture


Function Point Questions( Rating Scale from 0 to 5)

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


Function Point Questions( Rating Scale from 0 to 5)

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


Function Point Weight

  • Simple = 22

  • Average = 30

  • Complex = 44

    FP = 22 * ( 0.65 + ( 0.1 * 36)) = 93.5

310414 - Lecture


Line of Code/FPLanguage

25 4GL

25 SQL

100 Cobol

  • Number of Lines of Code per Function Point * Number of Function Points = Total Line of Code

    KLOC = 93.5*25 = 2.337 K

310414 - Lecture


  • COCOMO Model

    • E = 2.4 x (2.33)1.05

    • E = 5.83

    • D = 2.5 x (5.83)0.38

    • D = 4.88

310414 - Lecture


  • Tool

310414 - Lecture


-

-

-

-

Effort

-

-

310414 - Lecture


?

310414 - Lecture


310414 - Lecture


  • &

310414 - Lecture


  • N B

  • B ?

    • B 3,000-20,000

      ~ 5,000-13,000

310414 - Lecture


  • 65 15 65

  • 9,000 585,000

  • 6 10 -

  • 5 10/5=2

310414 - Lecture


    • 1 ( 0.2 = )

    • 2 ()

    • 2

    • 80,000 x 1 = 80,000

      20,000 x 2= 40,000

      60,000 x 5 x 2= 600,000

      720,000

310414 - Lecture


5

Individual-Simple Program

Team- Large Complexity

Team-Medium-Complexity

1000

x 1000

310414 - Lecture


310414 - Lecture


ad
  • Login