0% found this document useful (0 votes)
13 views31 pages

Overview of Software Development Models

The document presents various software development process models including the Spiral Model, Rapid Application Development (RAD) Model, Agile Model, Big Bang Model, and Prototype Model. Each model is described in terms of its phases, advantages, disadvantages, and suitable use cases, emphasizing their unique approaches to managing software development. The document serves as an educational resource for understanding different methodologies in software engineering.

Uploaded by

radwanhossan18
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)
13 views31 pages

Overview of Software Development Models

The document presents various software development process models including the Spiral Model, Rapid Application Development (RAD) Model, Agile Model, Big Bang Model, and Prototype Model. Each model is described in terms of its phases, advantages, disadvantages, and suitable use cases, emphasizing their unique approaches to managing software development. The document serves as an educational resource for understanding different methodologies in software engineering.

Uploaded by

radwanhossan18
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

Process Models

Presented By

Md. Fazle Hasan Mihad


Lecturer, Department of CSE & CSIT
Welcome Everyone

Course Code: CSE 3297

Course Title: Software Engineering

Lecture-05
Lecture Overview:

❑ Spiral Model
❑ Rapid Application Development (RAD) Model

❑ Agile Model
❑ Big Bang Model

❑ Prototype Model
Spiral Model:
• The Spiral Model is a risk-driven software development process model introduced by Barry Boehm in 1986.
• It combines features of the waterfall model (sequential phases) and iterative development (repeated cycles).
• The model is called “spiral” because the process is represented as a spiral with many loops.
• Each loop (or phase) represents the development of the software at a certain stage, gradually improving until the final
product is complete.
Spiral Model:
Phases of Spiral Model:
Each loop of the spiral is divided into four main phases:
1. Objective Identification (Planning phase)
• Identify objectives, requirements, and constraints of the project.
• Understand what needs to be developed in this iteration.
2. Risk Analysis (Risk Assessment & Prototyping)
• Analyze possible risks (technical, cost, time, resources).
• Build prototypes to reduce uncertainties.
3. Engineering (Development & Testing)
• Actual development: design, coding, testing, integration.
• Build the product (or part of it) based on refined requirements.
4. Evaluation & Planning (Customer Review)
• Deliver the iteration to the customer.
• Get feedback and plan the next phase of the project.
Spiral Model:
Features:
• Focus on risk analysis and management.
• Uses prototyping in every iteration.
• Combines Waterfall (structured) and Iterative (flexible) models.
• Each cycle produces a more complete version of the system.

Example in Real Life


Suppose a bank is developing a large online banking system:
• First spiral → define login and basic account management.
• Second spiral → add money transfer features.
• Third spiral → add loan and investment modules.
Each spiral checks for risks like security, performance, data loss before moving on.
Spiral Model:
Uses of the Spiral Model
• Large and Complex Projects – Suitable for projects with high complexity and
evolving requirements.
• High-Risk Projects – Ideal for systems where risk management is critical (e.g.,
aerospace, defense, banking).
• Projects Requiring Continuous Refinement – Used when software requires
frequent updates and client feedback.
• Prototype-Based Development – Effective when multiple prototypes are needed
before the final product.
• R&D and Innovative Projects – Helpful in research-based projects where unknowns
are high.
Spiral Model:
Advantages of the Spiral Model
• Risk Management – Identifies and mitigates risks early in the development cycle.
• Flexibility in Requirements – Changes and new requirements can be incorporated at
any stage.
• Customer Feedback Integration – Continuous user involvement ensures better
alignment with expectations.
• Phased Development – The product is developed in increments, allowing early
deliverables.
• Improved Quality – Continuous refinement leads to a more robust and reliable final
product.
Spiral Model:
Disadvantages of the Spiral Model
• Expensive and Time-Consuming – The iterative process increases development
costs and duration.
• Complexity in Management – Requires strong expertise in risk analysis and
management.
• Not Suitable for Small Projects – Small-scale projects may not justify the
complexity of this model.
• Lack of Well-Defined End Goal – Continuous iterations can lead to scope creep,
making it difficult to finalize the project.
• Dependency on Risk Assessment – If risks are not properly identified, the model’s
benefits diminish.
Rapid Application Development (RAD) Model :
• The Rapid Application Development (RAD) model is a software development life cycle model
that emphasizes quick development and delivery of high-quality systems with active user
involvement.
• It is based on prototyping and iterative development instead of long planning and coding
phases.
Rapid Application Development (RAD) Model :
Phases of the RAD Model:
1. Business Modeling
• The flow of information between business functions is identified.
• Answer: What data drives the business? What information is generated? Who generates it? Who uses
it?
• Helps in understanding business objectives.
2. Data Modeling
• Data objects (entities) needed for the business are defined.
• Relationships among these objects are identified.
• Example: Customer, Order, Product, Payment.
• Converts business information flow into a data structure.
3. Process Modeling
• Defines how data objects are transformed to achieve business objectives.
• Identifies process descriptions for data creation, modification, and deletion.
• Shows how processes interact with data.
Rapid Application Development (RAD) Model :
4. Application Generation
• Uses automation tools, reusable components, and code generators.
• Actual system is built with minimal hand-coding.
• Prototypes are refined through user feedback.

