VCE Software Development study materials
VCE Software Development study resources

VCE Software Development key terms

VCE Software Development · Get comfortable with the vocabulary.

Functional requirement

A statement describing what a system must do, such as a specific behaviour, calculation, or output the software must produce for its users.

Related: Non-functional requirement, Requirements specification
Non-functional requirement

A constraint on how a system performs its work, covering qualities such as speed, security, usability, reliability, or portability rather than a particular feature or function.

Related: Functional requirement, Usability testing
Requirements specification

A document that records agreed functional and non-functional requirements, along with constraints and assumptions, so developers and clients share one clear reference point.

Related: Functional requirement, Use case
Use case

A description of a goal-oriented interaction between an external actor and a system, listing the steps and alternate paths that lead to a successful outcome.

Related: Requirements specification, User story
User story

A short, plain-language statement of a feature written from the user's perspective, usually naming the user, the desired action, and the benefit gained.

Related: Use case, Prototype
Prototype

An early, often incomplete version of an interface or system built to test ideas and gather feedback before full development begins.

Related: User story, Iterative development
Iterative development

An approach that builds software in repeated short cycles, each producing a working increment that is reviewed and refined based on feedback.

Related: Prototype, Version control
Modularity

The design principle of dividing a system into separate, self-contained parts that can be developed, tested, and changed with limited impact on other parts.

Related: Coupling, Cohesion
Cohesion

A measure of how closely related the responsibilities inside a single module are; high cohesion means a module does one well-defined job.

Related: Coupling, Modularity
Coupling

A measure of how much one module depends on another; low coupling makes modules easier to replace, test, and reuse independently.

Related: Cohesion, Modularity
Algorithm

A finite, ordered set of unambiguous steps that transforms given inputs into a required output and always terminates.

Related: Pseudocode, Flowchart
Pseudocode

A structured, human-readable notation using programming-like keywords and indentation to describe an algorithm without the strict syntax of a real language.

Related: Algorithm, Flowchart
Flowchart

A diagram that represents an algorithm using standard symbols such as rectangles for processes, diamonds for decisions, and arrows for control flow.

Related: Pseudocode, Algorithm
Selection

A control structure that chooses between alternative paths by evaluating a condition, as in if-then-else statements.

Related: Iteration, Boolean expression
Iteration

A control structure that repeats a block of instructions while a condition holds or for a set number of times.

Related: Selection, Nested loop
Nested loop

A loop placed inside the body of another loop, so the inner loop completes all its repetitions for each single repetition of the outer loop.

Related: Iteration, Time complexity
Boolean expression

An expression that evaluates to either true or false, typically combining comparisons with logical operators such as AND, OR, and NOT.

Related: Selection, Iteration
Time complexity

A description of how the running time of an algorithm grows as input size increases, commonly expressed using big-O notation.

Related: Nested loop, Algorithm
Linear search

An algorithm that checks each element of a list in turn until the target is found or the list ends.

Related: Binary search, Time complexity
Binary search

A search algorithm that repeatedly halves a sorted list, comparing the target with the middle element to discard half the remaining data each time.

Related: Linear search, Sorting algorithm
Sorting algorithm

A procedure that arranges the elements of a collection into a defined order, such as ascending numeric or alphabetical sequence.

Related: Binary search, Algorithm
Test data

Values chosen to exercise a program, including normal, boundary, and invalid cases, so that expected and actual behaviour can be compared.

Related: Debugging, Boundary value
Boundary value

A test input at or just beyond the edge of an accepted range, where errors are especially likely to occur.

Related: Test data, Debugging
Debugging

The process of locating, diagnosing, and correcting errors in a program by tracing execution, inspecting values, and reasoning about the code.

Related: Test data, Syntax error
Syntax error

A mistake in the spelling or grammar of code that prevents the program from being translated or compiled successfully.

Related: Debugging, Logic error
Logic error

A flaw in a program's reasoning that lets it run without crashing but produce incorrect results or behaviour.

Related: Syntax error, Debugging
Data type

A classification that determines what kind of values a variable may hold and which operations are valid on those values, such as integer, string, or Boolean.

Related: Variable, Data validation
Data validation

Automated checking that input meets defined rules, such as a range check or type check, before the data is accepted and stored.

Related: Data type, Data integrity
Data integrity

The accuracy, consistency, and completeness of stored data throughout its lifecycle, maintained through validation, constraints, and controlled access.

Related: Data validation, Database normalisation
Relational database

A collection of data organised into tables of rows and columns, linked through shared key values so related information can be combined.

Related: Primary key, Foreign key
Primary key

A field or combination of fields whose values uniquely identify each record in a table and cannot be duplicated or left empty.

Related: Foreign key, Relational database
Foreign key

A field in one table that holds a primary key value from another table, creating a link between the two sets of records.

Related: Primary key, Referential integrity
Referential integrity

A rule ensuring that every foreign key value matches an existing primary key value, so records cannot point to nonexistent related records.

Related: Foreign key, Data integrity
Database normalisation

The process of structuring tables to reduce duplicated data and update anomalies by separating information into related tables linked by keys.

Related: Relational database, Data integrity
SQL query

A statement written in Structured Query Language that retrieves, inserts, updates, or deletes data in a relational database.

Related: Relational database, Primary key
Project scope

A statement of what a project will and will not deliver, including features, boundaries, and acceptance criteria agreed with the client.

Related: Gantt chart, Milestone
Gantt chart

A horizontal bar chart showing project tasks against a timeline, revealing durations, overlaps, and dependencies between activities.

Related: Project scope, Critical path
Critical path

The longest sequence of dependent tasks through a project schedule, which determines the shortest possible completion time.

Related: Gantt chart, Milestone
Milestone

A significant, clearly identifiable point in a project schedule marking the completion of a major phase or deliverable.

Related: Project scope, Gantt chart
Version control

A system that records changes to files over time, allowing developers to review history, revert to earlier versions, and merge work from multiple contributors.

Related: Iterative development, Regression testing
Regression testing

Re-running previously passed tests after changes are made to confirm that existing working features have not been broken.

Related: Version control, Test data