Slide 9.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach

Slides:



Advertisements
Similar presentations
Metrics for Process and Projects
Advertisements

©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
Planning and Estimating
Measuring process attributes. Good Estimates Predictions are needed for software development decision-making (figure 12.1) A prediction is useful only.
CSC 395 – Software Engineering
COMS W3156: Software Engineering, Fall 2001 Lecture #10: Planning and Estimation Janak J Parekh
Chapter 5: Project Scope Management
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Introduction to Systems Analysis and Design
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.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Slide 15.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Lecture 4 Project Estimation CSCI – 3350 Software Engineering II Fall 2014 Bill Pine.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©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.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
9.1/84 PLANNING AND ESTIMATING. 9.2/84 Prologu e There is no easy solution to the difficulties of constructing a SW product, A large product takes time.
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.
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.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Lecture 4 Software Metrics
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.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Slide 9.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Quality Software Project Management Software Size and Reuse Estimating.
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Chapter 3: Software Project Management Metrics
PLANNING AND ESTIMATING. Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
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.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Project Planning. Overview Planning and the software process Estimating duration and cost Software project management plan components Software project.
بشرا رجائی برآورد هزینه نرم افزار.
Reference: Object-Oriented and Classical Software Engineering Stephen R. Schach, Eighth Edition, WCB/McGraw-Hill, 2011 (CHAPTER 9) PLANNING AND ESTIMATING.
Project Cost Management
PLANNING AND ESTIMATING
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Estimation
Constructive Cost Model
Software Development & Project Management
COCOMO Model Basic.
Personal Software Process Software Estimation
Chapter 5: Software effort estimation- part 2
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.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Slide 9.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach

Slide 9.2 © The McGraw-Hill Companies, 2005 CHAPTER 9 PLANNING AND ESTIMATING

Slide 9.3 © The McGraw-Hill Companies, 2005 Overview l Planning and the software process l Estimating duration and cost l Components of a software project management plan l Software project management plan framework l IEEE software project management plan l Planning testing l Planning object-oriented projects l Training requirements l Documentation standards l CASE tools for planning and estimating l Testing the software project management plan

Slide 9.4 © The McGraw-Hill Companies, 2005 Planning and Estimating l Before starting to build software, it is essential to plan the entire development effort in detail l Planning continues during development and then postdelivery maintenance  Initial planning is not enough  Planning must proceed throughout the project  The earliest possible time that detailed planning can take place is after the specifications are complete

Slide 9.5 © The McGraw-Hill Companies, Planning and the Software Process l The accuracy of estimation increases as the process proceeds Figure 9.1

Slide 9.6 © The McGraw-Hill Companies, 2005 Planning and the Software Process (contd) l Example  Cost estimate of $1 million during the requirements workflow Likely actual cost is in the range ($0.25M, $4M)  Cost estimate of $1 million in the middle of the analysis workflow Likely actual cost is in the range ($0.5M, $2M)  Cost estimate of $1 million at the end of the analysis workflow (earliest appropriate time) Likely actual cost is in the range ($0.67M, $1.5M)

Slide 9.7 © The McGraw-Hill Companies, 2005 Planning and the Software Process (contd) l This model is old (1976)  Estimating techniques have improved  But the shape of the curve is likely to be similar

Slide 9.8 © The McGraw-Hill Companies, Estimating Duration and Cost l Accurate duration estimation is critical l Accurate cost estimation is critical  Internal, external costs l There are too many variables for accurate estimate of cost or duration

Slide 9.9 © The McGraw-Hill Companies, 2005 Human Factors l Sackman (1968) measured differences of up to 28 to 1 between pairs of programmers  He compared matched pairs of programmers with respect to Product size Product execution time Development time Coding time Debugging time l Critical staff members may resign during the project

Slide 9.10 © The McGraw-Hill Companies, Metrics for the Size of a Product l Lines of code (LOC, KDSI, KLOC) l FFP l Function Points l COCOMO

Slide 9.11 © The McGraw-Hill Companies, 2005 Lines of Code (LOC) l Alternate metric  Thousand delivered source instructions (KDSI) l Source code is only a small part of the total software effort l Different languages lead to different lengths of code l LOC is not defined for nonprocedural languages (like LISP)

Slide 9.12 © The McGraw-Hill Companies, 2005 Lines of Code (contd) l It is not clear how to count lines of code  Executable lines of code?  Data definitions?  Comments?  JCL statements?  Changed/deleted lines? l Not everything written is delivered to the client l A report, screen, or GUI generator can generate thousands of lines of code in minutes

