Matura Computer Science study materials
Matura Computer Science study resources

Matura Computer Science: Software Engineering and System Development

Matura Computer Science · Work through your exam, one topic at a time.

All guide sections

Software Engineering and System Development

Software Engineering and System Development tests the life cycle: requirements, design notation, testing strategy and change management.

Core rules

  • Waterfall is sequential with frozen requirements; agile delivers in iterations and welcomes late change. Neither is universally better - stable, regulated projects often suit plan-driven models.
  • Functional requirements say what the system does; non-functional requirements constrain it (performance, security, usability, availability).
  • UML: use-case diagrams show actors and goals; class diagrams show attributes, methods, associations and multiplicity; sequence diagrams show time-ordered messages; activity diagrams show control flow.
  • Testing levels: unit → integration → system → acceptance. The V-model pairs each level with a design stage.
  • Black-box techniques: equivalence partitioning and boundary values. White-box: statement and branch coverage.
  • Verification asks “did we build it right”, validation “did we build the right thing”.
  • Git: commit locally, push and pull to a remote, branch to isolate work, merge and resolve conflicts.

Worked example

grade(p) returns A for 90–100, B for 75–89, C for 0–74 and an error otherwise. Partition and boundary tests: −1, 0, 74, 75, 89, 90, 100, 101. Reasoning: one representative per partition plus each boundary catches the classic off-by-one between > and >=, which testing only typical values such as 50 and 95 would miss.

Traps

  • Testing only happy paths and no boundaries.
  • Treating a successful test run as proof of correctness - it only shows absence of detected faults.
  • Confusing unit tests (one function) with integration tests (interfaces between modules).
  • Thinking UML is code, or that agile means no documentation or no design.
  • Swapping verification and validation in exam wording.