This document provides an overview of software development life cycle (SDLC) models and their comparison. It discusses several SDLC models including waterfall, V-shaped, iterative, prototyping, RAD, spiral and agile. Each model is described in terms of its phases, advantages and disadvantages. The document also presents related work from other scholars and states that while agile was not fully extreme programming, using Scrum principles resulted in return on investment and lower costs. It proposes future work to identify knowledge sharing procedures and user-centered SDLC models that overcome limitations of existing approaches.
2. Contents
Introduction
Related Work
Methods or Process and phases involved in SDLC
Common software development life cycles and their
comparison
Advantage and disadvantage of software development life
cycles
Our Statement on the Research
Future work
3. Introduction
A software development process, also known as a software
development life cycle (SDLC), is a structure imposed on
the development of a software product.
Various processes and methodologies have been developed
over the last few decades to improve software quality,
with varying degrees of success.
A software development process is a structure imposed on
the development of a software product.
4. Cont.…
There are several models for such processes, each
describing approaches to a variety of tasks or activities
that take place during the process.
This paper focuses on the current state of knowledge in
the field of software development process.
It aims to be the standard that defines all the tasks
required for developing and maintaining software.
5. Cont.…
Software Engineering processes are composed of many
activities, notably the following :
Requirement Analysis
Specification
Software architecture
Implementation
Testing, Documentation
Training and Support
Maintenance
6. Cont.…
Software development teams, taking into account its goals
and the scale of a particular project, and have a number of
well established software development models to choose
from.
Therefore, even though there are number of models each
software Development Company adopts the best-suited
model, which facilitates the software development process
and boosts the productivity of its team members.
7. Related Work
Some scholars said different things about software
development process model. Among those scholars we
mentioned some of here
According to Laura C. Rodríguez Software process is the top
abstract concept to be modeled.
He also defines software development process model as a
method by which the software can be developed in a
systematic manner and which will increase the probability
of completing the software project within the time deadline
and maintaining the quality of the software product as per
the standard.
8. Cont.…
Precedent research has exposed that agile practices
could effectively encourage developers and amplify
their job fulfillment (Melnik & Maurer, 2006; Sharp &
Robinson, 2008; Tessem & Maurer, 2007), as they are
developed to ensemble people’s requirements.
In 1970, Dr. Winston Royce presented a paper entitled
“Managing the Development of Large Software
Systems,” which criticized sequential development.
9. Methods or Process and phases involved in SDLC
The software development life cycle models use the step by
step approach to complete the software development process.
If the process is strong, the end product will also be strong
and project can get success.
While developing the good software product the developers
that are directly or indirectly included in this process should
keep the following points in their mind.
A quality focus
Process
Methods
Tools.
10. Phases Involved in SDLCs
The phases that are generally present in each and every
software development life cycle model are;
1 Understanding the problem (through requirements
gathering).
2 Deciding a plan for a solution (Designing)
3 Coding the planned solution
4 Testing the actual program
5 Deployment & maintenance of the product.
12. COMMON SOFTWARE DEVELOPMENT LIFE
CYCLE MODELS AND THEIR COMPARISON
1 WATERFALL MODEL
The waterfall model is the classical model of software
engineering.
It is one of the oldest models and is widely used in government
projects and in many major companies.
The waterfall method does not prohibit returning to an earlier
phase, for example, returning from the design phase to the
requirements phase.
At the end of each stage, a review to determine whether the
project can proceed to the next stage is held.
13. Cont.…
Your prototyping can also be incorporated into any stage
from the architectural design and after.
There is no overlap between stages.
In real-world development, however, one can discover
issues during the design or coding stages that point out
errors or gaps in the requirements.
15. Cont…
Advantages :
Easy to understand and implement.
Widely used and known (in theory!).
Reinforces good habits: define-before- design, design-before-
code.
Identifies deliverables and milestones.
Disadvantages:
Idealized, doesn’t match reality well.
Doesn’t reflect iterative nature of exploratory early in project.
Software is delivered late in project, delays discovery
Difficult and expensive to make changes to documents,”
swimming upstream”.
16. 2. V-Shaped Model
Just like the waterfall model, the V-Shaped life cycle is a
sequential path of execution of processes.
Each phase must be completed before the next phase
begins
The testing procedures are developed early in the life cycle
before any coding is done, during each of the phases
preceding implementation.
Before development is started, a system test plan is
created.
The test plan focuses on meeting the functionality specified
in requirements gathering.
18. Cont.…
Advantages
Simple and easy to use.
Each phase has specific deliverables.
Higher chance of success over the waterfall model due to the early
development of test plans during the life cycle.
Disadvantages
Very rigid like the waterfall model.
Little flexibility and adjusting scope is difficult and expensive.
Software is developed during the implementation phase, so no early
prototypes of the software are produced.
This Model does not provide a clear path for problems found during
testing phases.
19. 3. The Iterative Model
The iterative model came into existence to cope with the
problems of the original waterfall model.
The iterative model is enhanced version of classical waterfall
model which could provide faster results require less time and
heaving good flexibility.
In iterative model project is divided into small parts and this
allows developer team to go easily and quickly for their goal
and obtain their valuable feedback from users.
21. Cont.…
Advantages:
Much better model of software process.
Client can get Feedback.
Used in that type of projects were requirements are not clear.
Document driven process.
Works well on week teams.
Disadvantages:
Not easy to manage.
Not clear mile stones.
No stage is finished really.
22. 4. The Prototyping Model
Prototype model is the evolutionary process model.
23. Cont.…
Advantages:
Early visibility.
Higher outputs.
Cost reductive.
Client can actually feel with the system, i.e. feedback.
Early design.
Disadvantages:
Possibility of unfinished systems.
Possibility of inadequate system
Lack of flexibility.
Not suitable for large systems.
Management is very complicated.
24. 5 RAD methodology
Rapid application development is a development
lifecycle designed to give much faster development and
higher quality results than those achieved with the
traditional methodologies.
The project owner’s feedback is received after each
module is completed.
The Rapid application development methodology is
suitable for small, medium and large scale projects with
the constraint that projects have to be broken down into
modules.
26. 6 Spiral Model
The spiral model is similar to the incremental model,
with more emphases placed on risk analysis.
The spiral model has four phases:
Planning
Risk Analysis
Engineering
Evaluation. spirals
27. Cont.…
Advantages
High amount of risk analysis.
Good for large and mission-critical projects.
Software is produced early in the software life cycle.
Disadvantages
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the risk
Doesn’t work well for smaller projects .
28. 7 Agile Model
Agile SDLC model is a combination of iterative and
incremental process models with focus on process
adaptability and customer satisfaction by rapid
delivery of working software product.
Agile Methods break the product into small
incremental builds. These builds are provided in
iterations.
29. Cont…
Advantages
Lightweight methods suit small-medium size projects
Produces good team cohesion.
Emphasizes final product.
Iterative.
Test based approach to requirements and quality assurance.
Disadvantages
Difficult to scale up to large projects where documentation is
essential.
Needs experience and skill if not to degenerate into
code-and-fix.
Programming pairs is costly.
31. Our Statement on the Research
A software process model is a streamlined demonstration
of a software process, presented from a specific
perception. A software process model is an intellectual
illustration of a software process. Problems solving in
software contain of these activities:
Finding the problem
Determining a plot for solution
Code generating the intended solution
Testing the authentic program
32. Cont…
The basic undertakings or segments to be performed for
developing a software structure are
Purpose of System’s Requirements
System Analysis & Design
Developing or coding of the software
System Testing as an end user
System deployment and regular maintenance
33. Cont.…
Even though agile was not full Extreme Programming in
methodological performs, Our statement in the research is
using a Scrum approach and agile principles resulted in both
previous Return on Investment and minor cost. everybody
had great doing it – always a respectable signal.
34. FUTURE WORK
This paper focused on the existing models. There are various
shortcomings in the existing models in future we can have
models that can overcome the drawbacks of the existing
models.
1. To identify a suitable knowledge sharing procedure
while accomplishment user centered design in a startup.
2. To test other available software development processes in
a startup such as V-Model, RUP etc. and see how well it can
be applied in a solo developer startup environment.
35. CONCLUSION
This paper discussed what is software process model and
various process models, also compare them with different
parameter and highlight the factors for choosing them.
paper Present the chart based on usage. However, the
existing model still can be improve and modified based on
less cost, time and high efficient.
The developer should find out following Aspects
1. Find out market analysis that why Agile Model is Popular
now a days.
2. How can improve efficiency of given model.