Fundamentals of Software Engineering Economics (I)

Slides:



Advertisements
Similar presentations
Software Decision Analysis Techniques Chapters in Software Engineering Economics Economics – The study of how people make decisions in resource-limited.
Advertisements

McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. 5 Capacity Planning For Products and Services.
CAPACITY LOAD OUTPUT.
Chapter McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. 9 Net Present Value and Other Investment Criteria.
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 9 Net Present Value and Other Investment Criteria.
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. 9 Net Present Value and Other Investment Criteria.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
© 2003 The McGraw-Hill Companies, Inc. All rights reserved. Net Present Value and Other Investment Criteria Chapter 9.
Project Analysis and Evaluation
0 Role of Economic Analysis in Cost-Benefit Analysis.
Chapters Net value and marginal analysis Decision rules Example Present value analysis Reconciling present and future cash flows Discounting Figures.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Model Building and Simulation Chapter 43 Research Methodologies.
© McGraw-Hill/Irwin 2004 Information Systems Project Management—David Olson 4-1.
© 2003 The McGraw-Hill Companies, Inc. All rights reserved. Net Present Value and Other Investment Criteria Chapter Nine.
Operations Management
Chapters Multiple-Goal Decision Analysis II Goals as constraints –TPS example –Constrained optimization –Linear programming System Analysis Dealing.
Chapter 2 A Strategy for the Appraisal of Public Sector Investments.
Chapter 1: Introduction to Economic Decision Making Central Proposition: Decision Making Is At The Heart of Most Individual, Business, & Government Problems.
Leasing Chapter 27 McGraw-Hill/Irwin
Stevenson and Ozgur First Edition Introduction to Management Science with Spreadsheets McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies,
Chapter1 Software Economics.
Role and Components of Project Evaluation
Chapter 10 Architectural Design
1 Software Process Lecture Outline Nature of software projects Engineering approaches Software process A process step Characteristics of a good.
Chapter 5 Presented by Group 6
A Comparison of Approaches to Investment Analysis John Favaro Proc. Fourth International Conference on Software Reuse, 1996, IEEE Computer Press, p
ACCOUNTING INFORMATION SYSTEMS
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Introduction A GENERAL MODEL OF SYSTEM OPTIMIZATION.
© 04/08/20011 Logistics Systems Engineering System Cost Analysis NTU SY-521-N SMU SYS 7340 Dr. Jerrell T. Stracener, SAE Fellow.
Slide Sets to accompany Blank & Tarquin, Engineering Economy, 6 th Edition, 2005 © 2005 by McGraw-Hill, New York, N.Y All Rights Reserved 12-1 Developed.
CS 510 Midterm 2 Q&A Fall 2014 Barry Boehm November 10, 2014.
Chapter McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Risk and Capital Budgeting 13.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. 5 Capacity Planning For Products and Services.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Chapter 1 Introduction n Introduction: Problem Solving and Decision Making n Quantitative Analysis and Decision Making n Quantitative Analysis n Model.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Financial Management (An Introduction). Contents of the Chapter Meaning of Finance Meaning of Financial Management Three Major Decisions of Financial.
© 2012 Pearson Prentice Hall. All rights reserved. Using Costs in Decision Making Chapter 3.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
ECONOMICS OF TRAVEL &TOURISM
1 COCOMO II Estimation Example: Transaction Processing System (TPS) II Based on Chapter 3 of COCOMO II book Used for new microeconomics examples –Replaces.
Fundamentals of Software Engineering Economics (IV) 1 LiGuo Huang Computer Science and Engineering Southern Methodist University Software Engineering Economics.
Fundamentals of Software Engineering Economics (II) 1 LiGuo Huang Computer Science and Engineering Southern Methodist University Software Engineering Economics.
Think … Share 1 2 Chapter one Environmental Economics Applying Economic tools on Environmental.
Accounting systems design & evaluation 9434SB 18 March 2002.
Factors to consider System component costs Methods
OPERATING SYSTEMS CS 3502 Fall 2017
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
CS 510, Fall 2017 Edited & presented by Jim Alstad
Software Decision Analysis Techniques Chapters in Software Engineering Economics Updated to MedFRS Economics – The study of how people make decisions.
Capacity Planning For Products and Services
Capacity Planning For Products and Services
Multiple Goal Decision Analysis I
Multiple Goal Decision Analysis I
CS 510, Fall 2017 Edited & presented by Jim Alstad
Stevenson 5 Capacity Planning.
Multiple Goal Decision Analysis I Chapters in SEE Updated to MedFRS
Fundamentals of Software Engineering Economics (III)
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Software Decision Analysis Techniques Chapters in Software Engineering Economics Economics – The study of how people make decisions in resource-limited.
Capacity Planning For Products and Services
Presentation transcript:

