19-Soft-A3 Software Design · May 2014
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
National Exams, 04-Soft-A3 Software Design — May 2014. Open-book, 3-hour exam. Each question carries 10 marks, split 3/3/4 or similar across its three parts.
Reference texts: Sommerville, Software Engineering (10th ed.); Pressman, Software Engineering: A Practitioner's Approach (9th ed.); Gamma, Helm, Johnson & Vlissides (GoF), Design Patterns: Elements of Reusable Object-Oriented Software; ISO/IEC 25010, Systems and Software Quality Requirements and Evaluation (SQuaRE); SWEBOK v4.
Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.
Interfaces are made easy to learn through consistency (reusing the same conventions, icons and layout the user already knows from elsewhere, so learned skills transfer), simplicity through progressive disclosure (showing common features prominently and hiding advanced ones until the user asks for them), clear labelling and visual affordances (a control's appearance suggests its function), and contextual help or a short onboarding walkthrough for first-time use. A photo-editing application, for example, places its most common tools — crop, rotate, brightness — on a single visible toolbar with an icon and tooltip for each, while dozens of advanced filters sit behind a separate "Advanced" menu; a first-time user can perform basic edits within minutes without ever opening that menu.
Ease of use comes from minimising the number of steps and amount of typing a common task requires, choosing sensible defaults, offering keyboard shortcuts for experienced users without forcing them on everyone, supporting direct manipulation (drag-and-drop) instead of multi-step dialogs where possible, and giving immediate, visible feedback for every action so the user is never left guessing whether it worked. An e-commerce checkout that pre-fills a returning customer's saved shipping address and payment method and offers a single "Buy again" button reduces what would otherwise be a five-screen checkout flow to one click.
Errors are prevented and made cheap to fix through input validation that reports a problem immediately, in place, rather than after submission; confirmation prompts before any destructive or irreversible action (deleting, overwriting); constrained input widgets (a date picker or dropdown instead of free text) that make an invalid value impossible to enter in the first place; and undo/redo so that a mistake, once made, costs almost nothing to reverse. A web form that greys out its "Submit" button and shows "Email format is invalid" the instant a malformed address is typed prevents the error outright, and an email client that moves a deleted message to a recoverable Trash folder for thirty days rather than erasing it immediately turns an otherwise permanent mistake into a cheaply fixable one.
These three usability goals compound: a checkout screen (b) that also validates a card number in place (c) using a familiar, consistently-styled form (a) needs almost no user-facing documentation at all, because the interface itself teaches, speeds and protects the user through the same design choices.