Software Cost Estimation 1. APPROACHES Traditional: LOC estimation Modern: Functional Point Analysis 2.

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

Paperless Online Payroll, Integrated HR & Report Generating System.
Project Estimation: Metrics and Measurement
Function Point Analysis example. Function point FP is defined as one end-user business function FPA evaluates the system from a user perspective.
程建群 博士(Dr. Jason Cheng) 年03月
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
Software project management (intro)
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Slide 7B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
CSC 395 – Software Engineering
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Software Engineering: A Practitioner’s Approach
Chapter 5 : Software Project Planning Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University
The Islamic University of Gaza
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Cost22 1 Question of the day u If you were the boss, what would you do for cost estimation?
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Estimation Why estimate? What to estimate? When to estimate?
Goals for Today Review the basics of an experiment Learn how to create a unit-weighted composite variable and how/why it is used in psychology. Learn how.
Chapter 6 : Software Metrics
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Software cost estimation Predicting the resources required for a software development process 1.
Team7 Team Assignment 2 Software Measurement and Analysis.
Software Function, Source Lines Of Code, and Development Effort Prediction: A Software Science Validation ALLAN J. ALBRECHT AND JOHN E.GAFFNEY,JR., MEMBER,IEEE.
1 Estimation Function Point Analysis December 5, 2006.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
DATABASE MANAGEMENT SYSTEMS CMAM301. Introduction to database management systems  What is Database?  What is Database Systems?  Types of Database.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Pseudocode Algorithms Using Sequence, Selection, and Repetition
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Database Java Bean Feng Chen. Outline Tools and approaches Project overview Major contribution Project plan Cost estimate References Acknowledgment.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
CSC 480 Software Engineering Lecture 6 September 11, 2002.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
FUNCTION POINT ANALYSIS & ESTIMATION
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
Project Planning. Overview Planning and the software process Estimating duration and cost Software project management plan components Software project.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
XP Chapter 1 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 1 Level 2 Objectives: Understanding and Creating Table.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Internal Logical Files (ILF) An internal logical file (ILF) is a user identifiable group of logically related data or control information maintained within.
THE FAMU-CIS ALUMNI SYSTEM
Testing Techniques.
Sizing With Function Points
Function Point Analysis
Lecture 17 Software Metrics
Constructive Cost Model
Function Point.
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
COCOMO Models.
Software Effort Estimation
COCOMO MODEL.
Presentation transcript:

Software Cost Estimation 1

APPROACHES Traditional: LOC estimation Modern: Functional Point Analysis 2

LOC ESTIMATION  Estimation is based on experience, size of previous projects, size of competitor's solution, and the size of sub tasks that are created from bigger tasks.  A standard approach is:  For each P i = 1/6( max i, + 4 * BG i + min i )  Standard Deviation of S = (sd 2 + sd 2 +….sd 2 ) 1/2  Standard Deviation of E(i) = (max – min)/6 3

LOC ESTIMATION 4

LOC FORMULA α  marginal cost per KLOC (added cost per KLOC) β  exponent that reflects the nonlinearity of the relationship. γ  fixed cost of doing any project Company XYZ has recorded following data from previous projects. How much effort is required for a 30KLOC task 5

6

COCOMO 7

8

TDEV 9

Standard TDEV using COCOMO formulas for projects from 5 to 50K 10

FUNCTION POINT ANALYSIS 11

F. P. A. Inquiries are request-response pairs that do not change the internal data. For example, a request for the address of a specified employee is an inquiry. The whole sequence of asking, supplying the name, and getting the address would count as one inquiry. Inputs are items of application data that is supplied to the program. The logical input is usually considered one item and individual fields are not usually counted separately. For example, the input of personal data for an employee might be considered one input. Outputs are displays of application data. This could be a report, a screen display, or an error message. Again, individual fields are usually not considered separate outputs. If the report has multiple lines, for instance, a line for each employee in the department, these lines would all be counted as one output. However, some authorities would count summary lines as separate outputs. 12

Internal files are the logical files that the customer understands must be maintained by the system. If an actual file contained 1000 entries of personnel data, it would probably be counted as one file. However, if the file contained personnel data, department summary data, and other department data, it would probably be counted as three separate files for the purposes of counting function points. External interfaces / files are data that is shared with other programs. For example, the personnel file might be used by human resources for promotion and for payroll. Thus, it would be considered an interface in both systems. 13

COUNTING UNADJUSTED FUNCTION POINTS The individual function point items are identified and then classified as simple, average, or complex. There is no standard for counting function points. Books have been written with different counting rules. The important thing to remember is that function points are trying to measure the amount of effort that will be needed to develop the software. 14

EXAMPLE 15

EXAMPLE II Company XYZ spent the following effort for each life cycle phase of the latest project. Calculate the effort in terms of LOC/programmer-day and in terms of function points/programmer day. The function point estimate was 50 unadjusted function points. The finished project included 950 lines of code. The total effort was 65 programmer-days. This gives a productivity of 950/65 = 14.6 lines of code/programmer-days. Using unadjusted function points (fp), the productivity is 50 fp/65 days = 0.77 fp/programmer-days. 16