1 / 25

Software Engineering

Software Engineering. Week 5 – Planning & Managing Projects #2. A.A. Gde Bagus Ariana , S.T. gungariana@yahoo.com http://gungariana.wordpress.com. Content. Software estimation process Constructive Cost Model (COCOMO) Basic COCOMO Model Intermediate COCOMO Model

Download Presentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SoftwareEngineering Week 5 – Planning & Managing Projects #2 A.A. GdeBagusAriana, S.T. gungariana@yahoo.com http://gungariana.wordpress.com

  2. Content • Software estimation process • Constructive Cost Model (COCOMO) • Basic COCOMO Model • Intermediate COCOMO Model • Detailed COCOMO Model

  3. 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.

  4. Classical view of software estimation process Source: (Vigderand Kark, 1994)

  5. Actual view of software estimation process Source: (Vigderand Kark, 1994)

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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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)

  14. 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

  15. 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.

  16. 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

  17. 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

  18. Equations Used

  19. 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

  20. 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 FORMULAE EFFORTimproved = EFFORTcrude * m1 * m2 ……. mN Where m1, m2 ….. mN are multipliers representing values of different productivity attributes/ factors

  21. Intermediate COCOMO

  22. 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 EFFORTimproved • Calculate out the estimated total duration required for the project • Work out the estimated total number of personnel required

  23. Summary • Software estimation process • Constructive Cost Model (COCOMO) • Basic COCOMO Model • Intermediate COCOMO Model • Detailed COCOMO Model

  24. Thank YouQuestion?

More Related