5. Testing and Turnover


• Each module is tested independently.
• Since prototyping is used, most issues are identified earlier.
• Final integration, system testing, and delivery to customer are done.

RAD = Fast development using prototypes + Continuous user feedback + Iterative cycles.
Rapid Application Development (RAD) Model :
Uses of RAD Model:
• When quick development is required.
• When customer requirements change frequently.
• Suitable for modular and scalable projects.
• Works well for small-to-medium-sized teams with skilled developers.
Rapid Application Development (RAD) Model :
Advantages:
• Accommodates changing requirements.
• Faster development due to the reuse of components.
• Encourages customer feedback throughout development.
• Reduces integration issues by integrating from the start.
• Shortens iteration cycles with powerful RAD tools.
Disadvantages:
• Requires highly skilled developers.
• Only works if the system can be modularized.
• High dependency on modeling tools.
• Not suitable for low-budget projects due to tool costs.
• Complex project management due to parallel development.
Agile Model:
The Agile Model is a flexible, iterative, and
incremental approach to software development.
• Software is developed in small parts
(iterations/sprints).
• Each sprint = 1 to 4 weeks.
• After each sprint → working software is
delivered.
• The customer provides feedback, and the team
adapts quickly.
Main Goal: Deliver software faster, with better
quality, and adapt to changing requirements.

H.W: About Scrum, Scrum Master, sprints


Agile Model:
Key Features:
• Iterative → work is divided into repeated cycles.
• Incremental → each cycle adds usable features.
• Customer Involvement → Customer is part of the process.
• MVP (Minimum Viable Product) → release a simple version
first, then improve.
• Team Collaboration → developers, testers, and business people
work together
Agile Model:
Phases of Agile Model:
• Requirements Gathering – Define project goals, estimate effort, and assess
feasibility.
• Design the Requirements – Collaborate with stakeholders, create diagrams, and plan
system integration.
• Construction/Iteration – Develop and release an MVP, improving in cycles.
• Testing (QA) – Continuously test for bugs, performance, and compliance.
• Deployment – Release the product into the user environment.
• Feedback & Review – Gather user feedback and refine in the next iteration.
An MVP (Minimum Viable Product) is a basic version of a product with just enough features to satisfy
early users and gather feedback, enabling rapid iteration and validation of the product concept.
Agile is iterative and ensures continuous improvement!
Agile Model:
Agile Methods
Agile is not a single process → it has many frameworks:
• Scrum – Most popular framework, uses sprints.
• Extreme Programming (XP) – Focuses on coding best practices.
• Lean Software Development – Avoid waste, focus on efficiency.
• Feature Driven Development (FDD) – Build software feature by feature.
• Crystal – Lightweight, focuses on team communication.
• DSDM (Dynamic Systems Development Method) – Focuses on timeboxing.
Scrum in Agile
Scrum is the most used Agile framework.
• Scrum Master – Guides the team, removes obstacles.
• Product Owner – Maintains product backlog (list of features).
• Scrum Team – Developers/testers who do the actual work.
Sprint = 1–4 weeks cycle → at the end, a working product is delivered.
Agile Model:
Scrum
SCRUM is an agile development process focused primarily on ways to manage
tasks in team-based development conditions.
There are three roles in it, and their responsibilities are:
• Scrum Master: The scrum can set up the master team, arrange the meeting
and remove obstacles for the process
• Product owner: The product owner makes the product backlog, prioritizes
the delay and is responsible for the distribution of functionality on each
repetition.
• Scrum Team: The team manages its work and organizes the work to
complete the sprint or cycle.
Agile Model:
Characteristics of Agile Model:
• Iterative + Incremental Together
• Agile develops software in small parts (increments).
• Each part is improved in cycles (iterations).
• This combination makes Agile flexible.
• Time-Boxed Development (Sprints)
• Work is divided into short fixed periods (1–4 weeks) called sprints.
• At the end of each sprint → working software is delivered.
• Customer Collaboration
• Customer is involved throughout the process, not just at the end.
• Feedback is taken after every sprint.
• Working Software Over Documentation
• Unlike traditional models (Waterfall, V-Model) that focus on documents, Agile focuses on real working
software early.
Agile Model:
• Adaptive to Change
• Requirements can change anytime, even late in the project.
• Agile teams are ready to adapt quickly.
• Self-Organizing Teams
• Teams manage their own work (Scrum teams).
• Less strict management, more teamwork.
• Continuous Testing and Delivery
• Testing is not a separate last phase → it happens in every sprint.
• Ensures better quality and fewer bugs.
• Minimum Viable Product (MVP)
• First version has only core features.
• Later sprints add more features based on customer needs.
• Face-to-Face Communication
• Daily short meetings (stand-ups) are common.
• Direct communication is valued more than long reports.
• Flexibility with Scope
• Scope of the project can expand or shrink depending on feedback.
Agile Model:
When to use the Agile Model?
• When frequent changes are required.
• When a highly qualified and experienced team is available.
• When a customer is ready to have a meeting with a software team, all the
time.
Agile Model:
Advantages (Pros) of Agile Method:
• Frequent Delivery
• Face-to-Face Communication with clients.
• Efficient design that fulfills the business requirement.
• Anytime changes are acceptable.
• It reduces total development time.