Slide 9.13 © The McGraw-Hill Companies, 2005 Lines of Code (contd) l LOC is accurately known only when the product finished l Estimation based on LOC is therefore doubly dangerous  To start the estimation process, LOC in the finished product must be estimated  The LOC estimate is then used to estimate the cost of the product — an uncertain input to an uncertain cost estimator

Slide 9.14 © The McGraw-Hill Companies, 2005 Metrics for the Size of a Product (contd) l Metrics based on measurable quantities that can be determined early in the software life cycle  FFP  Function points

Slide 9.15 © The McGraw-Hill Companies, 2005 FFP Metric l For cost estimation of medium-scale data processing products l The three basic structural elements of data processing products  Files  Flows  Processes

Slide 9.16 © The McGraw-Hill Companies, 2005 FFP Metric (contd) l Given the number of files ( Fi ), flows ( Fl ), and processes ( Pr )  The size ( S ), cost ( C ) are given by S =Fi + Fl + Pr C =b  S l The constant b (efficiency or productivity) varies from organization to organization

Slide 9.17 © The McGraw-Hill Companies, 2005 FFP Metric (contd) l The validity and reliability of the FFP metric were demonstrated using a purposive sample  However, the metric was never extended to include databases

Slide 9.18 © The McGraw-Hill Companies, 2005 Function Points l Based on the number of inputs ( Inp ), outputs ( Out ), inquiries ( Inq ), master files ( Maf ), interfaces ( Inf ) l For any product, the size in “function points” is given by FP = 4  Inp + 5  Out + 4  Inq + 10  Maf + 7  Inf l This is an oversimplification of a 3-step process

Slide 9.19 © The McGraw-Hill Companies, 2005 Function Points (contd) l Step 1.Classify each component of the product ( Inp, Out, Inq, Maf, Inf ) as simple, average, or complex  Assign the appropriate number of function points  The sum gives UFP (unadjusted function points) Figure 9.2

Slide 9.20 © The McGraw-Hill Companies, 2005 Function Points (contd) l Step 2. Compute the technical complexity factor ( TCF )  Assign a value from 0 (“not present”) to 5 (“strong influence throughout”) to each of 14 factors such as transaction rates, portability Figure 9.3

Slide 9.21 © The McGraw-Hill Companies, 2005 Function Points (contd) l Add the 14 numbers  This gives the total degree of influence ( DI ) TCF =  DI l The technical complexity factor ( TCF ) lies between 0.65 and 1.35

Slide 9.22 © The McGraw-Hill Companies, 2005 Function Points (contd) l Step 3.The number of function points ( FP ) is then given by FP = UFP  TCF

Slide 9.23 © The McGraw-Hill Companies, 2005 Analysis of Function Points l Function points are usually better than KDSI — but there are some problems l “Errors in excess of 800% counting KDSI, but only 200% in counting function points” [Jones, 1987]

Slide 9.24 © The McGraw-Hill Companies, 2005 Analysis of Function Points l We obtain nonsensical results from metrics  KDSI per person month and  Cost per source statement l Cost per function point is meaningful Figure 9.4

Slide 9.25 © The McGraw-Hill Companies, 2005 Analysis of Function Points l Like FFP, maintenance can be inaccurately measured l It is possible to make major changes without changing  The number of files, flows, and processes; or  The number of inputs, outputs, inquiries, master files, and interfaces l In theory, it is possible to change every line of code with changing the number of lines of code

Slide 9.26 © The McGraw-Hill Companies, 2005 Mk II function points l This metric was put forward to compute UFP more accurately l We decompose software into component transactions, each consisting of input, process, and output l Mark Ii function points are widely used all over the world

Slide 9.27 © The McGraw-Hill Companies, Techniques of Cost Estimation l Expert judgment by analogy l Bottom-up approach l Algorithmic cost estimation models

Slide 9.28 © The McGraw-Hill Companies, 2005 Expert Judgment by Analogy l Experts compare the target product to completed products  Guesses can lead to hopelessly incorrect cost estimates  Experts may recollect completed products inaccurately  Human experts have biases  However, the results of estimation by a broad group of experts may be accurate l The Delphi technique is sometimes needed to achieve consensus

