Introduction to Business Systems Analysis Instructor’s Manual Section Five Support Section Overview 1. List of Objectives Maintaining Information Systems No computer system once implemented remains unaltered through the rest of its working life. Changes are made, and maintenance is undertaken. The point at which implementation is finished and maintenance begins is not always clear. At some point, the new system—available, being used, and processing data—must be declared implemented, even if it is not yet perfect. At some point, the providers of the system and the buyers of the system must agree that the system has, in fact, been delivered, and sign some agreement to that effect. The “sign off” or “buy off” or “delivery” papers may vary, but the intent is the same. Conducting Systems Maintenance In all computer systems, maintenance is the continuing process of correcting, modifying, and improving the system. Many organizations define the SDLC to include maintenance of the systems as one of the phases. Maintenance to a system may become dormant eventually if there are no changes. Some routine systems continue producing the same information for years and need no attention until an unexpected program error causes a production problem. Other systems continue to bubble in a whirlwind of activity that includes aspects of other phases of the SDLC. Training and Supporting Users If users of a computer system are to gain skills and confidence in the computing infrastructure, training and support must provide the skills and tools to build confidence. As you have seen, documentation for users is important but not sufficient by itself. Users need lots of practice and they need a strong support organization to keep the system running with optimal performance. Evaluation and Maintenance The system has been signed off. You are done. Or are you? Your are finished with the original design and development of the system. But you may be asked to stay on the system for a period of time to implement the changes that users want and need. These are probably the same changes that were rejected somewhere in mid-development, when the users were told to wait until evaluation and maintenance. In virtually every organization implementing technology, being successful equates to having system maintenance become the continuing process of evaluating, correcting, modifying, and improving the entire system. 2. Chapter Summary The purpose of this chapter is to introduce students to the process of maintaining information systems, the final phase of the systems development life cycle. This chapter is not found in many traditional system analysis and design textbooks, even though it is where a majority of the financial investment in a system occurs. More and more information systems professionals are devoting their careers to systems maintenance. Also, as more systems move from initial development into operational use, it is likely that even more professionals will work in maintenance–related activities in the future. The chapter links maintenance to the SDLC and describes the four types of maintenance requests: corrective, adaptive, perfective, and preventive. After describing the types and costs of maintenance, the chapter describes several managerial issues related to system maintenance. The chapter concludes by describing the role of CASE in maintenance, along with a look at training and support of an organization’s computing resources. We feel that the topics presented in this chapter are very important for students to understand because they represent the most prominent systems development activity, an activity that many students are likely to encounter. 3. Problems for Faculty to Assign or Work Through in Class 1.1 Maintenance has been presented as both the final stage of the SDLC (see Figure 5-1) and as a process similar to the SDLC (see Figure 5-4). Why does it make sense to talk about maintenance in both of these ways? Do you see a conflict in looking at maintenance in both ways? Answer: For a variety of reasons, it makes sense to talk about maintenance as both the final stage of the SDLC and as a process similar to the SDLC. On the one hand, maintenance is typically conducted as the final, albeit on–going, step in a properly conducted SDLC. On the other hand, a properly conducted maintenance stage is like a microcosm of the SDLC process, complete with its own form of project identification and selection, project initiation and planning, analysis, and so on. Maintenance is simultaneously the end of the broader SDLC and a mini–SDLC of its own. It is possible, natural, and useful for the maintenance stage to exist in this dual form, so there is no inherent conflict in describing maintenance in this way. 1.2 In what ways is a request to change an information system handled differently from a request for a new information system? Answer: For the most part, a request to change an information system is handled much like a request for a new information system. For example, for a new system request, the systems personnel must estimate the duration and scope of the project and assess its risk and feasibility. However, a change request is handled somewhat differently. For instance, the systems personnel must determine how the requested change will affect the current system. Also, change requests are often batched together into a maintenance project to gain some economies of scale and to minimize the frequency of change for users. Thus, change requests interact with one another, and may be modified to meet conflicting and complementary needs of different requests. One could argue that for a new information system the parallel would be that systems personnel must determine how the new information system will affect and interact with other current information systems and business processes. 1.3 According to Figure 5-5, corrective maintenance is by far the most frequent form of maintenance. What can the systems analyst do to reduce this form of maintenance? Answer: To reduce corrective maintenance the answer is clear: do a better job in analyzing, designing, coding, and implementing (including testing) new information systems. There is no better way to reduce the number of repairs to an information system than to do an effective, thorough job in the development process. Usually the most expensive errors to correct are those that fix incorrect requirements, so doing a thorough job in analysis (both requirements determination and structuring) not only reduces the need for corrective maintenance but also provides the extensive documentation that can reduce maintenance time. Also, building systems using common tools and languages makes it easier for a variety of highly–trained maintenance personnel to quickly do their job. However, there are some problems requiring corrective maintenance that cannot be avoided or even foreseen. For example, some components (e.g., tape back–up drives) purchased and installed from a third–party as part of a new information system may later be found to be defective. A “Murphy’s Law” approach would be to do as good a job as possible in designing, coding, and implementing the system, and then be prepared for when the inevitable problems occur. 1.4 What other or additional information should be collected on a System Service Request (see Figure 5-3) for a maintenance request? Answer: The intent of a SSR is to briefly state the business problem or opportunity, along with general ideas of how to address the problem or opportunity. Pine Valley’s SSR does provide this information. However, the SSR could be modified to indicate the type of request (maintenance or new system development) being requested. Students will provide additional recommendations. 1.5 Briefly discuss how a systems analyst can manage each of the six Cost Elements of Maintenance listed in Table 5.1. Answer: To manage defects, the first cost element of maintenance, the analyst can better design, code, and implement the system to try to avoid these defects. The analyst can then try to prepare for defects, some of which are inevitable. Analysts cannot manage the customer cost element, but they can lobby for more money or new hires if their customer base grows too large for them to handle effectively. The only element of control an analyst has on the customer cost element is during project scoping, at which time an analyst could argue for decomposition of a project into smaller projects, each with fewer customers. For the documentation cost element, analysts can work hard with users to develop high quality documentation that passes strict testing. For the personnel cost element, analysts might not have much control. However, if they are involved directly in maintenance tasks, they can work hard and efficiently so that money is not squandered on maintenance personnel costs. In terms of tools, analysts can participate in a rigorous cost/benefit analysis for proposed new tools and ensure that only the necessary tools are purchased for maintenance tasks. In terms of software structure, analysts can work hard to ensure that software is designed so that it can be more easily maintained. For example, they can help to develop good system documentation that is likely to be needed for subsequent system maintenance. 1.6 Suppose you were a librarian. Using an entity-relationship diagramming notation, describe the database you would need to keep track of the information necessary in your job. Consider operational, managerial, and planning aspects of the job. Answer: It is not important which form of E–R diagram students choose; it is more important that students list the relevant types of information required for a system librarian to do his/her job well. The entities that the system librarian would be concerned with include system, baseline modules, and system personnel. Each system would be comprised of modules, which would have version information, maintenance status, quality standard status, check in/out status, and build routines. Many entities would have effective dates, indicating when that object was active; alternatively, date ranges could be used for a broader set of status indicators for objects, such as planned, designed, coded, tested, released to developers, and released to customers. The data model would also show usage activity, so the workload on the librarian can be tracked. Another goal of the data model would be to show module reuse, much as a bill–of–materials data model would show product component reuse. Security and controlling access to entities might be an issue, so systems personnel would have maintenance authority levels for each of the systems and modules. 1.7 Software configuration management is similar to configuration management in any engineering environment. For example, the product design engineers for a refrigerator need to coordinate dynamic changes in compressors, power supplies, electronic controls, interior features, and exterior designs as innovations to each occur. How do such product design engineers manage the configuration of their products? What similar practices do systems analysts and librarians have to follow? Answer: Product design engineers manage the configuration of their products in much the same way described in this chapter. They use the equivalent of “baseline modules,” “build routines,” and “system librarians” to manage changes in their products. In addition, they use logbooks, extensive note taking, and automated tools, such as project management software, to manage these changes. In fact, some have argued that the information systems field has attempted (and rightly so) to become more like the engineering field in its rigor, discipline, and consistency, hence the term “software engineering.” 1.8 To measure maintenance effectiveness, what three factors must be measured? Answer: The three factors are number of failures, time between failures, and type of failures. 1.9 Identify several types of maintenance. Answer: Four types were identified in your text. The types are corrective maintenance, adaptive maintenance, perfective maintenance, and preventative maintenance. Corrective maintenance refers to changes made to a system to repair flaws in its design, coding, or implementation. Adaptive maintenance refers to changes made to a system to evolve its functionality to changing business needs or technologies. Changes made to a system to add new features or to improve performance are perfective maintenance changes. Changes made to a system to avoid possible future problems are preventive maintenance changes. 1.10 What is the role of CASE in maintenance? Answer: CASE can be used during maintenance to change radically the way code and documentation are updated and modified. An integrated CASE environment enables analysts to maintain design documents and to utilize code generators to create a new version of the system automatically. In addition to the general CASE tools, design recovery tools can be used to create high-level design documents of a program by reading and analyzing its source code. 4. Testbank 1.1 Match the following terms to the appropriate definitions. _______ maintenance _______ corrective maintenance _______ adaptive maintenance _______ maintainability _______ perfective maintenance _______ configuration maintenance a. process that assures that only authorized changes are made to the proper software modules b. changing a system to take advantage of new opportunities c. changing a system in response to environmental changes d. repair of design and programming errors e. changing or fixing a system f. ease with which software can be understood, corrected, adapted, and enhanced Answer: e. maintenance f. maintainability management d. corrective maintenance b. perfective maintenance c. adaptive maintenance a. configuration Multiple Choice Questions 1.2 The largest systems development expenditure for many organizations is: a. systems maintenance b. project planning c. implementation d. requirements structuring 1.3 Once an information system is installed, it is essentially in the: a. b. c. d. implementation phase redesign phase maintenance phase system renewal phase 1.4 Which of the following is a major activity that occurs during maintenance? a. coding b. transforming requests into changes c. conversion d. training and supporting users 1.5 All of the following are major activities that occur during maintenance except: a. transforming requests into changes b. designing changes c. implementing changes d. structuring requirements 1.6 Which of the following is a major activity occurring during maintenance? a. obtaining maintenance requests b. transforming requests into changes c. designing changes d. all of the above 1.7 An SSR or similar document can be used to: a. request new development b. report problems c. request new system features with an existing system d. all of the above 1.8 The first phase of the SDLC, project identification and selection, is analogous to the maintenance process of: a. obtaining maintenance requests b. transforming requests into changes c. designing changes d. implementing changes 1.9 The SDLC phases of logical and physical design are analogous to the maintenance process of: a. obtaining maintenance requests b. transforming requests into changes c. designing changes d. implementing changes 1.10 Which of the following types of maintenance accounts for as much as 75 percent of all maintenance activity? a. preventive maintenance b. corrective maintenance c. adaptive maintenance d. perfective maintenance 1.11 a. b. c. d. Changes made to a system to fix or enhance its functionality best defines: maintenance support repair installation 1.12 Changes made to a system to repair flaws in its design, coding or implementation describes: a. corrective maintenance b. adaptive maintenance c. preventive maintenance d. perfective maintenance 1.13 a. b. c. d. Which of the following typically would be assigned the highest priority? preventive maintenance perfective maintenance corrective maintenance perfective maintenance 1.14 a. b. c. d. Which of the following maintenance cost elements is the most significant? tools software structure personnel customers 1.15 The ease with which software can be understood, corrected, adapted, and enhanced best describes: a. maintenance b. maintainability c. adaptability d. comfort level 1.16 a. b. c. d. Which of the following are cost elements of maintenance? defects documentation personnel all of the above 1.17 The lack of thoroughness in documentation and testing caused by the absence of a formal transfer of responsibility is a disadvantage of: a. the separate maintenance organizational structure b. the combined maintenance organizational structure c. the functional maintenance organizational structure d. none of the above 1.18 Which of the following is a true statement regarding the role of CASE in maintenance? a. A primary objective of using CASE for systems development and maintenance is to change radically the way in which code and documentation are modified and updated. b. When using and integrated CASE environment, analysts maintain design documents and source code. c. Although CASE is very beneficial during the first part of the SDLC, it is not as advantageous during maintenance. d. none of the above 1.19 Which of the following configuration management tools addresses interrelated files? a. source code control b. version control c. integrity control d. revision control 1.20 The process of assuring that only authorized changes are made to a system defines: a. configuration management b. consistency management c. quality management d. business process reengineering 1.21 a. b. c. d. Which of the following is a more revealing method of measurement? number of failures time between each failure type of failure none of the above 1.22 a. b. c. d. To measure maintenance effectiveness, you should measure: the number of failures the time between each failure the type of failure all of the above 1.23 The person responsible for controlling the checking-out and checking-in of baseline modules for a system that is being developed or maintained is the: a. code agent b. systems operator c. system librarian d. catalog agent 1.24 Guidelines that list the instructions to construct an executable system from the baseline source code are called: a. build routines b. base routines c. construction routines d. reference routines 1.25 Which of the following influences most of the costs associated with maintaining a system? a. personnel b. documentation quality c. number of latent defects d. number of customers 1.26 Personnel having a vested interest in effectively maintaining the system and having a better understanding of functional requirements is the advantage of which type of maintenance organizational structure? a. the separate maintenance organizational structure b. the combined maintenance organizational structure c. the functional maintenance organizational structure d. none of the above 1.27 a. b. c. d. Which of the following is not a cost element of maintenance? defects documentation personnel all of the above 1.28 a. b. c. d. The SDLC phase of implementation is analogous to the maintenance process of: obtaining maintenance requests transforming requests into changes designing changes implementing changes 1.29 a. b. c. d. Which of the following is a type of maintenance? preventive perfective corrective all of the above 1.30 Modifying a system to reflect changes environmental changes is referred to as: Answer: a. corrective maintenance b. adaptive maintenance c. preventive maintenance d. perfective maintenance