+ All Categories
Home > Documents > Software Engineering

Software Engineering

Date post: 01-Jan-2016
Category:
Upload: winchell-vance
View: 28 times
Download: 1 times
Share this document with a friend
Description:
Software Engineering. Week 5 – Planning & Managing Projects #2. A.A. Gde Bagus Ariana , S.T. [email protected] http://gungariana.wordpress.com. Content. Software estimation process Constructive Cost Model (COCOMO) Basic COCOMO Model Intermediate COCOMO Model - PowerPoint PPT Presentation
Popular Tags:
25
Software Engineering Week 5 – Planning & Managing Projects #2 A.A. Gde Bagus Ariana, S.T. [email protected] http://gungariana.wordpress.com
Transcript

SoftwareEngineeringWeek 5 – Planning & Managing Projects #2

A.A. Gde Bagus Ariana, [email protected]

http://gungariana.wordpress.com

• Software estimation process• Constructive Cost Model (COCOMO)

– Basic COCOMO Model– Intermediate COCOMO Model– Detailed COCOMO Model

Content

Motivation

The software cost estimation provides:

• the vital link between the general concepts and techniques of economic analysis and the particular world of software engineering.

• Software cost estimation techniques also provides an essential part of the foundation for good software management.

Methods of Cost Estimation

• Algorithmic (Parametric) model• Expert Judgment (Expertise Based)• Top - Down• Bottom - Up• Estimation by Analogy• Price to Win Estimation

Algorithmic (Parametric) model

• Use the mathematical equations to perform the software estimation.

• Advantages:– Generate repeatable estimations– Easy to modify input data– Easy to refine and customize formulas– Objectively calibrated to experience

• Disadvantages:– Unable to deal with exceptional conditions– Some experience and factors can not be quantified– Sometimes algorithms may be proprietary

Expert Judgment (Expertise Based)

• Captures the experience and the knowledge of the estimator who provides the estimate based on their experience from a similar project to which they have participated. 

• Advantages:– Useful in the absence of quantified, empirical data.– Can factor in differences between past project experiences

and requirements of the proposed project– Can factor in impacts caused by new technologies,

applications and languages.

• Disadvantages:– Estimate is only as good expert’s opinion– Hard to document the factors used by the expert

Top - Down

• Which utilize the global view of the product and then partitioned into various low level components.

• Advantages:– Requires minimal project detail– Usually faster and easier to implement– Focus on system level activities 

• Disadvantages:– Tend to overlook low level components– No detailed basis

Bottom - Up

• The cost of each software components is estimated first and then the results are combined to derive the final cost estimation for the project.

• Advantages:– More stable– More detailed– Allow each software group to hand an estimate

• Disadvantages:– May overlook system level costs– More time consuming

Estimation by Analogy

• Utilize the actual data that is extrapolated from a previous completed project and compare that with the proposed project in the same application domain to derive the cost estimate.

• Advantages:– Based on actual project data

• Disadvantages:– Impossible if no comparable project had been

tackled in the past.– How well does the previous project represent this

one

Price to Win Estimation

• The cost estimate is the price that is necessary to win the contract or the project.

• Advantages:– Often rewarded with the contract

• Disadvantages:– Time and money run out before the job is done

Introduction COCOMO

• Developed by Boehm (early 80s)

• Predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity

Barry W. Boehm (born 1935)

Calc’s are based on SLOC

• SLOC = “Source Lines Of Code”• Only Source lines that are DELIVERED as part of the

product are included -- test drivers and other support software is excluded

• SOURCE lines are created by the project staff -- code created by applications generators is excluded

• One SLOC is one logical line of code (an If-Then-Else is one line of code)– In Cocomo, known as Delivered Source Instructions

(DSI). One If-Then-Else = X lines of code.• Declarations are counted as SLOC • Comments are not counted as SLOC

COCOMO Models

• Basic Model – this model would be applied early in a projects development.  It will provide a rough estimate early on that should be refined later on with one of the other models.

• Intermediate Model – this model would be used after you have more detailed requirements for a project. 

• Detailed Model – when your design for a project is complete you can apply this model to further refine your estimate.

COCOMO Modes

• Organic Mode– developed in a familiar, stable environment,– similar to the previously developed projects– relatively small and requires little innovation

• Semidetached Mode– intermediate between Organic and Embedded

• Embedded Mode– tight, inflexible constraints and interface requirements – The product requires great innovation

Equations Used

• Equation 1        E = a(KDSI)b * EAF• Equation 2        D = c(E)d• Equation 3 N = E/D• Where:

– E is effort in person-months– EAF is the effort adjustment factor– D is the schedule time– KDSI is the number of lines of code (in thousands)– N is number of personnel required– a, b, c, and d are all constants based on the mode you are

using

Mode Effort Schedule

Organic E=2.4*(KDSI)1.05 TDEV=2.5*(E)0.38

Semidetached E=3.0*(KDSI)1.12 TDEV=2.5*(E)0.35

Embedded E=3.6*(KDSI)1.20 TDEV=2.5*(E)0.32

Equations Used

Exercise 1

In this particular software development project, the developer team has identified that the complete solution would require 50,000 delivered source instructions and classified as semidetached.

 

• Tasks to do; as follow: – Find out the EFFORT crude

– Calculate out the estimated total duration required for the project– Work out the estimated total number of personnel required

Intermediate COCOMO

• EFFORTimproved

• Estimates using fifteen cost driver variables besides the size variable used in Basic COCOMO

• Attributes/factors divided into 4 classes:– Product– Computer– Personnel– Project

21

FORMULAEEFFORTimproved = EFFORTcrude * m1 * m2 ……. mN

Where m1, m2 ….. mN are multipliers representing values of different productivity attributes/ factors

Intermediate COCOMO

Exercise 2

After working out with the Effortcrude (152 programmer-months), the development team is quite sceptical on the following: -

a) product complexity, which can be quite demanding

b) database size, which can increase drastically

Tasks to do; as follow: – Find out the EFFORT improved

– Calculate out the estimated total duration required for the project– Work out the estimated total number of personnel required

• Software estimation process• Constructive Cost Model (COCOMO)

– Basic COCOMO Model– Intermediate COCOMO Model– Detailed COCOMO Model

Summary

Thank YouQuestion?


Recommended