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

Software Model

Uploaded by

bickykushwaha712
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Software Model

Uploaded by

bickykushwaha712
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Software Model

Classical Waterfall Model :-


Feasibility
study
Requirement Analysis
and Specification

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

•Module by Module working.


•Customer interaction maximum.
•Large projects.
•Early release product demand.
•Flexible to changes.

12/22/2024 Chapter 2 Software Processes 8


Evolutionary Model:-
• Evolutionary model is a combination of Iterative and
Incremental model of software development life cycle.
• Incremental model first implement a few basic
features and deliver to the customer. Then build the
next part and deliver it again and repeat this step until
the desired system is fully realized. No long-term
plans are made.
• Iterative model main advantage is its feedback process
in every phase.
• Also known as “Design a little , build a little, test a
little, deploy a little model”.
Advantages:-
1. Customer requirements are clearly specified.
2. Risk analysis is better.
3. It supports changing environment.
4. Initial operating time is less.
5. Better suited for large mission-critical projects.

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.

• RAD (Rapid Application Development) is a concept that products


can be developed faster and of higher quality through:
– Gathering requirements using workshops or focus groups
– Prototyping and early, reiterative user testing of designs
– The re-use of software components
– A rigidly paced schedule that refers design improvements to the next
product version
– Less formality in reviews and other team communication
Phases of RAD :-
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 process
it and so on.
2. Data Modeling: The data collected from business modeling 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 (entities) is defined.
3. Process Modeling: The information object defined in the data modeling
phase are transformed to achieve the data flow necessary to implement a
business function. Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
4. 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.
• Advantage of RAD Model
– This model is flexible for change.
– In this model, changes are adoptable.
– Each phase in RAD brings highest priority functionality to
the customer.
– It reduced development time.
– It increases the reusability of features.
• Disadvantage of RAD Model
– It required highly skilled designers.
– All application is not compatible with RAD.
– For smaller projects, we cannot use the RAD model.
– On the high technical risk, it's not suitable.
– Required user involvement.
Agile (Move Quickly) :-
• "Agile process model" refers to a software development approach based on
iterative development. Agile methods break tasks into smaller iterations, or parts
do not directly involve long term planning. The project scope and requirements are
laid down at the beginning of the development process. Plans regarding the
number of iterations, the duration and the scope of each iteration are clearly
defined in advance.
Phases of Agile Model:
• Following are the phases in the Agile model are as follows:
• Requirements gathering
• Design the requirements
• Construction/ iteration
• Testing/ Quality assurance
• Deployment
• Feedback
• 1. Requirements gathering: In this phase, you must define the
requirements. You should explain business opportunities and plan the
time and effort needed to build the project. Based on this information,
you can evaluate technical and economic feasibility.
• 2. Design the requirements: When you have identified the project, work
with stakeholders to define requirements. You can use the user flow
diagram or the high-level UML diagram to show the work of new features
and show how it will apply to your existing system.
• 3. Construction/ iteration: When the team defines the requirements, the
work begins. Designers and developers start working on their project,
which aims to deploy a working product. The product will undergo various
stages of improvement, so it includes simple, minimal functionality.

• 4. Testing: In this phase, the Quality Assurance team examines the


product's performance and looks for the bug.

• 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

Basic Basic User Model by Large Time and Risk Flexible


Requirement Model Project cost
delivery Constraint

Rigid Problem is Not clear Easy to test User at all Not for Advanced
well and debug levels small
understood project

Inflexible Costly Reusability No Early Parallel


lack on
requirement

Not for real High user Less Process


project involvement experience divided into
can work sprints

Reusability

You might also like