1/36
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
System Development Life Cycle
Refers to the overall process of developing software from conception to deployment and maintenance.
System Development Life Cycle
It is a framework that defines the stages (e.g., planning, analysis, design, implementation, testing, deployment, and maintenance) and can follow various models like Waterfall, V-Model, Agile, etc.
10 System Development Life Cycle
Waterfall
Agile system development
Spiral
V-model (Verification and validation model)
Prototyping model
RAD (Rapid application development)
Incremental model
DevOps Methodlogy
LEAN development
Object oriented development
Waterfall
A linear, sequential approach.
Each phase must be completed before the next begins.
Best suited for projects with well-defined requirements.
Agile
An iterative and incremental approach.
Focuses on flexibility, continuous feedback, and delivering working software in small increments.
Ideal for dynamic projects with evolving requirements.
Spiral
Combines iterative development with risk management.
Focuses on cycles (or "spirals") where each loop involves planning, risk analysis, development, and evaluation.
Suitable for large, high-risk projects.
V-model
A structured, linear approach where each development phase is directly associated with a corresponding testing phase.
Verification (design and development) and validation (testing) activities run in parallel.
Relation to SDLC: It is a variant of the Waterfall model, emphasizing early and systematic testing within the SDLC framework.
Prototyping model
Focuses on building a prototype early in the development process to understand user requirements better.
Feedback from the prototype is used to refine requirements and develop the final product.
Relation to SDLC: It emphasizes iterative design and user involvement during the SDLC phases, particularly in requirements gathering and design.
RAD
A user-centered, iterative approach that emphasizes speed and rapid prototyping.
Encourages the use of reusable components and collaborative development.
Relation to SDLC: It aligns with SDLC by compressing stages like design, development, and testing into iterative cycles for faster delivery.
Incremental development
Divides the project into smaller, manageable parts (increments) that are developed and delivered sequentially.
Each increment builds upon the previous one until the final product is completed.
Relation to SDLC: It executes the SDLC phases incrementally, providing working software at the end of each cycle
DevOps meetthodology
Focuses on collaboration between development and operations teams to automate and streamline software delivery.
Incorporates CI/CD (Continuous Integration and Continuous Deployment) pipelines and emphasizes monitoring and feedback.
Relation to SDLC: It enhances the implementation, deployment, and maintenance stages of SDLC by integrating automation and collaboration throughout the lifecycle
LEAN methodology
Inspired by lean manufacturing principles, it aims to minimize waste and maximize value.
Encourages iterative development, continuous improvement, and customer-focused solutions.
Relation to SDLC: It optimizes SDLC processes by focusing on efficiency and removing unnecessary steps.
Object-oriented methodology
A design approach based on the principles of object-oriented programming, emphasizing encapsulation, inheritance, and polymorphism.
Models the system using objects and their interactions to represent real-world entities.
Relation to SDLC: Primarily influences the design and implementation phases of SDLC, but the overall process follows the SDLC structure.
Traditional SDLC approaches
Waterfall
Spiral
V-model
Prototyping
RAD
Incremental
Modern SDLC approaches
Agile
DevOps
OOP
Lean
Agile methodology
Is unequivocally a modern approach, designed to address the dynamic and unpredictable nature of contemporary software development.
Agile methodology
It is well-suited for projects requiring flexibility, rapid iteration, and close collaboration with stakeholders.
RAD
Is a traditional methodology due to its origins and limitations, its iterative nature and emphasis on user feedback make it a precursor to modern approaches like Agile. Serves as a bridge between the rigid traditional methods (e.g., Waterfall) and the adaptive, iterative methods of today.
Prototyping
Is fundamentally a traditional methodology with iterative principles. While it is not fully modern, its core ideas have significantly influenced the development of modern, user-focused methodologies like Agile, Lean UX, and Design Thinking.
Additional phases uses
Feasibility Study
Risk Management
Prototyping and Validation
CI/CD
Customer Feedback and Collaboration
Monitoring and Optimization
User Experience (UX) Design
Knowledge Transfer and Training
Retirement and Decommissioning
Compliance and Security Auditing
Key focus of Feasibility Study
Project viability and risk assessment.
Key focus of Risk Management
Proactive identification and mitigation of risks.
Key focus of Prototyping and Validation
Early requirement refinement and validation.
Key focus of CI/CD
Automation of integration and deployment.
Key focus of Customer Feedback and Collaboration
Incorporating continuous feedback.
Key focus of Monitoring and Optimization
Ongoing performance tracking and improvement.
Key focus of User Experience (UX) Design
Creating intuitive and user-friendly designs.
Key focus of Knowledge Transfer and Training
Ensuring smooth adoption and operational continuity.
Key focus of Retirement and Decommissioning
Safe phasing out of software systems.
Key focus of Compliance and Security Auditing
Adherence to standards and legal requirements.
True
T or F: Frameworks and methodologies explicitly designed for software development align closely with SDLC because they provide structured ways to manage its phases, such as planning, design, development, testing, and maintenance.
Models within the SDLC framework (Direct relationship with SDLC)
Agile
Waterfall
V-Model
Spiral
Incremental
RAD
Scrum
Kanban
SAFe
Indirect relationship with SDLC
Project Management Frameworks (PMBOK, PRINCE2)
DevOps Frameworks (CALMS, ITIL)
Quality Assurance and Improvement Frameworks (CMMI, Six Sigma)
Design and Analysis Frameworks (Domain-driven Design (DDD), Unified Process UP))
Project Management Frameworks (PMBOK, PRINCE2)
Help organize and manage the overall execution of SDLC, focusing on project timelines, budgets, and resources.
DevOps Frameworks (CALMS, ITIL)
Enhance the deployment, operations, and maintenance phases of SDLC by emphasizing automation, collaboration, and continuous delivery.
Quality Assurance and Improvement Frameworks (CMMI, Six Sigma)
Improve the quality of the SDLC output by optimizing processes, reducing defects, and ensuring that each phase delivers high-quality results.
Design and Analysis Frameworks (Domain-driven Design (DDD), Unified Process UP))
Focus on the design and analysis phases, ensuring a strong foundation for the rest of the SDLC.