2.6.1 Waterfall Model

  • Description: Sequential, linear approach where each phase must be completed before the next begins.
  • Key Characteristics:
    • Sequential phases with limited overlap.
    • Heavy emphasis on planning, schedules, budgets, and documentation.
    • Formal sign-offs after each phase.
  • Strengths:
    • Suitable for less experienced teams.
    • Easy to track progress.
    • Ensures quality, reliability, and maintainability.
  • Weaknesses:
    • Inflexible and costly to make changes later.
    • Problems often detected late (during testing).
    • Poor handling of requirement changes.

2.6.2 Incremental Model

  • Description: System is developed in small, functional increments.
  • Key Characteristics:
    • Combines Waterfall with iterative prototyping.
    • Delivers system in mini-waterfalls (increments).
  • Strengths:
    • Early delivery of working components.
    • Easier risk management and flexibility.
  • Weaknesses:
    • System architecture issues may arise.
    • Rigid phase boundaries.
    • Interfaces must be well-defined.

2.6.3 Software Reengineering and Reverse Engineering

  • Software Reengineering: Restructures and updates existing systems without changing functionality.
  • Activities:
    • Inventory Analysis
    • Document Restructuring
    • Design Recovery
    • Code Restructuring
    • Data Restructuring
    • Forward Engineering
  • Reverse Engineering: Analyzes software to understand functionality for rebuilding or improvement.

2.6.4 Object-Oriented Software Development (OOSD)

  • Description: Organizes software around objects that represent real-world entities.
  • Key Concepts:
    • Classes and Objects
    • Inheritance
    • Polymorphism
  • Advantages:
    • Handles diverse data types.
    • Models complex relationships.
    • Scalable and flexible.
  • Applications: Web applications, AI, CAM.

2.6.5 Component-Based Development

  • Description: Uses pre-built software components to build applications.
  • Types of Components:
    • In-Process Client Components
    • Stand-Alone Client Components
    • Stand-Alone Server Components
    • In-Process Server Components
  • Strengths:
    • Reduces development time.
    • Encourages modularity and reusability.
  • Weaknesses:
    • Requires continuous integration.
    • Poorly defined requirements can cause failure.

2.6.6 Web-Based Application Development

  • Description: Uses web technologies for lightweight, scalable applications.
  • Technologies:
    • SOAP (Simple Object Access Protocol)
    • WSDL (Web Services Description Language)
  • Advantages:
    • Platform independence.
    • Real-time integration.
  • Challenges:
    • Risk of redundant tasks.
    • Complexity in integration across APIs.

2.7 Selection of SDLC Model

  • Factors for Selection:
    • Team size and skills.
    • Technology constraints.
    • Project size and complexity.
    • Stakeholder priorities.

2.8 Iterative Development Models

2.8.1 Prototyping Methodology

  • Description: Builds a quick prototype for user feedback before full-scale development.
  • Phases:
    • Identify Requirements
    • Develop Initial Prototype
    • Test and Revise
    • Obtain User Signoff
  • Strengths:
    • Early detection of issues.
    • Improves user participation.
  • Weaknesses:
    • Inadequate analysis.
    • Frequent requirement changes.

2.8.2 Spiral Model

  • Description: Iterative model focusing on risk management.
  • Key Characteristics:
    • Iterative prototyping and refinement.
    • Risk analysis at each phase.
  • Strengths:
    • Risk-focused.
    • Flexible for large projects.
  • Weaknesses:
    • Complex management.
    • Skilled project management required.

2.8.3 Rapid Application Development (RAD)

  • Description: Focuses on quick development through iterative prototyping and user involvement.
  • Strengths:
    • Fast delivery.
    • Encourages user feedback.
  • Weaknesses:
    • Quality may be compromised.
    • Poor documentation.

2.8.4 Agile Software Development

  • Description: Iterative approach with a focus on collaboration, flexibility, and customer feedback.
  • Key Characteristics:
    • Time-boxed iterations.
    • Close team collaboration.
    • Continuous feedback loops.
  • Strengths:
    • Quick response to changing requirements.
    • High-quality outcomes.
  • Weaknesses:
    • Poor documentation.
    • Lack of long-term planning.

2.8.5 DevOps

  • Description: Integrates development and operations teams for seamless delivery.
  • Strengths:
    • Faster delivery cycles.
    • Improved collaboration.
  • Risks: Potential security vulnerabilities.

2.8.6 DevSecOps

  • Description: Integrates security practices throughout the SDLC.
  • Key Controls:
    • Automated vulnerability scanning.
    • Security training for developers.

Leave a Reply

Your email address will not be published. Required fields are marked *

wpChatIcon
wpChatIcon