Chapter Five: System Implementation and Maintenance
Chapter Five: System Implementation and Maintenance
Institute of Technology
Department of Information Systems
1
Major System Implementation and
Maintenance Activities
• System Implementation is the construction, installation and testing of
system components and the delivery of the system for day-to-day operation
System implementation involves six major activities. These are:
1.Coding: turning the physical design specifications created at the design stage
into working computer code by programmers
2.Testing: conducting various tests to ensure that the information system
delivers what is expected of it
3.Installation: the process during which the current system is replaced by the
new system. This includes conversion of existing data, software, and
documentation and work procedures to those consistent with the new system
4.Documentation: finalizing system documentation and preparing user manual
5.Training: providing training to users on general and specific topics before
they start to use the information system
6.User Support: providing such activities as helpdesk support, online help and
bulletin boards once the information system has become integrated into the
organization
2
Cont’d…
1. Coding
• It is the process of converting the physical design specifications created at the
design phase stage into working computer code by programmers
• Here what is important is programming language selection and coding style
2. System Testing
• There are various types of testing mechanism based on various approaches. You
have to distinguish between:
• Static and dynamic testing- in static testing the code is not executed whereas
dynamic testing involves execution of the code
• Automated and manual testing: this depends on whether the testing is done by
computer or people
• Based on the above distinction there are seven types of testing approaches outlined
in the table below and each is discussed next
Manual Automated
System test
3
Contd…
I.Inspections- are formal group activities where participants manually examine code for
occurrences of well-known errors. Syntax, grammar and some other routine errors can be checked
by automated inspection software, so manual inspection checks are used for more subtle errors.
Exactly what the code does is not investigated in an inspection.
II.Syntax Checking- syntax checking is also a procedure performed to identify know errors in the
code but it is different from inspection because it is done by the computer itself.
III.
Walkthroughs- are tests where not only the known errors but also what the code does is checked
walkthroughs are usually done frequently for pieces of coding done before the final program is
formally tested.
IV.Desk checking- also involves checking the program does what it is expected to do by an
independent, this time around the whole program is sequentially checked from one module to
another by manually comparing the outputs of the program with what is expected of it.
V.Unit testing- is an automated test method where each module of the program is tested alone in an
attempt to discover any errors that may exist in module’s code.
VI.Integration testing- is a process of testing the modules of the program by incrementally
integrating them to see how each module coexists and works with the other.
VII.System testing- refers to the testing of the information system as a whole (as a complete entity).
System testing involves checking such things as whether operators have adequate documentation,
whether procedure manuals are clear, determining if output of the system is correct or not and so
forth.
• All the above procedure test whether the system meets its intended objectives or not (whether it
“works” or not). As such usually non-live-data are used for the test purpose. Non-live data are
data developed specifically for testing purpose.
4
Cont’d
• There is also testing that will be done by users themselves in real working environment. Such
system testing is referred to as acceptance testing.
• Acceptance testing is testing done by users using real data over an extended time period in
real environment. Acceptance testing involves:
I. Alpha testing (verification testing): where the system is run in a simulated environment
using simulated data. The purpose of alpha testing is to check for errors and omissions
regarding end-user and design specifications that were specified in earlier phase of the
SDLC.
II. Beta testing (validation testing)- where the system is run in a live environment using real
data.
• During validation or beta testing the following are checked.
a) System performance- such questions as “is the throughput and response time for
processing adequate to meet a normal processing workload?”
b) Peak workload processing performance (stress testing) - can the system handle
workload during peak processing periods?
c) Human engineering test- is the system as easy to learn and use as anticipated?
d) Methods and procedure test- during conversion, the methods and procedures for the
new system will be put to their first real test. Methods and procedures may have to be
modified if they prove to be awkward and inefficient from the end-users’ standpoint.
e) Backup and recovery testing- includes simulating data loss disaster and testing the
time required to recover from that disaster. In addition, a before-and-after comparison of
the data should be performed to ensure that data was properly recovered.
•
5
3. System conversion (installation)
• The process of moving from the current
information system to the new one is called
system conversion or installation
• A detailed conversion plan needs to be prepared
before the new system is put into operation
• Types of System Conversion (Installation)
i. Abrupt cut-over (direct installation)
ii. Parallel conversion (installation)
iii. Location (pilot) conversion
iv. Phased (staged) conversion
6
I. Abrupt cut-over (direct installation)
• In an abrupt cut-over the old system is terminated on specific date
and the new system is placed into operation
• This is a high-risk approach as there may still be major problems
that won’t be uncovered until the system has been in operation for
at least one business period
• On the other hand, there are no transition costs in a direct
installation
7
II. Parallel conversion (installation)
• In parallel conversion both the old and new system operated for some time
period
• This ensures that all major problems in the new system have been solved
before the old system is discarded
• All of the work done by the old system is concurrently performed by the
new system and the outputs are compared by check if the new system is
performing well
• This strategy minimizes the risk of major problems in the new system
causing irreparable damage to the business
• On the other hand, this approach can be costly as the two system need to
be operated over some period and some costs must be incurred for that.
Usually, this approach is used when the old system is largely manual
8
III. Location (pilot) conversion
• When the same system will be used in numerous geographical locations, it is usually
converted at one location first. As soon as the site has approved system, it can be
deployed in the rest of the organization possibly continuing installation in one location at
a time
Advantages:
• Limits potential damage and potential cost by limiting the effects to a single site
• Success at the pilot site can be used to convince reluctant personnel in other sites that
the system can be worthwhile for them as well
• IS staff can devote all their effort at the pilot site to make the system a success
Disadvantages:
• If the different locations require sharing data, extra programs will need to be written
synchronize the current and the new system
• Some parts of the organization will not get the benefits of the new system until the pilot
installation has been completely tested
9
IV. Phased (staged) conversion
• The phased conversion is an incremental approach where the new system is brought on-
line in functional components; different parts of the old and the new system are used in
cooperation until the whole new system is installed
Advantages:
• Risk and cost are spread out over a period of time
• Allows for some benefits from the new system even before the whole system is ready.
• Each phase of change is small and manageable for users and IS staff
Disadvantages:
• Bridge programs connecting old and new databases and programs often must be built
• A phased installation is like bringing out a sequence of repeated conversions at each
phase and a long period of change which may be frustrated and confusing users
10
4. Documentation
• Each information system developed results in various documents
of its own
• The contents of the final documentation may vary from
organization to organization and from the SDLC followed
• However, the following can be reasonably expected to be included
in any system documentation
System requirement specification Test reports
Test specification
11
Types of Documentation
• In general, documentation can be divided into two types:
1. System documentation which records detailed information
about a system’s design specification, its internal workings,
and its functionality. System documentation is primarily
intended for maintenance programmers and can be:
• Internal documentation: that is part of the program source
code or is generated at program compile time
• External documentation: that includes the outcome of all of
the structured diagramming techniques such as DFDs.
External documentation can be maintained and updated
using CASE tool.
2. User documentation- consists of written or other visual
information about an application system, how it works and
how to use it
12
5. Training users
• Change may be good, but it is not always easy
• Converting to a new system requires that system users be trained
• The educational process in which systems analysts engage in to bring about the smooth
transition from the old system to the new is called training
• The analysts may not be involved in training users; but s/he may have to determine training
strategies based on who is going to be trained, by whom, in what way, and on what topic
Who to train
• All people who will have primary or secondary use of the new information system must be trained.
These include everyone from data-entry personnel to those who will use output to make decisions
without personally using a computer. The amount of training requires thus depends on how
much someone’s job will change because of the new system.
• The analysts must ensure that users of different skill levels and job interests separately trained.
People who train users
• For a large information systems project may different trainers may be used depending on how
many users must be trained and who they are:
• Possible sources include:
• Vendors
• System analysts
• External paid trainers
• In-house trainers
• Other system users
13
Cont’d
Training topics
• The type of necessary training will vary by type of system and expertise of users. The lists
of potential topics from which the analyst must determine if training will be useful include:
• Use of system
• General computer concepts
• Information system concepts (batch versus online processing)
• Organizational practice concepts (e.g. FIFO inventory accounting)
• System management (e.g. how to request changes to a system)
Training methods
• Every user learns best under various methods depending on his/her personalities and
background. Some users learn best by seeing, others by hearing and still others by doing.
Because it is not usually possible to customize training for every individual a combination
of methods is often the best way to follow.
• Following are some common training methods that the analyst can choose from
• Tutorial – one person at a time
• Course – several people taught at a time
• Computer aided instruction
• Interactive training manuals- combination of tutorials and computer aided instruction
• Software help components
14
6. User support
• User support is an ongoing technical support provided to users. Regardless of how well the users
have been trained and how good the end-user documentation is, users will eventually require
additional assistance because unanticipated situations may arise or new users are added. User
support in an organization is usually provided in two forms: an information center and a help
desk.
• An information center is an organizational unit which has people that can answer questions by
users and assist users with a wide range of computing needs including the use of particular
information system. In addition to providing help on a particular information system, information
staff may:
• Install new hardware and software
• Consult with users writing programs in fourth-generation languages
• Extract data from organizational databases onto personal computers
• Set up user accounts
• Routinely observe the user of the system
• Conducting user satisfaction surveys and meetings
• Providing additional training necessary
• Work with users to submit system change requests
• The information center may have a section under it designated for the support activities for a
specific information system. This section is called help desk. The help desk is the first place
information system users would call when they need assistance with an information system. The
help desk staff either deals with the users’ questions or refers the users to the most appropriate
person. The support issues may consist of such task as providing for recovery and backup, disaster
recovery, PC maintenance, writing newsletters and offering types of proactive information sharing.
15
Information System Maintenance
The system maintenance process
• The maintenance process phase is the last phase in the
SDLC and makes the SDLC a lifecycle
• That is when an information system needs to be maintained
the steps taken almost look like the whole SDLC
• They include:
• Obtaining maintenance request
• Analysis of the request to understand its scope and how it
will affect the current system
• Designing changes
• Implementing changes
16
17