Software Development ModelsSoftware Development Models Software development models are suited for developing different types of software and applications. With Software development models, Choosing the right model is for delivering the expected results within the specified timeframes and under the planned budget. Otherwise, Choosing the incorrect model or working without one can lead to prolonged timeframes. That will bi to cause Bad Product quality or failure of the project.
Types of Software developing life cycles (SDLC)Types of Software developing life cycles (SDLC) •Waterfall Model •V-Shaped Model •Evolutionary Prototyping Model •Spiral Method (SDM) •Iterative and Incremental Method •Agile development
Waterfall ModelWaterfall Model The waterfall model is a sequential approach, where each fundamental activity of a process represented as a separate phase. Arranged in linear order. (plan-driven process) The plan-driven process is a process where all the activities are planned first, and the progress is measured against the plan. The waterfall is easier to change the process to reflect requirement changes.
Waterfall ModelWaterfall Model The phases of the waterfall model are; •Requirements, •Design, •Implementation, •Testing, •Maintenance
V-Shaped ModelV-Shaped Model Mapping each other's roles, this model promises the parallel running of software development and testing. V-Shaped Model is an extension of the waterfall model. The major difference between the V-shaped model and the waterfall model is the early test planning in the V-shaped model.
V-Shaped ModelV-Shaped Model Graphical representation describes the superimposing of a developer’s and tester’s lifecycle as specified by the V Model. Validation is concerned with two important criteria. The first one delves into the details about building the right product and the second is majorly concerned about checking whether the software’s performance is in tune with the specified needs of your client.
Prototyping ModelPrototyping Model Prototyping Model refers to the activity of creating prototypes of software applications, for example, incomplete versions of the software program being developed. This also will reduce the iterations that may occur in the waterfall approach and hard to be implemented due to the inflexibility of the waterfall approach. When the final prototype is developed, the requirement is considered to be frozen.
Spiral Method (SDM)Spiral Method (SDM) Spiral Method is an iterative approach where multiple passes are made through each phase. During each iteration, the system is explored at greater depth and more detail is added.
Spiral Method (SDM)Spiral Method (SDM) Spiral Method is good for high risky or large projects where the requirements are ambiguous. The risks might be due to cost, schedule, performance, user interfaces, etc. Risk analysis requires specific expertise, and the project’s success is highly dependent on the risk analysis phase. It doesn’t work well for smaller projects.
Iterative and Incremental MethodIterative and Incremental Method Each version of the software produced is modernized to include the other and to increase the number of functions. Incremental Method
When to Use Iterative Incremental Model?When to Use Iterative Incremental Model? •Most of the requirements are known up-front but are expected to evolve over time •The requirements are prioritized •There is a need to get the basic functionality delivered fast •A project has lengthy development schedules •A project has new technology
AgileAgile Agile is the software development model type of Incremental model. The agile methods refer to a group of software development models based on the incremental and iterative approach, in which the increments are small and typically, new releases of the system are created and made available to customers every few weeks.
AdvantagesAdvantages •Can adapt to changing requirements. •Easy to change direction to adapt to dynamic market conditions.