Slide 14.1 An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004 Stephen R. Schach srs@vuse.vanderbilt.edu Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 14 MANAGEMENT ISSUES Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.2 Chapter Overview Cost–Benefit Analysis Risk Analysis Improving the Process Metrics CPM/PERT Choice of Programming Language Reuse Reuse Case Studies Portability Why Portability? Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.3 Cost–Benefit Analysis Slide 14.4 An information system will be constructed only if it is cost-effective to do so A popular technique for determining this – Compare estimated future benefits against projected future costs – This is termed cost–benefit analysis Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Cost–Benefit Analysis (contd) Slide 14.5 Tangible benefits are easy to measure, but – Intangible benefits can be hard to quantify directly A way of assigning a dollar value to intangible benefits is to make assumptions – In the absence of data, this is the best that can be done – Better assumptions mean better data and more accurate calculation of intangible benefits The same technique can be used for intangible costs Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Cost–Benefit Analysis (contd) Slide 14.6 Cost–benefit analysis is a fundamental technique for deciding – Whether a client should computerize his or her business and, if so – In what way For each strategy, costs and benefits are computed – Select the strategy for which the difference between benefits and costs is the largest Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis Slide 14.7 A risk is an event or condition that can cause the delivery of an information system to be – – – – Canceled Delayed Over budget, or Not to meet its requirements Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) Slide 14.8 Risks include: – The project may not meet its time constraints – The moving target problem can result in time and cost overruns – The delivered information system may not meet the client’s real needs – The developers may not have the needed expertise Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) Slide 14.9 – The hardware may not be delivered in time – The CASE tools may not be available, or may not have all the needed functionality – A COTS package with the same functionality may be put on the market while the project is underway Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) The first step – List the risks in a project Risk management is the process of – Determining what the risks are, and then – Attempting to mitigate them » Minimize their impact Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.10 Risk Analysis (contd) Slide 14.11 Example 1: – To mitigate the risk that part of a proposed information system will not work » Build a proof-of-concept prototype Example 2: – To mitigate the risk that the development team will not have the necessary skills » Provide training Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) Risks are like diseases – – – – Sometimes they go away spontaneously They often get better or worse without intervention Minor ones merely need to be watched, but Major ones need to be cured (mitigated) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.12 Risk Analysis (contd) Slide 14.13 A risk list must therefore be maintained For each item on the list, the following items are recorded: – A description of the risk – The priority of the risk (critical, significant, or routine) » The priority can change, in either direction – The way the project is impacted by the risk – The name of the person responsible for monitoring the risk – The action to be taken if the risk materializes Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) Risk analysis is integral to the Unified Process During the inception phase Slide 14.14 – The risk list is drawn up – Attempts are made to mitigate the critical risks – The use cases are prioritized according to their risks During the elaboration phase – The risks are monitored – The risk list is updated » Particularly with regard to priorities Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Risk Analysis (contd) Slide 14.15 During the construction phase – The risk list is again updated During the transition phase – Attempts are made to find any previously unidentified risks Risk analysis does not terminate when the product is delivered to the client – The risk list must be maintained through the entire life cycle of the product Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Improving the Process Slide 14.16 The global economy is critically dependent on computers – And hence on information systems Many governments are concerned about the information system development process – This includes the activities, techniques, and tools used to produce information systems Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Improving the Process (contd) Slide 14.17 The Department of Defense founded the Software Engineering Institute at Carnegie Mellon University in Pittsburgh A major success of the Software Engineering Institute is the Capability Maturity Model (CMM) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models Slide 14.18 The capability maturity models of the Software Engineering Institute – A related group of strategies for improving the process for developing information systems » (Maturity is a measure of the goodness of the process itself) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.19 The Software Engineering Institute has developed CMMs for – Software (SW–CMM) – Management of human resources (P–CMM; the P is for “people”) – For systems engineering (SE–CMM) – For integrated product development (IPD–CMM), and – For software acquisition (SA–CMM) In 1997 it was decided to develop a single integrated framework for maturity models – Capability maturity model integration (CMMI) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.20 SW–CMM is presented here – SW–CMM incorporates technical and managerial aspects of the development of an information system Underlying principle: – The use of new techniques cannot result in increased productivity and profitability – Problems are caused by the way the process is managed – Improving the management of the process will result in » Improvements in technique » Better-quality information systems, and » Fewer projects with time and cost overruns Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.21 Improvements in the process cannot occur overnight – The SW–CMM induces change incrementally Five different levels of maturity are defined – An organization advances slowly toward the higher levels of process maturity Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.22 Maturity Level 1: Initial Level No information system management practices are in place – – – – Instead, everything is done ad hoc Most activities are responses to crises The process is unpredictable It is impossible to make accurate time and cost estimates Most development organizations worldwide are still at level 1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Maturity Level 2: Repeatable Level Basic information system project management practices are in place Slide 14.23 – Planning and management techniques are based on experience » Hence the name “repeatable” – Measurements are taken » The essential first step in achieving an adequate process – Without measurements, it is impossible to detect problems before they get out of hand – Also, measurements taken during one project can be used to draw up realistic schedules for future projects Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.24 Maturity Level 3: Defined Level The process for information system development is fully documented – Managerial and technical aspects of the process are clearly defined » Continual efforts are made to improve the process At this level, it makes sense to introduce new technology such as CASE – In contrast, “high tech” only makes the crisis-driven level 1 process even more chaotic Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) A number of organizations have attained maturity levels 2 and 3 – Not many have reached levels 4 or 5 Slide 14.25 For most companies the two highest levels are targets for the future Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.26 Maturity Level 4: Managed Level A level 4 organization sets quality and productivity goals for each project – These two quantities are measured continually – Action is taken if there are deviations from the goals Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Maturity Level 5: Optimizing Level The goal of a level 5 organization is continuous process improvement Slide 14.27 – Statistical quality and process control techniques are used to guide the organization The knowledge gained from each project is utilized in future projects – The process thus incorporates a positive feedback loop Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) The five maturity levels Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.28 Capability Maturity Models (contd) Slide 14.29 To improve its process, an organization – Attempts to understand its current process – Formulates the intended process – Determines and ranks in priority actions that will achieve this process improvement – Draws up and executes a plan to accomplish this improvement This series of steps then is repeated – The organization successively improves its process Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.30 Experience with the capability maturity model – Advancing a complete maturity level usually takes from 18 months to 3 years » But moving from level 1 to level 2 can take up to 5 years » It is difficult to instill a methodical approach in a level 1 organization Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.31 For each maturity level there are key process areas that an organization should target to reach the next maturity level Example: The key process areas for level 2 include – – – – – Configuration control Quality assurance Project planning Project tracking Requirements management Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.32 These areas cover the basic elements of information system management: – Determine the client’s needs (requirements management) – Draw up a plan (project planning) – Monitor deviations from that plan (project tracking) – Control the pieces that make up the information system (configuration management), and – Ensure that the information system is fault free (quality assurance) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.33 A level 5 organization is far more advanced than a level 2 organization Example: – A level 2 organization is concerned with quality assurance, that is, with detecting and correcting faults – The process of a level 5 organization incorporates fault prevention, that is, ensuring there are no faults in the first place Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Capability Maturity Models (contd) Slide 14.34 An original goal of the CMM program was to raise the quality of defense software – By awarding contracts to only those defense contractors who demonstrate a mature process The U.S. Air Force stipulated conformance to SW– CMM level 3 by 1998 – The Department of Defense as a whole subsequently issued a similar directive Today, the SW–CMM program is being implemented by development organizations worldwide Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Other Process Improvement Initiatives Slide 14.35 The International Organization for Standards (ISO) – 9000-series standards Set of five standards for industrial activities – Standard ISO 9001 for quality systems – Standard ISO 9000-3, guidelines to apply ISO 9001 to information systems Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Other Process Improvement Initiatives Slide 14.36 There is an overlap between ISO 9000 and CMM, but they are not identical – ISO 9000 is not process improvement – The stress is on documenting the process » With an emphasis on measurement and metrics – ISO 9000 is required to do business with the E.U. – Also by many U.S. businesses, for example, GE – More and more U.S. businesses are ISO 9000 certified Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Other Process Improvement Initiatives Slide 14.37 ISO/IEC 15504 is an international process improvement initiative, like ISO 9000 – It was formerly known as SPICE » (Software Process Improvement Capability dEtermination) An international process improvement initiative – – – – Started by the British Ministry of Defence (MOD) It includes process improvement, software procurement It extends and improves CMM and ISO 9000 It is a framework, not a method » CMM and ISO 9000 conform to this framework – Now it is referred to as ISO/IEC 15504 » Or just 15504 for short Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Costs and Benefits of Process Improvement Slide 14.38 Implementing information system process improvement leads to increased profitability Example 1: – Hughes Aircraft spent nearly $500,000 between 1987 and 1990 for assessments and improvement programs – During this 3-year period, Hughes Aircraft moved up from maturity level 2 to level 3 – Hughes Aircraft estimates its annual savings to be of the order of $2 million Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Costs and Benefits of Process Improvement Slide 14.39 These savings have accrued in number of ways, including – – – – Decreased overtime hours Fewer crises Improved employee morale Lower turnover of information technology professionals Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Costs and Benefits of Process Improvement Slide 14.40 Example 2: – The Equipment Division at Raytheon moved from level 1 in 1988 to level 3 in 1993 – A twofold increase in productivity resulted, as well as – A return of $7.70 for every dollar invested in the process improvement effort More and more organizations worldwide are realizing that process improvement is cost effective Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CMM and CASE Slide 14.41 Many CASE environments automate a manual process – If an organization selects a CASE environment that enforces an inappropriate process – Use of that CASE environment is counterproductive It is worse when an organization at CMM level 1 or 2 uses a CASE environment – Because there is no defined process in place Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CMM and CASE (contd) Slide 14.42 Every organization should use CASE tools – And there generally is little harm in using a workbench However, an environment imposes an automated process on the organization that uses it If the organization is at level 3 or higher – A CASE environment is appropriate to aid information system production by automating that process But if the organization is at levels 1 and 2 – No process as such is in place – Introduction of a CASE environment leads to chaos Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Metrics Measurements (or metrics) are essential to detect problems early in the information system process – Before they get out of hand Slide 14.43 Metrics serve as an early warning system for potential problems Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Metrics A wide variety of metrics can be used, such as – – – – – – LOC measurements Mean time between failures Effort in person-months Personnel turnover Cost Efficiency of fault detection Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.44 Metrics (contd) Slide 14.45 Gathering metrics data costs money – Even when data gathering is automated, the CASE tool that accumulates the information is not free – Interpreting the output from the tool consumes human resources Numerous different metrics have been put forward – Which metrics should an information system organization measure? Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Metrics (contd) There are five essential, fundamental metrics: – – – – – Size (in lines of code, or better) Cost (in dollars) Duration (in months) Effort (in person-months), and Quality (number of faults detected) Each metric must be measured by phase or workflow Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.46 Metrics (contd) Slide 14.47 Data from these fundamental metrics can highlight problems such as – High fault rates during the design workflow – Code output that is well below the industry average A strategy to correct these problems is then put into place To monitor the success of this strategy, more detailed metrics can be introduced Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT Slide 14.48 More general types of management information are also needed Example: – Critical path management (CPM), otherwise known as – Program evaluation review techniques (PERT) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) When developing an information system – Many hundreds of activities have to be performed – Some activities have to precede others – Other activities can be carried on in parallel Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.49 CPM/PERT (contd) Slide 14.50 Example: – Two activities are started at the same time – They can be performed in parallel – Both have to be completed before proceeding with the project as a whole – The first takes 12 days, but the second needs only 3 days Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.51 The first activity is critical – Any delay in the first activity will cause the project as a whole to be delayed However, the second activity can be delayed up to 9 days without adversely impacting the project – There is a slack of 9 days associated with the second activity Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) When using PERT/CPM, the manager inputs – The activities – Their estimated durations – Any precedence relations Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.52 CPM/PERT (contd) Slide 14.53 The PERT/CPM package will then – Determine which of the hundreds of activities are critical – Compute the slack for each of the noncritical activities – Print out a PERT chart showing the precedence relationships, and – Highlight the critical path » The path through the chart that consists of critical activities only » If any activity on the critical path is delayed, then so is the project as a whole Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Simple PERT chart Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.54 CPM/PERT (contd) Slide 14.55 There are 12 activities and 9 milestones – A milestone is an event used to measure progress, such as the completion of an activity or set of activities Starting with milestone A, activities AB, AC, and AD can be started in parallel Activity FJ cannot start until both BF and CF are finished Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.56 The project as a whole is complete when activities HJ, FJ, and GJ are all complete Completing the whole project will take at least 25 days Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.57 The critical path is ACGJ – If any one of the critical activities » AC, CG, or GJ is delayed in any way, the project as a whole will be delayed However, if activity AD is delayed by up to 15 days, the project as a whole will not be delayed – There is a slack of 15 days associated with activity AD Now suppose that activity AD is delayed by 15 days Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.58 The situation at day 17 – Actual durations of completed activities are underlined Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.59 There are now two critical paths – Activity DG has become critical Simply printing out a PERT chart showing the expected durations is useless – Data regarding actual durations must be input continually – The PERT chart must be updated Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.60 How is the PERT data continually updated? – The task is too large for humans—a CASE tool is needed – All the information system development tools must integrated – Information of all kinds, including » » » » » Source code Designs Documentation Contracts, and Management information must be stored in a system development database Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CPM/PERT (contd) Slide 14.61 The CASE tool that generates the PERT chart then obtains its information directly from the database – Thus, what is needed is a CASE environment Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language Slide 14.62 In what language should the information system be implemented? – This is usually specified in the contract But what if the contract specifies – The product is to be implemented in the “most suitable” programming language What language should be chosen? Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.63 Example – QQQ Corporation has been writing COBOL programs for over 25 years – Over 200 software staff members, all with COBOL expertise – What is “the most suitable” programming language? Obviously COBOL Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.64 What happens when new language (Java, say) is introduced – – – – – – New hires are needed Existing professionals must be retrained Future products are written in Java However, existing COBOL products must be maintained Expensive software is needed, and the hardware to run it 100s of person-years of expertise with COBOL are wasted There are now two classes of programmers – COBOL maintainers (despised) – Java developers (paid more) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.65 The solution: – OO-COBOL » Object-oriented COBOL—2002 QQQ Corporation train their technical staff in – The object-oriented paradigm in general, and – OO-COBOL in particular QQQ Corporation can then – Develop new information systems in OO-COBOL, and – Maintain existing information systems in traditional COBOL Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.66 Where there is no clear reason for choosing one programming language over another – Use cost–benefit analysis » Management must compute costs and benefits of each language under consideration » The language with the largest expected gain is chosen – Alternatively, risk analysis can be used » For each language, a list is made of the potential risks and ways of mitigating them » The language with the smallest overall risk is selected Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.67 Which is the appropriate object-oriented language today? – Twenty years ago, there was only one choice—Smalltalk – Today the most widely used object-oriented language is C++ – Java is in second place Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.68 C++ is popular because of its similarity to C – C++ is a superset of C – C++ is therefore a hybrid object-oriented language – Managers therefore often assume that a C programmer can quickly pick up the rest Conceptually C++ is quite different from C – C is for the traditional paradigm – C++ is for the object-oriented paradigm Before an organization adopts C+ – Training in the object-oriented paradigm must be given Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.69 Java is a pure object-oriented programming language Education and training are even more important with Java than a hybrid object-oriented language – Like C++ or OO-COBOL Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Choice of Programming Language (contd) Slide 14.70 What of the future? Existing information systems – COBOL will remain the most widely used language New information systems – Will be written in object-oriented languages like » C++ » Java » C# Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Reuse Slide 14.71 Instead of utilizing previously developed programs, organizations all over the world develop their own programs from scratch – Why do information technology professionals continually reinvent the wheel? Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Reuse Concepts Slide 14.72 Reuse – Using artifacts of one information system when developing a different information system with different functionality Reusable artifacts include – – – – – – Modules Code fragments Design artifacts Part of manuals Sets of test data Duration and cost estimates Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Reuse Concepts Two types of reuse – Accidental reuse (or opportunistic reuse) » First, the information system is built » Then, artifacts are put into the artifact database for reuse – Planned reuse » First, reusable artifacts are constructed » Then, information systems are built using these artifacts Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.73 Reuse Concepts (contd) Slide 14.74 A strength of deliberate reuse – A artifacts specially constructed for reuse are likely to be » » » » » Easy and safe to reuse Robust Well documented Thoroughly tested Uniform in style A weakness of deliberate reuse – There can be no guarantee that such an artifact will ever be reused Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Reuse Concepts (contd) Slide 14.75 Reasons for reuse – It is expensive to design, implement, test, and document software – On average, only 15% of new code serves an original purpose – Reuse of parts saves » » » » Design costs Implementation costs Testing costs Documentation costs So why do so few organizations employ reuse? Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Impediments to Reuse There are a number of obstacles to reuse: – – – – Slide 14.76 The not invented here (NIH) syndrome Concerns about faults in potentially reusable routines The storage–retrieval problem Costs of reuse All these can be solved Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Impediments to Reuse Slide 14.77 Legal issues can arise with a contract information system – The information system usually belongs to the client – Reuse of an artifact for another client constitutes theft of intellectual property Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Reuse Case Studies Slide 14.78 Six case studies show that reuse is practical – They span the 25-year period from 1976 to 2000 What reuse rates can be expected? – The theoretical maximum is 85% – The case studies show what can be achieved in practice Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Raytheon Missile Systems Division Over 5,000 COBOL information systems were analyzed Planned reuse of Slide 14.79 – Design artifacts » 6 code templates (sort data, edit or manipulate data, combine data, explode data, update data, report on data) – COBOL code » 3200 code artifacts Reuse rate 60% (1976–1982) – Productivity increase of 50% Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Toshiba Fuchu Works, Tokyo Industrial process control systems Accidental reuse of – – – – – – Specifications Designs Modules Contracts Manuals Standards Reuse rate (1985) – 33% design – 48% code Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.80 NASA Software Slide 14.81 Ground support system for unmanned spacecraft control Management permitted (but did not encourage) accidental reuse Accidental reuse of code modules Reuse rate (1982) – 28% reused unchanged – 10% reused with minor changes Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. GTE Data Services Slide 14.82 Data-processing software Reuse was strongly encouraged by management – Cash incentives when module was accepted for reuse – Cash incentive when module was reused Accidental reuse of modules Reuse rate – (1988) 15% reused code, $1.5 million saved – (est. 1989) 20% reused code – (est. 1993) 50% reused code Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Hewlett-Packard Slide 14.83 Reuse has been implemented in many divisions of the company Software Technology Division – – – – – – Resource planning software Accidental reuse of code modules 4.1 faults per KLOC of new code, 0.9 for reused code Overall fault rate decreased by 51% Productivity increased by 57% Cost $1 million, savings $4.1 million (1983–92) Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Hewlett-Packard (contd) Slide 14.84 San Diego Technical Graphics (STG) – Planned reuse of firmware for printers – The program cost $2.6 million, the savings were $5.6 million (1987–94) – 24% reduction in faults – 40% increase in productivity – 24% decrease in delivery time – Cost of developing reusable software—11% more – Cost of reusing it—19% of developing it from scratch Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Hewlett-Packard (contd) Slide 14.85 Hewlett-Packard makes a wide variety of printers – They try to have common software in all printer models Between 1995 and 1998, for a new printer model – The effort to develop the code decreased by a factor of 4 – The time to develop the code decreased by a factor of 3 Over 70 percent of the components of the code are reused, almost unchanged, from earlier products Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. European Space Agency Slide 14.86 On June 4, 1996 – The Ariane 5 rocket blew up 37 seconds after lift-off Cost: $500 million Reason: – A computer tried to convert a number from one format into another – The number being converted was too large for this conversion to be possible The on-board computers crashed, so did the rocket Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. European Space Agency (contd) Slide 14.87 The conversion was unnecessary – Computations on the inertial reference system can stop 9 seconds before lift-off – But, if there is a subsequent hold in the countdown, it takes several hours to reset the inertial reference system – Computations therefore continue 50 seconds into the flight Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. European Space Agency (contd) Slide 14.88 The cause of the problem – Ten years before, it was mathematically proved that the problem could not occur—on the Ariane 4 – The software was used, unchanged and untested, on the Ariane 5 – However, the assumptions for the Ariane 4 did not hold for the Ariane 5 Lesson – Artifacts developed in one context needs to be retested when integrated into a different context Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Size of Reused Components Slide 14.89 NASA – Most reused components were small Toshiba – Many large components were reused GTE – Many large components were reused Reason – A strong managerial commitment to reuse is needed Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Portability Slide 14.90 Every information system must be portable – That is, easily adapted to run on different hardware– operating system combinations Hardware is replaced every 4 years or so There are several obstacles to portability Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Hardware Incompatibilities Sources of incompatibilities include – Diskette formats (PC vs. Macintosh) – Character codes (EBCDIC vs. ASCII) – Tape drives (different parities) There is an economic reason for perpetuating incompatibilities – To force a customer to buy an expensive compatible computer » To avoid an even more expensive conversion to a cheaper incompatible computer Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Slide 14.91 Operating System Incompatibilities Slide 14.92 An information system that runs under Windows will not run under – Linux – Mac OS, or – OS/370 Problems can arise even when upgrading the same operating system – Example: Windows Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Compiler Incompatibilities Information systems should be implemented in a widely used language such as – – – – Slide 14.93 COBOL C C++, or Java Using only standard features of that language Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Why Portability? Slide 14.94 Good information systems have a life of 15 or 20 years or more Hardware usually is changed every 4 years Solution 1: – Buy upwardly compatible hardware and operating systems – This may be expensive Solution 2: – Ensure that software is truly portable Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Why Portability? (contd) Slide 14.95 Portability should be strongly encouraged by all information technology managers, and – Especially by top management Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.