PHASE 4 : SYSTEM IMPLEMENTATION LESSON 12 SYSTEM IMPLEMENTATION INTRODUCTION In the previous lesson, we have learned several types of user interfaces and how to design a good user interface. In this lesson, we will discuss on system implementation. System implementation is the fourth phase in the system development life cycle (SDLC). The purpose of system implementation is to build a properly working system, install it in organization, replace and old systems, preparing system and user documentation and train users. This lesson consists of six sections: Overview of system implementation Coding Testing Installation Documenting the system Training LEARNING OUTCOMES At the end of this lesson, students should be able to : explain the purpose of the implementation phase in the system development life cycle and activities involved identify tasks involved during coding activity in system implementation apply four types of testing in the system development apply four installation strategies; direct, parallel, single location and phased installation prepare the system and user documentation for the information system conduct a training to system stakeholder TERMINOLOGY No 1 Word Coding Definition A process whereby the physical specifications created in the previous phases are turned into working computer codes by the programmer team 2 Installation the process of moving from the current system to the new or enhanced system 3 Integration testing A testing where it involves two or more modules that link each other 4 System implementation A development, installation and testing of system components and delivery of that system into production 5 System testing A testing where the it involves the integration of the whole programs into a system 6 Unit testing A testing done at the individual level of program or module 7 User documentation Written or visual information about system; on how it works, and how to use it. 12.1 OVERVIEW OF SYSTEM IMPLEMENTATION System implementation is the development, installation and testing of system components and delivery of that system into production (Bentley et. al., 2007). The purpose of system implementation is to build a system, install it, replace and old systems, preparing system and user documentation and train users. During this phase, it’s also involved closedown the entire project. System implementation has several major activities. There are five major tasks in this phase; coding, testing, installation, documentation and training as in Figure 12-1. The purpose of this phase is to convert the physical system specifications into working and reliable software and hardware, document the work that have been done and provide help for current and future users. System Planning System Analysis System Design √ √ √ √ √ Coding Testing Installation Documentation Training System Implementation System Maintenance Figure 12-1: Five Activities in the System Implementation Phase 12.2 CODING Coding is the process whereby the physical specifications created in the previous phases are turned into working computer codes by the programmer team. Coding is an activity where all the designed during the previous phases will be programmed using a software that have been defined before. This is a time where most of the programmer will sit in front of computers and do coding. During the coding, each program module will be tested individually, then as part of a larger program, and as the complete system. At the same time, the team should come out with a system and user documentation to help users in using the system. There are several sub activities involved during coding activity. Normally, all this activities involved system analyst, programmer, system designer and database administrator. These activities are planned simultaneously with other activities; Network building and testing In many cases, new or enhanced system is building around existing networks. If so, just skip this task. But, if the system develops require a new or enhanced networks, it should be implemented before building and testing the database, coding and installing computer program. Today, most of the systems are developed in a web-based environment, or at least intranet. Database building and testing We can say that a database is compulsory for any system. As mentioned earlier, database is a place where we kept all the data. So, this task must be leading other programming activities because database is shared by the computer program. If the system develop require a new or enhanced database, this task is required. Install and test new software Not all, but most of the system development requires the organization to purchase or lease a new software package. If required, this software should be installed and tested once the previous task is completed. Write and test new programs This is the major task in coding activity. Once we have completed all the previous tasks; we can start to develop the system. Today, most of the organizations prefer to use prototyping approach when developing the system. 12.2.1 Exercises Answer TRUE or for FALSE for each of the questions below. 1. Coding is the process whereby the physical specifications created in the previous phases are turned into working computer codes by the programmer team. TRUE 2. There are several sub activities involved during coding and all this activities are compulsory. FALSE 3. Most of the system developed is around the existing network, so, no need to build and test a network. TRUE 4. Database installed should be tested. TRUE 5. Most of the organizations are prefer to use prototyping when develop a system. TRUE 12.3 SYSTEM TESTING After coding, a programmer must conduct a test. Each program will be tested in order to make sure it functions correctly. Later, programs are tested in groups, followed by testing with the entire system. The first step in testing is to compile the program to detect any syntax errors. If there is an error, the programmers need to correct it until the program executes correctly. Then, the next step is to do a testing, includes unit testing, integration testing and system testing. 12.3.1 Unit testing Unit testing is a testing done at the individual level of program or module. Sometimes, it refers to module testing. The purpose of unit testing is to identify and reduce execution errors that cause the program to terminate abnormally, and logic errors that could have been missed during desk checking. During unit testing, programmers must check programs that interact with other programs and files individually. But, since the modules exists and work together with other modules in the system, they must be tested together in a larger group. This is referred to integration testing. 12.3.2 Integration Testing After finishing the unit testing, the programmer will do the integration testing. Integration testing is a testing where it involves two or more modules that link each other. It’s a process of bringing together all of the modules that a program comprises for testing purposes. First, we need to test the root module and only one of the subordinates. After that, we need to test another two subordinates module from the same level. The same process goes until for the next level. We continued this testing until the whole system is tested as a unit. This is referred to system testing. 12.3.3 System Testing After completing the integration testing, we must perform system testing, which involves the entire system. It’s similar with an integration testing. The different is, in system testing, we integrate programs into system. After the system testing is completed, we can assume that the system is fully tested and are free any errors or bugs. So, now, it’s ready to be installed in the organizations. 12.3.4 Exercises Answer TRUE or for FALSE for each of the questions below. 1. Unit testing does require automated code execution. TRUE 2. Integration testing is the process of bringing together all of the modules that a program comprises for testing purposes. TRUE 3. The focus of integration testing is to make sure that all the interrelated modules are working. TRUE 4. System testing is not compulsory since we have conducted an integration testing. FALSE 5. Once we have finished the system testing, we can proceed with an installation. TRUE 12.4 INSTALLATION Installation is the process of moving from the current system to the new or enhanced system. This is also refer to conversion activity; converting an old system to a new system. At this stage, all users must give up their reliance on the current system and begin to rely on a new system. There are four approaches of installation; direct, parallel, single-location and phased installation. Which approaches will be used is depends on the organizations and the system’s scope and complexity. 12.4.1 Direct Installation Direct installation is also referring to abrupt cut-over installation. Direct installation is whereby the old system is turned off and the new system turned on Figure 12-2. It’s plan as on this date at this time, the old system is terminated and the new system will take over. This approach is a high risk approach because there may still be major problems that won’t be uncovered until the system has been in operation. An errors resulting from the new system will have a direct impact on the users and how they do their jobs is depends on the new system. If the system fails to be used on that specific date, delay may occur until the errors are solved. This approach may be necessary when for instance, there is a business policy becomes effective on a specific date and the system can’t be implemented before the date. If the organization plan to use this approach, it’s important to make sure that everything is success with the system, so that less risky. Although it’s known as risky approach, but it may reduce the cost of installation. Current System Install New System New System Direct Installation Figure 12-2: Direct Installation Time 12.4.2 Parallel Installation Parallel installation is when both system; old and new system are operating at the same time until the management decide that the old system can be turned off as in Figure 12-3. This approach is known as riskless approach because all major problems have been solved before the old system is turned off. This approach is an opposite approach with direct installation. Although it’s riskless, but it required high costs since the organization needs to run two systems at the same time. Running two similar systems at one time can be very expensive not only in paying the employee salaries, but also in terms of maintenance. Sometimes, users are also confused since they must deal with two systems. Current System Install New System New System Time Parallel Installation Figure 12-3: Parallel Installation 12.4.3 Single-location Installation Single location also refers to location or pilot installation. This approach is where the organization is trying out to use a new system at one location and use this experience in deciding how the entire system should be deployed throughout the organization as in Figure 124. The one site installation is either use direct installation or parallel installation. It’s a middle-ofthe-road approach compared with direct and parallel installation. Single location can be referring as branch office, or one department. As soon as the location approved the system, it will be install to the other location. At this stage, the installation at other site can be direct installation since all the major errors have been fixed at the first test location. The advantage of using this strategy is it can minimize the potential damage and costs because the successful is determined at the first site. But the disadvantage is, it may take a longer period to install the whole system. Current System Install New System Location 1 New System Current System Location 2 Install New System New System Single-location installation Figure 12-4: Single-location Installation 12.4.4 Phased Installation Phase installation is similar with single-location but the difference is the new system is installed in functional components. It’s an incremental approach where a new system is brought by module. Different modules of the new and old system are used together until the whole system is installed. Phased installation, like single-location installation is to minimize the risk exists from the installation. A phased installation is similar to bringing out a sequence of releases of the system. Thus, phased installation requires careful version control, repeated conversion at each phase and long period of change. It may cause the frustration and confusion among the users. Current System Current System without Module 1 Current System without Module 1, … Install Module ... Install Module 1 New Module 1 New Module … Phased Installation Figure 12-5: Phased installation Installation may also require a system acceptance test plan. System acceptance test is a final opportunity where end users, management and information system operation decide either to use or reject the system. System acceptance test is a test performed on the final system wherein users conduct verification, validation and audit tests (Bentley et. al., 2007). It covers three levels of acceptance testing: Verification testing Verification testing also refers to alpha testing. This testing runs the system in a simulated environment using simulated data. It’s looking for errors and omissions regarding end users and design specifications that were specified in the earlier phase of testing. Validation testing Validation testing also refers to beta testing. This testing runs the system in a live environment using real data. A number of items tested during this testing such as: system performance peak workload processing performance human engineering test methods and procedures test backup and recovery testing Audit testing Audit testing is a test performed to ensure that the system is free from any errors and ready to be placed at the real location. 12.4.5 Exercises Answer TRUE or for FALSE for each of the questions below. 1. There are four approaches of installation that can be chosen by organizations; direct, parallel, single-location and phased installation. TRUE 2. Single-location installation is when both system; old and new system are operating at the same time until the management decide that the old system can be turned off. FALSE 3. Phase installation is known as incremental approach where a new system is installed by module. TRUE 4. Verification testing is a test that runs the system in a simulated environment using simulated data. TRUE 5. There is a need to conduct system acceptance test since we can make a final decision about the system. TRUE 12.5 DOCUMENTING THE SYSTEM Every system development is unique and need unique documentation. There are two basic types of documentation; system documentation and user documentation. 12.5.1 System Documentation System documentation records detailed information about system’s design specification, its internal workings and its functionality (Hoffer et. al., 2005). System documentation is prepared for maintenance person who will in charge the system operating in the future. System documentation can be divided to internal and external documentation. Internal documentation Internal documentation is part of the program source code or is generated at compile time External documentation External documentation is a system documentation that includes the outcome of structured diagramming techniques such as data flow and entity-relationship diagrams. Although it don’t cover the code itself, but it can provide useful information to the primary users of system documentation-maintenance programmer 12.5.2 User Documentation As stated earlier, system documentation is intended for system maintenance programmer; user documentation is intended for system users. User documentation consists of written and visual information about the system, such as what its function, how its function and how to use it. There are few types of user documentations; i. reference guide - consist of exhaustive list of system functions and commands ii. quick reference guide - provide essential information about operating a system in a short, concise format user’s guide - provide information on how users can use a computer system to perform iii. specific tasks. 12.5.3 Exercises Answer TRUE or for FALSE for each of the questions below. 1. System documentation is a documentation prepared in order to assist users about the system. TRUE 2. Each system requires same documentation. FALSE 3. System documentation records detailed information about system’s design specification, its internal workings and its functionality. TRYE 4. External documentation is part of the documentation contains program source code or is generated at compile time. FALSE 5. System documentation is for system maintenance programmer and user documentation is for system users. TRUE 12.6 TRAINING Although the documentation is prepared to assist user throughout the system’s life cycle, but it’s important to train users with the new system. Normally, the team use the documentation prepared to assist them in training session. Converting from old to new system necessitates that the system users be trained and provided with documentation that guide them through the new system. Training can be one to one; however train a group of people is preferred. Group training can reduce the time and cost spend to conduct the training, and also encourage the group participates and feedback towards the system. There are few things that need to be considering during the training session. The content of the training session should be an introduction to the system, and system manual. SUMMARY This is the end of lesson Twelve. In this lesson, we have learned : Overview of system implementation Coding Testing Installation Documenting the system Training In the next lesson, we will discuss final phase system development life cycle; system maintenance. System operation is the ongoing function in which the system operates until it’s replaced with a new system. System maintenance involves servicing, maintaining and improving functional information system through its lifetime SELF ASSESSMENT Fill in with the correct answer 1. ________________________ is the development, installation and testing of system components and delivery of that system into production. System implementation 2. System implementation has FIVE major activities ________________________, ________________________, such as during this phase; ________________________, ________________________ and ________________________. coding; testing; installation; documentation; training 3. ________________________ is an activity where all the designed during the previous phases will be programmed using a software that have been defined before. Coding 4. ________________________ is a testing done at the individual level of program or module. Sometimes, it refers to module testing. Unit testing 5. ________________________ is the process of bringing together all of the programs that a system comprises for testing purposes; programs are typically integrated in a top-down, incremental fashion. System testing 6. ________________________ is the organizational process of changing over from the current information system to a new one. Installation 7. ________________________ is when both system; old and new system are operating at the same time until the management decide that the old system can be turned off. Parallel installation 8. ________________________ test is a final opportunity where end users, management and information system operation decide either to use or reject the system. System acceptance 9. ________________________ records detailed information about system’s design specification, its internal workings and its functionality. System documentation 10. ________________________ is a system documentation that includes the outcome of structured diagramming techniques such as data flow and entity-relationship diagrams. External documentation