Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Development Model, Slides of Software Engineering

Software development models are structured approaches or methodologies used to plan, design, develop, test, and deploy software systems. Each model outlines specific phases, activities, and deliverables, guiding the software development process. Below is a description of several popular software development models:

Typology: Slides

2024/2025

Available from 09/03/2024

ashish-chandak
ashish-chandak 🇮🇳

11 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Waterfall Model
Linear sequential model
each phase must be completed before the
next phase can begin and there is no
overlapping in the phases.
outcome of one phase acts as the input for
the next phase sequentially
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Software Development Model and more Slides Software Engineering in PDF only on Docsity!

Waterfall Model

  • Linear sequential model
  • each phase must be completed before the next phase can begin and there is no overlapping in the phases.
  • outcome of one phase acts as the input for the next phase sequentially

Advantages

  • Simple and easy to understand and use
  • Works well for smaller projects where requirements are very well understood
  • Clearly defined stages.
  • Well understood milestones.
  • Process and results are well documented.

Disadvantages

  • Not a good model for complex and object- oriented projects.
  • It is difficult to measure progress within stages.
  • Cannot accommodate changing requirements.

RAD Model

  • there is no detailed preplanning, it makes it easier to incorporate the changes within the development process

Advantages

  • Changing requirements can be accommodated.
  • Reduced development time.
  • Progress can be measured.
  • Quick initial reviews occur
  • Encourages customer feedback
  • Integration from very beginning solves a lot of integration issues.

Disadvantages

  • Requires highly skilled developers/designers.
  • High dependency on modeling skills
  • Management complexity is more.
  • Dependency on technically strong team members for identifying business requirements.

Iterative Model

  • The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).
  • Requirements of the complete system are clearly defined and understood.
  • There is a time to the market constraint.
  • A new technology is being used and is being learnt by the development team while working on the project.

Iterative Model

  • Resources with needed skill sets are not available and are planned to be used on contract basis for specific iterations.
  • There are some high-risk features and goals which may change in the future.

“V” Model

Each phase has corresponding test or validation counterpart Requirements Analysis System Design Program Design Implementation Unit Test Integration Test Acceptance Test

SDLC STLC

Requirements Gathering Requirement Analysis - The requirements documents are analyzed and validated and scope of testing is defined. Designing Test Planning, Analysis and Design - Defining test specifications, analyses and reviewing of requirement documents, risk analysis reports and other design specifications. Coding Test Case Development, Test Environment Setup - Involves the test case creation, test data and environment setup. Testing Test Execution - Involves manual and automated test case execution and result logging. Deployment Exit Criteria Evaluation, Resporting and Test CLosure - Involves checking if all the project deliverables are delivered, archiving the testware, test environment and documenting the learnings. Maintenance Maintenance testing - Testing required after an upgrade, correction or any change in the software under maintenance.