Systems Development: Design, Implementation, Maintenance, and Review

At a Glance

Overview
The way an information system is designed, implemented, and maintained profoundly affects the daily functioning of an organization. This chapter examines the design, implementation, and maintenance and review stages of the systems development life cycle. Like systems investigation and analysis, these stages also strive to achieve organizational goals, such as reduced costs, increased profits, or improved customer service. The goal is to develop a new or modified system to deliver the right information to the right person at the right time.

Principles and Objectives
Principles Designing new systems or modifying existing ones should always help an organization achieve its goals. Learning Objectives • • •

State the purpose of systems design and discuss the differences between logical and physical systems design. Describe some considerations in design modeling and the diagrams used during object-oriented design. Outline key considerations in interface design and control and system security and control. Define the term RFP and discuss how this document is used to drive the acquisition of hardware and software. Describe the techniques used to make systems selection evaluations. State the purpose of systems implementation and discuss the activities associated with this phase of systems development. List the advantages and disadvantages of purchasing versus developing software. Discuss the software development process and some of the tools used in this process, including object-oriented program development tools.

The primary emphasis of systems implementation is to make sure that the right information is delivered to the right person in the right format at the right time.

• •

Maintenance and review add to the useful life of a system but can consume large amounts of resources. These activities can benefit from the same rigorous methods and project management techniques applied to systems development.

• •

State the importance of systems and software maintenance and discuss the activities involved. Describe the systems review process.

Why Learn About Systems Development?
Information systems are designed and implemented for employees and managers every day. These systems are being used in almost every career and industry. A manager at a hotel chain can use an information system to look up client preferences. An accountant at a manufacturing company can use an information system to analyze the costs of a new plant. A sales representative for a music store can use an information system to determine which CDs to order and which to discount because they are not selling. This chapter shows students how they can be involved in designing and implementing an information system that will directly benefit them in their future job. It also shows how to avoid errors or recover from disasters.

Systems Design
The purpose of systems design is to answer the question, “How will the information system solve a problem?” The primary result of the systems design phase is a technical design that details system outputs, inputs, and user interfaces; specifies hardware, software, databases, telecommunications, personnel, and procedures; and shows how these components are related. The new system should overcome the shortcomings of the existing one and help the organization achieve its goals. Logical and Physical Design Systems design is generally comprised of two major components: logical design and physical design. Logical design describes the functional requirements of a system. That is, it conceptualizes what the system will do to solve the problems identified through earlier analysis. Without this step, the technical details of the system (such as which hardware devices should be acquired) often obscure the best solution. The logical design specifications that are determined and documented include the following: • • • • Output requirements Input requirements Process requirements File and database requirements

• • • •

Telecommunications requirements Procedures requirements Controls and security requirements Personnel and job requirements

Physical design specifies the characteristics of the system components necessary to put the logical design into action. In this phase, the characteristics of each of the following components must be detailed: • • • • • • Hardware specifications Software specifications Database specifications Telecommunications specifications Personnel specifications Procedure and control specifications

Object-Oriented Design Logical and physical design can be accomplished using either the traditional structured approach or the object-oriented (OO) approach to systems development. Using the OO approach, we design key objects and classes of objects in the new or updated system. The sequence of events that a new or modified system requires is often called a scenario, which can be diagrammed in a sequence diagram. Interface Design and Controls A number of special system characteristics should be considered during both logical and physical design. These include sign-on procedures, interactive processing, and interactive dialogue.
• • •

• •

A sign-on procedure requires identification numbers, passwords, and other safeguards for someone to gain access to computer resources. With interactive processing, people directly interact with the processing component of the system through terminals or networked PCs. Many designers incorporate a help facility into the system or applications program to allow users to know more about a program or feature or what type of response is expected. Computer programs can develop and use lookup tables to simplify and shorten data entry. With a restart procedure, users can restart an application where it stopped in case the application crashed or had problems.

Design of System Security and Controls The design of system security and controls includes the consideration of error prevention, detection, and correction; disaster planning and recovery; and system controls. Preventing, Detecting, and Correcting Errors

