Subject: Software Engineering
Alpha University, Borama
Faculty of Computer Science
Diploma Program
Topic: 2 Software Development
Life Cycle (SDLC)
Eng. Gullied Geestiir
BSc in Telecommunication Engineering, Master of Computer Science (MSC), MSc in Information
Security
What is SDLC?
• SDLC stands for Software Development Life Cycle.
• It is a structured process used to develop high-quality
software.
• It includes planning, creating, testing, and deploying
software.
Phases of SDLC
1. Requirement Gathering and Analysis
2. System Design
3. Implementation (Coding)
4. Testing
5. Deployment
6. Maintenance
1. Requirement Gathering and
Analysis
• Understand what the users need.
• Document and analyze the requirements.
• Helps prevent future misunderstandings.
2. System Design
• Define the architecture and design of the system.
• Decide technology stack, modules, data flow, etc.
3. Implementation (Coding)
• Develop the actual software using programming
languages.
• Follow coding standards and design documents.
4. Testing
• Test the system for bugs and issues.
• Ensure the software meets requirements and works
as expected.
5. Deployment
• Deliver the software to users or client.
• Make the system available for use.
6. Maintenance
• Fix bugs that appear after deployment.
• Improve and update software as needed.
SDLC Methodologies
• Several models are used to implement SDLC.
• Each has its pros and cons.
Waterfall Model
• Sequential and linear approach.
• Each phase must be completed before the next
begins.
• Easy to manage but inflexible to changes.
Agile Model
• Iterative and incremental approach.
• Allows continuous feedback and improvement.
• Highly flexible and customer-focused.
Spiral Model
• Combines design and prototyping in stages.
• Focuses on risk analysis and iterative development.
• Suitable for large, complex projects.
V-Model (Verification and
Validation)
• Extension of the Waterfall model.
• Each development stage has a corresponding testing
phase.
• Improves quality and ensures validation at every step.
Summary
• SDLC provides a roadmap to develop software
efficiently.
• Various models like Waterfall, Agile, Spiral, and V-
Model serve different project needs.
• Choosing the right model depends on project size,
goals, and flexibility required.
Practice Questions
1. What are the main phases of SDLC?
2. Compare Agile and Waterfall methodologies.
3. What is the purpose of the Spiral Model?
4. How does the V-Model ensure software quality?

Introduction to software engineering, chapter 2

  • 1.
    Subject: Software Engineering AlphaUniversity, Borama Faculty of Computer Science Diploma Program Topic: 2 Software Development Life Cycle (SDLC) Eng. Gullied Geestiir BSc in Telecommunication Engineering, Master of Computer Science (MSC), MSc in Information Security
  • 2.
    What is SDLC? •SDLC stands for Software Development Life Cycle. • It is a structured process used to develop high-quality software. • It includes planning, creating, testing, and deploying software.
  • 3.
    Phases of SDLC 1.Requirement Gathering and Analysis 2. System Design 3. Implementation (Coding) 4. Testing 5. Deployment 6. Maintenance
  • 4.
    1. Requirement Gatheringand Analysis • Understand what the users need. • Document and analyze the requirements. • Helps prevent future misunderstandings.
  • 5.
    2. System Design •Define the architecture and design of the system. • Decide technology stack, modules, data flow, etc.
  • 6.
    3. Implementation (Coding) •Develop the actual software using programming languages. • Follow coding standards and design documents.
  • 7.
    4. Testing • Testthe system for bugs and issues. • Ensure the software meets requirements and works as expected.
  • 8.
    5. Deployment • Deliverthe software to users or client. • Make the system available for use.
  • 9.
    6. Maintenance • Fixbugs that appear after deployment. • Improve and update software as needed.
  • 10.
    SDLC Methodologies • Severalmodels are used to implement SDLC. • Each has its pros and cons.
  • 11.
    Waterfall Model • Sequentialand linear approach. • Each phase must be completed before the next begins. • Easy to manage but inflexible to changes.
  • 12.
    Agile Model • Iterativeand incremental approach. • Allows continuous feedback and improvement. • Highly flexible and customer-focused.
  • 13.
    Spiral Model • Combinesdesign and prototyping in stages. • Focuses on risk analysis and iterative development. • Suitable for large, complex projects.
  • 14.
    V-Model (Verification and Validation) •Extension of the Waterfall model. • Each development stage has a corresponding testing phase. • Improves quality and ensures validation at every step.
  • 15.
    Summary • SDLC providesa roadmap to develop software efficiently. • Various models like Waterfall, Agile, Spiral, and V- Model serve different project needs. • Choosing the right model depends on project size, goals, and flexibility required.
  • 16.
    Practice Questions 1. Whatare the main phases of SDLC? 2. Compare Agile and Waterfall methodologies. 3. What is the purpose of the Spiral Model? 4. How does the V-Model ensure software quality?