SAND6221 Study Guide
SAND6221 Study Guide
This guide covers every topic tested across past papers 2021–2024. Each section includes
definitions, explanations, worked examples, and fully labelled diagram guides.
Topics marked [ALWAYS ASKED] appear in every past paper. Prioritise these first.
LU1 — Introduction to System Development
• Investigate the current problem • Plan and create the solution to the
• Gather requirements from users and problem
stakeholders • Design the database, interfaces,
• Ask: what must the system do? architecture
• Produces requirement models and diagrams • Ask: how will the system be built?
A structured set of guidelines for developing information systems from scratch to deployment.
Called a 'cycle' because systems are continuously improved after going live.
• Captures the BIG PICTURE before any work • The HOW and WHEN of the project
begins • Contents: timelines, resources, costs,
• Contents: problem definition, proposed responsibilities
solution, expected benefits • Purpose: guides how the project will be
• Purpose: gets everyone aligned on WHAT executed
and WHY • Also created during Core Process 1
• Created during Core Process 1 (Planning) (Planning)
1.3 Iterative Development
Iterative development builds the system in small, repeating cycles rather than all at once.
Each cycle (called an iteration or sprint) produces a working version that improves on the
last.
Functional Requirements [WHAT the system DOES] Non-Functional Requirements [HOW WELL it does it]
Functionality Core features the system must have User can log
in, submit
form, register
2.2 Stakeholders
• Anyone who has an interest in the system • Internal: employees within the
being developed organisation
• Can provide requirements and information • Examples: manager, developer, office
• Different stakeholders have different assistant, clerk
needs and perspectives • External: people outside the
organisation
• Examples: clients, customers,
regulators, suppliers
• Named as VERB + NOUN: e.g. Register Profile, Submit Tax Filing, Approve Request
• Actor = the person or system that interacts with the system (drawn as a stick figure)
• Use Case = a single goal or task (drawn as an oval inside the system boundary)
Event Decomposition Technique [ALWAYS ASKED] User Goal Technique [ALSO ASKED]
• Step 1: Identify all events the system • List all users and actors of the system
must respond to • For each actor, ask: what goals do they
• Step 2: Classify each event as External, want to achieve?
Temporal, or State • Each goal = one use case
• Step 3: Each event becomes one use case • Example: Parent wants to book nanny,
• External event: an actor triggers it track booking, make payment
(user submits a form) • Result: 3 use cases — Book Nanny, Track
• Temporal event: time triggers it Booking, Make Payment
(monthly report runs automatically)
• State event: a condition triggers it
(account balance drops to zero)
• Just 1-2 sentences summarising the use • Complete table with all fields: name,
case actor, preconditions, trigger, main flow,
• Example: 'Submit Tax Filing: Client alternative flow, postconditions
selects a tax filing request from the • Used when a use case needs to be fully
services menu. System processes the understood before development
request and confirms submission.' • Worth significantly more marks in
assessments
Diagrams — How to Draw Them
Activity Diagram
[ALWAYS ASKED — 12-30 marks]
Shows the workflow of a process step by step. Uses swimlanes (vertical columns) to separate
who does what. Every actor gets their own swimlane.
[no]
SWIMLANE = one per actor | ROUNDED RECT = activity | DIAMOND = decision | THICK BAR = fork/join | BULL'S-EYE = end
System Boundary
(labelled rectangle)
Log In <<include>>
(dashed = always occurs) View Report
Submit Request
Register
OVAL = use case | STICK FIGURE = actor (outside boundary) | RECTANGLE = system boundary | <<include>> = always | <<extend>> = optional
Client Order
+email: String 1 places * +status: String
+register() +place()
CRC Cards
[ASKED IN 2023 THA — LU5]
RESPONSIBILITIES: COLLABORATORS:
• Manage profile
places
1* contains
** generates
11
Client Order Product Invoice
1 = one | * = many | 0..1 = zero or one | 1..* = one or more | Line = relationship | Label = relationship name
ERD (Entity Relationship Diagram) [OLDER Domain Model Class Diagram [MODERN APPROACH]
APPROACH] • Used in object-oriented development
• Used in structured/older development approaches
approaches • Classes instead of entities
• Entity = rectangle (represents a • Shows associations, generalisation, and
real-world thing) multiplicity
• Relationship line between entities with • Generalisation: subclass inherits from
cardinality superclass (hollow triangle arrow)
• Cardinality notation: 1, M, 1..*, 0..1 • Example: Employee generalised into
• Example: Client 1 ■■ * Order (one Manager and Developer
client places many orders)
LU3 — Systems Design
• The quality of a design element that • Important functions are CLEARLY VISIBLE
HINTS at how it should be used — users should not have to search for them
• A button looks like it can be clicked — • Example: logout button always visible in
that is affordance the top right corner
• A text field with a cursor hints that • Example: save button always on screen
you should type in it while editing a document
• A door with a pull handle tells you to • Poor visibility: hiding the delete
pull it function under 5 nested menus
• Poor affordance: a clickable link that • Rule: the more important the function,
looks like plain text the more visible it should be
• Design approach that keeps user needs at • UI (User Interface) = the actual visual
the centre of every decision elements: buttons, forms, menus
• Principle 1: Involve real users early • UX (User Experience) = the overall
and throughout the process feeling of using the system
• Principle 2: Test designs with real • UX is broader — UI is one component of
users and observe them using the system UX
• Principle 3: Iterate — continuously • Usability = how easy, efficient, and
improve based on user feedback satisfying the system is to use
• Principle 4: Design for the user's • A system can look good (good UI) but
goals, not the developer's convenience feel frustrating to use (poor UX)
LU4 — Methodology and Project Management
Definition:
A system development methodology is a comprehensive set of guidelines for carrying out all
activities in the SDLC. It has three components:
• 1. MODEL — the overall approach or framework (e.g. Agile, Waterfall, RAD, Scrum)
• 2. TOOLS — software and instruments used (e.g. MS Visio, Jira, Azure DevOps, [Link],
StarUML)
• 3. TECHNIQUES — specific methods used to perform tasks (e.g. Event Decomposition, User
Goal Technique, CRUD Technique)
Predictive SDLC (Waterfall) [OLD / STRUCTURED] Adaptive SDLC (Agile) [MODERN / FLEXIBLE]
• Plan everything in full detail before • Flexible and iterative — build in small
building anything sprints
• Follow phases strictly in order: Plan, • Requirements can change between sprints
Analyse, Design, Build, Test, Deploy based on feedback
• Very little flexibility — changes are • Deliver working software frequently
expensive once a phase is complete (every 2-4 weeks)
• Good when: requirements are completely • Good for most modern software projects
clear and stable from the start • Core idea: respond to change rather than
• Bad when: requirements are likely to following a fixed plan
change during development
• Scrum Master: facilitates the team, • Scope = what is and is not included in
removes obstacles, ensures Agile process the project
is followed. NOT a manager. • Managed through the Product Backlog — a
• Product Owner: represents the client, living prioritised list
owns the product backlog, decides feature • Each sprint the team works on the
priority. highest priority backlog items
• Development Team: cross-functional team • Scope can change between sprints based
that builds the product. on stakeholder feedback
• Sprint: a short development cycle, • The Product Owner is responsible for all
typically 1 to 4 weeks. scope decisions
• Product Backlog: prioritised list of all
features still to be built.
Performance and Stress How the system behaves under heavy Perform
Testing load or extreme conditions ance
Testers
Development Approaches
• Top-Down: start with the high-level • Build and deliver the system in small,
system structure, then build the detailed usable pieces called increments
components. Testing begins from the top. • Each increment adds new functionality to
• Bottom-Up: start with individual the previous working version
low-level components, then integrate them • Users can start using early increments
into the full system. while later ones are still being built
• Top-Down advantage: tests the overall • Reduces project risk by catching
architecture and design early problems early in the process
• Bottom-Up advantage: individual • This is the core idea behind Agile and
components can be reused and tested in Scrum development
isolation
Subsystems
A subsystem is a self-contained component of a larger system that performs a specific set of
functions and communicates with other subsystems through defined interfaces.
• Why divide into subsystems? Reduces complexity, allows teams to work in parallel, easier
to maintain and update individual parts
• Example: an Accounting System might have: Client Management Subsystem, Services
Subsystem, Billing Subsystem, Reporting Subsystem
• Describes the hardware, networks, and • Describes how software components are
infrastructure the system runs on structured and how they interact
• Examples: cloud servers, physical • Examples: 3-tier architecture
databases, network configuration, hosting (presentation, business logic, data),
environment client-server, microservices, web-based
Past Paper Patterns — What to Expect