System Development Approach
1.
Problem identification and Project initiation
This is a brief investigation of the
system under consideration and gives a clear picture of what actually the
physical system is? In practice, the initial system study involves the
preparation of a System proposal which lists the Problem Definition,
Objectives of the Study, Terms of reference for Study, Constraints, Expected
benefits of the new system, etc. in the light of the user requirements. The
management may accept the proposal and the cycle proceeds to the next stage.
2.
Feasibility
Study
In case the system proposal is
acceptable to the management, the next phase is to examine the feasibility of
the system. 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 to find the Return on Investment
(ROI). This also defines the resources needed to complete the detailed
investigation. The result is a feasibility report submitted to the management.
This may be accepted or accepted with modifications or rejected. In short,
following decision are taken in different feasibility study:
Economic feasibility - The likely benefits outweigh the cost of solving the problem
which is generally demonstrated by a cost/ benefit analysis.
Technical feasibility - Whether the problem be solved using existing technology and
resources available?
Behavioral feasibility - Whether the problem is with the user behavior with to
implementation of the system, it is regarding the acceptance of system?
Social feasibility – Whether the problem be solved without causing any
social issues? Whether the system will be acceptable to the society?
3.
System
Analysis
Systems analysis is a process of
collecting factual data, understand the processes involved, identifying
problems and recommending feasible suggestions for improving the system
functioning. This involves studying the business processes, gathering
operational data, understand the information flow, finding out bottlenecks and
evolving solutions for overcoming the weaknesses of the system so as to achieve
the organizational goals. System Analysis also includes subdividing of complex
process involving the entire system, identification of data store and manual
processes.
The major objectives of systems
analysis are to find answers for each business process:
What is being done?
How is it being done?
Who is doing it?
When is he doing it? Why is it being
done?
How can it be improved?
It is more of a thinking process and
involves the creative skills of the System Analyst. It attempts to give birth
to a new efficient system that satisfies the current needs of the user and has
scope for future growth within the organizational constraints. The result of
this process is a logical system design. System analysis is an iterative
process that continues until a preferred and acceptable solution emerges.
4.
System
Design
Based on the user requirements and
the detailed analysis of a new system, the new system must be designed. This is
the phase of system designing. It is the most crucial phase in the development
of a system. The logical system design arrived at as a result of system
analysis and is converted into physical system design. In the design phase the
SDLC process continues to move from the what questions of the analysis
phase to the how . The logical design produced during the
analysis is turned into a physical design - a detailed description of
what is needed to solve original problem. Input, output, databases, forms,
codification schemes and processing specifications are drawn up in detail.
There are several tools and
techniques used for describing the system design of the system. These tools and
techniques are: Flowchart, Data flow diagram (DFD), Data dictionary, Structured
English, Decision table and Decision tree which will be discussed in detailed
in the next lesson.
5.
Coding
The system design needs to be
implemented to make it a workable system. his demands the coding of design into
computer language, i.e., programming language. This is also called the
programming phase in which the programmer converts the program specifications
into computer instructions, which we refer to as programs. It is an important
stage where the defined procedures are transformed into control specifications
by the help of a computer language. The programs coordinate the data movements
and control the entire process in a system. A well written code reduces the
testing and maintenance effort. It is generally felt that the programs must be
modular in nature. This helps in fast development, maintenance and future
changes, if required. Programming tools like compilers, interpreters and
language like c, c++, and java etc., are used for coding .with respect to the
type of application. The right programming language should be chosen.
6.
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. Sometimes, system testing is considered as a part of implementation
process.
Using the test data following test
run are carried out:
- Program test
- System test
Program test : When the programs have been coded and compiled and
brought to working conditions, they must be individually tested with the
prepared test data. All verification and validation be checked and any
undesirable happening must be noted and debugged (error corrected).
System Test : After carrying out the program test for each of the
programs of the system and errors 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 analyzed. During the result analysis, it may be found that the
outputs are not matching the expected output of the system. In such case, the
errors in the particular programs are identified and are fixed and further
tested for the expected output. All independent modules be brought together and
all the interfaces to be tested between multiple modules, the whole set of
software is tested to establish that all modules work together correctly as an
application or system or package.
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.
7.
Implementation
After having the user acceptance of
the new system developed, the implementation phase begins. Implementation is
the stage of a project during which theory is turned into practice. The major
steps involved in this phase are:
- Acquisition and Installation of Hardware and Software
- Conversion
- User Training
- Documentation
The hardware and the relevant
software required for running the system must be made fully operational before
implementation. The conversion is also one of the most critical and expensive
activities in the system development life cycle. The data from the old system
needs to be converted to operate in the new format of the new system. The
database needs to be setup with security and recovery procedures fully defined.
During this phase, all the programs of the system are loaded onto the user’s computer. After loading the system, training of the user 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 computerized system, working has to shift from manual to computerized
working. The process is called Changeover. The following strategies are
followed for changeover of the system.
- Direct Changeover: This is the complete replacement of the old system by the new system. It is a risky approach and requires comprehensive system testing and training.
- Parallel run : In parallel run both the systems, i.e., computerized and manual, are executed simultaneously for certain defined period. The same data is processed by both the systems. This strategy is less risky but more expensive because of the following facts:
- Manual results can be compared with the results of the computerized system.
- The operational work is doubled.
- Failure of the computerised system at the early stage does not affect the working of the organization, because the manual system continues to work, as it used to do.
(iii) Pilot run: In this type of run, the new system is run with the data
from one or more of the previous periods for the whole or part of the system.
The results are compared with the old
system results. It is less expensive
and risky than parallel run approach. This strategy builds the confidence and
the errors are traced easily without affecting the operations.
The documentation of the system is
also one of the most important activity in the system development life cycle.
This ensures the continuity of the system. Generally following two types of
documentations are prepared for any system.
- User or Operator Documentation
- System Documentation
User Documentation: The user documentation is a complete description of the
system from the user’s point of view detailing how to use or operate the
system. It also includes the major error messages likely to be encountered by
the user.
System Documentation: The system documentation contains the details of system
design, programs, their coding, system flow, data dictionary, process
description, etc. This helps to understand the system and permit changes to be
made in the existing system to satisfy new user needs.
8.
Post
Implementation (Maintenance) & Control
Maintenance is necessary to
eliminate errors in the system during its working life and to tune the system
to any variations in its working environments. It must meet the scope of any
future enhancement, future functionality and any other added functional
features to cope up with the latest future needs. It has been seen that there
are always some errors found in the systems 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.
Post a Comment