TK Study

Software Engineering › Flashcards › The Object-Oriented Paradigm (Year 11)

The Object-Oriented Paradigm (Year 11)

34 flashcards (Year 11). Study these as flip cards Random

Key OOP features

Object-oriented programming (OOP) Term

A paradigm that organises a program as objects, created from classes, that hold data (attributes) and behaviour (methods) and communicate by passing messages.

Example: Contrast: procedural = a list of subroutines acting on separate data; OOP = objects that own their data and methods.

Where you would use it in the test

Related past questions: Sample exam Q24 (4 marks): Modelling tools (class diagram); 2025 HSC Q22 (3 marks): Modelling tools

Memorise: Object-oriented concepts

Class Term

A blueprint or template that defines the attributes and methods shared by all objects of one kind.

Example: 'class Student:' defines the template; each student is an object.

Where you would use it in the test
  • Drawing: class diagram box (name, attributes, methods)
  • Python: class definition
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Object Term

A single instance of a class with its own attribute values and the ability to run the class's methods.

Example: 's1 = Student("Ava")' creates an object.

Where you would use it in the test
  • Python: create an object
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools

Memorise: Object-oriented concepts

Attribute Term

A variable that belongs to an object and stores its data or state (name, age, balance).

Example: 'self.balance = 0' stores an attribute.

Where you would use it in the test
  • Drawing: middle section of the class box
  • Python: Python question: write or complete it in the online Python tool.
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Method Term

A subroutine that belongs to a class and defines what its objects can do (deposit, display, calculate).

Example: 'def deposit(self, amount):' is a method.

Where you would use it in the test
  • Drawing: bottom section of the class box
  • Python: Python question: write or complete it in the online Python tool.
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Constructor (__init__) Term

A special method that runs when an object is created and sets its starting attribute values (in Python it is __init__).

Example: 'def __init__(self, name): self.name = name'

Where you would use it in the test
  • Python: Write a class with __init__
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.

Memorise: Object-oriented concepts

Check this one: The syllabus says implement OOP code but does not name constructors; Python classes need __init__ so it is a safe code-pattern card.

Encapsulation Term

Bundling an object's data and the methods that use it together in a class and restricting direct access to the data (private attributes, accessed through methods) so it stays valid and secure.

Example: 'Make balance private and change it only through deposit() so it cannot be set to a negative number directly.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Short answer: Explain how encapsulation protects data
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Memorise: Object-oriented concepts

Abstraction (in OOP) Term

Hiding complex implementation detail and exposing only what is needed, so a user calls account.deposit() without knowing how it works.

Example: 'The class hides how interest is calculated; the user just calls addInterest().'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Object-oriented concepts

Inheritance Term

A subclass (child) automatically gets the attributes and methods of a superclass (parent) and can add or change its own, giving code reuse. It models an 'is-a' relationship.

Example: 'Student inherits name and age from Person; the arrow points from Student to Person.'

Where you would use it in the test
  • Drawing: inheritance arrow on a class diagram
  • Python: class Child(Parent)
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Generalisation Term

Moving the features shared by several classes up into a common superclass (Student and Teacher generalised as Person). The 2025 marker note: refine attributes into separate inherited classes.

Example: 'Common attributes go in the superclass; unique ones stay in each subclass.'

Where you would use it in the test
  • Drawing: class diagram (2025 Q22 and sample Q24)
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Superclass and subclass Term

A superclass is the parent class that supplies shared features; a subclass is a child class that inherits them and adds its own.

Example: 'Dog is a subclass of Animal.'

Where you would use it in the test
  • Drawing: class diagram
  • Python: class Child(Parent)
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Related past questions: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

Memorise: Object-oriented concepts

Polymorphism Term

Different classes provide their own version of the same method name, so one call behaves differently depending on the object.

Example: 'speak() prints Woof for Dog and Meow for Cat.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Python: override a method
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Object-oriented concepts

Method overriding Term

A subclass supplies its own version of a method it inherited, replacing the parent's version; the way polymorphism is coded.

Example: 'Cat.speak() overrides Animal.speak().'

Where you would use it in the test
  • Python: Python question: write or complete it in the online Python tool.
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.

Memorise: Object-oriented concepts

Check this one: Not named in the syllabus; it is how polymorphism is shown in Python code.

Message passing Term

Objects communicate by calling each other's methods (sending a message with parameters and receiving a return value).

Example: 'order.addItem(item) sends the message addItem to the order object.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Investigate how OOP languages handle message passing
  • Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

Memorise: Object-oriented concepts

Procedural programming v OOP Term

Procedural: a program is a sequence of subroutines working on shared data. OOP: data and the methods that act on it are grouped into objects, giving encapsulation, reuse through inheritance and easier maintenance.

Example: Compare pattern: 'Procedural uses functions on separate data whereas OOP keeps the data and methods together in objects.'

Where you would use it in the test
  • Short answer: Compare procedural programming with OOP
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.

Memorise: Object-oriented concepts

