VCE Software Development key terms
VCE Software Development · Get comfortable with the vocabulary.
- Functional requirement
- Related: Non-functional requirement, Requirements specification
A statement describing what a system must do, such as a specific behaviour, calculation, or output the software must produce for its users.
- Non-functional requirement
- Related: Functional requirement, Usability testing
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.
- Requirements specification
- Related: Functional requirement, Use case
A document that records agreed functional and non-functional requirements, along with constraints and assumptions, so developers and clients share one clear reference point.
- Use case
- Related: Requirements specification, User story
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.
- User story
- Related: Use case, Prototype
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.
- Prototype
- Related: User story, Iterative development
An early, often incomplete version of an interface or system built to test ideas and gather feedback before full development begins.
- Iterative development
- Related: Prototype, Version control
An approach that builds software in repeated short cycles, each producing a working increment that is reviewed and refined based on feedback.
- Modularity
- Related: Coupling, Cohesion
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.
- Cohesion
- Related: Coupling, Modularity
A measure of how closely related the responsibilities inside a single module are; high cohesion means a module does one well-defined job.
- Coupling
- Related: Cohesion, Modularity
A measure of how much one module depends on another; low coupling makes modules easier to replace, test, and reuse independently.
- Algorithm
- Related: Pseudocode, Flowchart
A finite, ordered set of unambiguous steps that transforms given inputs into a required output and always terminates.
- Pseudocode
- Related: Algorithm, Flowchart
A structured, human-readable notation using programming-like keywords and indentation to describe an algorithm without the strict syntax of a real language.
- Flowchart
- Related: Pseudocode, Algorithm
A diagram that represents an algorithm using standard symbols such as rectangles for processes, diamonds for decisions, and arrows for control flow.
- Selection
- Related: Iteration, Boolean expression
A control structure that chooses between alternative paths by evaluating a condition, as in if-then-else statements.
- Iteration
- Related: Selection, Nested loop
A control structure that repeats a block of instructions while a condition holds or for a set number of times.
- Nested loop
- Related: Iteration, Time complexity
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.
- Boolean expression
- Related: Selection, Iteration
An expression that evaluates to either true or false, typically combining comparisons with logical operators such as AND, OR, and NOT.
- Time complexity
- Related: Nested loop, Algorithm
A description of how the running time of an algorithm grows as input size increases, commonly expressed using big-O notation.
- Linear search
- Related: Binary search, Time complexity
An algorithm that checks each element of a list in turn until the target is found or the list ends.
- Binary search
- Related: Linear search, Sorting algorithm
A search algorithm that repeatedly halves a sorted list, comparing the target with the middle element to discard half the remaining data each time.
- Sorting algorithm
- Related: Binary search, Algorithm
A procedure that arranges the elements of a collection into a defined order, such as ascending numeric or alphabetical sequence.
- Test data
- Related: Debugging, Boundary value
Values chosen to exercise a program, including normal, boundary, and invalid cases, so that expected and actual behaviour can be compared.
- Boundary value
- Related: Test data, Debugging
A test input at or just beyond the edge of an accepted range, where errors are especially likely to occur.
- Debugging
- Related: Test data, Syntax error
The process of locating, diagnosing, and correcting errors in a program by tracing execution, inspecting values, and reasoning about the code.
- Syntax error
- Related: Debugging, Logic error
A mistake in the spelling or grammar of code that prevents the program from being translated or compiled successfully.
- Logic error
- Related: Syntax error, Debugging
A flaw in a program's reasoning that lets it run without crashing but produce incorrect results or behaviour.
- Data type
- Related: Variable, Data validation
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.
- Data validation
- Related: Data type, Data integrity
Automated checking that input meets defined rules, such as a range check or type check, before the data is accepted and stored.
- Data integrity
- Related: Data validation, Database normalisation
The accuracy, consistency, and completeness of stored data throughout its lifecycle, maintained through validation, constraints, and controlled access.
- Relational database
- Related: Primary key, Foreign key
A collection of data organised into tables of rows and columns, linked through shared key values so related information can be combined.
- Primary key
- Related: Foreign key, Relational database
A field or combination of fields whose values uniquely identify each record in a table and cannot be duplicated or left empty.
- Foreign key
- Related: Primary key, Referential integrity
A field in one table that holds a primary key value from another table, creating a link between the two sets of records.
- Referential integrity
- Related: Foreign key, Data integrity
A rule ensuring that every foreign key value matches an existing primary key value, so records cannot point to nonexistent related records.
- Database normalisation
- Related: Relational database, Data integrity
The process of structuring tables to reduce duplicated data and update anomalies by separating information into related tables linked by keys.
- SQL query
- Related: Relational database, Primary key
A statement written in Structured Query Language that retrieves, inserts, updates, or deletes data in a relational database.
- Project scope
- Related: Gantt chart, Milestone
A statement of what a project will and will not deliver, including features, boundaries, and acceptance criteria agreed with the client.
- Gantt chart
- Related: Project scope, Critical path
A horizontal bar chart showing project tasks against a timeline, revealing durations, overlaps, and dependencies between activities.
- Critical path
- Related: Gantt chart, Milestone
The longest sequence of dependent tasks through a project schedule, which determines the shortest possible completion time.
- Milestone
- Related: Project scope, Gantt chart
A significant, clearly identifiable point in a project schedule marking the completion of a major phase or deliverable.
- Version control
- Related: Iterative development, Regression testing
A system that records changes to files over time, allowing developers to review history, revert to earlier versions, and merge work from multiple contributors.
- Regression testing
- Related: Version control, Test data
Re-running previously passed tests after changes are made to confirm that existing working features have not been broken.