Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.

Slides:



Advertisements
Similar presentations
Software Cost Estimation
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Software cost estimation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
Software cost estimation Because no model is right, but all models can be useful.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Software Cost Estimation
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
Software project management (intro)
GPII-2A Planning a software project: Estimation & Measurement.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Software cost estimation Predicting the resources required for a software development process 1.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Software cost estimation DeSiaMore 1.
Software cost estimation
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
1 Advanced Information Systems Development (SD3043) Project Management: Effort and Cost Estimation.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software cost estimation l Predicting the resources required for a software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software cost estimation l Predicting the resources required for a software development.
1 Software Cost Estimation Predicting the resources required for a software development process.
Software cost estimation. Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity.
Estimation using COCOMO
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.
Software cost estimation. Objectives To introduce the fundamentals of software costing and pricing To introduce the fundamentals of software costing and.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 26 Slide 1 Software cost estimation.
Software Project Management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
CS223: Software Engineering Lecture 37: Software Planning and Estimation.
Chapter 5: Software effort estimation
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 26 Slide 1 Software cost estimation.
Software Project Management 4th Edition
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Project Management 4th Edition
Software Development & Project Management
Software cost estimation
Software Cost Estimation
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Software cost estimation
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Software cost estimation
Software cost estimation
Software Project Management 4th Edition
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Software cost estimation
Chapter 26 Estimation for Software Projects.
Software cost estimation
Presentation transcript:

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Software Project Management Introduction to Estimating Development Effort ( courtesy of “Software Project management – Hughes & Cotterell” 4 th Edition )

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 What Makes a Successful Project? Delivering: l agreed functionality l on time l at the agreed cost l with the required quality Stages: n set targets n attempt to achieve targets BUT what if the targets are not achievable?

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Over and Under-estimating nPnParkinson’s Law: ‘Work expands to fill the time available’ nAnAn over-estimate is likely to cause project to take longer than it would otherwise ( cella/parkinsl.html ) nWnWeinberg’s Zeroth Law of reliability: ‘a software project that does not have to meet a reliability requirement can meet any other requirement’ ( -weinberg )

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 A Taxonomy of Estimating Methods n Expert opinion - just guessing? n Bottom-up - activity based n Parametric e.g. function points n Analogy n Parkinson and ‘price to win’

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Estimation Techniques

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Heemstra and Kusters Survey n Expert judgement 25.5% n Analogy 60.8% n ‘Capacity problem’20.8% n Price-to-win8.9% n Parametric models13.7%

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Pricing to Win n The project costs whatever the customer has to spend on it. n Advantages: –You get the contract. n Disadvantages: –The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Heemstra and Kusters (cont.) n Only 50% kept project data on past projects - but 60.8% used analogy! n 35% did not produce estimates n 62% used methods based on intuition - only 16% used formalized methods n Function point users produced worse estimates!

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Top-down versus Bottom-up n Top-down –produce overall estimate based on project cost drivers –based on past project data n Bottom-up –use when no past project data

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Top-down Estimates n Produce overall estimate using effort driver(s) n distribute proportions of overall estimate to components designcode overall project test Estimate 100 days 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Bottom-up Estimating 1. Break project into smaller and smaller components 2. Stop when you get to what one person can do in one/two weeks 3. Estimate costs for the lowest level activities 4. At each higher level calculate estimate by adding estimates for lower levels

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Parametric Models n COCOMO (lines of code) and function points examples of these problem with COCOMO etc: guess algorithmestimate but what is desired is system characteristic algorithm estimate

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Parametric Models (cont.) n Examples of system characteristics –no of screens x 4 hours –no of reports x 2 days –no of entity types x 2 days n the quantitative relationship between the input and output products of a process can be used as the basis of a parametric model

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Conventional Methods: LOC/FP Approach n Compute LOC/FP using estimates of information domain values Line of Code (LOC) Function Point (FP) n Use historical effort for the project

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Example: LOC Approach

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Example: FP Approach

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Parametric Models – the Need for Historical Data n simplistic model for an estimate estimated effort = (system size) / productivity n e.g. system size = lines of code productivity = lines of code per day n productivity = (system size) / effort –based on past projects

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Parametric models n Some models focus on task or system size e.g. Function Points n FPs originally used to estimate Lines of Code, rather than effort Number of file types model Numbers of input and output transaction types ‘system size’

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Parametric Models n Other models focus on productivity: e.g. COCOMO n Lines of code (or FPs etc.) an input System Size Productivity Factors Estimated Effort

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 System Size: Function Points n Based on work at IBM 1979 onwards –Albrecht and Gaffney wanted to measure the productivity independently of lines of code. –has now been developed by the International FP User Group (which is US based). –Mark II FPs developed by Simons mainly used in UK.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Function points Mark II n Developed by Charles R. Symons n ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons, n Builds on work by Albrecht n Work originally for CCTA(Consumer Credit Trade Association):Consumer Credit Trade Association –should be compatible with SSADM; mainly used in UK n has developed in parallel to IFPUG FPs IFPUG (International Function Point Users Group)

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Function Points Mk II (Cont.) n For each transaction, count –data items input (N i ) –data items output (N o) –entity types accessed (N e ) #entities accessed #input items #output items FP count = N i * N e * N o * 0.26

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Using Mark II Function Points n Calculate FPs for each transaction in a system n Total transaction counts to get a count for the system n Recall that estimated effort = size (FPs) x productivity rate (effort per FP) n Productivity rate obtained from past projects

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Estimating by Analogy source cases attribute values effort attribute values ????? target case attribute values effort Select case with closet attribute values Use effort from source as estimate

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Estimating by Analogy n Identify significant attributes (‘drivers’) n Locate closest match amongst source cases for target n Adjust for differences between source and target

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Stages: Identify n Significant features of the current project n Previous project(s) with similar features n Differences between the current and previous projects n Possible reasons for error (risk) n Measures to reduce uncertainty

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Some Conclusions: how to review estimates Ask the following questions about an estimate n What are the task size drivers? n What productivity rates have been used? n Is there an example of a previous project of about the same size? n Are there examples of where the productivity rates used have actually been found?

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 n Estimating the size of the measure (e.g. how many function points). n Estimating the total number of programmer months that have elapsed. n Estimating contractor productivity (e.g. documentation team) and incorporating this estimate in overall estimate. Measurement Problems

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 System Development Times

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 n Real-time embedded systems, LOC/P-month. n Systems programs, LOC/P-month. n Commercial applications, LOC/P-month. n In object points, productivity has been measured between 4 and 50 object points/month depending on tool support and developer capability. Productivity Estimates

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Changing Technologies n Changing technologies may mean that previous estimating experience does not carry over to new systems –Distributed object systems rather than mainframe systems; –Use of web services; –Use of Enterprise Resource Planning (ERP) or database-centred systems; –Use of off-the-shelf software; –Development for and with reuse; –Development using scripting languages; –The use of CASE tools and program generators.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Estimate uncertainty

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 The COCOMO Model n An empirical model based on project experience. n Well-documented, ‘independent’ model which is not tied to a specific software vendor. n Long history from initial version published in 1981 (COCOMO-81) through various instantiations to COCOMO 2. n COCOMO 2 takes into account different approaches to software development, reuse, etc.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 COCOMO 81

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 COCOMO 2 n COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. n Since its formulation, there have been many changes in software engineering practice and COCOMO 2 is designed to accommodate different approaches to software development.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 COCOMO 2 models n COCOMO 2 incorporates a range of sub-models that produce increasingly detailed software estimates. n The sub-models in COCOMO 2 are: –Application composition model. Used when software is composed from existing parts. –Early design model. Used when requirements are available but design has not yet started. –Reuse model. Used to compute the effort of integrating reusable components. –Post-architecture model. Used once the system architecture has been designed and more information about the system is available.

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Use of COCOMO 2 Models

Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Application Composition Model n Supports prototyping projects and projects where there is extensive reuse. n Based on standard estimates of developer productivity in application (object) points/month. n Takes CASE tool use into account. n Formula is –PM = ( NAP  (1 - %reuse/100 ) ) / PROD –PM is the effort in person-months, NAP is the number of application points and PROD is the productivity.