BCS Written ICT study materials
BCS Written ICT study resources

BCS Written ICT: Software Engineering and System Analysis and Design

BCS Written ICT · Work through your exam, one topic at a time.

All guide sections

Software Engineering and System Analysis and Design

Core concepts

Understand the software development life cycle (SDLC): requirements, analysis, design, implementation, testing, deployment, maintenance. Compare process models - waterfall, incremental, spiral (risk-driven), prototyping, and agile/Scrum (sprints, backlog, daily standups). Learn requirement engineering (functional vs non-functional), feasibility study (technical, economic, operational), and modeling tools: DFDs (context, level 0, level 1), ER diagrams, use case diagrams, class diagrams, and flowcharts. Know testing levels (unit, integration, system, acceptance) and techniques (black-box, white-box, boundary value, equivalence partitioning). Understand coupling and cohesion, and maintenance types (corrective, adaptive, perfective, preventive).

Traps to watch

A DFD has no control flow, loops, or timing - those belong to flowcharts. Level 0 DFD is the context diagram with one process. Functional requirements describe what the system does; non-functional describe quality attributes (performance, security, usability). Low coupling and high cohesion are desirable - questions invert them. Verification asks "are we building it right?" while validation asks "are we building the right thing?" Spiral model emphasizes risk analysis; waterfall is sequential and rigid.

Worked example / rule of thumb

Given a login feature, functional requirement: "the system shall authenticate users against stored credentials"; non-functional: "authentication response within 2 seconds." Rule of thumb: if you can test it with a stopwatch or a quality metric, it is non-functional; if it describes an action, it is functional.