Disadvantages(Cons) of Agile Model:


1. Lack of Documentation – Leads to confusion in decision-making.
2. Maintenance Issues – Difficult to manage after developers move to other projects.
Big Bang Model:
The Big Bang Model is the simplest software
development model.
• Development starts without detailed
planning.
• Developers just start coding with the
resources available.
• Requirements may be unclear or
undefined.
• Final product may or may not meet
customer expectations.
It’s called “Big Bang” because everything (effort,
money, time) is put together at once, and the
outcome is uncertain – like a “big explosion.”
Big Bang Model:
When to Use the Big Bang Model?
• For small projects like academic or experimental work.
• When requirements are unclear or not defined.
• When there is no strict deadline for product release.
• When the team is small and planning is minimal.

Characteristics:
• No structured process (no defined phases like design, testing, etc.).
• Coding-focused – development starts immediately.
• Works well for very small projects with 1–2 developers.
• Outcome is unpredictable (may succeed or fail badly).
Big Bang Model:
Advantages (Pros):
• No planning required – Developers can start immediately.
• Simple and easy to manage – No complex processes.
• Few resources needed – Works with a small team.
• Flexible for developers – Changes can be made freely.

Disadvantages (Cons):
• High risk and uncertainty – No structured approach.
• Not suitable for large projects – Lack of planning leads to inefficiency.
• Expensive if requirements change – Unclear goals can lead to wasted effort.

Best for quick, small-scale, low-budget projects with undefined requirements!


Prototype Model:
The Prototype Model is a software
development approach where:
• A prototype (demo version) of the
software is built first.
• Users test the prototype and give
feedback.
• The prototype is refined until the
customer is satisfied.
• Then the final system is developed.
It is very useful when the customer is not
sure about requirements.
Prototype Model:
Steps in the Prototype Model
1. Requirement Gathering and Analysis
• Collect basic, unclear requirements from the customer.
2. Quick Design
• Create a simple design of the system (screens, forms, menus).
3. Build Prototype
• Develop a working demo (not full system).
4. User Evaluation
• Customer uses the prototype and gives feedback.
5. Prototype Refinement
• Improve the prototype based on feedback.
6. Engineer Final Product
• Once requirements are clear, develop the actual software.
Prototype Model:
Example:
Suppose you are developing a Hospital Management System:
• Prototype 1 → Patient registration + appointment booking.
• Customer says: “Add doctor scheduling too.”
• Prototype 2 → Add doctor scheduling + billing module.
• After refining and approval, → final system is built with all features.
Advantages of the Prototype Model:
• Reduces risk of incorrect user requirements.
• Works well with changing requirements.
• Provides early product visibility to stakeholders.
• Helps in early marketing by showcasing a working model.
• Detects errors early, reducing maintenance costs.
Prototype Model:
Disadvantages of the Prototype Model:
• Risk of unstable final product if the prototype is poorly implemented.
• Requires continuous customer collaboration.
• Can be costly for customers.
• If the customer withdraws, the project may not be completed.
• Difficult to estimate project duration.
• Requires special tools & techniques, which can be expensive.
• Time-consuming due to multiple refinements.

Best suited for projects with evolving requirements and high user interaction needs!
Thank You

You might also like