The most cost-effective time to deal with potential errors is early in the design phase. Good systems design attempts to prevent errors before they occur, which involves recognizing what can happen and developing steps and procedures that can prevent, detect, and correct errors. Disaster Planning and Recovery Disaster planning and disaster recovery are important aspects of systems design. Disaster planning is the process of anticipating and providing for disasters. A disaster can be an act of nature or a human act. Disaster recovery is defined as the implementation of the disaster plan. The primary tools used in disaster planning and recovery are hardware, software, database, telecommunications, and personnel backups. Approaches to disaster planning and recovery include the use of hot sites, cold sites, incremental backups, and image logs. Systems Controls Security, fraud, and the invasion of privacy are also important design considerations. Most IS departments establish tight systems controls to maintain data security. Systems controls can help prevent computer misuse, crime, and fraud by employees and others. System controls include input, output, processing, database, telecommunications, and personnel controls. IS departments also typically have general operating rules, called deterrence controls, to prevent problems. An example of this type of control is to designate authorized operators for a closed or open shop system. Generating Systems Design Alternatives Whether an individual is purchasing a personal computer or an experienced company is acquiring an expensive mainframe computer, the system could be obtained from one or more vendors. Some of the factors to consider in selecting a vendor are the vendor’s reliability and financial stability, the type of service offered after the sale, the goods and services the vendor offers and keeps in stock, the vendor’s willingness to demonstrate its products, the vendor’s ability to repair hardware, the vendor’s ability to modify its software, the availability of vendor-offered training of IS personnel and system users, and evaluations of the vendor by independent organizations. If new hardware and software are to be acquired from an outside vendor, a formal request for proposal (RFP) can be made. An RFP is a document that specifies in detail required resources such as hardware and software. The RFP is an important document for many organizations involved with large, complex systems development efforts. Smaller, less-complex systems often do not require an RFP. There are several financial options available for acquiring computer systems, including purchase, lease, or rent. Cost objectives and constraints set for the system play a significant role in the choice, as do the advantages and disadvantages of each, which are discussed in Table 13.3 on page 537. The final step in systems design is to evaluate the various alternatives and select the one that will offer the best solution for organizational goals. Normally, evaluation and selection involves both a preliminary and a final evaluation before a design is selected. A preliminary evaluation is used to dismiss the unwanted proposals. The final evaluation is a detailed

investigation of the proposals offered by the vendors remaining after the preliminary evaluation. Evaluation Techniques The exact procedure used to make the final evaluation and selection varies from one organization to the next. Some of the evaluation techniques used were introduced in Chapter 2, including return on investment (ROI), earnings growth, market share, customer satisfaction, and total cost of ownership (TCO). In addition, four other approaches are commonly used: group consensus, cost/benefit analysis, benchmark tests, and point evaluation. In group consensus, the decision is made by a group that is appointed and given the responsibility of making the final evaluation and selection. Cost/benefit analysis lists the costs and benefits of each proposed system. After they are expressed in monetary terms, all the costs are compared with all the benefits. A benchmark test is an examination that compares computer systems operating under the same conditions. A point evaluation system is an evaluation process in which each evaluation factor is assigned a weight, in percentage points, based on importance. Then each proposed system is evaluated in terms of this factor and given a score ranging from 0 to 100. The scores are totaled, and the system with the greatest total score is selected. Freezing Design Specifications Near the end of the design stage, some organizations prohibit further changes in the design of the system. Freezing systems design specifications means that the user agrees in writing that the design is acceptable. The Contract One of the most important steps in systems design is to develop a good contract if new computer facilities are being acquired. Organizations often use outside consultants and legal firms to help them develop their contracts. Such contracts stipulate exactly what they expect from the system vendor and what interaction will occur between the vendor and the organization. Typically, the request for proposal also becomes part of the contract.

The Design Report The primary result of systems design is the design report. It reflects the decisions made during systems design and prepares the way for systems implementation.

Systems Implementation
After the information system is designed, a number of tasks must still be completed before the system can be installed and is ready to operate. This process, called systems implementation, includes the following components: • • • • • • • • • • Hardware acquisition Software acquisition or development User preparation Hiring and training of personnel Site preparation Data preparation Installation Testing Start-up User acceptance

Acquiring Hardware from an IS Vendor To obtain the components for an information system, organizations can purchase, lease, or rent computer hardware and other resources from an IS vendor.