Slide 9.29 © The McGraw-Hill Companies, 2005 Bottom-up Approach l Break the product into smaller components  The smaller components may be no easier to estimate  However, there are process-level costs l When using the object-oriented paradigm  The independence of the classes assists here  However, the interactions among the classes complicate the estimation process

Slide 9.30 © The McGraw-Hill Companies, 2005 Algorithmic Cost Estimation Models l A metric is used as an input to a model to compute cost, duration  An algorithmic model is unbiased, and therefore superior to expert opinion  However, estimates are only as good as the underlying assumptions l Examples  SLIM Model  Price S Model  COnstructive COst MOdel (COCOMO)

Slide 9.31 © The McGraw-Hill Companies, Intermediate COCOMO l COCOMO consists of three models  A macro-estimation model for the product as a whole  Intermediate COCOMO  A micro-estimation model that treats the product in detail l We examine intermediate COCOMO

Slide 9.32 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Step 1. Estimate the length of the product in KDSI

Slide 9.33 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Step 2. Estimate the product development mode (organic, semidetached, embedded) l Example:  Straightforward product (“organic mode”) Nominal effort = 3.2  (KDSI) 1.05 person-months

Slide 9.34 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Step 3. Compute the nominal effort l Example:  Organic product  12,000 delivered source statements (12 KDSI) (estimated) Nominal effort = 3.2  (12) 1.05 = 43 person-months

Slide 9.35 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Step 4. Multiply the nominal value by 15 software development cost multipliers Figure 9.5

Slide 9.36 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Example:  Microprocessor-based communications processing software for electronic funds transfer network with high reliability, performance, development schedule, and interface requirements l Step 1. Estimate the length of the product  10,000 delivered source instructions (10 KDSI) l Step 2. Estimate the product development mode  Complex (“embedded”) mode

Slide 9.37 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Step 3.Compute the nominal effort  Nominal effort = 2.8  (10) 1.20 = 44 person-months l Step 4. Multiply the nominal value by 15 software development cost multipliers  Product of effort multipliers = 1.35 (see table on next slide)  Estimated effort for project is therefore 1.35  44 = 59 person-months

Slide 9.38 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Software development effort multipliers Figure 9.6

Slide 9.39 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Estimated effort for project (59 person-months) is used as input for additional formulas for  Dollar costs  Development schedules  Phase and activity distributions  Computer costs  Annual maintenance costs  Related items

Slide 9.40 © The McGraw-Hill Companies, 2005 Intermediate COCOMO (contd) l Intermediate COCOMO has been validated with respect to a broad sample l Actual values are within 20% of predicted values about 68% of the time  Intermediate COCOMO was the most accurate estimation method of its time l Major problem  If the estimate of the number of lines of codes of the target product is incorrect, then everything is incorrect

Slide 9.41 © The McGraw-Hill Companies, COCOMO II l 1995 extension to 1981 COCOMO that incorporates  Object orientation  Modern life-cycle models  Rapid prototyping  Fourth-generation languages  COTS software l COCOMO II is far more complex than the first version

Slide 9.42 © The McGraw-Hill Companies, 2005 COCOMO II (contd) l There are three different models  Application composition model for the early phases Based on feature points (similar to function points)  Early design model Based on function points  Post-architecture model Based on function points or KDSI

Slide 9.43 © The McGraw-Hill Companies, 2005 COCOMO II (contd) l The underlying COCOMO effort model is effort = a (size) b  Intermediate COCOMO Three values for (a, b)  COCOMO II b varies depending on the values of certain parameters l COCOMO II supports reuse

Slide 9.44 © The McGraw-Hill Companies, 2005 COCOMO II (contd) l COCOMO II has 17 multiplicative cost drivers (was 15)  Seven are new l It is too soon for results regarding  The accuracy of COCOMO II  The extent of improvement (if any) over Intermediate COCOMO

Slide 9.45 © The McGraw-Hill Companies, Tracking Duration and Cost Estimates l Whatever estimation method used, careful tracking is vital

Slide 9.46 © The McGraw-Hill Companies, Components of a Software Project Management Plan l The work to be done l The resources with which to do it l The money to pay for it

Slide 9.47 © The McGraw-Hill Companies, 2005 Resources l Resources needed for software development:  People  Hardware  Support software

Slide 9.48 © The McGraw-Hill Companies, 2005 Use of Resources Varies with Time l Rayleigh curves accurately depict resource consumption l The entire software development plan must be a function of time Figure 9.7

