Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Decision Analysis Techniques Chapters 10-20 in Software Engineering Economics Updated to MedFRS Economics – The study of how people make decisions.

Similar presentations


Presentation on theme: "Software Decision Analysis Techniques Chapters 10-20 in Software Engineering Economics Updated to MedFRS Economics – The study of how people make decisions."— Presentation transcript:

1 Software Decision Analysis Techniques Chapters in Software Engineering Economics Updated to MedFRS 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? Correction on slide /10/05

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

3 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)

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

5 MedFRS TPS Context Current Ensayo processing capacity less than needed in crises Top performance less than 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 mostly for business applications And can’t achieve 4000 tr/sec MedFRS considering developing or outsourcing its own server software

6 MedFRS TPS Architecture - variant on SWEngrEcon book architecture
FRS Devices MedFRS communications hub vehicles (CHVs) Ensayo Regional Server Area Concentrators 1 N Medical DB DB Server Patient DB

7 MedFRS TPS Concept of Operation
MedFRS devices end patient trauma information to CHVs CHVs validate information and forward them to area concentrators at regional MedFRS server Usually about 10 local concentrators per area N area concentrators use MedFRS server to determine best near-term treatment Send back to device operators via CHVs Multiprocessor overhead due to resource contention, coordination

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

9 COTS/New Development Cost Tradeoff Analysis
COTS $K New Development $K Software Cost to acquire Integrate & test Included Run-time licenses N Not applicable 5-year maintenance N 151 N 757 Server N N Total N N

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

11 MedFRS 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) =

12 TPS Performance, E(N) MOPS/sec available for processing
MOPS/sec required per transaction E(N) = N [ (N-1)] 1.0 = N [ )-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 0 = = N*

13 TPS throughout: E(N) versus # 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

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

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

16 Segments of Production Function
Output Input High payoff Diminishing returns Investment

17 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

18 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

19 Software Gold-Plating
Agents with attitudes Animated displays “everything for everybody” Modularity, info. hiding Measurement, diagnostics 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

20 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

21 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

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

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

24 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)

25 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)

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

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

28 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


Download ppt "Software Decision Analysis Techniques Chapters 10-20 in Software Engineering Economics Updated to MedFRS Economics – The study of how people make decisions."

Similar presentations


Ads by Google