It is also possible to purchase used computer equipment. This option is especially attractive to firms that are experiencing an economic slowdown. Acquiring Software: Make or Buy? Application software can be acquired in two ways: it can be purchased from external developers or developed in-house. This is normally referred to as the make-or-buy decision. Purchasing or leasing externally developed software has a number of advantages, including: lower costs, less risk regarding the features and performance of the package, and ease of installation. Developing software internally also has some advantages, such as greater potential of meeting user and organizational requirements, increased flexibility in terms of customization and changes, and greater potential for providing a competitive advantage. Software that is developed internally makes use of several tools and techniques, such as integrated development environments (IDEs), structured programming, structured walkthroughs, and technical and user documentation. Acquiring Database and Telecommunications Systems Both databases and telecommunications systems require a blend of hardware and software. As such, many of the approaches discussed earlier for acquiring hardware and software also apply to database systems and telecommunications hardware and software. User Preparation User preparation is the process of readying managers, decision makers, employees, other users, and stakeholders for the new systems. This activity is an important, but often ignored, area of systems implementation. IS Personnel: Hiring and Training Depending on the size of the new system, an organization may have to hire and, in some cases, train new IS personnel. An information systems manager, systems analysts, computer programmers, data entry operators, and similar personnel may be needed for the new system. Site Preparation The location of the new system needs to be prepared in a process called site preparation. For a small system, site preparation can be as simple as rearranging the furniture in an office to make room for a computer. With a larger system, this process is not so easy because it may require special wiring, air-conditioning, a new security system, etc. Data Preparation Data preparation, also known as data conversion, involves making sure that all files and databases are ready to be used with new computer software and systems. Installation

Installation is the process of physically placing the computer equipment on the site and making it operational. Although normally the manufacturer is responsible for installing computer equipment, someone from the organization (usually the IS manager) should oversee the process, making sure that all equipment specified in the contract is installed at the proper location. After the system is installed, the manufacturer performs several tests to ensure that the equipment is operating as it should. Testing Good testing procedures are essential to make sure that the new or modified information system operates as intended. Inadequate testing can result in mistakes and problems. As shown in Figure 13.12 on page 548, several forms of testing should be used, including: • • • • • Unit testing: testing each of the individual programs System testing: testing the entire system of programs Volume testing: testing the application with a large amount of data Integration testing: testing all related systems together Acceptance testing: conducting any tests required by the user

Figure 13.12: Types of Testing In addition, different types of testing can be performed. Alpha testing involves testing an incomplete version of a system, while beta testing involves testing a complete and stable version by end users. Start-Up Start-up begins with the final tested information system. When start-up is finished, the system is fully operational. Direct conversion (also called plunge or direct cutover) involves stopping the old system and starting the new one on a given date. Direct conversion is usually the least desirable approach because of the potential for problems and errors when the old system is shut off and the new system is turned on at the same time.

In the phase-in approach (sometimes called a piecemeal approach), components of the new system are slowly phased in while components of the old one are slowly phased out. Pilot start-up involves running the new system for one group of users rather than all users. Parallel start-up involves running both the old and new systems for a period of time. The output of the new system is compared closely with that of the old system, and any differences are reconciled. User Acceptance Most mainframe computer manufacturers use a formal user acceptance document. This is a legal document that usually removes or reduces the information systems vendor’s liability for problems that occur after the user acceptance document has been signed. Because this document is so important, many companies get legal assistance before they sign the acceptance document.

Systems Operation and Maintenance
Systems operation involves all aspects of using the new or modified system. The operation of any information system requires adequate user training before the system is used and continual support while the system is being operated. User training is usually provided through seminars, manuals, and online documentation. To provide support, many companies use a help desk. Systems maintenance involves checking, changing, and enhancing the system in order to make it more useful in achieving user and organizational goals. Reasons for Maintenance Once a program is developed, it is likely to need ongoing maintenance. Frequent, minor maintenance to a program, if properly done, can prevent major system failures later. Some of the reasons for program maintenance include the following: • • • • • • • • Changes in business processes New requests from stakeholders, users, and managers Bugs or errors in the program Technical and hardware problems Corporate mergers and acquisitions Government regulations Change in operating systems or hardware platforms Unexpected events

Types of Maintenance A slipstream upgrade is a minor upgrade—typically a code adjustment or minor bug fix—that is not worth announcing. A patch is a minor change to correct a problem or make a small enhancement. A release is a significant program change that often requires changes in the documentation of the software. A version is a major program change, typically encompassing many new features.

