BSEF19E022

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

University Of Sargodha

Subject: SDA

Submitted To
Mam . Saba Qamar

Submitted By
M.Arslan Haroon

Roll No: BSEF19E022


th
4 Semester(Self Support)

Department: CS&IT
SDLC

Software Development Life Cycle (SDLC) is a process used by the


software industry to design, develop and test high quality software. The
SDLC aims to produce a high-quality software that meets or exceeds
customer expectations, reaches completion within times and cost
estimates.
SDLC is a process followed for a software project, within a software
organization. It consists 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 development process
 SDLC is the acronym of Software Development Life Cycle.
 It is also called as Software Development Process.
 SDLC is a framework defining tasks performed at each step in the
software development process.
 ISO/IEC 12207 is an international standard for software life-cycle
processes. It aims to be the standard that defines all the tasks
required for developing and maintaining software.

 PHASES:

 Software Planning and Requirement Analysis


 Development Life Cycle consists of the following stages
 Software Planning and Requirement Analysis
 Defining Requirements
 Designing the Product Architecture
 Building or Developing the Product
 Testing the Product
 Deployment in the Market and Maintenance

 SDLC Model

 Waterfall Model
 Iterative Model
 Spiral Model
 V-Mode
 Big Bang Mode

Waterfall Model

The Waterfall Model was the first Process Model to be introduced. It is


also referred to as a linear-sequential life cycle model. The waterfall
model is a breakdown of project activities into linear sequential phases,
where each phase depends on the deliverables of the previous one and
corresponds to a specialization of tasks. The approach is typical for
certain areas of engineering In software development, it tends to be
among the less iterative and flexible approaches, as progress flows in
largely one direction through the phases of conception,
initiation, analysis, design, construction, testing, deployment and mainte
nance.
The waterfall development modeloriginated in
the manufacturing and construction industries; where the highly
structured physical environments meant that design changes became
prohibitively expensive much sooner in the development process.
 Advantages

 Simple and easy to understand and use


 Easy to manage due to the rigidity of the model. Each phase has
specific deliverables and a review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well
understood.
 Clearly defined stages

 Disadvantages

 No working software is produced until late during the life cycle.


 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 It is difficult to measure progress within stages.
 Cannot accommodate changing requirements.
 Adjusting scope during the life cycle can end a project.

Prototyping Model
Prototyping Model is a software development model in which
prototype is built, tested, and reworked until an acceptable prototype is
achieved. It also creates base to produce the final system or software. It
works best in scenarios where the project's requirements are not known
in detail. It is an iterative, trial and error method which takes place
between developer.

 PHASES:

 Requirements gathering and analysis


 Quick design
 build a Prototype
 Initial user evaluation
 Refining prototype
 Implement Product and Maintain

 Advantages

 Customer satisfaction exists because the customer can feel the


product at a very early stage.
 There will be hardly any chance of software rejection.
 Quicker user feedback helps you to achieve better software
development solutions.
 Allows the client to compare if the software code matches the
software specification.
 It helps you to find out the missing functionality in the system.
 It also identifies the complex or difficult functions.
 Encourages innovation and flexible designing.
 It is a straightforward model, so it is easy to understand.
 No need for specialized experts to build the model
 Disadvantages

 Here, are important cons/drawbacks of prototyping model:


 Prototyping is a slow and time taking process.
 The cost of developing a prototype is a total waste as the prototype
is ultimately thrown away.
 Prototyping may encourage excessive change requests.
 Sometimes customers may not be willing to participate in the
iteration cycle for the longer time duration.
 There may be far too many variations in software requirements
when each time the prototype is evaluated by the customer.

Incremental Model:

Incremental Model is a process of software development where


requirements are broken down into multiple standalone modules of
software development cycle. Incremental development is done in steps
from analysis design, implementation, testing/verification, maintenance.
The system is put into production when the first increment is delivered.
The first increment is often a core product where the basic requirements
are addressed, and supplementary features are added in the next
increments. Once the core product is analyzed by the client, there is plan
development for the next increment
 Advantages

 The software will be generated quickly during the software life


