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.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Match OOP features to descriptions
- Short answer: Compare procedural programming with OOP
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.
- 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.
- 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.
- 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.
- 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'
- 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.'
- 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().'
- 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.'
- 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.'
- 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.'
- 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.'
- 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().'
- 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.'
- 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.'
- 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.'
- 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.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Describe the facade pattern
- Drawing: class diagram
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.'
- 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.'
- 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'
- 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.'
- 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.'
- 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.
- 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.'
- 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.'
- 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.
- 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.'
- 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.'
- 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.
- 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.'
- 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.'
- 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.'
- 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.'
- 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.'
- 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)