Software Model
Software Model
Design
Advantages :-
Coding and
1. Base Model
Unit Testing
2. Simple and Easy
3. Small Project System Testing
& Integration
Disadvantages :-
4. No feedback
Maintenance
5. No experiment
6. No parallelism
7. High risk
8. 60% efforts in maintenance
Iterative Waterfall Model :-
Feasibility
study
Requirement Analysis
and Specification
Design
Coding and
Unit Testing
Advantages :-
System Testing
1. Base Model
& Integration
2. Simple and Easy
3. Small Projects
4. Feedbacks Maintenance
Disadvantages :-
5. No phase overlapping
6. No intermediate delivery
7. Rigid (No changes)
8. Less Customer interaction
V-Shaped Model :-
• Also Known as Verification & Validation Model.
• Extension of Waterfall model.
• Testing is associated with every phase of
lifecycle.
• Verification phase (Requirement analysis,
System design, Architecture design, Module
design).
• Validation phase (Unit testing, Integration,
System , Acceptance testing).
Advantages :-
1. Time Saving
2. Good understanding of Project in the beginning.
3. Every component must be testable.
4. Progress can be tracked easily.
5. Proactive defect tracking.
Disadvantages :-
6. No feedback so less scope of changes.
7. Risk analysis not done
8. Not good for big or object-oriented projects.
Prototype Model :-
Requirement
Gathering
Quick
Design
Prototype Refinement
Build
suggestion
Development incorporating Prototype
Customer
Evaluation
Iterative
Development Design
Implement
• Customer not clear with idea.
Test
• Throwaway model.
• Good for technical and requirement risks. Maintain
• Increase in cost of development.
Incremental development
Disadvantages :-
6. Not suitable for smaller projects.
7. Cost.
8. Highly skilled resources are required.
Spiral Model :-
• Risk handling
• Radius of spiral = cost
• Angular dimension = progress
• Meta Model
Advantages
1. Risk Handling
2. Large Projects
3. Flexible
4. Customer satisfaction
Disadvantages
5. Complex
6. Expensive
7. Too much risk analysis
8. Time
Rapid Application Development (RAD):-
• 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.
• 5. Deployment: In this phase, the team issues a product for the user's
work environment.
• 6. Feedback: After releasing the product, the last step is feedback. In this,
the team receives feedback about the product and works through the
feedback.
• Advantages:-
– Frequent Delivery
– Face to face Communication with Client
– Changes
– Minimize the project risk
– Time
• Disadvantage :-
– Less Documentation
– Maintenance Problem
Scrum:-
• One of the most popular agile methodology.
• Scrum is a lightweight, iterative and incremental
framework.
• Scrum breaks down the development phases into
stages or cycles called “sprints”.
• The development time for each sprint is maximized and
dedicated, thereby managing only one sprint at a time.
• Scrum Team has scrum master and product owner with
constant communications on the daily basis.
• Keywords : Backlog, Sprint, Daily Scrum, Scrum master,
Product owner.
• Advantages:-
– Freedom & Adaption
– High quality, Low risk product.
– Reduce the development time up to 40%.
– Scrum customer satisfaction is very important.
– Reviewing the current sprint before moving to
new one.
• Disadvantages:-
– More efficient for small team size.
– No changes in the sprint.
Classical Iterative Prototype Incremental Evolutionar RAD Spiral Agile
waterfall waterfall y
Rigid Problem is Not clear Easy to test User at all Not for Advanced
well and debug levels small
understood project
Reusability