The Request for Maintenance Form Many organizations require a request for maintenance form to authorize modification of programs. This form is usually signed by a business manager, who documents the need for the change and identifies the priority of the change relative to other work that has been requested. Performing Maintenance Depending on organizational policies, the people who perform systems maintenance vary. In some cases, the team who designs and builds the system also performs maintenance. In other cases, organizations have a separate maintenance team. This team is responsible for modifying, fixing, and updating existing software. Today, the maintenance function is becoming more automated. A number of vendors have developed tools to ease the software maintenance burden, such as Relativity Technologies’ RescueWare. The Financial Implications of Maintenance The cost of maintaining a system is a large portion of the cost involved in the overall systems development process. For older programs, the total cost of maintenance can be up to five times greater than the total cost of creating the programs. As programs get older, total maintenance expenditures in time and money increase. The Relationship between Maintenance and Design Programs are expensive to develop, but they are even more expensive to maintain. Programs that are well designed and documented to be efficient, structured, and flexible are less expensive to maintain in later years. More time spent on design up front can mean less time spent on maintenance later.

Systems Review
Systems review, the final step of systems development, is the process of analyzing systems to make sure that they are operating as intended. This process often compares the performance and benefits of the system as it was designed with the actual performance and benefits of that system in operation. Problems and opportunities uncovered during systems review will trigger systems development and may begin the process anew. Types of Review Procedures There are two types of review procedures: event driven and time driven. An event-driven review is triggered by a problem or opportunity such as an error, a corporate merger, or a new market for products. In some cases, companies wait until a large problem or opportunity occurs before a change is made, ignoring minor problems. In contrast, some companies use a continuous improvement approach to systems development. With this approach, an organization makes changes to a system even when small problems or opportunities occur.

A time-driven review is performed after a specified amount of time. With this approach, an existing system is monitored on a schedule. If problems or opportunities are uncovered, a new systems development cycle may be initiated. Factors to Consider During Systems Review Systems review should investigate a number of important factors, such as the following: • • • • • • • • • • • • • • Mission Organizational goals Hardware and software Database Telecommunications Information systems personnel Control Training Costs Complexity Reliability Efficiency Response time Documentation

System Performance Measurement Systems review often involves monitoring the system, called system performance measurement. During this process, things such as the number of errors encountered, the amount of memory required, and the amount of processing or CPU time needed are closely observed.

If a particular system is not performing as expected, it should be modified, or a new system should be developed or acquired. There are many system performance products available that measure all components of the computer-based information system, including hardware, software, database, telecommunications, and network systems.

Key Terms
       

             

Acceptance testing - conducting any test required by the user. Alpha testing - testing an incomplete or early version of the system. Benchmark test - an examination that compares computer systems operating under the same conditions. Beta testing - testing a complete and stable system by end users. Chief programmer team - a group of skilled IS professionals who design and implement a set of programs. Closed shops - IS departments in which only authorized operators can run the computers. Cold site - a computer environment that includes rooms, electrical service, telecommunications links, data storage devices, and the like; also called a shell. Cost/Benefit analysis - an approach that lists the costs and benefits of each proposed system. After they are expressed in monetary terms, all the costs are compared with all the benefits. Cross-platform development - a development technique that allows programmers to develop programs that can run on computer systems having different hardware and operating systems, or platforms. Data conversion - ensuring all files and databases are ready to be used with new computer software and systems; also called data preparation. Data preparation - ensuring all files and databases are ready to be used with new computer software and systems; also called data conversion. Decision structure - a programming structure that allows the computer to branch, depending on certain conditions. Design report - the primary result of systems design, reflecting the decisions made and preparing the way for systems implementation. Deterrence controls - rules and procedures to prevent problems before they occur. Direct conversion (also called plunge or direct cutover) - stopping the old system and starting the new system on a given date. Disaster recovery - the implementation of the disaster plan. Event-driven review - a review triggered by a problem or opportunity such as an error, a corporate merger, or a new market for products. Final evaluation - a detailed investigation of the proposals offered by the vendors remaining after the preliminary evaluation. Group consensus - decision making by a group that is appointed and given the responsibility of making the final evaluation and selection. Help facility - a program that provides assistance when users want to know more about a program or feature or what type of response is expected. Hot site - a duplicate, operational hardware system or immediate access to one through a specialized vendor. Image log - a separate file that contains only changes to applications. Incremental backup - making a backup copy of all files changed during the last few days or the last week.

 

        

 

  

     

 

