VCE Software Development cheat sheet
VCE Software Development · Keep the key ideas within reach.
Software design and development
SDLC phases: analysis, design, development, testing, implementation, evaluation; each phase produces a deliverable that feeds the next.
Functional requirements state what the system must do; non-functional requirements state qualities such as performance, usability, security and portability.
A use case describes an actor, a goal and a main success scenario plus alternate flows; it captures behaviour, not implementation.
UML class diagram notation: class box with name, attributes and methods; multiplicity 1, 0..1, , 1..; open arrow = association, hollow triangle = inheritance, filled diamond = composition.
UML sequence diagram: lifelines across the top, time runs downward, solid arrow = synchronous message, dashed arrow = return, box on lifeline = activation.
Data flow diagram levels: context diagram shows one process and external entities; level-0 explodes it into major processes with data stores and flows.
Structure chart shows module hierarchy and parameter/data couples; it expresses call structure, not control flow order.
Design principles: cohesion high within a module, coupling low between modules; a module should have one reason to change.
Testing levels: unit (single module), integration (interfaces between modules), system (whole system against requirements), acceptance (user sign-off).
Programming and algorithms
Algorithm complexity: O(1) constant, O(log n) binary search, O(n) linear scan, O(n log n) efficient sort, O(n^2) nested loops over the same input.
Binary search requires a sorted array and halves the search range each step; worst case is about log2(n) comparisons.
Sorting: bubble, insertion and selection are O(n^2); merge sort is O(n log n) and stable but uses O(n) extra space; quicksort averages O(n log n) and worst case O(n^2).
Recursion needs a base case that terminates the calls and a recursive case that moves toward the base case; each call consumes stack space.
Linear search works on unsorted data and examines up to n items; it is the only option when no ordering exists.
Pass by value copies the argument; pass by reference passes the address so the callee can modify the caller's variable.
Boolean logic: AND is true only if both operands are true; OR is false only if both are false; NOT inverts; De Morgan: NOT(A AND B) = (NOT A) OR (NOT B).
Validation checks input against rules (range, type, presence); verification confirms data was transferred or entered correctly (double entry, check digit).
A stack is LIFO (push/pop); a queue is FIFO (enqueue/dequeue); a linked list inserts and deletes in O(1) at a known node but has no O(1) random access.
Data and information management
Relational model terms: relation = table, tuple = row, attribute = column, primary key uniquely identifies a row, foreign key references a primary key in another table.
Normalisation: 1NF removes repeating groups, 2NF removes partial dependencies on part of a composite key, 3NF removes transitive dependencies on non-key attributes.
SQL clauses execute logically in the order FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY; HAVING filters groups, WHERE filters rows.
SELECT with JOIN types: INNER returns matching rows only; LEFT returns all left rows plus matches; RIGHT mirrors it; FULL returns all rows from both sides.
ACID properties of transactions: Atomicity (all or nothing), Consistency (valid state to valid state), Isolation (concurrent transactions do not interfere), Durability (committed changes survive failure).
Data types matter for storage and validation: INTEGER for whole numbers, DECIMAL for exact money values, VARCHAR for variable text, DATE for calendar dates, BOOLEAN for true/false.
A DBMS separates data from programs, enforces integrity constraints and controls concurrent access; a flat-file system stores data in separate files with duplication risk.
Backup strategies: full backup copies everything; incremental copies changes since the last backup of any type; differential copies changes since the last full backup.
Data integrity controls: entity integrity (no null primary key), referential integrity (foreign key must match an existing primary key), domain integrity (values within allowed set).
Software project management
A Gantt chart shows tasks as bars against a calendar axis and displays dependencies and duration; a critical path is the longest dependent task chain and sets the minimum project duration.
PERT estimates use three points: expected = (optimistic + 4 x most likely + pessimistic) / 6.
Project constraints are scope, time, cost and quality; changing one typically forces change in another.
A milestone is a zero-duration checkpoint marking completion of a deliverable; it consumes no resources.
Risk management steps: identify risks, assess likelihood and impact, plan mitigation, monitor and review throughout the project.
The waterfall model proceeds sequentially with formal sign-off per phase; an iterative or agile approach delivers working increments in short cycles with continuous feedback.
Version control records each change with an author, timestamp and message, enabling rollback and parallel branches.
A test plan specifies scope, test cases, data, environment, entry and exit criteria, and who performs each test.
Evaluation criteria should be measurable and traceable to the requirements gathered during analysis, so each requirement can be verified as met or not met.