Fundamentals of Software Engineering Economics (I) Cost Effective Analysis (Chapters 10-20) LiGuo Huang Computer Science and Engineering Southern Methodist University

Software Decision Analysis Techniques Economics – The study of how people make decisions in resource-limited situations Macroeconomics Inflation, taxation, balance of payments Microeconomics Make-or-buy, pricing, how much to build Software economics decisions Make-or-buy: Software Product How many options to build? Which DP architecture to use? How much testing (prototyping, specifying) is enough? How much software to re-use? Which new features to add first?

Outline of Chapters 10-12. Context; TPS II Example; Cost-Effectiveness Analysis Models, optimization, production functions, economies of scale decision criteria 13-15. Multiple-Goal Decision Analysis I Net value, marginal analysis, present value, figures of merit. 16-18. Multiple-Goal Decision Analysis II Goals as constraints, constrained optimization, system analysis, unquantifiable goals 19-20. Dealing with Uncertainties Expected value, utility functions, statistical decision theory, value of information

Master Key to Software Engineering Economics Decision Analysis Techniques All decision criteria (DCs) convertible to present $? Yes Use standard optimization, net value techniques (chapters 10, 13) outcome Is of decision highly sensitive to assumptions? (chapter 17) No Use standard constrained- optimization techniques (chapter 16) Yes Yes All Non-$ DCs expressible as constraints? Find, use less sensitive solution No Use cost-benefit (CB) decision making techniques (chapters 11, 12) All Non- $ DCs expressed as single “benefit” criterion? Yes End No Use figure of-merit techniques, CB techniques (chapter 15) Use present value techniques to convert future $ to present $ (chapter 14) Yes When $ are a mix of present and future cash flows All Non-$ DCs quantifiable? Use statistical decision theory techniques (Chapters 19,20) When some DCs involve uncertainties No Use techniques for reconciling non-quantifiable DCs (chapter 18)

Chapters 10-12 Cost-Effectiveness Analysis Introduction Example: transaction processing system (TPS II) Performance models Cost-performance models Production functions: economies of scale Cost-effectiveness decision criteria Summary

TPS II Business Context Current TPS inadequate for growing workload Travel reservations: air, rail, car, hotel Top performance: 1000 transactions/second (tr/sec) Need 2000 tr/sec soon Need growth to 4000 tr/sec COTS server capability can provide over 2000 tr/sec But can’t achieve 4000 tr/sec Consider developing your own server software

TPS II System Architecture - variant on COCOMO II book architecture … … … … … … … Clients … … … Companies Travel agents About 10/region Local Concentrators Server … Regional Concentrators 1 N Financial DB DB Server Services DB

TPS II Concept of Operation Clients prepare and send travel-itinerary requests to local concentrator Package of air, rail, car, hotel reservation requests Local concentrators validate requests and forward them to regional concentrators at server Usually about 10 local concentrators per region N Regional concentrators use DB server to develop best-match travel itinerary package Send back to clients via local concentrators Multiprocessor overhead due to resource contention, coordination

COTS vs. New Development Cost Tradeoff: TPS II Build special version of server systems functions To reduce COTS server software overhead, improve transaction throughput Server systems software size: 20,700 SLOC Server systems, library integration, status monitoring COTS license tradeoffs vs. number of regional concentrators N Need 10 N licenses for local concentrators $1K each for acquisition, $1K each for 5-year maintenance

COTS/New Development Cost Tradeoff Analysis COTS $K New Development $K Software Cost to acquire 100 606 Integrate & test 100 Included Run-time licenses 10N Not applicable 5-year maintenance 10N 151 200 + 20N 757 Server 250 + 20N 250+20N Total 450 + 40N 1007 + 20N

COTS/New Development Cost Tradeoff 1200 1000 Life Cycle Cost, $K 800 New 600 400 200 10 20 30 40 50 Number of Regional Concentrators, N Now, we need to address the benefit tradeoffs

TPS Decision 1 How Many Regional Concentrators in Server? Performance Parameters N, number of processors N = ? S, processor speed (MOPS/sec) S = 1000 P, processor overhead (MOPS/sec) P = 200 M, multiprocessor overhead factor M = 80 [overhead=M(N-1) MOPS/sec] T, transaction processing time (MOPS/TR) T = 1.0 Performance (TR/sec) MOPS/sec available for processing MOPS/TR required per transaction N[S-P-M(N-1)] T E(N) = E(N) =

TPS Performance, E(N) KOPS/sec available for processing KOPS/sec required per transaction E(N) = N [ 1000-200-80(N-1)] 1.0 = N [1000-200+80)-80N2 = 880N – 80N2 = 80N(11-N) dE(N) dN 160N* = 880 N* = 5.5 E(N)* = 2440 = N E(N) 1 800 2 1440 3 1920 4 2240 5 2400 6 7 11 = 880 - 160N* =0