Design process and collaboration

Task definition Term

The first design step: clearly stating the problem to be solved, its purpose, inputs and outputs, before planning the code.

Example: 'Task definition: the program must accept three marks and display the average.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Object-oriented concepts

Facade pattern Term

A design pattern where a simple class provides one easy interface that hides a complex set of subsystem classes behind it.

Example: 'A OrderFacade class calls the Stock, Payment and Delivery classes for the user.'

Where you would use it in the test

Memorise: Object-oriented concepts

Agility Term

The ability to respond quickly to changing requirements by working in short iterations with frequent feedback (the Agile approach).

Example: 'An agile team delivers a working feature each sprint.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Related past questions: 2025 HSC Q2 (1 mark): Software development approaches

Memorise: Object-oriented concepts

Consistency (collaboration) Term

Using the same naming, layout and coding standards across the team so everyone can read and change the code.

Example: 'Use snake_case for every variable.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Multi-select: Features that support collaborative development
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Related past questions: Sample exam Q4 (1 mark): Collaboration

Memorise: Object-oriented concepts

Code commenting Term

Short explanations in the code that say what it does and why, so other developers and your future self can understand and maintain it.

Example: '# calculate GST for each item'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Python: Python question: write or complete it in the online Python tool.

Related past questions: Sample exam Q4 (1 mark): Collaboration

Memorise: Object-oriented concepts

Version control Term

A system (such as Git) that records every change to the code with who and when, supports branches and merging and allows rollback, so teams can work together safely.

Example: 'Git history lets the team revert to the last working version.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Multi-select: Collaboration features (sample Q4)
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

Related past questions: Sample exam Q4 (1 mark): Collaboration

Memorise: Object-oriented concepts

Feedback (code review) Term

Colleagues or testers review code and comment so errors are found early and quality improves.

Example: 'A pull request review catches a logic error.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Related past questions: Sample exam Q4 (1 mark): Collaboration

Memorise: Object-oriented concepts

Writing and testing OOP code

Clear and uncluttered mainline Term

A mainline that only calls well-named subroutines or methods in order, so the overall flow is easy to follow.

Example: Keep the mainline to a few calls; put detail in subroutines.

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  • Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  • Python: Python question: write or complete it in the online Python tool.

Related past questions: Sample exam Q14 (3 marks): Algorithm design (subroutines)

Memorise: Testing and code quality (Year 11)

One logical task per subroutine Term

Each subroutine does a single clear job, which makes it reusable, testable and easier to fix.

Example: 'calculateTotal() only calculates; displayTotal() only displays.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  • Python: Python question: write or complete it in the online Python tool.

Related past questions: Sample exam Q14 (3 marks): Algorithm design (subroutines); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

Memorise: Testing and code quality (Year 11)

Stub Term

A simple placeholder subroutine, which usually returns a fixed value, standing in for code not yet written so the rest of the program can be tested.

Example: 'getRate() returns 0.1 until the real rate lookup is finished.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Memorise: Testing and code quality (Year 11)

Ease of maintenance Term

How simply code can be corrected or updated later; helped by comments, meaningful names, modular subroutines and version control.

Example: Use it to justify modular code in an evaluate or justify answer.

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

Related past questions: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing

Memorise: Testing and code quality (Year 11)

Regular backup Term

Making frequent copies of code and data (ideally off-site or in the cloud) so work can be restored after loss or corruption.

Example: 'Push the code to a repository each day.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Testing and code quality (Year 11)

Unit testing Term

Testing one subroutine, method or class on its own to check it works as intended.

Example: 'Test calculateGST() with several inputs.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Testing and code quality (Year 11)

Subsystem testing Term

Testing a group of modules that work together as a subsystem, checking their interfaces and data passing.

Example: Between unit and system testing.

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Testing and code quality (Year 11)

Check this one: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

System testing Term

Testing the complete, integrated system against the requirements.

Example: 'System test: the whole app runs end to end.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Testing and code quality (Year 11)

Black box testing Term

Testing inputs against expected outputs with no knowledge of the internal code.

Example: 'The tester only sees what goes in and what comes out.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Compare black box and white box

Memorise: Testing and code quality (Year 11)

White box testing Term

Testing with full knowledge of the internal code, designing tests to run every path, branch and loop.

Example: 'The developer checks every branch of the IF statement.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

Memorise: Testing and code quality (Year 11)

Check this one: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

Grey box testing Term

Testing with partial knowledge of the internals, a mix of black box and white box.

Example: 'The tester knows the database design but not the code.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Matching or table: Matching or table question: match it to its description, example or category.
  • Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

Memorise: Testing and code quality (Year 11)

Quality assurance Term

Planned processes that check the software meets quality criteria (functionality, performance, readability, documentation) during development, not just at the end.

Example: 'QA includes code review, testing and standards.'

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  • Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

Related past questions: 2023 Software Design and Development HSC Q27 (10 marks): User interface, structure chart, quality assurance

Memorise: Testing and code quality (Year 11)