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

Document

The document outlines various Software Development Life Cycle (SDLC) models, including the Waterfall, Prototype, and Agile models. Each model has its own advantages and disadvantages, with the Waterfall model being systematic but inflexible, the Prototype model allowing for iterative development with user feedback, and the Agile model promoting rapid delivery and adaptability. Overall, the choice of model depends on project requirements, complexity, and user interaction needs.

Uploaded by

sinehin919
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Document

The document outlines various Software Development Life Cycle (SDLC) models, including the Waterfall, Prototype, and Agile models. Each model has its own advantages and disadvantages, with the Waterfall model being systematic but inflexible, the Prototype model allowing for iterative development with user feedback, and the Agile model promoting rapid delivery and adaptability. Overall, the choice of model depends on project requirements, complexity, and user interaction needs.

Uploaded by

sinehin919
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

SOFTWARE DEVELOPMENT

MODELS
☺ SDLC is a systematic process of developing any computer system. It is a part of
software engineering.
The computer system is complex and often links multiple traditional systems potentially supplied
by different vendors. To manage this level of complexity, a number of SDLC models have been
developed.

SOME OF THE MODELS ARE:

1) Waterfall Model
2) Prototype Model
3) Agile Model
4) Spiral Model
1) Waterfall Model

➢ This model is sometime called classic lifecycle because if suggests a


systematic approach to software development that begins with user
specification of requirements and progress through
planning,modeling,construction etc. It is a oldest type of model for
software engineering. This takes the fundamental process activities of
specification, development, validation, and evolution and represents
them as a separate phases.

Note: Waterfall model is a systemic and sequential model to develop software that
brings customer specifications requirements process through planning, modeling
development and construction. It is only appropriate only when all the requirements
are known.
1) Requirements analysis and definition
It is the first stage of waterfall model. In this stage, the developer should identify the
actual requirements of the given problem. After that , the problems are analyzed
and priotized as per the requirements of the problem. Finally, these requirements
are stated as a problem statement.

2) System Desing
In this stage the system design process partion the requirements to either hardware
or software systems. It establishes the overall system architecture. System Design
involves identifying and describing the fundamental software system abstractions
and their relationships.

3) Implementation and Unit testing


During this phase, the system designed is realized. Testing of each unit is done to
ensure the requirement is met.

4) Integration and System Testing


The individual program are integrated and tested to ensure the overall program runs
smoothly and nicely.After testing , the software is delivered to the customer.
5) Operation and Maintenance
In this stage, the system is installed to the desired location. The maintenance
involves correcting errors which weren't discovered in earlier stages of lif cycle.

Advantages of this model

✓ It is simple and suitable for small sized project


✓ It is less expensive

Disadvantages of this model

 It has no back track mechanism.


 It is not suitable for large-scaled projects
 It has lack of proper Documentation.
2) Prototype Model

Prototyping is the iterative process of system development which is more appropriative


for developing new system where there is no clear requirements , inputs and outputs.
Using prototyping , programmers can make early version of systems. These versions are
continuously modified unless the user is satisfied.

Prototyping is especially suitable where there will be heavy user interaction with system.
At first the developer interviews the user and design an initial system using DBMS. The user
works with prototype an provide changes. The process repeats until the user is satisfied.

The figure shows the steps involved in developing

a type of prototype. There are 4 steps and are as follows.

1) Identify user needs

The system analyst reviews the user to obtain an idea of

what is required from the system

2) Develop a prototype

Uses a prototyping tool to develop a prototype.

3) Determine if the prototype is acceptable

The analyst educates the user in a prototype and

provide an opportunity to became familiar with the system

. The user advices the analyst whether the prototype is

satisfactory. If so next step 4 is taken otherwise

it follows again

1 2 3 with a better understanding of the user needs.

4) Use the prototype

The porotype became the final operating system.


This is now fully provided to the user.
Advantages of prototyping

✓ Communication between the user and system analyst are improved.


✓ The expert can do better job of determining the user’s needs.
✓ The user plays a active role is system development.
✓ Implementation is more easier because user knows what exactly is to be expected.
✓ A system developed through operational prototyping is capable of easy adaption.

Disadvantages of Prototyping

 Because of the iterative nature of prototyping , there is no definite deadline .


 Code inefficiencies may be a drawback in terms of functionality.
 Developers might focus more on quick fixes and user satisfaction than on good
system design or performance.
 Since focus is on the working model, formal documentation may be lacking or
overlooked.
 Clients may focus too much on the prototype and assume the final product will look
exactly the same, leading to misunderstandings.
3) Agile Model
It is the most advanced SDLC model. Big techies like Google, Amazon uses this
method. The meaning of Agile is two moves quickly.

Developing ideas and bringing t into the market through traditional models can take
long time like 1 or 2 years. In this span, other may have the same idea or the logic
maybe outdated, and it won't be nice for us. So Agile model is realized for this
reason.

At first a large project is converted into small iterations or chunks. And we work on
these iterations parallely. Each iteration lasts 15-20 days. The activities are done on
iteration. At last of the iteration, the working product is displayed to the customer
and important stakeholders.

NOTE : Agile is a combination of iterative and incremental process.

Advantages
☺ Continuous delivery of useful software and frequent updates keeps the
customer happy.
☺ Agile welcomes changes even in the late stages of development.
☺ Development is divided into small cycles (sprints), allowing faster delivery.
☺ Daily stand-up meetings improve communication and teamwork.
☺ Bugs and issues are detected early due to continuous testing.
☺ Continuous feedback ensures high-quality final product.

Disadvantages

 Cost, time, and resources are hard to estimate accurately.


 Continuous customer involvement may not always be possible.
 Frequent changes can lead to scope creep.
 Not suitable for very small or simple projects.

DANKE

You might also like