Slide 9.49 © The McGraw-Hill Companies, 2005 Work Categories l Project function  Work carried on throughout the project  Examples: Project management Quality control

Slide 9.50 © The McGraw-Hill Companies, 2005 Work Categories l Activity  Work that relates to a specific phase  A major unit of work,  With precise beginning and ending dates,  That consumes resources, and  Results in work products like the budget, design, schedules, source code, or users’ manual

Slide 9.51 © The McGraw-Hill Companies, 2005 Work Categories (contd) l Task  An activity comprises a set of tasks (the smallest unit of work subject to management accountability)

Slide 9.52 © The McGraw-Hill Companies, 2005 Completion of Work Products l Milestone: The date on which the work product is to be completed l It must first pass reviews performed by  Fellow team members  Management  The client l Once the work product has been reviewed and agreed upon, it becomes a baseline

Slide 9.53 © The McGraw-Hill Companies, 2005 Work Package l Work product, plus  Staffing requirements  Duration  Resources  The name of the responsible individual  Acceptance criteria for the work product  The detailed budget as a function of time, allocated to Project functions Activities

Slide 9.54 © The McGraw-Hill Companies, Software Project Management Plan Framework l There are many ways to construct an SPMP l One of the best is IEEE Standard  The standard is widely accepted  It is designed for use with all types of software products  It supports process improvement Many sections reflect CMM key process areas  It is ideal for the Unified Process There are sections for requirements control and risk management

Slide 9.55 © The McGraw-Hill Companies, 2005 Software Project Management Plan Framework (contd) l Some of the sections are inapplicable to small- scale software  Example: Subcontractor management plan

Slide 9.56 © The McGraw-Hill Companies, IEEE Software Project Management Plan Figure 9.8

Slide 9.57 © The McGraw-Hill Companies, Planning Testing l The SPMP must explicitly state what testing is to be done l Traceability is essential l All black box test cases must be drawn up as soon as possible after the specifications are complete

Slide 9.58 © The McGraw-Hill Companies, Planning Object-Oriented Projects l An object-oriented product consists of largely independent pieces l Consequently, planning is somewhat easier l The whole is more than the sum of its parts l We can use COCOMO II (or modify Intermediate COCOMO estimators)

Slide 9.59 © The McGraw-Hill Companies, 2005 Planning of Object-Oriented Projects (contd) l However, reuse induces errors in cost and duration estimates  Reuse of existing components during development  Production of components for future reuse l These work in opposite directions l Newer data: The savings outweigh the costs

Slide 9.60 © The McGraw-Hill Companies, Training Requirements l “We don’t need to worry about training until the product is finished, and then we can train the user” l Training is generally needed by the members of the development group, starting with training in software planning l A new software development method necessitates training for every member of the group

Slide 9.61 © The McGraw-Hill Companies, 2005 Training Requirements (contd) l Introduction of hardware or software tools of any sort necessitates training l Programmers may need training in the operating system and/or implementation language l Documentation preparation training may be needed l Computer operators require training

Slide 9.62 © The McGraw-Hill Companies, Documentation Standards l How much documentation is generated by a product?  IBM internal commercial product (50 KDSI) 28 pages of documentation per KDSI  Commercial software product of the same size 66 pages per KDSI  IMS/360 Version 2.3 (about 166 KDSI) 157 pages of documentation per KDSI  [TRW] For every 100 hours spent on coding activities, 150–200 hours were spent on documentation-related activities

Slide 9.63 © The McGraw-Hill Companies, 2005 Types of Documentation l Planning l Control l Financial l Technical l Source code l Comments within source code

Slide 9.64 © The McGraw-Hill Companies, 2005 Documentation Standards l Reduce misunderstandings between team members l Aid SQA l Only new employees have to learn the standards l Standards assist maintenance programmers l Standardization is important for user manuals

Slide 9.65 © The McGraw-Hill Companies, 2005 Documentation Standards (contd) l As part of the planning process  Standards must be set up for all documentation l In a very real sense, the product is the documentation

Slide 9.66 © The McGraw-Hill Companies, CASE Tools for Planning and Estimating l It is essential to have  A word processor; and  A spreadsheet l Tool that automate intermediate COCOMO and COCOMO II are available l Management tools assist with planning and monitoring  MacProject  Microsoft Project

Slide 9.67 © The McGraw-Hill Companies, Testing the Software Project Management Plan l We must check the SPMP as a whole  Paying particular attention to the duration and cost estimates