cycle
 A customer can respond to each building
 Throughout the development stages changes can be done
 Errors are easy to be identified
 This model is less costly compared to others

 Disadvantages

 Each iteration phase is rigid and does not overlap each other
 Problems might cause due to system architecture as such not all
requirements collected up front for the entire software lifecycle
 Rectifying a problem in one unit requires correction in all the units
and consumes a lot of time

Evolutionary model

Evolutionary model is a combination of Iterative and Incremental


model of software development life cycle. Delivering your system in a
big bang release, delivering it in incremental process over time is the
action done in this model. Some initial requirements and architecture
envisioning need to be done.
Evolutionary model suggests breaking down of work into smaller
chunks, prioritizing them and then delivering those chunks to the
customer one by one. The number of chunks is huge and is the number
of deliveries made to the customer. The main advantage is that the
customer’s confidence increases as he constantly gets quantifiable goods
or services from the beginning of the project to verify and validate his
requirements. The model allows for changing requirements as well as all
work in broken down into maintainable work chunks
 Advantages:

 In evolutionary model, a user gets a chance to experiment partially


developed system.
 It reduces the error because the core modules get tested thoroughly
 Disadvantages:

 Sometimes it is hard to divide the problem into several versions


that would be acceptable to the customer which can be
incrementally implemented and delivered.
RAD Model

RAD Model or Rapid Application Development model is a software


development process based on prototyping without any specific
planning. In RAD model, there is less attention paid to the planning and
more priority is given to the development tasks. It targets at developing
software in a short span of time.
It focuses on input-output source and destination of the information. It
emphasizes on delivering projects in small pieces; the larger projects are
divided into a series of smaller projects. The main features of RAD
modeling are that it focuses on the reuse of templates, tools, processes,
and code

SDLC RAD modeling has following phases


 Business Modeling
 Data Modeling
 Process Modeling
 Application Generation
 Testing and Turnover

 Advantages

 Flexible and adaptable to changes


 It is useful when you have to reduce the overall project risk
 It is Due to prototyping in nature, there is a possibility of lesser
defects
 adaptable and flexible to changes
 Each phase in RAD delivers highest priority functionality to client

 Disadvantages

Requires highly skilled designers or developers



 Reduced features due to time boxing, where features are pushed to
a later version to finish a release in short period
 When technical risk is high, it is not suitable Reduced features due
to time boxing, where features are pushed to a later version to
finish a release in short period
 Not all application is compatible with RAD
 It can't be used for smaller projects

Scrum (software development)

Scrum is the type of Agile framework. It is a framework within which


people can address complex adaptive problem while productivity and
creativity of delivering product is at highest possible values. Scrum
uses Iterative process.
Silent features of Scrum are:
 Scrum is light-weighted framework
 Scrum emphasizes self-organization
 Scrum is simple to understand
 Scrum framework help the team to work together

 Advantage of using Scrum framework:

Scrum framework is fast moving and money efficient.



 Scrum framework works by dividing the large product into small
sub-products. It’s like a divide and conquer strategy
 In Scrum customer satisfaction is very important.
 Scrum is adaptive in nature because it has short sprint.
 As Scrum framework rely on constant feedback therefore the
quality of product increases in less amount of time

 Disadvantage of using Scrum framework:

 Scrum framework do not allow changes into their sprint.


 Scrum framework is not fully described model. If you want to
adopt it you need to fill in the framework with your own details
like Extreme Programming (XP), Kanban, DSDM.
 It can be difficult for the Scrum to plan, structure and organize a
project that lacks a clear definition.

Spiral Model

The spiral model combines the idea of iterative development with the
systematic, controlled aspects of the waterfall model. This Spiral model
is a combination of iterative development process model and sequential
linear development model i.e. the waterfall model with a very high
emphasis on risk analysis. It allows incremental releases of the product
or incremental refinement through each iteration around the spiral.

Based on the customer evaluation, the software development process


enters the next iteration and subsequently follows the linear approach to
implement the feedback suggested by the customer. The process of
iterations along the spiral continues throughout the life of the software

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy