Professional Documents
Culture Documents
Cycle Model
• System Development Life Cycle (SDLC) is a
systematic and sequential approach to solving
and developing a system.
• The stages are project selection, feasibility,
analysis, Design, implementation, and post
implementation stages.
• The phases of SDLC can be categorized as under:
• (i) Initial or preliminary investigation
• (ii) Feasibility study
• (iii) System requirement determination
• (iv) System design
• (v) Software development
• (vi) System/software testing
• (vii) System implementation
• (viii) Post-implementation and maintenance
Preliminary Investigation
• The first phase of the system development life
cycle is preliminary investigation.
• Deals with finding out ‘what’ the problem is,
recognizing that the problem is the most
important.
• It forms the basis of the entire SDLC.
Aim of the Preliminary Investigation
• (i) Studying the current system thoroughly in detail.
• (ii) Finding the problems/flaws in the current system.
• (iii) Conducting a complete investigation of the problems
faced in the current system.
• (iv) Investigating and analyse the requirement of the
new system.
• (v) Finding out the goals and objectives of the new
system.
• (vi) Checking and seeing if the requirements match with
the objectives of the system.
Feasibility Study
• Based on the conclusions drawn in the
preliminary investigation, a more detailed
feasibility study is carried out.
• The feasibility study encompasses judging
whether the system to be developed would be
feasible, i.e. whether it will prove to be
beneficial to the organization.
• (i) Economic Feasibility/cost benefit analysis.
• (ii) Technical feasibility.
• (iii) Human/ behavioral feasibility.
Economic Feasibility
• It deals with the cost benefit analysis of the
proposed system.
• Economic feasibility determines the total cost of
development of the system, the operating cost, the
cost of the software and hardware, the maintenance
cost, etc.
• If the benefits of the proposed system outweigh the
cost of developing and maintaining the system, then
a go-ahead is given to develop the new system.
Technical Feasibility
• Technical feasibility involves the technology
aspect of the feasibility study.
• It will analyse the current technologies as well
the emerging technologies.
• The study will also involve the software,
hardware and upgrade requirements.
Human Feasibility
• Human feasibility deals with the people of the
organization.
• It studies the acceptability level of the
employees of the organization.
• So, for a new system to be implemented, it is
much better if you study in advance, how the
people in the organization are going to react.
System Requirement Determination
• The systems analyst/business analyst identifies the requirement of
the system.
• This includes the functional and operational processes of existing
systems, the flaws of the existing system as well as the
expectations from the new system.
• This phase results in a Software Requirement Specification (SRS)
document.
• SRS is an agreement between the analyst and the client, which
mentions the requirement from the new system including all
performance and operational requirements.
• The better the SRS, the better the software will meet its
expectations.
A good SRS will have the following features:
• Completeness: The SRS document should contain all the system
requirements.
• Understandability: The requirements should be completely
understood by the clients, user’s analysts and developers.
• Consistency: The requirements should not be contradicting in nature.
• Correctness: The requirements mentioned are the SRS should be
same as the user desires.
• Clarity: The requirements mentioned in SRS should mean the same to
all.
• Modification capability: The SRS document should be made in such a
manner that if there in change is the user requirement, it would
allow the changes without affecting the entire system.
System Design
• System design is the most important phase
before system development.
• It is the blue print of the requirements that
will help in developing the software.
• All the technical specifications are finalized for
the development of the system at this stage.
Software Development
• The design gets converted into the actual system.
• The entire project according to the size is broken into
modules and each module is assigned to separate teams as
per the expertise of programmers in the respective teams.
• The modules developed are made independent so that
they can be executed and tested individually.
• The design specifications are converted into codes
(programs) by the programmers.
• As per the design requirement, it is decided to develop
new programs or modify the existing programs.
System Testing
• To check and see if the system is performing as per the
expectations, system testing is done.
• Software testing finds the errors in software, software
design, etc.
• During software testing, bugs and errors in the
software are detected and removed.
• There is a proper Test-Plan which identifies the type of
test to be performed, the schedules of tests,
guidelines for testing and the resources to be
allocated.
Testing Techniques
Black Box Testing
• This type of testing involves testing the
software for functionality.
• This will involve looking for errors in data
structure, faulty functions, interface errors,
software initialization and termination errors,
etc.
White Box Testing
• The internal structure of the software program
is tested, and errors are detected during white
box testing.
• It involves testing of all logic of the program,
testing of loops, conditional testing and data
flow-based testing.
System Implementation
• The system implementation phase involves
installation of the system, training of the users,
creation of computer files and installation of all
the hardware and software components.
• There are three types of implementations:
• Direct conversion
• Phased conversion
• Parallel conversion
Post-Implementation and Maintenance
• This is the last phase of Software Development Life Cycle (SDLC) and
it is an ongoing phase.
• The maintenance involves activities across all the phases of the
system development life cycle.
• Correcting code, updating documentation, correcting design errors,
making the system more user friendly etc. are some of the activities
involved in system maintenance.
• Maintenance has been classified into four types:
• Corrective maintenance
• Adaptive maintenance
• Perfective maintenance
• Preventive maintenance
Waterfall Model
• It is also referred to as a linear-sequential life cycle
model.
• It is very simple to understand and use.
• In a waterfall model, each phase must be
completed fully before the next phase can begin.
• This type of software development model is
basically used for the for the project which is
small and there are no uncertain requirements.
• In waterfall model phases do not overlap.
The stages of "The Waterfall Model"