310414 software engineering
This presentation is the property of its rightful owner.
Sponsored Links
1 / 51

310414 Software Engineering PowerPoint PPT Presentation


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

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

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


310414 software engineering

310414Software Engineering

Cost Estimation

310414 - Lecture


Cost estimation

Cost Estimation

310414 - Lecture

[Jalote1991]


Why do we estimate

Why do we estimate?

310414 - Lecture

[Jalote1991]


Cost estimation for developers

Cost Estimation for Developers

310414 - Lecture

[Jalote1991]


Uncertainties in cost estimation

Uncertainties in Cost Estimation

310414 - Lecture

[Jalote1991]


310414 software engineering

    • HW/SW

  • + - 20%

310414 - Lecture


Estimation basics

Estimation Basics

  • Models

  • Metrics

  • Historical Data

310414 - Lecture


Estimation accuracy

Estimation Accuracy

310414 - Lecture


How not to estimate cost

HOW NOT TO ESTIMATE COST

  • 12

  • 1 9

  • 1 10

310414 - Lecture


Delphi method

DELPHI METHOD

  • Delphi Method

310414 - Lecture


An expected value

An Expected Value

  • 3

    • Optimistic EstimateQ

    • Realistic Estimate R

    • Pessimistic Estimate S

  • beta distribution

310414 - Lecture


An expected value1

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

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

Estimation Techniques (2)

  • Expert judgement

  • Parkinsons Law :

  • Pricing to win

310414 - Lecture

([Pressman1997])


Decomposition techniques

Decomposition Techniques

  • Problem-Based Estimation

  • Process-Based Estimation

310414 - Lecture


Problem based decomposition

Problem-Based Decomposition

  • LOC FP

310414 - Lecture


An example of loc estm

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

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

Process-Based Decomposition

    • Planning

    • Analysis

    • Design

    • Code

    • Test

310414 - Lecture


Empirical models

Empirical Models

  • Models :

    • Single-Variable Models

    • COCOMO Model

310414 - Lecture


Single variable model

Single-Variable Model

b

  • EFFORT = a * SIZE

  • EFFORT = a * SIZE + b

  • a b

310414 - Lecture


Cocomo model

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

COCOMO project types

  • Organic

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

  • Semidetached

  • Embedded

    • .

310414 - Lecture


Organic

Organic

  • (1-3) HW, SW

310414 - Lecture


Embedded

Embedded

310414 - Lecture


Semi detached

Semi-detached

  • Organic Embeded

310414 - Lecture


Constants for different project types

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

Effective Adjustment Factor

  • Factor software (cost driver attributes)

    • product attribute

    • computer attribute

    • personal attribute

    • project attribute

  • Factor

310414 - Lecture


Product attributes

Product Attributes

  • Reliability requirement

  • Database size

  • Product complexity

310414 - Lecture


Computer attributes

Computer attributes

  • Execution time constraints

  • Storage constaints

  • Virtual machine volatility

  • Computer turnround time

310414 - Lecture


Personnel attributes

Personnel attributes

  • Analyst capability

  • Virtual machine experience

  • Programmer capability

  • Programming language experience

  • Application experience

310414 - Lecture


Project attributes

Project attributes

  • Modern programming practices

  • Software tools

  • Required development schedule

310414 - Lecture


Example

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

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 Point

  • Function

  • Function

310414 - Lecture


310414 software engineering

  • 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

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 51

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

Function Point Weight

  • Simple = 22

  • Average = 30

  • Complex = 44

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

310414 - Lecture


310414 software engineering

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


310414 software engineering

  • 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


310414 software engineering

  • Tool

310414 - Lecture


310414 software engineering

-

-

-

-

Effort

-

-

310414 - Lecture


310414 software engineering

?

310414 - Lecture


310414 software engineering

310414 - Lecture


310414 software engineering

  • &

310414 - Lecture


310414 software engineering

  • N B

  • B ?

    • B 3,000-20,000

      ~ 5,000-13,000

310414 - Lecture


310414 software engineering

  • 65 15 65

  • 9,000 585,000

  • 6 10 -

  • 5 10/5=2

310414 - Lecture


310414 software engineering

    • 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


310414 software engineering

5

Individual-Simple Program

Team- Large Complexity

Team-Medium-Complexity

1000

x 1000

310414 - Lecture


310414 software engineering

310414 - Lecture


  • Login