SSAD chapter_5 Note
SSAD chapter_5 Note
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:
Coding- turning the physical design specifications created at the design stage into working
computer code by programmers.
Testing- conducting various tests to ensure that the information system delivers what is expected
of it
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.
Documentation- finalizing system documentation and preparing user manuals
Training users - providing training to users on general and specific topics before they start to
use the information system
User support - providing such services as help desk support, online help and bulletin
boards once the information system has become integrated into the organization.
Coding:
It is a process of converting the physical design specifications created at the design stage into working
computer code by programmers. Here what is important is programming language selection and coding
styles.
System Testing
There are various types of testing mechanisms 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 the computer or
by people.
Based on the above distinctions there are seven types of testing approaches outlined in the table below
and each is discussed next.
Manual Automated
Static Inspections Syntax checking
Dynamic Walkthroughs Unit test
Desk checking Integration test
System test
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.
Syntax Checking- syntax checking is also a procedure performed to identify known errors in the
code but it is different from inspection because it is done by the computer itself.
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.
1
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.
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 the module’s code.
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.
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 procedures 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.
There is also testing that will be done by users themselves in a 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 a 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 phases 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 procedures 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 a 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.
2
Parallel Conversion (installation)
In parallel conversion both the old and new systems are 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
to 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 systems 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.
3
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 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 alike
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 frustrating and confusing to users.
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:
4
o 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 tools.
User documentation- consists of written or other visual information about an application
system, how it works and how to use it.
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 analyst may not be involved directly 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.
The analyst must ensure that users of different skill levels and job interests are separately trained.
Training Topics
The type of necessary training will vary by type of system and expertise of users. The list 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 Vs 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.
5
Following are some common training methods that the analyst can choose from:
Tutorial- one person taught 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
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 a particular information
system. In addition to providing help on a particular information system, information center staff may:
6
Information System Maintenance
The System Maintenance Process
The system maintenance phase is the last phase in the SDLC and makes the SDLC a life cycle. That is
when an information system needs to be maintained the steps taken almost look like the whole SDLC.
They include:
Obtaining maintenance requests
Analysis of the request to understand its scope and how it will affect the current system
Designing changes
Implementing changes
Since the maintenance phase of the SDLC is basically a subset of the activities of the entire development
process, the deliverables and outcomes from the process are the development of a new version of the
software and new versions of all system documents modified during the maintenance process.
As there are a lot of similarities between a new development project and a maintenance project the
difference may be very difficult to establish. In general, a maintenance activity can be taken as a new
development project if:
The maintenance activity reuses most of the existing system modules in producing the new
system version, and
There is a change in the hardware or software platform or in the fundamental assumptions and
properties of the data, process and interface aspects of the information system.
Types of Maintenance
There are various kinds of maintenance that can be performed on an information system.
Corrective Maintenance
Corrective maintenance refers to changes made on the information system to repair defects in the design,
coding, or implementation of an information system. For example if you have recently bought a new
house corrective maintenance would involve repairs made to things that had never worked as designed
such as a faulty electrical outlet or misaligned door.
Most corrective maintenance problems surface soon after installation of the information system. When
these problems surface they are typically urgent and need to be resolved to curtail possible interruptions
in normal business activities. Of all types of maintenance, corrective maintenance accounts for as much
as 75 percent of all maintenance activities.
Adaptive Maintenance
Adaptive maintenance involves making changes to an information system to evolve its functionality to
changing business needs or to migrate it to a different operating environment. Within the house example
above, adaptive maintenance might be adding storm windows to improve the cooling performance of
newly bought air conditioner.
Adaptive maintenance is usually less urgent than corrective maintenance because business and technical
changes typically occur over some period of time. Contrary to corrective maintenance adaptive
maintenance is just a small part of an organization’s maintenance effort but does add value to the
organization.
7
Perfective Maintenance
Perfective maintenance involves making enhancements to improve processing performance, interface
usability or to add desired but not necessarily required system features. In our house example, perfective
maintenance would be adding a new room. Many system professionals feel that perfective maintenance
is not really maintenance but new development.
Preventive Maintenance
Preventive maintenance involves changes made to a system to reduce the chance of future system
failure. An example of preventive maintenance might be to increase the number of records that a system
can process far beyond what is currently needed or to generalize how a system sends report information
to a printer so that the system can easily adapt to changes in printer technology in the future.
In our example of the house you bought, preventive maintenance could be painting the exterior of the
house to better protect the house from severe weather conditions that may arise.
As with adaptive maintenance, both perfective and preventive maintenance are typically a much low
priority than corrective maintenance. Over the life of an information system, corrective maintenance is
most likely to occur after initial system installation or after major system changes. This means that
adaptive, perfective and preventive maintenance activities lead to corrective maintenance activities if not
carefully designed and implemented.