Personal Estimation with PROBE CS3300 Fall 2015. Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.

Slides:



Advertisements
Similar presentations
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Advertisements

Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Project Estimation: Metrics and Measurement
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
Software project management (intro)
GPII-2A Planning a software project: Estimation & Measurement.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Questions? Cycle 1 Process details Process Dashboard Coding vs. Testing ??? SE-280 Dr. Mark L. Hornick 1.
Information Technology Project Management
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
Software Metric capture notions of size and complexity.
Metody statystyczne Copyright, 2001 © Jerzy R. Nawrocki Doskonalenie Procesów Programowych.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Disciplined Software Engineering Lecture #4 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
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.
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 Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
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.
Project Planning and Estimation
Quality Software Project Management Software Size and Reuse Estimating.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #4 Software Engineering.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
INFO 636 Software Engineering Process I Prof. Glenn Booker Weeks 4-5 – Estimating Software Size 1INFO636 Weeks 4-5.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Software Size Estimation Copyright, 2006 © L. Ouyang Liubo Ouyang Personal Software Process Lecture 5.
©1999 Addison Wesley LongmanSlide 3.1 Managing IS Projects Planning –Decomposing Project into Activities –Estimating resources –Developing a schedule –Setting.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
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.
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.
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.
Chapter 10: Software Size Estimation Omar Meqdadi SE 273 Lecture 10 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
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.
Alternative Software Size Measures for Cost Estimation
Function Point Analysis
Estimating with PROBE II
Constructive Cost Model
Software Development & Project Management
Personal Software Process Software Estimation
Function Point.
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
The role of Planning in the Software Development Process
COCOMO MODEL.
Presentation transcript:

Personal Estimation with PROBE CS3300 Fall 2015

Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things are done.

Improvement We don’t test quality into applications, we design it in. We improve quality by improving the processes.

Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals and issues Anonymously list the tasks and then estimate the size Estimates are given to moderator who tabulates the results Review the tasks Re-estimate and continue until convergence Fuzzy-Logic Method (Putnam) Need historical data on smallest and largest project Divide evenly using the log of the sizes by 4 Use the half-way mark to make ranges of size variance

Fuzzy Logic example Our company produced products between 173 and 10,341 LOC Determine the log difference log(10341) – log(173) = – = Divide this by 4 = / 4 =.444 Now use this number to calculate log of each category Very Small Small Medium Large Very Large

Fuzzy Logic Continued Now take half the log difference to find ranges =.444/2 =.222 LowAverageHigh Very Small Small Medium Large Very Large Historical data is required Size of applications is constantly growing What if we are doing something much larger than ever built before?

Standard Component (Putnam) Again uses historical data for organization Get historical average lines of code for different components Estimate the number/type of components that you will need: Smallest Possible Number (S) Most likely number (M) Largest Possible Number (L) Use formula (S + 4*M + L) / 6 File IO 2535 S=3 M=6 L=10 = 6.17 * 2535 = Reports 967 S=2 M=6 L=11 = 6.17 * 967 = 5963

Function Points (Albrecht) Evaluate project with: Inputs (screens or forms to enter data) : 15 screen = 15 x 4 = 60 Outputs (screens or reports to display or provide to other systems): 10 screen = 10 x 5 = 50 Inquiries (screens to allow queries): 35 screens x 4 = 140 Logical Files (collections of records updated by system): 8 files x 10 = 80 Interfaces (files shared with other applications) : 4 interfaces x 7 = 28 Total = 358

Adjustments 0-5 Data Communication 4 Distributed Functions 2 Performance Objectives1 Heavily Used Config5 Transaction Rate3 Online entry5 End User efficiency4 Online update4 Complex Processing1 Reuse1 Install Ease2 Operational Ease3 Multiple Sites0 Facilitate Change3 Total38 Multiplier = *38 = 1.03

Final Estimate 358 * 1.03 = Conversion Factor for LOC: Java/C++ 80 C225 Assembly575 COBOL175 SQL 60 Assume we are Java 369 * 80 = 29,520 LOC Effort = 2.5 * ^.38 = Schedule = 3 * ^.33 = 5.8 person-months

PROBE Try to come up with a proxy like home builders use for square footage. For OO, we can think of classes Then we consider possible number of methods, kind of class and its relative size For example: LinkedList Data 3 methods Large StatisticsCalculation8 methods Large TestCalculation10 methods Large Then we convert the types and methods to a LOC count using a conversion table. See the PROBE details in psp.pdf

Size Estimating with PROBE PROBE: PROxy Based Estimating; uses proxies or objects as the basis for estimating the likely size of a product [Humphrey 95]. first determine the objects required to build the product described by the conceptual design. then determine the likely type and number of methods for each object. refer to historical data on the sizes of similar objects they have previously developed use linear regression to determine the likely overall size of the finished product. The example object size data show the five size ranges the PSP uses for objects.

Calculation C++ Object Sizes in LOC per Method CategoryVery SmallSmallMediumLargeVery Large Calculation Data I/O Logic Set-up Text

More Discussion Object size is a function of programming style the PROBE method shows engineers how to use the data on the programs they have personally developed to generate size ranges for their personal use. Once they have estimated the sizes of the objects, they used linear regression to estimate the total amount of code they plan to develop. To use linear regression, the engineers must have historical data on estimated versus actual program size for at least three prior programs.

Terms Base Program – an existing program that you are going to enhance/modify. Reused Objects – classes that are taken from your reuse library and reused in the application New Reused Objects – classes that you are going to write, but that are destined for the reuse library.

PROBE Bottom line – the more data and experience you gain, the more accurate the linear regression numbers will be and therefore your accuracy improves.