SDLC ( software
development life cycle )
Is a process used by software
industry to design , develop and
test high quality software . SDLC
aims to produce a high quality
software that meet or exceeds
customer expectations , reaches
completion within time and cost
estimate . SDLC is a process
followed for a software project,
within a software organization . It
consist of a detailed plan
describing how to develop ,
maintain , replace and alter or
enhance specific software . The
life cycle defines a methodology
for improving the quality of
software and the overall
SOFTWARE DEVELOPMENT LIFE CYCLE
<Planning phase >
• Determine if a new system is needed
• Three primary task
1- define the problem (by observation and interview
determine what information is needed by whom , where and
2- suggest alternative solutions.
3- prepare a short report
What is system analysis ?
• It determine the feasibility of a system , and how it will
meet the requirements of the system users .
• The major function of system analysis are defining
requirements , gathering data , analyzing data ,
drawing up system specification , designing system
and testing system .
• System analysis involves the following aspects of system
1) Feasibility study
2) Requirement analysis
3) Structured analysis
(1) Feasibility study
Feasibility study is the process of determining whether a system is appropriate in the
context of organizational resources & constraints and meet user requirement.
The basic objective of the feasible study are to identify whether the proposed system
is feasible and will be more appropriate than the existing system .
A feasibility study covers economic , technical , operational , and legal feasibility
It involves determination of whether the given system is economically viable . It is done
through cost / benefit analysis of the system to identify whether the benefit are more
than the cost .
It analysis whether the proposed system is technically viable with the available hardware
, software , and technical resources .
It is also known as ‘ behavioral feasibility’ , determine whether the proposed system will
work effectively within the existing managerial & organization framework .
For ex ; if the new system requires distributed database while the existing policy is
to have centralized database.
It tries to ensure whether the new system meets the requirements of various information
technology regulation , such as privacy laws , computer crime laws , etc .
(2) Requirement analysis
• It is the most crucial stage of the system analysis in which an
analysis is done about who required which information in what
form and when .
• These four was very important aspects because a system is
meant for it users and not for designer & operations
• Requirement analysis defines the scope of the system and the
function it is expected to perform .
• If the system is not designed according to information required ,
it will to achieve its objective in spite of choosing the best system
• In this stage , the system development team might be more
interested in an analyzing how users do the job & what
information they need for doing the job .
• For this purpose the team may use the variety of tools to identify
the requirements procedures and forms used , on-site
observation , interview questionnaires .
(3) Structured analysis
In analyzing the present system and liable future requirements of
the proposed system , the analyst collect a great deal of relatively
unstructured data through manuals , interview , questionnaires
& other sources ; structured analysis is undertaken which is set
of techniques & graphical tools and allows the analysis to develop
a new bind of system specification that are easily understandable
to the users .
It has the following features –
a. structured analysis is graphic that presents a picture of what is
being specified & is a conceptually easy to understand
presentation of the application .
b. the process used in structured analysis is partitioned so that a
clear picture of progression from general to specific in the system
c. Structured analysis is logical rather than physical . It specifies in a
precise concise & highly readable manner the working of the
Tools for system analysis and design
In a system development process , one of the basic
objective is to complete the development process in as
short as possible and to keep as much quality as possible .
For this purpose , different development methodologies are
used. A development methodology is a collection of
methods , tools and techniques or whatever name is given
to these over the period of time different tools have been
used for system development , which are as follows :
Data flow diagram
Data flow chart
DATA FLOW DIAGRAM
NAME SYMBOLS FUNCTIONING
IT SHOWS DATA FLOW
IT SHOWS PROCESS
IT SHOWS THE DATA
IT SHOWS THE EXTERNAL
Terminal .. Start/Pause/ End
DATA FLOW DIAGRAM
Data flow diagram (DFD) graphically
illustrates a system’s component
processes and the flow of data between
them . A DFD is constructed by using four
types of symbols that show different
entities & their relationship.
Data flow shows the movement of data between
process , data store and external entity . Data may
be concerned with report , document , sales
order or data from a computer file .it is
represented by arrow.
Process portrays the transformation of input
data flow to output data flow . An example of
process is transformation of an order into an
invoice . Process is represented by circle in
Data store consists of computer files
database or any other form of data
storage. The name of data store is
written inside the data store symbol. It is
represented by an open rectangle in
An external entity is either originator or
receiver of information . External entities
may be customer , suppliers ,
government agencies , or employee/
department within the organization
outside the current system . It is
represented by square in DFD .
It is graphical design tool that depicts the physical media &
sequence of processing steps used in an entire information
system . These may be two types of flow chart .
System flow chart
Program flow chart
Different types of symbol are used in flowchart .
Terminal It is used to indicate beginning
( START ) , ending and Pause
( HALT ) in the program logic
It is used to denote any function of
input/ output device in the program . If
these is a program instruction to input
data from any input device. It is
indicated in the flow chart with an input/
Processing A processing symbol is used to
represented arithmetic & data movement
instruction . The logical process of
moving data from one location of the
primary memory to another is also
indicator by this symbol
A flow line with arrow head is used
to indicate the flow of operation ,
that is the sequence in which the
instruction are to be executed .
A decision symbol is used in a flow chart to
indicate a point at which a decision has to be
If a flow chart become very large the flow line
may start criss- crossing at many places that
causes confusion and reduces understandability
of flow chart similarly , a large flow chart cannot
be put in single page and it has o be carried on
the next page . In these cases , it is useful to
utilize connector symbols .
Prototyping is an approach for developing information system
quickly as compared to long – drawn process adopted in
SDLC approach . It is the process of developing an
experimental information system quickly & inexpensively for
demonstration & evaluation so that end user can better
determine information requirement .
Prototype is a working version of an information system or
part of the system but it is meant to be only preliminary model
once this become operational , it is further refined until it
confirms precisely to user requirements .
Identification of basic information
developing the initial prototype
Using the initial prototype
Revising and enhancing
If not accepted
Identification of basic requirement :-
In this stage , the system designer works with users to understand their basic
information requirement .
Developing the initial prototype :-
Based on user requirement , the system developer develops the initial
prototype quickly mostly by using fourth generation language .
Using the initial prototype :-
After the initial prototype is ready , it is put to operation to determine what
refinements are required users are encouraged to use the prototype as
extensively a possible and are encouraged to give their suggestion for
Refining & enhancing the prototype :-
If the initial prototype is not accepted ; that is it does not meet the users
requirement , this is treated as working prototype requiring further refinement
and enhancement . This process is repeated units the prototype becomes
acceptable & usable as operational prototype .
System design -:
System design is the most crucial stage of system development process as
the design determine the success or the failure of the system . It involves
Reviewing the system’s information and functional requirements .
Developing a model of the new system including logical and physical
specification of output , input , processing storage and procedures .
Logical design -:
Logical design also known as conceptual design , layout the components of
the system and their relationship to each other as they appear to users ,
the major work in logical design is as follows –
Input / output specification
File specification [ file organization ]
Processing specification [ mode of data process ]
Physical design -:
Physical design , also known as detailed design , translate the abstract
logical design into specific technical design for new system .
Output design -:
Computer output refer to any information generated by a system whether
printed or displayed . The main objective of a system is to generate
information in form which user can use .
Output may be presented to users either in printed form , or screen
display form , for ex ;
i. Tabular form
ii. Graphic form
iii. Printed form
Input design -:
For generating outputs , matching inputs are require which requires input
design . The objective of input design is to make data entry as easy ,
logical and free from error as possible . For capturing input data ,
different device can be used , such as keyboard , on-line entry without
using keyboard and source data automation – scanner , voice input
devices and sensors , when keyed input system which is most common
is used , it requires form design . Coding , and data entry .
Storage design -:
In every information system , data storage is required for concurrent use
as well as for future use , there can be two approaches for designing
data storage system.
o First , data can be stored in individuals files with one file for each
o Second , a database can be developed which can be shared by different
users as the need arises . Further , the database either centralized or
Processing design -:
It focuses on the design of software resources , that is the program
needed by proposed information system .
Procedure design -:
Procedure specify how the computer will function from data entry storage
to output storage .
After completion of system analysis and design , documentation is
required . Documentation describes how an information system work from
both a technical & end –user stand point . It is a written record of different
phases of system development and establishes designed performance .
criteria for these phases , since documentation provides detailed
procedure of how a system work ,such procedure should be prescribed for
all types of personnel who come in contact with system these personnel
a) End users – [ detailed instruction for accessing the system ]
b) Secondary users – [ instruction on to enter each kind of input ]
c) Computer operating personnel – [ instruction for quality assurance ]
d) Trainers - [ documentation for type of training ]
Method of documentation
• Play script
• Flow chart
Condition for use
• Sequenced set of instruction or one
job title or unit .
• Sequenced set of instruction
involving several job .
• Un sequenced procedures
• Two condition determine a
• Supplement to post script or matrix.
After system is completely designed , it is better to test its functionality before
it is installed without testing , two types of problem are likely to occur .
If the system has any error , this may appear much later , the time log
between the cause and appearance of the problem may enhance
correction time .
If the system errors may effect files & records in the system and a small
problem may conceivably explode into a much larger problem .
Steps in testing –
For system testing , a testing plan showing sequence of testing , time
schedule and personnel involved in testing should be prepared . After
finalizing this plan , system testing steps should be followed which are as
1) Program testing
2) String testing
3) System testing
4) Acceptance testing
1) Program testing -:
A program represent the logical element of a system . For a
program to run satisfactorily , it must compile and test data
correctly and tie up properly with other program of the system ,
program testing checks two types of errors –
A syntax error is a program statement that violates one or more
rules of the language in which it is written .
A logical error deals with incorrect data fields ,out of range item ,
and invalid combination .
2) String testing -:
Various programs of a system are related to each other , even if all
the program are working well independently . It is not that
necessary they will work well jointly to ensure that all programs
works well jointly .
3) System testing :-
It is designed to uncover the weakness not tracked in earlier tests . It tests
the functioning of the system as a whole to determine whether the system
is functioning the way it was conceived . It includes system failure
&validation of entire system .
4) Acceptance testing :-
It provides the final certification that the system is ready to be used in
production setting . It is evaluated by users and reviewed by management
, when all parties are satisfied the system is formally accepted for
System implementation / building phase
It has different system , ranging from the conversion of basic application to
a complete replacement of the existing system . There are basically three
types of replacement .
o Implementation of computer system to replace a manual system when
requires acquisition of computer hardware & software.
o Implementation of new computer system to replace an existing one like
mainframe to network of micro computer or independent computer to
client/ server computing .
o Implementation of a modified application to replace an existing one using
the same computer .
System implementation involves-
• Hardware acquisition ,
• Software acquisition ,
• Installation ,
• Conversion ,
• User – training and
• Post implementation
Hardware acquisition -:
The type of hardware that is required for implementing a system is
specified in system analysis and design documentation after the
specification are made available , the particular type of computer may be
chosen or acquisition .
Software acquisition -:
System analysis specifies the type of software that would be required to
produce desired output to satisfy the user needs .
During the process of acquiring hardware / software , installation work
may processed , so that by the time , equipment arrive , the platform
is ready for its installation , installation involves site preparation ,
equipments installation & equipment check out .
It is the process of changing over from the existing system to the new
system . It may be from a manual system to computerized system .
User training -:
It is an important element of a system implementation because the new
system operations are quite different as compared to old ones , from
training point of view , users may be classified as computer operators and
end users .
Computer operator training – training should be provided to computer
operator , that is the person who will operate computer . In providing
training to computer operation , it must be ensured that they are able to
handle operation training should include such fundamental as how to run
the computer on and use it and knowledge of what normal operations and
End user training – it may involve computer use particularly in the case
of micro-computer network . End-user must be provided training about
how to access data files , the form in which they will receive the output ,
and how to interpret the output . End user should be trained on data
handling activities such as data editing , formulating enquiries and
deleting records of data as well as formatting reports , documents ,
Training tools –
User manual Help screen Job aids
System maintenance / development phase
After a system is implemented and is in operation , it requires
maintenance on regular basis .
Generally , system maintenance is performed by theses reason –
1) To correct cross –
Uncovering bugs in the programs or weakness in the design that were
not detected during testing and correcting there weakness .
2) To keep system current –
Over the time changes occur in the system’s environment that , require
modification in the system design & software.
3) To improve the system –
Continuous improvement in the system is required to meet user
requirements . System maintenance may be undertaken either by in –
house maintenance teamer the maintenance work can be assigned to
vendor or other system maintenance agencies .