2. System Development Life Cycle (SDLC) is a
conceptual model which includes policies
and procedures for developing or altering
systems throughout their life cycles.
System Development Life Cycle (SDLC)
3. SDLC is used by analysts to develop an
information system. SDLC includes the following
activities −
•requirements
•design
•implementation
•testing
•deployment
•operations
•maintenance
System Development Life Cycle (SDLC)
4. Phases of SDLC
•Preliminary Investigation (Problem
Identification)
Feasibility study
System analysis
System designing
Development of software
System testing
Implementation & Evaluation
Maintenance
6. Problem identification helps in :-
i. Defining a problem
ii. Setting proper system goal
iii. Determining the boundaries
of the project by considering the limitations of
available resources
1. Preliminary Investigation OR Problem Identification:
8. 2. Feasibility study:
There are four aspects of feasibility study :-
i. Technical feasibility
ii. Economical feasibility
iii. Operational feasibility
iv. Behavioural feasibility
9. i. Technical feasibility:
It involves the required and existing computer system,
hardware, software & to what extent it can support the
proposed application.
It answers following questions :-
o Whether the system can be carried out with existing
equipments ?
o Whether the existing software is enough ?
o If a new technology is required how best it can be
implemented ?
10. ii. Economic feasibility:
It involves post benefit analysis to determine the
benefit and savings that are expected from new
system and compared with costs. It benefits out
weight cost then decision is made to design and
implement new system.
iii. Operational feasibility:
It concerns with human, organisational and political
aspects. It covers technical performance as well as
acceptance within the organisation. It determines
the general attitude and job skills of existing
personals and whether any restructuring of jobs will
be acceptable to the current user.
11. iv. Behavioural feasibility:
It includes how strong the reaction of staff will be
towards the development of new system that
involves computer’s use in their daily work. So
resistant to change is identified.
13. System Analysis
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?
14. System Analysis Involves in:
•collecting factual data
•understand the processes involved
•identifying problems and recommending feasible
suggestions
This involves studying the
•business processes
• gathering operational data
• understand the information flow
• finding out bottlenecks
•evolving solutions for overcoming the weaknesses
of the system.
16. System Design
•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
•The programming language and the
hardware and software platform in which the
new system will run are also decided
17. System Design
•Data structure, control process, equipment source,
workload and limitation of the system, Interface,
documentation, training, procedures of using the
system, taking backups and staffing requirement are
decided at this stage.
•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
19. Development of Software (Coding)
•A programmer, network engineer and/or database
developer are brought on to do the major work on
the project.
•The programmer converts the program
specifications into computer instructions, which we
refer to as programs.
•Programming tools like compilers, interpreters and
language like c, c++, and java etc., are used for
coding .with respect to the type of application.
21. Testing
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:
•Program test
•System test
22. Testing
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 : 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.
24. Implementation & Evaluation
The major steps involved in this phase are:
•Acquisition and Installation of Hardware and
Software
•Conversion
•User Training
•Documentation
25. Implementation & Evaluation
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?
26. Implementation & Evaluation
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.
27. Implementation & Evaluation
The documentation of the system is also one of the
most important activity in the system development
life cycle.
User Documentation: It 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: It 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.
29. Maintenance
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.
30. Waterfall Model
• The Waterfall Model was the first Process
Model to be introduced. It is also referred to
as a linear-sequential life cycle model.
• The Waterfall model is the earliest SDLC
approach that was used for software
development.
33. Waterfall Model
• Requirement Gathering and analysis − All
possible requirements of the system to be
developed are captured in this phase and
documented in a requirement specification
document.
35. Waterfall Model
• System Design − The requirement
specifications from first phase are studied in
this phase and the system design is prepared.
This system design helps in specifying
hardware and system requirements and helps
in defining the overall system architecture.
37. Waterfall Model
• Implementation − With inputs from the
system design, the system is first developed in
small programs called units, which are
integrated in the next phase. Each unit is
developed and tested for its functionality,
which is referred to as Unit Testing.
39. Waterfall Model
• Integration and Testing − All the units
developed in the implementation phase are
integrated into a system after testing of each
unit. Post integration the entire system is
tested for any faults and failures.
41. Waterfall Model
• Deployment of system − Once the functional
and non-functional testing is done; the
product is deployed in the customer
environment or released into the market.
43. Waterfall Model
• Maintenance − There are some issues which
come up in the client environment. To fix
those issues, patches are released. Also to
enhance the product some better versions are
released. Maintenance is done to deliver
these changes in the customer environment.
44. Advantages of Waterfall Model
• Simple and easy to understand and use
• Easy to manage due to the rigidity of the model. Each
phase has specific deliverables and a review process.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements
are very well understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
45. Disadvantages of Waterfall Model
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented
projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at
a moderate to high risk of changing. So, risk and
uncertainty is high with this process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
48. Spiral Model
Phase Name Activities performed Deliverables / Output
Planning -Requirements are studied and gathered.
- Feasibility study
- Reviews and walkthroughs to streamline the
requirements
Requirements understanding
document
Finalized list of requirements.
Risk Analysis Requirements are studied and brain storming
sessions are done to identify the potential risks
Once the risks are identified , risk mitigation
strategy is planned and finalized
Document which highlights all
the risks and its mitigation
plans.
Engineering Actual development and testing if the software
takes place in this phase
Code
Test cases and test results
Test summary report and defect
report.
Evaluation Customers evaluate the software and provide
their feedback and approval
Features implemented
document
49. Spiral model is used in the following
scenarios
• When the project is large.
• Where the software needs continuous risk
evaluation.
• Requirements are a bit complicated and require
continuous clarification.
• Software requires significant changes.
• Where enough time frame is their to get end user
feedback.
• Where releases are required to be frequent.
50. Advantages of using Spiral Model
• Development is fast
• Larger projects / software are created and
handled in a strategic way
• Risk evaluation is proper.
• Control towards all the phases of development.
• More and more features are added in a
systematic way.
• Software is produced early.
• Has room for customer feedback and the changes
are implemented faster.
51. Disadvantages of using Spiral Model
• Risk analysis is important phase so requires
expert people.
• Is not beneficial for smaller projects.
• Spiral may go infinitely.
• Documentation is more as it has intermediate
phases.
• It is costly for smaller projects.