Software Development Life Cycle
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
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.
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 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 analyzed 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.
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 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).
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 a most crucial phase in the development 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. These tools and techniques are:
- Flowchart
- Data flow diagram (DFDs)
- Data dictionary
- Structured English
- Decision table
- Decision tree
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 procedures 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. It is generally felt that the programs
must be modular in nature. This helps in fast development, maintenance and
future change, if required.
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 analyzed.
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.
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. 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 computerized
system, manual working has to shift from manual to computerized working. The
following two strategies are followed for running the system:
Parallel
run: In such run for a certain defined period, both the systems i.e.
computerized and manual are executed in parallel. This strategy is helpful
because of the following:
Manual results can be compared with the results of
the computerized system.
Failure of the computerized 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.
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.
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. 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.
No comments:
Post a Comment