Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information & Communication Technology Engineering/
  4. ICT Semester 5/
  5. Software Engineering (4353202)/

2 mins· ·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Unit 2: Software Development Life Cycle

Unit 2: Software Development Life Cycle (SDLC)

Software Engineering (4353202)

2.1: Introduction to SDLC

The Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop, and test high quality softwares.

graph LR A[Requirements Analysis] --> B[System Design] B --> C[Implementation] C --> D[Testing] D --> E[Deployment] E --> F[Maintenance] F --> A

2.2: Waterfall & Incremental Models

Waterfall Model

graph LR A[Requirements] --> B[Design] B --> C[Implementation] C --> D[Testing] D --> E[Deployment] E --> F[Maintenance]

A sequential design process in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance.

Incremental Model

graph LR A[Core Product] --> B[Increment 1] B --> C[Increment 2] C --> D[Increment 3] D --> E[Final Product]

The incremental build model is a method of software development where the model is designed, implemented and tested incrementally (a little more is added each time) until the product is finished.

2.3: Prototype & Spiral Models

Prototype Model

The prototyping model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.

Spiral Model

graph LR A[Planning] --> B[Risk Analysis] B --> C[Engineering] C --> D[Evaluation] D --> A

The spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.

2.4: RAD & Agile Models

RAD Model

Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. A prototype is a working model that is functionally equivalent to a component of the product.

Agile Model

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

Scrum

graph LR A[Product Backlog] --> B[Sprint Planning] B --> C[Sprint Backlog] C --> D[Sprint 2-4 weeks] D --> E[Sprint Review] E --> F[Sprint Retrospective] F --> B D --> G[Daily Scrum] G --> D

Scrum is an agile framework for managing knowledge work, with an emphasis on software development.