SE Chapter 3 Software Development Life Cycle
SE Chapter 3 Software Development Life Cycle
Class: S.Y.B.B.A(C.A.)
1.Investigation
2.Analysis
3.Design
4.Development
5.Testing
6.Implementation
7.Maintenance
3
SDLC (System Development Life
Cycle)/Classical Model:
Activities of SDLC
4
SDLC (System Development Life
Cycle)/Classical Model:
SDLC is well defined process by which a system is
conceived, developed and implemented. It recognizes the
existence of a life cycle. SDLC concentrates on feasibility
analysis, cost-benefit analysis, project management,
hardware and software selection and personal
considerations.
SDLC is performed in two steps. The two steps are :
1. System Analysis
2. System Design
System analysis and system design involve six stages.
5
SDLC (System Development Life
Cycle)/Classical Model:
6
SDLC (System Development Life
Cycle)/Classical Model:
Problem Identification/Preliminary Investigation:
System analysis is identifying the real problem of the existing
system. Experienced analysts spend considerable time in this
task. Without understanding of the problem in the system any
further work done will lead to wastage of time and energy at a
later stage. To identify the real problem several questions must
be asked for example.
1.What is the actual problem ?
5.How complex it is ?
7
SDLC (System Development Life
Cycle)/Classical Model:
Problem identifications also include identifying the possible
opportunities like new market potential new market
technology etc.
Advantages of Problem identification :
1.It helps in problem-solving.
Before any further steps can be taken up, the problem must
be stated in clear and unambiguous words
8
SDLC (System Development Life
Cycle)/Classical Model:
Feasibility study and cost benefit analysis :
Feasibility study carried out whether there is complex problem.
A feasibility study is undertaken to determine the possibility or
probability of either improving the existing problem or
developing a completely new system. The feasibility study is
needed to.
1. Answer the question whether a new system is to installed or
not?
2. Determine the potential of the existing system.
3. Improve the existing system.
4. Define the problems and objectives involved in a project.
5. Avoid crash implementation of a new system 9
SDLC (System Development Life
Cycle)/Classical Model:
There are three aspects of feasibility study which should be
check.
a) Technical feasibility: This feasibility determines whether
it is possible to develop the project with available equipment,
available software technology and the manpower. If there is
any kind of need in order to develop software in this case the
cost of hardware, software and technical equipment are
considered.
b) Economic feasibility: In this the benefit of the system
are considered. Actually the cost benefit analysis is done. The
costs must include both one time costs and recurring costs.
10
SDLC (System Development Life
Cycle)/Classical Model:
One time costs may include:
1.Feasibility study cost.
2.Salaries of personal.
3.Supplies.
4.Equipment maintenance.
11
SDLC (System Development Life
Cycle)/Classical Model:
c) Operational feasibility: After implementing the system
the training program are arranged for the users. This is
carried out by people who are familiar with information
system as well as the techniques. They are experienced
persons like system analyst or managers. The cost of the
training program as well as space requirement for the
implementation of the system and the other assets are
considered.
12
SDLC (System Development Life
Cycle)/Classical Model:
System Requirements:
Requirement analysis is the determination of the requirements for a
new system. The system analyst has determined that a problem
exists and has obtained permission to do something about it then
the requirements analysis can begin. Requirement analysis for the
new system should identify the user requirements first.
The requirement analysis will determine.
1.What outputs are needed ?
16
SDLC (System Development Life
Cycle)/Classical Model:
Implementation, Follow up and Maintenance:
Implementation is a process in which you have to first train user,
install the new application and run the actual system with the
manual system. It checks whether both system gives proper results
while executing parallel.
It includes following activities.
1.Preparation and planning of schedule for the implementation.
2.Installing software.
3.Hardware checking.
18
SDLC (System Development Life
Cycle)/Classical Model:
Evaluation of the system:
Evaluation is nothing but feedback for the system. This is the final
checkpoint of SDLC. It identifies strengths and weakness of a
system.
It includes.
1. Development evaluation : In this decides whether system is
developed on time and within the budget. It includes assessment of
development methods and tools.
2. Operational evaluation : In this it considers response time,
ease of use, reliability of computation and storage capacity.
3. User Management Assessment evaluation : In this
evaluation include attitude of senior and user managers of the
organizations as well as end users.
19
Software Development Life Cycle Models
Many Development life cycle models have been proposed.
Each of them has some advantages as well as some
disadvantages
A few important and commonly used life cycle model are as
follows
1.Waterfall Model
2.Prototype Model
3.Spiral Model
4.Incremental Model
6.RAD Model
7.JAD Model
20
Waterfall Model
21
Waterfall Model
22
Waterfall Model
23
Waterfall Model
Waterfall model prescribes a sequential, linear flow among
phases outputs of each phase must be produced using
standards.
If output of any phase is wrong it may affect the subsequent
phases.
Waterfall model is also useful to measure the progress of the
project as it is easy to check whether a certain output is
delivered exactly on the date when it was expected.
The main activities are already discussed. Here we will have a
overview of each point again.
24
Waterfall Model
Preliminary investigation: The requirements of all system
elements and then allocate some subset of those
requirements to software.
Requirement Analysis: The system analyst must
understand the information domain for the software as well
as the required function, performance and interfacing.
System Design: The design process translates requirement
into a representation of the software that can be assessed for
quality before coding begins.
System Coding: The design must be translated into a
machine readable form.
25
Waterfall Model
System Testing:
This process focus on the logical internals of the software and
Software Development Methodologies functional externals.
Implementation & System maintenance:
System Implementation includes the activities like planning
and preparation of schedule for the implementation,
Hardware checking, Installing software etc. System should be
maintained properly. Because of any of the reasons. Minor
Changes in the processing logic, Errors detected during the
processing, Revision of data input and reports format
26
Waterfall Model
In order to decide whether or not to use the waterfall model
for a project it is necessary to understand both its strengths
and weakness.
Strengths:
1.The waterfall model is document oriented i.e. design
documentation, code documentation, database manual, and
user’s manual, operational manual etc.
2.It easier for maintenance.
27
Waterfall Model
Weakness:
1.The documentation is also a disadvantage because the user
28
Prototyping Model:
A Prototyping is a working model of an information system application. It
gives just idea of the system. It does not contain all features or perform
all the necessary functions of the final system. Customer evaluates the
prototype and then suggests what changes needed in the system. It
does not require lot of cost to build.
It can prepare by pen and pencil or computer software like screen
generators, report generators and application generators.
Prototype is useful when
nThe requirements are difficult to specify in advance.
30
Prototyping Model:
Steps in Prototyping:
1.Identify the user’s basic requirements and the features
31
Prototyping Model:
Steps in Prototyping:
After examine the prototype model by users one of the
following alternative is selected.
1.The prototype is selected.
33
Prototyping Model:
Tools for prototyping: There are three tools.
1.Screen generators: Automatically input validations are
prepared. It is useful to show the location of data entry filed,
display fields, headings of columns, labels, messages, colors,
fonts etc.
2.Report generators: The records from various files are
34
Spiral Model:
The spiral model was originally proposed by Boehm in 1988.
It is also called as ‘Risk management’ or ‘Process model’.
Each software process is a sequence of activities with some backtracking
from one activity to another the process is represented as a spiral.
Each stage is in the spiral represents a phase of the software process.
The spiral model is useful in the following situations.
1.When development of a project starts it may be possible that work may
not be stopped due to any reason. If such situation arises what step must
be taken to solve such problem should be known.
2.Which path should be followed for a particular procedure must be known
future. The spiral model is useful for identifying and eliminating high risk
problems in process design. 35
Spiral Model:
36
Spiral Model:
The spiral model contains four stages and each stage is represented by
one quadrant of the Cartesian diagram. The radius of the spiral represents
the cost incurred so far in the process.
evaluation of the software representations created during the engineering stage and
implemented during the installation stage.
The spiral model provides a realistic approach to the development of large scale
systems and software. The software made as per the customer satisfaction. It
provides maximum customer satisfaction from the final product. 37
V & V Model (Verification and Validation Model)
The V-model is a type of SDLC model where process executes
in a sequential manner in V-shape.
It is also known as Verification and Validation model.
It is based on the association of a testing phase for each
corresponding development stage. Development of each step
directly associated with the testing phase.
The next phase starts only after completion of the previous
phase i.e. for each development activity, there is a testing
activity corresponding to it.
38
V & V Model (Verification and Validation Model)
Verification: It involves static analysis technique (review)
done without executing code. It is the process of evaluation of
the product development phase to find whether specified
requirements meet.
Validation: It involves dynamic analysis technique
(functional, non-functional), testing done by executing code.
Validation is the process to evaluate the software after the
completion of the development phase to determine whether
software meets the customer expectations and requirements.
V-Model contains Verification phases on one side of the
Validation phases on the other side.
Verification and Validation phases are joined by coding phase
in V-shape. Thus it is called V-Model.
39
V & V Model (Verification and Validation Model)
40
V & V Model (Verification and Validation Model)
Design Phase:
Requirement Analysis: This phase contains detailed
communication with the customer to understand their requirements
and expectations. This stage is known as Requirement Gathering.
System Design: This phase contains the system design and the
41
V & V Model (Verification and Validation Model)
Testing Phases:
Unit Testing: Unit Test Plans are developed during module design phase.
These Unit Test Plans are executed to eliminate bugs at code or unit level.
Integration testing: After completion of unit testing Integration testing is
performed. In integration testing, the modules are integrated and the
system is tested. Integration testing is performed on the Architecture
design phase. This test verifies the communication of modules among
themselves.
System Testing: System testing test the complete application with its
functionality, inter dependency, and communication. It tests the functional
and non-functional requirements of the developed application.
User Acceptance Testing (UAT): UAT is performed in a user
environment that resembles the production environment. UAT verifies that
the delivered system meets user’s requirement and system is ready for use
in real world.
42
V & V Model (Verification and Validation Model)
Advantages:
This is a highly disciplined model and Phases are completed
one at a time.
V-Model is used for small projects where project
requirements are clear.
Simple and easy to understand and use.
This model focuses on verification and validation activities
early in the life cycle thereby enhancing the probability of
building an error-free and good quality product.
It enables project management to track progress
accurately.
43
V & V Model (Verification and Validation Model)
Disadvantages:
High risk and uncertainty.
It is not a good for complex and object-oriented projects.
It is not suitable for projects where requirements are not
clear and contains high risk of changing.
This model does not support iteration of phases.
It does not easily handle concurrent events.
44
Incremental Model
45
Incremental Model
Incremental Model is one of the most adopted models of software
development process where the software requirement is broken down
into many standalone modules in the software development life cycle.
Once the modules re the split then incremental development will be
carried out in steps covering all the analysis, designing,
implementation, carrying out all the required testing or verification and
maintenance.
In incremental models, each iteration stage is developed and hence
each stage will be going through requirements, design, coding and
finally the testing modules of the software development life cycle.
Functionality developed in each stage will be added on the previously
developed functionality and this repeats until the software is fully
developed. At each incremental stage there will be though review
basing on which the decision on the next stage will be taken out.
46
Incremental Model
You can see that at each stage of incremental development we are going
through analysis, design code and test phase and by doing this we are
making sure that the various incremental stages are compatible and
cumulatively helping in achieving the required objectives from the
software.
47
Incremental Model
48
Incremental Model
Phase in Each
Description
Increment
51
Thank You…..
52