CHAPTER ONE
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
PHASE 1: INITIATION PHASE
Debre Berhan University
School of Computing
Let us now describe the different phases and the related activities of
system development life cycle in detail.
(a) System Study
System study is the first stage of system development life cycle. This
gives a clear picture of what actually the physical system is? In practice,
the system study is done in two phases. In the first phase, the preliminary
survey of the system is done which helps in identifying the scope of the
system. The second phase of the system study is more detailed and in-
depth study in which the identification of user’s requirement and the
limitations and problems of the present system are studied. After
completing the system study, a system proposal is prepared by the
System Analyst (who studies the system) and placed before the user. The
proposed system contains the findings of the present system and
recommendations to overcome the limitations and problems of the
present system in the light of the user’s requirements.
To describe the system study phase more analytically, we would say that
system study phase passes through the following steps:
problem identification and project initiation
background analysis
inference or findings
(b) Feasibility Study
On the basis of result of the initial study, feasibility study takes place. The
feasibility study is basically the test of the proposed system in the light of
its workability, meeting user’s requirements, effective use of resources
and .of course, the cost effectiveness. The main goal of feasibility study is
not to solve the problem but to achieve the scope. In the process of
feasibility study, the cost and benefits are estimated with greater
accuracy.
(c) System Analysis
Assuming that a new system is to be developed, the next phase is system
analysis. Analysis involved a detailed study of the current system, leading
to specifications of a new system. Analysis is a detailed study of various
2
Debre Berhan University
School of Computing
operations performed by a system and their relationships within and
outside the system. During analysis, data are collected on the available
files, decision points and transactions handled by the present system.
Interviews, on-site observation and questionnaire are the tools used for
system analysis. Using the following steps it becomes easy to draw the
exact boundary of the new system under consideration:
Keeping in view the problems and new requirements
Workout the pros and cons including new areas of the system
All procedures, requirements must be analysed and documented in the
form of detailed data flow diagrams (DFDs), data dictionary, logical data
structures and miniature specifications. System Analysis also includes
sub-dividing of complex process involving the entire system, identification
of data store and manual processes. What is the purpose of system
testing, To identify problems and opportunities in a system, To design a
new system, To ensure that the system meets its requirements and
functions correctly, To maintain a system. The main points to be
discussed in system analysis are:
Specification of what the new system is to accomplish based on the
user requirements.
Functional hierarchy showing the functions to be performed by the
new system and their relationship with each other.
Function network which are similar to function hierarchy but they
highlight the those functions which are common to more than one
procedure.
List of attributes of the entities - these are the data items which
need to be held about each entity (record)
(d) System Design
Based on the user requirements and the detailed analysis of a new
system, the new system must be designed. Which phase of the SDLC
involves creating detailed system specifications, including data structures
and algorithms Planning Analysis Design Implementation. This is the
phase of system designing. It is a most crucial phase in the development
3
Debre Berhan University
School of Computing
of a system. Normally, the design proceeds in two stages:
preliminary or general design
Structure or detailed design
Preliminary or general design: In the preliminary or general design, the
features of the new system are specified. The costs of implementing these
features and the benefits to be derived are estimated. If the project is still
considered to be feasible, we move to the detailed design stage.
Structure or Detailed design: In the detailed design stage, computer
oriented work begins in earnest. At this stage, the design of the system
becomes more structured. Structure design is a blue print of a computer
system solution to a given problem having the same components and
inter-relationship among the same components as the original problem.
Input, output and processing specifications are drawn up in detail. In the
design stage, the programming language and the platform in which the
new system will run are also decided.
There are several tools and techniques used for designing which will be
discussed in detailed in the next chapter.
(e) Coding
After designing the new system, the whole system is required to be
converted into computer understanding language. Coding the new system
into computer programming language does this. It is an important stage
where the defined procedure are transformed into control specifications
by the help of a computer language. This is also called the programming
phase in which the programmer converts the program specifications into
computer instructions, which we refer as programs. The programs
coordinate the data movements and control the entire process in a
system. What is the main disadvantage of using traditional, non-object-
oriented approaches to system analysis and design, Difficulties with user
interface design, Slow development times, Poor code organization and
maintainability, Inefficient code
4
Debre Berhan University
School of Computing
It is generally felt that the programs must be modular in nature. This helps
in fast development, maintenance and future change, if required.
(f) Testing
Before actually implementing the new system into operations, a test run
of the system is done removing all the bugs, if any. It is an important
phase of a successful system. After codifying the whole programs of the
system, a test plan should be developed and run on a given set of test
data. The output of the test run should match the expected results.
Using the test data following test run are carried out:
Unit test
System test
Unit test: When the programs have been coded and compiled and brought
to working conditions, they must be individually tested with the prepared
test data. Any undesirable happening must be noted and debugged (error
corrections).
System Test: After carrying out the unit test for each of the programs of
the system and when errors are removed, then system test is done. At
this stage the test is done on actual data. The complete system is
executed on the actual data. At each stage of the execution, the results or
output of the system is analysed. During the result analysis, it may be
found that the outputs are not matching the expected out of the system.
In such case, the errors in the particular programs are identified and are
fixed and further tested for the expected output.
When it is ensured that the system is running error-free, the users are
called with their own actual data so that the system could be shown
running as per their requirements.
(g) Implementation
After having the user acceptance of the new system developed, the
implementation phase begins. Implementation is the stage of a project
5
Debre Berhan University
School of Computing
during which theory is turned into practice. During this phase, all the
programs of the system are loaded onto the user's computer. After
loading the system, training of the users starts. Main topics of such type
of training are:
How to execute the package
How to enter the data
How to process the data (processing details)
How to take out the reports
After the users are trained about the computerised system, manual
working has to shift from manual to computerised working. The following
two strategies are followed for running the system:
1. Parallel run: In such run for a certain defined period, both the
systems i.e. computerised and manual are executed in parallel. This
strategy is helpful because of the following:
o Manual results can be compared with the results of the
computerised system.
o Failure of the computerised system at the early stage, does not
affect the working of the organisation, because the manual system
continues to work, as it used to do.
2. Pilot run: In this type of run, the new system is installed in parts.
Some part of the new system is installed first and executed
successfully for considerable time period. When the results are
found satisfactory then only other parts are implemented. This
strategy builds the confidence and the errors are traced easily.
(h) Maintenance
Maintenance is necessary to eliminate errors in the system during its
working life and to tune the system to any variations in its working
environment. inheritance used, To create a new object from an existing
object, To add new behavior to an object, To create a new class from an
6
Debre Berhan University
School of Computing
existing class, To encapsulate data and behavior within an object
It has been seen that there are always some errors found in the system
that must be noted and corrected. It also means the review of the system
from time to time. The review of the system is done for:
knowing the full capabilities of the system
knowing the required changes or the additional requirements
studying the performance
If a major change to a system is needed, a new project may have to be set
up to carry out the change. The new project will then proceed through all
the above life cycle phases.