Software Engineering Process Models important

dhavankumar1986 14 views 22 slides Sep 01, 2024
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

Software Development Life Cycle models in software engineering


Slide Content

Software Engineering
Process

What is software process?
▪A software process (also knows as software
methodology) is a set of related activities that leads
to the production of the software.
▪These activities may involve the development of the
software from the scratch, or, modifying an existing
system.
▪Any software process must include the following four
activities:

1. Software specification  (or requirements
engineering): Define the main functionalities of
the software and the constrains around them.
Software design and implementation : The software
is to be designed and programmed.
Software verification and validation : The
software must conforms to it’s specification and
meets the customer needs.
Software evolution (software maintenance): The
software is being modified to meet customer and
market requirements changes.

Software Process Paradigms
▪A software process model is a simplified representation of a
software process. Each model represents a process from a
specific perspective.
▪The following are the most used Software Process models, they
are
1. Waterfall model
2. Prototyping Model
3. Incremental Model
4. spiral Model
5. RAD Model

Waterfall model
▪The waterfall model is a sequential approach, where
each fundamental activity of a process represented as
a separate phase, arranged in linear order.
▪In the waterfall model, you must plan and schedule all
of the activities before starting working on them
(plan-driven process).
▪The phases of the waterfall model
are: Requirements, Design, Implementation,
Testing, and Maintenance.

▪the result of each phase is one or more documents that
should be approved and the next phase shouldn’t be
started until the previous phase has completely been
finished.
▪The waterfall model should only be applied when
requirements are well understood and unlikely to
change radically during development as this model has
a relatively rigid structure which makes it relatively
hard to accommodate change when the process in
underway.

Prototyping Model:
In the prototyping paradigmIn the prototyping paradigm
1.1.The user specifies the basic requirements of the system.The user specifies the basic requirements of the system.
2.2.The engineer(s) develop a working model (prototype) of the The engineer(s) develop a working model (prototype) of the
specified system which focuses on the major functionalities of specified system which focuses on the major functionalities of
the system.the system.
3.3.The prototype is then given to the customer for trial.The prototype is then given to the customer for trial.
4.4.The customer provides the feedback after evaluating the The customer provides the feedback after evaluating the
prototype which helps in refining the requirements for the prototype which helps in refining the requirements for the
final product.final product.
5.5.Improving the prototype & testing it continues till the final Improving the prototype & testing it continues till the final
product satisfies the customerproduct satisfies the customer.

Advantages and Disadvantages
Advantages:
The customer gets the feel of the system with the working version
The engineer gets much clearer picture of what is needed with each feedback provided
by the customer
Disadvantages:
The customer can’t wait till the prototyping process leads to the end product & is willing to get
the prototype “fixed” to get the final product
The engineers might make implementation compromises while designing the prototype, which
can thereafter be ignored at the time of final product development

Incremental Model:
In this paradigmIn this paradigm
1.The incremental build model is a method of software
development where the model is designed, implemented
and tested incrementally (a little more is added each time)
until the product is finished.
2. It involves both development and maintenance
3.The product is defined as finished when it satisfies all of
its requirements.
4.This model combines the elements of the waterfall
model with the iterative philosophy of prototyping.

4. This model combines the elements of the waterfall
model with the iterative philosophy of prototyping.

Advantages of Incremental Model
•Generates working software quickly and early during
the software life cycle.
•More flexible – less costly to change scope and
requirements.
•Easier to test and debug during a smaller iteration.
•Easier to manage risk because risky pieces are identified
and handled during its iteration.
•Each iteration is an easily managed milestone.

Disadvantages of Incremental Model
•Each phase of an iteration is rigid and do not overlap each
other.
•Problems may arise pertaining to system architecture because
not all requirements are gathered up front for the entire
software life cycle.
When to use Incremental Model
•Such models are used where requirements are clear and can
implement by phase wise. From the figure it’s clear that the
requirements ® is divided into R1, R2……….Rn and delivered
accordingly.
•Mostly such model is used in web applications and product
based companies.

Spiral Model:
1.The spiral model starts with an initial pass through a standard
waterfall life cycle, using a subset of the total requirements to
develop a robust prototype. 
2.After an evaluation period, the cycle is initiated again, adding
new functionality and releasing the next prototype. 
3.This process continues, with the prototype becoming larger and
larger with each iteration.
4.Spiral model is divided into set of framework activities defined by
the software engineering team.
5.Each of the framework activities represent one segment of the
spiral path

Advantages of Spiral Model
•High amount of risk analysis
•Good for large and mission-critical projects.
•Software is produced early in the software life cycle.
Disadvantages of Spiral Model
•Can be a costly model to use.
•Risk analysis requires highly specific expertise.
•Project’s success is highly dependent on the risk analysis
phase.
•Doesn’t work well for smaller projects.

When to use Spiral Model
•For a typical shrink-wrap application.
•The spiral model is used most often in large projects.
•The US military has adopted the spiral model for its
Future Combat Systems program.

RAD Model:
1.Rapid Application Development or RAD is an
incremental software process model that
emphasizes a short development cycle.
2.The RAD model is a high speed adaption of the
waterfall model, in which rapid development is
achieved by using a component based construction
approach.
3.The RAD process enables a development team to
create a fully functional system with in very short
time period.

▪Communication works to understand the business problem and
the information characteristics.
▪Planning is essential because multiple software teams works in
parallel on different systems.
▪Modeling encompasses three major phases- business modeling,
data modeling, and process modeling.
▪Construction emphasizes the use of pre-existing software
components and the application automatic code generation.
▪Deployment establishes a basis for subsequent iterations.

Advantages of RAD
•RAD reduces the development time and reusability of
components help to speed up development.
•All functions are modularized so it is easy to work with.
•For large projects RAD require highly skilled engineers in
the team.
Disadvantages of RAD
•Both end customer and developer should be committed
to complete the system in a much abbreviated time frame.
•If commitment is lacking RAD will fail.
•RAD is based on Object Oriented approach and if it is
difficult to modularize the project the RAD may not work
well.