0% found this document useful (0 votes)
2 views21 pages

4 Programming Methodology

The document outlines various programming methodologies including Top-Down, Bottom-Up, Waterfall, Agile, and DevOps, highlighting their approaches, strengths, and weaknesses. It provides examples of when to use each methodology and details the phases involved in their implementation. Additionally, it emphasizes the importance of adapting methodologies to project requirements and evolving practices over time.

Uploaded by

thanusri1712
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)
2 views21 pages

4 Programming Methodology

The document outlines various programming methodologies including Top-Down, Bottom-Up, Waterfall, Agile, and DevOps, highlighting their approaches, strengths, and weaknesses. It provides examples of when to use each methodology and details the phases involved in their implementation. Additionally, it emphasizes the importance of adapting methodologies to project requirements and evolving practices over time.

Uploaded by

thanusri1712
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

Unit-2

Module-4
Introduction to Programming Methodologies
Frameworks that shape:

• Code architecture

• Team collaboration

• Delivery timelines
What is Top-Down
Programming?
Big Problem

Decomposition

Implementation
What is Bottom-Up Programming?

Small Modules Integration OOP Focus


Top-Down vs. Bottom-Up: Key Differences
Aspect Top-Down Programming Bottom-Up Programming
Starts from the overall system and breaks Starts from small modules and builds up to
Approach
into submodules the full system
Low-level components first, then
Development Flow High-level design first, then details
integration
Focus Emphasizes system architecture Emphasizes building reusable components
Integration tested after all modules are Individual units tested before full
Testing
written integration
Design the complete app interface before Create helper functions or modules before
Example
writing code full application
When to Use Top-Down or Bottom-Up?

Top-Down Best For: Bottom-Up Best For:


• Well-defined problems • Complex systems
• Structured processes • Reusable components
• Linear solutions • Object-oriented design
Overview: Waterfall
Methodology

Linear & Sequential Document-Driven


Each phase Extensive
completes before documentation at
next begins each stage

Stable Requirements
Best for unchanging specifications
Waterfall: Detailed Methodology
Requirements

Design

Implementation

Testing

Deployment & Maintenance


Strengths Weaknesses
• Predictable timeline & budget • Inflexible to change
• Clear documentation • Late issue discovery
• Simple to understand • Slow feedback cycle
Example: Developing a Library Management System

Phase Task
The team meets librarians, faculty, and students to gather detailed requirements.
1. Requirement Analysis For example: – Track books and borrowers – Generate fine reports – Search
books by title/author

The architecture is designed. For example: – Database tables: Books, Users,


2. System Design
Loans – UI design: Login screen, Search screen, Issue/Return interface

3. Implementation Developers write code using a language like Python, based strictly on the design.

QA team tests modules like book issue, fine calculation, and search. Bugs are
4. Testing
fixed. No new features are added.

5. Deployment The system is installed in the university library and is ready for use.

6. Maintenance Small fixes are made (e.g., fine not calculated correctly).
Iterative Customer-Focused
Short development cycles Constant user feedback

Collaborative Incremental
Cross-functional teams Small, usable deliveries
Sprint Planning Development
Select features for Build working features
14 week cycle

Retrospective Review & Demo


Improve process Show working product
Strengths Weaknesses
• Adapts to change quickly • Scope creep risk
• Early, frequent deliveries • High stakeholder commitment
• Continuous improvement • Documentation often lacking
Example: Agile in E-commerce
Agile Phase / Sprint Task
Developers build a working version with: – User login – List of
Sprint 1 Basic Ordering
nearby restaurants – Placing an order
Users test the app. Feedback: “Add live order tracking” and
Sprint Review & Feedback
“Need payment gateway.”
Developers add: – Order tracking – Payment via UPI/cards –
Sprint 2 Tracking & Payment
Notifications
Sprint Review & Feedback Feedback: “Add coupon system” and “Search by cuisine.”
Developers implement: – Discount coupons – Filter/search
Sprint 3 Coupons & Search
restaurants
Team continues to refine the app: – Ratings/reviews – Delivery
Ongoing Sprints
partner interface – Admin dashboard
Unified Teams Automation
Dev + Operations collaboration Reduced manual processes

Infrastructure CI/CD
Environment consistency Continuous integration & deployment
DevOps Methodology:
Practices & Tools

Key Practices Popular Tools


• Automated testing • Jenkins CI/CD
• Infrastructure as Code • Docker Containers)
• Continuous deployment • Kubernetes Orchestration)
Strengths & Challenges:
DevOps

Strengths Challenges
• Faster release frequency • Cultural shift required
• Reduced production errors • Complex toolchain
• Efficient scaling • Security integration
Example: DevOps
Stage DevOps Practice in E-Commerce Website

1. Plan Product team defines new features: e.g., “Add Wallet Payment Option”
2. Develop Developers code new features and enhancements using Git for version control
Automated build tools (like Jenkins) compile and test the code each time a
3. Build
developer commits changes
Automated tests are triggered to validate login, payment, cart, and search
4. Test
functions
If tests pass, the code is deployed to a staging server automatically for user
5. Release
acceptance testing (UAT)
With a single click, the update is released to the production server with zero
6. Deploy
downtime using tools like Docker/Kubernetes
Monitoring tools (like Prometheus, Grafana) track uptime, errors, and usage; alerts
7. Operate & Monitor
are raised if failures occur
Choosing a Methodology: Real-World Applications

Waterfall Agile DevOps


• Defence projects • Startups • SaaS platforms
• Government systems • Web applications • Cloud services
• Embedded software • Mobile development • Frequent deployments
1 Match Method to Project 2 Combine Practices 3 Evolve Over Time
Consider requirements Hybrid approaches Methodologies should
stability, team size, often yield best results adapt as projects
industry mature

You might also like