Software engineering for CS teaching exams: SDLC, models and testing

The full software engineering spine for TGT and PGT computer science papers: the SDLC phases, waterfall vs spiral vs agile models, requirements and design basics, and the testing levels, with a clear how-it-is-tested section.

Prashant Jain

KnowledgeGate AI educator

Updated 14 Jul 20265 min read

Software Engineering is one of the most predictable scoring subjects in a computer science teaching paper. It is conceptual, the questions repeat, and there is very little numerical work to trip you up. It is also teaching-distinct: GATE Computer Science dropped it from its core, so it rarely gets the attention it deserves from candidates who prepare from GATE material. For TGT and PGT computer science aspirants, that is an opening.

This post teaches the whole spine of the subject as it is examined: the software development life cycle, the classic process models, requirements and design basics, and the testing levels. Learn it once, properly, and it turns into marks you can count on.

Software engineering: what a teaching paper actually asks

Software engineering is the disciplined, systematic approach to building software: planning it, specifying what it must do, designing it, coding it, testing it, and maintaining it over its life. In a teaching exam the questions are almost always definitional or comparative. Name the phases of the SDLC in order. Which model suits changing requirements. What is the difference between verification and validation. What testing level checks the interaction between two modules.

None of that needs a keyboard. It needs a clean mental map of the process and the vocabulary that goes with it.

SDLC phases: the life cycle in order

The Software Development Life Cycle (SDLC) is the sequence of stages a software product moves through from idea to retirement. The standard phases, in order, are:

  1. Requirement analysis. Gather and study what the software must do. The output is a specification, usually a Software Requirements Specification (SRS).

  2. Design. Decide how the system will be structured: architecture, modules, data, and interfaces. High-level design fixes the architecture; detailed design fixes each module's logic.

  3. Implementation (coding). Translate the design into source code in a chosen language.

  4. Testing. Check the software against the requirements to find and fix defects before release.

  5. Deployment. Release the working software to its users.

  6. Maintenance. Fix defects found in use, adapt to changed environments, and add enhancements. This is usually the longest and most expensive phase.

A left-to-right flow of the six SDLC phases as labelled boxes, with a feedback loop from Maintenance back into Requirement analysis to show the cycle repeating.

The single most examined fact here: maintenance consumes the largest share of the total effort over a product's lifetime, not coding.

Process models: waterfall vs spiral vs agile

A process model is a specific way of arranging the SDLC phases. Examiners love asking which model fits a given situation, so hold the trade-offs, not just the names.

  • Waterfall model. Phases run strictly in sequence, each completed before the next begins. Simple and easy to manage, and it works when requirements are fixed and well understood. Its weakness: it handles change badly, because you cannot revisit an earlier phase cheaply, and a working product appears only near the end.

  • Prototype model. Build a quick, throwaway prototype first so the customer can react to something concrete, then use that feedback to build the real system. Good when requirements are unclear at the start.

  • Iterative and incremental model. Deliver the system in successive builds, each adding functionality. The customer gets a partial working product early and refines it.

  • Spiral model. Combines iterative development with explicit risk analysis in every loop. Each spiral covers planning, risk assessment, engineering, and evaluation. It suits large, high-risk projects, and its defining feature is that risk handling is a first-class step.

  • Agile model. Delivers software in short, repeated cycles (iterations or sprints), values working software and customer collaboration over heavy documentation, and welcomes changing requirements even late in development. It is the go-to answer whenever a question stresses flexibility and frequent delivery.

The clean comparison to memorise: waterfall assumes stable requirements and delivers late; spiral centres on risk; agile embraces change and delivers continuously.

Requirements and design basics

Two ideas from these phases show up again and again.

Functional vs non-functional requirements. A functional requirement says what the system does (a user can reset a password). A non-functional requirement says how well it does it: performance, security, reliability, usability. The SRS records both.

Cohesion and coupling. These measure design quality. Cohesion is how strongly the elements inside one module belong together; you want it high. Coupling is how much one module depends on another; you want it low. Good design is high cohesion, low coupling. That one line answers a whole family of questions.

Testing levels: unit, integration, system, acceptance

Testing is the densest question area in the subject. Keep two axes separate.

The levels, from smallest scope to largest:

  1. Unit testing. Test each module in isolation.

  2. Integration testing. Test that modules work together correctly when combined.

  3. System testing. Test the complete, integrated system against the requirements.

  4. Acceptance testing. The customer checks the system in their own conditions before accepting it.

The approaches, orthogonal to the levels:

  • Black-box testing. Test from the specification, without looking at internal code. You check inputs against expected outputs.

  • White-box testing. Test using knowledge of the internal code and its paths.

The four testing levels drawn as a bottom-up pyramid, Unit at the base rising to Acceptance at the top, with black-box and white-box labelled as a separate side axis.

One distinction the examiners repeat: verification asks "are we building the product right" (checking against the specification, often static), while validation asks "are we building the right product" (checking against the user's real need).

How software engineering is tested in teaching exams

In DSSSB, KVS, and state PGT computer science papers, software engineering appears as a compact, high-return cluster of one-mark objective questions. The reliable patterns are: order the SDLC phases, match a scenario to the right process model, define cohesion and coupling, and identify a testing level or approach. Because the subject carries no heavy numericals, a candidate who has the vocabulary cold can clear these questions quickly and bank time for tougher sections. The exact number of questions and any sectional weightage vary by notification, so confirm those against the official document for the exam you are writing.

Our published question bank carries over 700 software engineering questions, and the concentration on SDLC, models, and testing means practising them reinforces exactly the patterns above.

Your next step

Read this spine once, then practise until the model comparisons and the testing levels are automatic. The way to get the whole computer science teaching syllabus sequenced, software engineering included, is the Teaching Recruitment Exams bundle, which covers the CS subject core across the major teaching posts. For the general-subjects paper that sits alongside the CS core, the DSSSB Section A course is the focused option, and you can browse the full range of posts from the government teaching jobs category.

To place this subject inside the wider CS-for-teaching picture, our computer science pedagogy for teacher exams guide covers how CS is taught and questioned, and the computer fundamentals for teaching exams deep-dive grounds the hardware and software basics that sit under it.

Learn the SDLC phases in order, keep the process models and their trade-offs apart, and know the testing levels cold. Do that, and software engineering becomes the calm, dependable section of your paper.