The object-oriented paradigm#
Understanding OOP#
Apply the key features of an object-oriented programming (OOP) language
Including
objects
classes
encapsulation
abstraction
inheritance
generalisation
polymorphism
Compare procedural programming with OOP
Use data flow diagrams, structure charts and class diagrams to represent a system
Describe the process of design used to develop code in an OOP language
Including
task definition
top-down and bottom-up
facade pattern
agility
Assess the effectiveness of programming code developed to implement an algorithm
Investigate how OOP languages handle message-passing between objects
Explain code optimisation in software engineering
Outline the features of OOP that support collaborative code development
Including
consistency
code commenting
version control
feedback
Programming in OOP#
Design and implement computer programs involving branching, iteration and functions in an OOP language for an identified need or opportunity
Implement and modify OOP programming code
Including
clear and uncluttered mainline
one logical task per subroutine
use of stubs
use of control structures and data structures
ease of maintenance
version control
regular backup
Apply methodologies to test and evaluate code
Including