Installation - the process of physically placing the computer equipment on the site and making it operational. Integrated development environments (IDEs) - a development approach that combines the tools needed for programming with a programming language into one integrated package. Integration testing - testing all related systems together. Logical design - a description of the functional requirements of a system. Lookup tables - tables containing data that computer programs can develop and use to simplify and shorten data entry. Loop structure - a programming structure that allows the program to cycle or loop a certain number of times. Maintenance team - a special IS team responsible for modifying, fixing, and updating existing software. Make-or-buy decision - the decision regarding whether to obtain the necessary software from internal or external sources. Menu-driven system - a system in which users simply pick what they want to do from a list of alternatives. Open shops - IS departments in which people, such as programmers and systems analysts, are allowed to run the computers, in addition to authorized operators. Parallel start-up - running both the old and new systems for a period of time and comparing the output of the new system closely with the output of the old system; any differences are reconciled. When users are comfortable that the new system is working correctly, the old system is eliminated. Patch - a minor change to correct a problem or make a small enhancement. It is usually an addition to an existing program. Phase-in approach - slowly replacing components of the old system with those of the new one. This process is repeated for each application until the new system is running every application and performing as expected; also called a piecemeal approach. Physical design - the specification of the characteristics of the system components necessary to put the logical design into action. Pilot start-up - running the new system for one group of users rather than all users. Point evaluation system - an evaluation process in which each evaluation factor is assigned a weight, in percentage points, based on importance. Then each proposed system is evaluated in terms of this factor and given a score ranging from 0 to 100. The scores are totaled, and the system with the greatest total score is selected. Preliminary evaluation - an initial assessment whose purpose is to dismiss the unwanted proposals; begins after all proposals have been submitted. Release - a significant program change that often requires changes in the documentation of the software. Request for maintenance form - a form authorizing modification of programs. Request for proposal (RFP) - a document that specifies in detail required resources such as hardware and software. Restart procedures - simplified processes to access an application from where it stopped. Sequence structure - a programming structure in which, after starting the sequence, programming statements are executed one after another until all the statements in the sequence have been executed. Sign-on procedure - identification numbers, passwords, and other safeguards needed for someone to gain access to computer resources. Site preparation - preparation of the location of a new system.

  

   

         

Slipstream upgrade - a minor upgrade—typically a code adjustment or minor bug fix— not worth announcing. It usually requires recompiling all the code and, in so doing, it can create entirely new bugs. Start-up - the process of making the final tested information system fully operational. Structured walkthrough - a planned and pre-announced review of the progress of a program module. System performance measurement - monitoring the system—the number of errors encountered, the amount of memory required, the amount of processing or CPU time needed, and other problems. System performance products - software that measures all components of the computerbased information system, including hardware, software, database, telecommunications, and network systems. System testing - testing the entire system of programs. Systems controls - rules and procedures to maintain data security. Systems design - the stage of systems development that answers the question “How will the information system solve a problem?” Systems implementation - a stage of systems development that includes hardware acquisition, software acquisition or development, user preparation, hiring and training of personnel, site and data preparation, installation, testing, start-up, and user acceptance. Systems maintenance - a stage of systems development that involves checking, changing, and enhancing the system to make it more useful in achieving user and organizational goals. Systems operation - use of a new or modified system. Systems review - the final step of systems development, involving the analysis of systems to make sure that they are operating as intended. Technical documentation - written details used by computer operators to execute the program and by analysts and programmers to solve problems or modify the program. Time-driven review - review performed after a specified amount of time. Unit testing - testing of individual programs. User acceptance document - a formal agreement signed by the user that states that a phase of the installation or the complete system is approved. User documentation - written description developed for individuals who use a program, showing users, in easy-to-understand terms, how the program can and should be used. User preparation - the process of readying managers, decision makers, employees, other users, and stakeholders for new systems. Version - a major program change, typically encompassing many new features. Volume testing - testing the application with a large amount of data.

Sign up to vote on this title
UsefulNot useful