Software development is one of the most powerful, important and necessary hour in today\'s generation. Every organization, industry, small business, constitutions etc. require software for the functionality of their system and the reduction of manual labor or traditional work that used to be precarious and had more mistakes. SDLC is about minimizing risk and failure and maximizing product quality. To development it works in a step-by-step procedure and the SDLC was just created. The SDLC defines a framework that includes various activities and tasks performed during the software development process. There are many types SDLC models that have their advantages and disadvantages and will work as according to their needs.
Introduction
I. INTRODUCTION
The SDLC contains a detailed structure plan on how to develope the software system. A sdlc is a model which describes the overall area as software development is ongoing with a description of each phase of doing things. There are different types of models such as Waterfall model, V-shaped model, Evolutionary prototype model, spiral model, Iterative and incremental model & agile model. In this Each model has its advantages and disadvantages and depending on how our projects are and accordingly we need to implement the model.
SDLC is a systematic approach to software completion development process over time and maintain software quality.
System development a life cycle provides a set of activities that need to be performed during system development and that is often called ”software development life cycle”. This is divided into a set of activities which allow any software development company to review the product easily. It uses a step-by- step approach complete the software development process. If the process is strong, the end will be strong too and the project can be a success.
During development developers who are developing good software product directly or indirectly involved in this process keep the following points in mind:
Quality
Process
Methods
Tools
A software process model is a representation of the process and given are the description of the process are as:
a. Specifications
b. Design
c. Validation
d. Evolution
The software development life cycle is about:
Understanding the problem. ie (problemdomain)
Decide on a solution plan. ie (solutiondomain)
Coding of the planned solution
Test the current program
Maintain the product
II. HISTORY OF THE SDLC
The profession "software developer" exists from the first computers and their operators to the present back like the time of ENIAC and tubes.
Practices and methods for software development have been evolved over the decades since its invention computer.
These methods have adapted to the state of the art in computer hardware, development tools and modern think about organizational management software development teams. With this progress new software development methods grew out of private and public software development effortsaround the world.
These methods are very different in approach, yet they share a common goal: to develop software as cheaplyas possible, effectively and as efficiently as possible.
III. SDLC MODELS
A. Waterfall Model
Pioneer of software development, Winston Royce designed a waterfall in 1970. It belongs to the oldest SDLC model, but it has not been used much in recent years.It follows a linear sequential flow in which progress is made and see how it flows down the development stage.Here, all requests are collected at the address of the project start and then go to next phase. Each stage depends on information collected at an earlier stage as it does not allow transition to the next phase until the previous phase was completed. The waterfall approach does not allow the process to return to the previous stage and allow changes to it. The waterfall model is used for small projects because there is little scope for revisions once the stage is complete. In the waterfall model problems cannot be solved until you get to maintenance stage. Stages in a waterfall model include stages such as requirements analysis, system design, implementation, testing, deployment and maintenance.
B. Iterative Model
The iteration model uses an iteration that over comes a weakness of the waterfall model. Unlike waterfall model where the request was requested only once but the requirements for the iterative model are gathered each phase. The project is divided into small components so that the result can be used in next phase. There is feedback made that after each increment collected from the client based on which other process is planned and made. New version of the software is produced at each stage and is repeat until the entire system is ready.
C. V Shaped Model
The V-model is an SDLC model where the execution ofprocesses takes place in a sequential V-shaped. It is also known as the "verification and validation model". This Model is an extension of the waterfall model and is based on connecting a test phase for each corresponding development phase.
This means that for every single phase of the development cycle there is a directly related test phase. This is a highly disciplined model and the nextphase starts only after the previous phase is completed.
D. Agile Model
The Agile model was primarily design to help aproject to adapt to change requests quickly. So the main goal of the agile model is to facilitate fast project completion. To accomplish this task is agility Required. Agility is achieved by adapting the process project, eliminating activities that may not be necessary for a specific project. Also anything that is waste of time and effort is prevented.
An agile model refers to a group of developmentsprocesses.
These processes share some fundamentals properties but have some subtle differences between them. Several Agile SDLC models areListed below:
Crystal
Atern
Feature-driven development
Scrum
Extreme Programming (XP)
Lean development
Unified process
In an agile model, requirements are distributed into many small parts which may be successive developed. The Agile model uses Iterative development. Each sub-part is developed through iteration. Each iteration is meant to be small and easy to handle and can be completed within a few weeks. At a time one iteration is planned, developed and deployed customers. Long-term plans are not made.
An agile model is a combination of iterative and incremental process models. Steps include in the agile
The SDLC models are as follows:
a. Gathering requirements
b. Requirements analysis
c. Design
d. Coding
e. Unit testing
f. Acceptance exams Principles of Agile model:
To establish close contact with the customer during development and gain a clear understanding of different requirements, each agile project usually includes a customer representative in the team.
The agile model relies on the functional deploymentof software rather than comprehensive documentation.
Requests to change the requirements from the customer are supported and effectively incorporated.
Emphasizes on having effective team members and the improvement of communication between themis given greater importance. The communication between the development team members can be reached face to face communication rather than through exchange formal documents.
Recommended that the development team size should be small (5 to 9 people) to help the teammembers engage meaningfully face-to-face communicate and have a collaborate work Environment.
E. Prototype Model
A prototype model is software development model that is used to produce aprototype software version. This model is used when customer or user has no specific or detailed product information. In this model it is the developer that can start developing the software minimum information and requirements then take user feedback and make relevant changes accordingly to the user and redefine the product. It is an iterative, trial and error process that goes on between the developer and the client. Main goalof this model is to provide a system with a total functionality so the client can check and providerequired changes. In this model we have six different stages that include requirements, rapid design, prototyping, user evaluation, prototype refinement, implementation and maintenance.
F. Spiral Model
This model is one of the most important Software development life cycle models, it is used for risk management which combines waterfall model and iterative model. . In this model, each phase begins with a design goal and ends with the client checking the progress. This model is used for majorly for large projects that include the risk and cost. The spiral model has four different phases include planning, risk analysis, engineering and evaluation as shown in the figure:
Conclusion
SDLC is a systematic software development process which ensures quality and correctness created software. The structure imposed by this SDLC is specifically designed to maximize the probability of a successful software development efforts. Consists of how to plan, build, and maintain specific software. All software starts as concept and flows through a series of stages until a release is developed and deployed. Software the development life cycle of an application or system continues with updates and new features Until day it is decommissioned or replaced. Several methods for software development have evolved decade.