Unit 19 Object Oriented Programming
· Aim
To provide learners with an understanding of the principles of object oriented programming as an underpinning technological concept in the field of programming, data management and systems development.
· Unit abstract
Object oriented programming is an industry-proven method for developing reliable modular programs and is popular in software engineering and systems development. Consistent use of object oriented techniques can lead to shorter development life cycles, increased productivity, adaptable code, reuse of different technologies, the interaction of different systems using common platforms and therefore lower the cost of producing and maintaining systems.
The development of systems with objects simplifies the task of creating and maintaining complex applications. Object oriented programming is a way of modelling software that maps programming code to the real world.
In terms of impact, object oriented technology can be found in many systems, from commercial operating systems to mobile phones and in many multimedia applications. The majority of programming languages are object oriented in focus, with the exceptions preferring to offer specialist programming resources. It is dominant in Visual Studio, C++, Java, the Microsoft
.Net environment, Action Script and many other systems.
Learners taking this unit will have the opportunity to develop their understanding of the object oriented paradigm and develop code suited to a range of platforms using the object oriented methodology.
· Learning outcomes
On successful completion of this unit a learner will:
- Understand the principles of object oriented programming
- Be able to design object oriented programming solutions
- Be able to implement object oriented programming solutions
- Be able to test and document object oriented programming solutions.
Unit content
1 Understand the principles of object oriented programming
Characteristics of objects: types eg constructors, destructors; classification; features eg inheritance, polymorphism, encapsulation, public classes, private classes, public methods, private methods, message passing; interpreted, open source, common libraries
Variables: public instance variables; private instance variables; static references
Software engineering: features eg modularity, encapsulation, reuse, method overloading, instance variables, classes, abstract classes, interfaces
Classes: characteristics eg identification attributes, control of scope of attributes and methods, inheritance, aggregation, association, polymorphism
2 Be able to design object oriented programming solutions
Development: selection eg identification of programming language, identification of programming libraries, selection of development environment
Design methodology: options eg reuse of existing system, adaptation of code, use of open source
Design method: tools eg class responsibilities collaboration cards, class diagram, identification of dependencies and inheritances, data and file structures.
System delivery: style eg scripted, interpreted, compiled
Programming platform: types eg GUI, script, command line
Delivery environment: types eg mobile, handheld, web based, desktop, dedicated device
Interaction: considerations eg exchange of data with other systems, compliance, compatibility, recognition of standards employed
Design refinement: clarification of a design using principles of maximum coherence and minimum coupling between the classes
3 Be able to implement object oriented programming solutions
Coding: use of conventional language commands; pre-defined eg class library, downloaded, imported, reversion code
Control structures: types eg subroutines, branching, iteration, interrupts, signals
Complexity: inclusion of eg multiple classes, application of inheritance in created code, reuse of objects
IDE: typical elements eg source code editor, compiler, interpreter,
build automation tools, debugger
4 Be able to test and document object oriented programming solutions
Testing: mechanisms eg valid declarations, debugging code, comment code, naming conventions, checking functionality against requirements; documentation
Errors: handling eg management of extremes, use of system imposed statements Impact testing: types eg range testing, input testing, load testing, system compatibility Onscreen help: methods eg pop-ups, help menu, hot-spots
Documentation: technical documentation to include eg designs, delivery system,
platform, environment, file structures, coding, constraints, maintenance
requirements
Learning outcomes and assessment criteria
Learning outcomes On successful completion of this unit a learner will: | Assessment criteria for pass The learner can: |
LO1 Understand the principles of object oriented programming | 1.1 discuss the principles, characteristics and features of objected oriented programming |
LO2 Be able to design object oriented programming solutions | identify the objects and data and file structures required to implement a given designdesign an object oriented programming solution to a given problem |
LO3 Be able to implement object oriented programming solutions | implement an objected oriented solution based on a prepared designdefine relationships between objects to implement design requirementsimplement object behaviours using control structures to meet the design algorithmsmake effective use of an Integrated Development Environment (IDE), including code and screen templates |
LO4 Be able to test and document object oriented programming solutions | critically review and test an object orientated programming solutionanalyse actual test results against expected results to identify discrepanciesevaluate independent feedback on a developed object oriented programme solution and make recommendations for improvementscreate onscreen help to assist the users of a computer programcreate documentation for the support and maintenance of a computer program. |
Guidance
Links to National Occupational Standards, other BTEC units, other BTEC qualifications and other relevant units and qualifications
The learning outcomes associated with this unit are closely linked with:
Level 3 | Level 4 | Level 5 |
Unit 6: Software Design and Development | Unit 18: Procedural Programming | Unit 35: Web Applications Development |
Unit 14: Event Driven Programming | Unit 20: Event Driven Programming Solutions | Unit 39: Computer Games Design Development |
Unit 15: Object Oriented Programming | Unit 21: Software Applications Testing | Unit 40: Distributed Software Applications |
Unit 16: Procedural Programming | Unit 22: Office Solutions Development | Unit 41: Programming in Java |
Unit 23: Mathematics for Software Development | Unit 42: Programming in .NET |
This unit has links to the Level 4 and Level 5 National Occupational Standards for IT and Telecoms Professionals, particularly the areas of competence of:
- Software Development.