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

The software engineering spine for TGT and PGT computer science papers: the SDLC phases in order, waterfall vs spiral vs agile, functional and non-functional requirements, cohesion and coupling, and the four testing levels.

KnowledgeGate Team

Exam prep & CS education

Updated 18 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.

The subject has a short, stable spine: the software development life cycle, the classic process models built on it, the requirements and design vocabulary examiners quote, and the testing levels. It sits one layer above the hardware and software basics in our computer fundamentals for teaching exams notes, and it rewards the same precise vocabulary. 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.

Flow diagram of the six SDLC phases from requirement analysis to maintenance, with a feedback loop back to the start.

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.

Pyramid of the four testing levels, unit at the base up to acceptance, with black-box and white-box on a 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 question bank carries over 700 software engineering questions, concentrated on exactly these areas: the order of the SDLC phases, model comparisons, and the testing levels. Practising them is what makes the vocabulary automatic, and the government teaching jobs category collects the exam-wise posts for these papers.

Your next step

Software engineering rewards drilling more than re-reading: work through model-fit scenarios and testing-level questions until you answer them without pausing. 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.

To place this subject inside the wider CS-for-teaching picture, our computer science pedagogy for teacher exams guide explains how CS is taught and questioned in these papers.

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.