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.
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?