Software Design, Modelling and User-Centred Design
Software design translates requirements into a blueprint. Candidates must know modelling tools: UML diagrams (use case, class, sequence, activity) and their purposes. Use case diagrams capture actor-system interactions; class diagrams show static structure; sequence diagrams show object interactions over time. User-centred design (UCD) involves users throughout, using personas, scenarios, prototypes, and usability testing. Traps include confusing a use case diagram with a sequence diagram, or thinking UCD is only about a pretty interface. Also, know design principles: modularity, cohesion (within a module), coupling (between modules). High cohesion and low coupling are desirable. A worked example: for an online banking app, a use case diagram shows actors (customer, admin) and use cases (login, transfer funds); a sequence diagram details the messages for 'transfer funds' among objects. Rule of thumb: if the question asks 'who does what', think use case; if it asks 'in what order', think sequence. Also, prototypes can be low-fidelity (paper) or high-fidelity (interactive); both are valid in UCD. Accessibility and inclusivity are part of good design.