TPS throughout: E(N) versus number of processors, N 1 800 2 1440 3 1920 4 2240 5 2400 6 7 8 1960 E(N) (tr/sec) Number of processors N

Performance Model A sequence of formulas that determine the estimated system performance in terms of a set of variables (system parameters) Uses of Performance Models in Software Engineering Optimal performance information Use derivatives to find optimum points Sensitivity analysis information

Multiple Maxima or Minima E(x) x0 x

Points of Inflection E(x) x

Saddle Points

Inflection and Saddle Points 2nd and 3rd derivatives Infection Points 2nd derivative = 0; 3rd derivative ≠ 0 Saddle Points 2nd derivative positive in some directions and negative in others Maxima 2nd derivative positive in all directions Minima 2nd derivative negative in all directions

Sensitivity Analysis I

Sensitivity Analysis II Partial derivative TPS example: the partial derivative of E with respect to M Software Engineering sensitivity analysis Feasibility studies during the exploratory and conceptual phases Risk analyses during plans, requirements and product design phases Difficult to compute partial derivatives for complicated function E Pick neighboring values of the parameter, compare the resulting values of E

TPS Decision 2 Which Operating System? Option A (Accept Available OS) B (Build New OS) Cost ($k) 450 + 40N 1007 + 20N Multiprocessor overhead factor M O/H = M(N-1) 80 40 E(N) = Option B: N(1000-200-40(N-1)) E(N) = = 840N-40N2 1.0 = 40N(21-N) For N = 10, E(N) = 40(10)(11) = 4400

Cost-Effectiveness Comparison: TPS II Options A, B 5000 Option B E(N) = 40N(21 – N) C(N) = 1007 + 20N 4000 3000 2000 1000 450 650 1207 500 1000 1500 Cost C, $K

Production Function Achievable output = F (input consumed) -Assuming only technologically efficient pairs: No higher level of output achievable, using given input X Output Input PF is nonnegative PF is nondecreasing

Segments of Production Function Output Input High payoff Diminishing returns Investment

Value of software product to organization Natural speech input Tertairy application functions Animated displays Secondary application functions User amenities Value of software product to organization Main application functions Basic application functions Operating System Data management system Investment High-payoff Diminishing returns Cost of software product

Software Project Diseconomies of Scale SLOC Output 1 + x PM = C (KSLOC) Person – Months Input The best way to combat diseconomies of scale is to Reduce the Scale

Combat Diseconomies of Scale Reduce the Scale ! Prototyping Incremental development Wish-list pruning Avoid gold-plating Hardware-software products System partition

Software Gold-Plating Frequently Gold-Plating Instant response Pinpoint accuracy Unbalanced systems Usually Not Gold-Plating Humanized input Humanized output Sometimes Gold-Plating Highly generalized control, data structures Sophisticated command languages General-purpose utilities Automatic trend analysis Agents with attitudes Animated displays “everything for everybody” Modularity, info. hiding Measurement, diagnostics

Modular Transaction Processing System Module 1 E(2 x 3) = 2 x E(3) = 3840 vs. 2400 P11 P12 P13 1 Trans. in Processed Transaction out P21 P22 P23 2 Module 2

Cost-Effectiveness Decision Criteria Maximum available budget Minimum performance requirement Maximum effectiveness/cost ratio Maximum effectiveness – cost difference Return on investment (ROI) Composite alternatives

Production Functions for TPS II Options A, B 1207 2400 4400 X Y Q Z P E (tr/sec) 1007 650 450

Minimum Performance Requirement Impose an overly rigorous performance requirement can lead to an unsatisfactory commitment Suppose our application requires a performance of at least 2500 tr/sec

Maximum Effectiveness/Cost Ratio 1200 2000 1600 800 400 2400 100 200 300 500 600 700 R L Eff/Cost = 8 K Eff/Cost = 3.69 C, $K E (tr/sec)

Maximum Effectiveness-Cost Difference 1000 2000 3000 4000 5000 500 1500 2400 1750 650 1207 3193 4400 B-Build new OS A-Accept available OS Cost C, $K Throughput E(TR/sec)

Return on Investment ROI E-C C Cost C ($K) 1 2 3 4 5 500 1000 1500 2.67 2.60 A B

Production Function for TPS Composite Alternative 2400 4400 E C, $K E (r/sec) 450 1007 1207 650

Summary – Cost-Effectiveness Analysis Microeconomic concepts help structure, resolve software decision problems Cost-effectiveness Production functions Economies of scale C-E decision criteria No single decision criterion dominates others Each is best for some situations Need to perform sensitivity analysis: Slightly altered situation doesn’t yield bad decision