0% found this document useful (0 votes)
44 views

5.1 Implementation Approaches

The document discusses several software development life cycle (SDLC) models: 1. The Waterfall model is a linear sequential approach where each phase must be completed before the next begins. It is simple but inflexible. 2. Rapid application development (RAD) emphasizes concise development cycles using reusable components. It enables fast creation of working software. 3. Incremental models break requirements into standalone modules that are developed in iterations, allowing early delivery of priority features. 4. Spiral models use risk-driven iterations with prototypes to capture requirements accurately and allow changes. Management is complex. 5. Iterative models develop software in fixed iterations with assessed requirements and design changes between iterations.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

5.1 Implementation Approaches

The document discusses several software development life cycle (SDLC) models: 1. The Waterfall model is a linear sequential approach where each phase must be completed before the next begins. It is simple but inflexible. 2. Rapid application development (RAD) emphasizes concise development cycles using reusable components. It enables fast creation of working software. 3. Incremental models break requirements into standalone modules that are developed in iterations, allowing early delivery of priority features. 4. Spiral models use risk-driven iterations with prototypes to capture requirements accurately and allow changes. Management is complex. 5. Iterative models develop software in fixed iterations with assessed requirements and design changes between iterations.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Chapter : 5

5.1 Implementation Approaches


1 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. It is very simple to understand and use. In a waterfall
model, each phase must be completed before the next phase can begin and there is no
overlapping in the phases.The Waterfall model is the earliest SDLC approach that was used
for software development.The waterfall Model illustrates the software development process
in a linear sequential flow. This means that any phase in the development process begins only
if the previous phase is complete. In this waterfall model, the phases do not overlap.

Waterfall approach was the first SDLC Model to be used widely in Software Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of software
development is divided into separate phases. In this Waterfall model, typically, the outcome
of one phase acts as the input for the next phase sequentially.

Diagram: 

Figure 5.1.1

Advantages

1. Simple and easy to understand and use


2. Easy to manage due to the rigidity of the model. Each phase has specific deliverables
and a review process.
3. Phases are processed and completed one at a time.
4. Works well for smaller projects where requirements are very well understood.
5. Clearly defined stages.
6.  Well understood milestones.
7.  Easy to arrange tasks.
8. Process and results are well documented.

Disadvantages:
1. No working software is produced until late during the life cycle.
2. High amounts of risk and uncertainty.
3. Not a good model for complex and object-oriented projects.
4. Poor model for long and ongoing projects.
5. Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
6. It is difficult to measure progress within stages.
7. Cannot accommodate changing requirements.
8. Adjusting scope during the life cycle can end a project.
9. Integration is done as a "big-bang. at the very end, which doesn't allow identifying
any technological or business bottleneck or challenges early.

2. RAD Model

RAD is a linear sequential software development process model that emphasizes a concise
development cycle using an element-based construction approach. If the requirements are
well understood and described, and the project scope is a constraint, the RAD process enables
a development team to create a fully functional system within a concise time period. RAD
(Rapid Application Development) is a concept that products can be developed faster and of
higher quality through:

1.Business Modeling: The information flow among business functions is defined by


answering questions like what data drives the business process, what data is generated, who
generates it, where does the information go, who processes it and so on.

2. Data Modeling: The data collected from business modelling is refined into a set of data
objects (entities) that are needed to support the business. The attributes (character of each
entity) are identified, and the relation between these data objects

3.Application Generation: Automated tools are used to facilitate construction of the software;
even they use the 4th GL techniques.

5. Testing & Turnover: Many of the programming components have already been tested since
RAD emphasis reuse. This reduces the overall testing time. But the new part must be tested,
and all interfaces must be fully exercised.

Diagram :
Figure 5.1.2

Advantage:

1. This model is flexible for change.


2. In this model, changes are adoptable.
3. Each phase in RAD brings highest priority functionality to the customer.
4. It reduced development time.
5. It increases the reusability of features

Disadvantage:

1. It required highly skilled designers.


2. All applications are not compatible with RAD.
3. For smaller projects, we cannot use the RAD model.
4. On the high technical risk, it's not suitable.
5. Required user involvement

3. Incremental Model

It is a process of software development where requirements are broken down into multiple
standalone modules of the software development cycle. Incremental development is done in
steps from analysis design, implementation, testing/verification, maintenance.Each iteration
passes through the requirements, design, coding and testing phases. And each subsequent
release of the system adds function to the previous release until all designed functionality has
been implemented.

Diagram : 

Figure 5.1.1
Figure 5.1.3

Advantage of Incremental Model

1. Errors are easy to recognize.


2. Easier to test and debug
3. More flexible.
4. Simple to manage risk because it is handled during its iteration.
5. The Client gets important functionality early.

Disadvantage of Incremental Model


1. Need for good planning
2. Total Cost is high.
3. Well defined module interfaces are needed.

4. Spiral Model
Spiral model is one of the most important Software Development Life Cycle models, which
provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from
project to project. Each loop of the spiral is called a Phase of the software development
process. The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks. As the project manager dynamically
determines the number of phases, so the project manager has an important role to develop a
product using the spiral model. 
The Radius of the spiral at any point represents the expenses(cost) of the project so far, and
the angular dimension represents the progress made so far in the current phase.

Diagram
Figure 5.1.4

 Advantages: 
 Changing requirements can be accommodated.
 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.
 Development can be divided into smaller parts and the risky parts can be developed
earlier which helps in better risk management.
 Disadvantages :
 Management is more complex.
 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive documentation.

5.Iterative model 

In this Model, you can start with some of the software specifications and develop the first
version of the software. After the first version if there is a need to change the software, then a
new version of the software is created with a new iteration. Every release of the Iterative
Model finishes in an exact and fixed period that is called iteration.
The Iterative Model allows accessing earlier phases, in which the variations are made
respectively. The final output of the project was renewed at the end of the Software
Development Life Cycle (SDLC) process.

Diagram: 

Figure 5.1.5

Advantage: 
1. Testing and debugging during smaller iterations is easy.
2. A Parallel development can plan.
3. It is easily acceptable to the ever-changing needs of the project.
4. Risks are identified and resolved during iteration.
5. Limited time spent on documentation and extra time on designing.

Disadvantage: 
1. It is not suitable for smaller projects.
2. More Resources may be required.
3. Design can be changed again and again because of imperfect requirements.
4. Requirement changes can cause over budget.
5. Project completion date not confirmed because of changing requirements.

You might also like