Chapter 7 SAD
Chapter 7 SAD
Chapter 7 SAD
During implementation and operation, physical design specifications must be turned into
working computer code. Then the code is tested until most of the errors have been detected and
corrected, the system is installed, user sites are prepared for the new system, and users must
come to rely on the new system rather than the existing one to get their work done.
The implementation and operation phase of the SDLC is the most expensive and time
consuming phase of the entire life cycle. This phase is expensive because so many people are
involved in the process. It is time consuming because of all the work that has to be completed
through the entire life of the system. Systems implementation and operation is made up of seven
major activities. These are coding, testing, installation, documentation, training, support,
and maintenance.
Coding is the process whereby the physical design specifications created by the design team are
turned into working computer code by the programming team. Once coding has begun the
testing process can begin and proceed in parallel. As each program module is produced, it can
be tested individually then as part of a larger program, and then as part of a larger system.
Installation is the process during which the current system is replaced by the new system. This
includes conversion of existing data, software, documentation, and work procedures to those
consistent with the new system.
7.2Hardware installation
It is the organizational process of changing over from the current information system to the new
one. Four different approaches to installation have emerged over years:
Direct
Parallel
Single location
Phased
1
Each installation process involves getting workers to change the way they work. An installation
should be looked at not as simple installing a new computer system, but as an organizational
change process. The installation function includes software installation not only hardware
installation. For example the following are some the activities of software installation.
Install the software product in the target environment as designed and in accordance
with the Installation Plan.
The resources and information necessary to install the software product shall be
determined and be available. The developer shall assist the acquirer with the set-up
activities. Where the installed software product is replacing an existing system, the
developer shall support any parallel running activities that are required.
Ensure that the software code and databases initialize, execute, and terminate as
specified in the contract. The installation events and results shall be documented.
7.3 System testing
Testing software begins earlier in the SDLC, even though many of the actual testing activities
are carried out during implementation. During analysis, you develop an overall test plan. During
design, you develop a unit test plan, an integration test plan and a system test plan. During
implementation, these various plans are put into effect and the actual testing is performed.
2
Software application testing is an umbrella term that covers several types of tests. Tests can be
done with or without executing the code and they may be manual or automated. Using this
framework, we categorize types of tests as shown in Table 1.
Manual Automated
Desk Checking: a testing technique in which the program code is sequentially executed
manually by the reviewer. In one sense, the reviewer acts as the computer, mentally checking
each step and its result for the entire set of computer instruction.
Syntax Checking: is typically done by a compiler. Errors in syntax are uncovered but the code
is not executed.
Unit testing: it is sometimes called module testing. In unit testing, each module (roughly a
section of code that performs a single function) is tested alone in attempt to discover any errors
that may exist in the modules code.
Integrated Testing: the process of bringing together all of the modules that a program
comprises for testing purpose. Modules are typically integrated in a top-down, incremental
fashion.
System Testing: the bringing together of all the programs that a system comprises for testing
purpose. Programs are typically integrated in a top-down, incremental fashion. System testing is
intended to demonstrate whether a system meets its objective.
3
Stub Testing: a technique used in testing modules, especially where modules are written and
tested in a top-down fashion, where a few lines of code are used to substitute for subordinate
modules.
Once the system tests have been satisfactorily completed, the system is ready for acceptance
testing, which is testing the system in the environment where it will eventually be used. The
purpose of acceptance testing is for users to determine whether the system meets their
requirements. The most complete acceptance testing will include:
1) Alpha Testing: user testing of a completed information system using simulated (false)
data. The types of tests performed during alpha testing include:
- Recovery testing: forces the software (or environment) to fail in order to verify that
recovery is properly performed.
- Security testing: verifies that protection mechanisms built into the system will protect it
from improper penetration.
- Stress testing: tries to break the system (e.g., what happens when a record is written to the
database with incomplete information or what happens under extreme online transaction
loads or with a large number of concurrent users).
- Performance testing: determines how the system performs on the range of possible
environments in which it may be used; often the goal is have the system perform with similar
response time and other performance measures in each environment.
2) Beta Testing: user testing of a completed information system using real data in the real
user environment. Problems uncovered in alpha and beta testing in any of these areas must be
corrected before users can accept the system.
7.4Trainingand support
Training and support are critical for the success of an information system. Training and support
help people adequately use computer systems to do their primary work. Without proper training
and the opportunity to ask questions and gain assistance/consultation when needed, users will
misuse, under use, or not use the information system you develop. Support is providing
ongoing educational and problem-solving assistance to information system users. Support
material and jobs must be designed along with the associated information system.
Build an organization
with the competencies,
Exercise the strategic capabilities, and resource Allocating ample
leadership needed to strengths needed for resources to
drive implementation successful strategy strategy-critical
forward. execution. activities.
5
Among other things, implementation strategy has to do with;
Rigorously discussing ‘how’s’ and ‘what’s’, questioning, tenaciously following through.
Ensuring accountability
Making assumptions about the business environment
Assessing the organization’s capabilities
Linking strategy to operations and the people who are going to implement
Linking rewards to outcomes
Changing assumptions as the environment changes
Upgrading the company’s capabilities to meet the challenges of an ambitious strategy.
6
software has been delivered adapting the software to changing requirements, changing
environments.
Because maintenance 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 version of all design documents and training materials developed or modified
during the maintenance process. This means that all documents created or modified during the
maintenance effort, including the system itself, represent the deliverables and outcomes of the
process.
It is the process of making changes to a system to fix or enhance its functionality. There are
several types of maintenance that you can perform on an information system.
1. Corrective Maintenance: refers to changes made to repair defects in the design, coding, or
implementation of the system. Corrective maintenance adds little or no value to the
organization; it simply focuses on removing defects from an existing system without adding
new functionality.
2. 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.
Contrary to corrective maintenance, adaptive maintenance is generally a small part of an
organizations maintenance effort but does add value to the organization.
3. Perfective Maintenance: involves making enhancements to improve processing performance,
interface usability, or to add desired, but not necessarily required system features. Many system
professionals feel that perfective maintenance is not really maintenance but new development.
4. Preventive Maintenance: involves changes made to a system to reduce the chance of future
system failure. Adaptive, perfective, and preventive maintenance activities can lead to
corrective maintenance activities if not carefully designed and implemented.
Major causes of maintenance problems
Unstructured code
Insufficient domain knowledge
Insufficient documentation
7
The effective & efficient working of a system depends on the following four
features:Maintenance, Servicing, Trouble shooting and Repair
Troubleshooting is the detection and removal of faults in the computer system. If a problem is
detected in a system, it is to be sorted out immediately.
Troubleshooting is of two types
• Hardware troubleshooting
• Software troubleshooting
Troubleshooting depends on the following four factors:
• Problem solving approach.
• Techniques adopted in troubleshooting.
• Tools and test equipment’s used.
• Diagnostic aids in the PC or the computer.
Servicing is mainly associated with hardware equipment.Servicing includes checkups, repairs
and updating of all physical components.Service provider should have proper knowledge about
various components and their installation procedures.
Servicing steps
• Uninstall all physical components starting from power connections to internal
motherboard connections.
• Clean dust from the components.
• Perform a visual check or electronic check as required.
• Reinstall all components carefully and properly.
• Check for loose wiring or crack cables.
• Check if any jumper is missing, if required replace it with a new one.
• Check for physical damages of peripherals and replace them if needed.
• Tighten all external connections.
• Switch on the power supply and observe.
Repairing means to rectify the problem in the hardware or software. While finding or analyzing
the faults, it can be decided which hardware or software can be repaired.Repairing may also
include replacement of a component.It is an essential part of troubleshooting.
Heat & Humidity: Excessive heat and thermal shocks are one of the major factors that affect the
performance of the system.More than half of the power given is wasted as heat and heat destroys
the chip. To reduce the heat effect, a fan is installed with the power supply.
Magnetism: Magnetism may cause permanent loss of data on hard disk or CD. It is mostly produced
by electric motors or electric appliances.Magnetic fields badly affect the data recorded on
diskettes and CDs.Precautions should be taken while preserving CDs & diskettes.
8
radio frequency interference (RFI).Shielding and isolating system power from other loads is a
preventive measure.
Power Surges: Power surge or fluctuation is a source of lot of problems.It causes unreliable
operation and damages electronic components.As their bad effects are known in advance,
preventive measures should be taken.Use of uninterrupted power supply (UPS) is a way to
safeguard the system.
Corrosion & Rough Handling:Corrosion of connectors and PCB edge contacts may cause
reliability problem in the system.Moisture is a corrosion agent.To control Corrosion, humidity
should be controlled.Cleaning fluids should be dried so as to control moisture.
1. System Documentation: detailed information about a system’s design specifications, its internal
workings, and its functionality. System documentation can be further divided into internal and
external documentation.
Internal Documentationa system documentation that is part of the program source code
or is generated at compile time.
External Documentation a system documentation that includes the outcome structured
diagramming techniques such as data flow and entity-relationship diagram.
2. User Documentation: written or other visual information about an application system, how it
works, and how to use it. The documentation lists the item necessary to perform the task the user
inquired about.