Развитие объектно-ориентированного подхода было обусловлено ограниченностью других методов программирования, используемых ранее, в частности, структурного программирования.
Основополагающей идеей объектно-ориентированного подхода является объединение данных и действий в единое целое, называемое объектом. Программа представляется в виде совокупности объектов, обладающих определенными свойствами и набором действий, которые можно производить.
Из всех объектно-ориентированных языков C++ является наиболее широко используемым. Разработанный позднее язык Java не имел таких составляющих, как указатели, шаблоны и множественное наследование, что сделало его менее мощным и гибким по сравнению с C++. Успешно развивается язык C#, однако, согласно статистическим исследованиям, его распространение значительно уступает C++.
На сегодняшний день объектно-ориентированный подход является приоритетным при разработке сложных программных продуктов. Выпускнику при выборе языка программирования, на котором может быть написан диплом по программированию C++ следует рассматривать как наиболее вероятную альтернативу.
Объектно-ориентированное программирование является, по сути, способом организации программы. Решая поставленную задачу с помощью объектно-ориентированного подхода, дипломник сталкивается с проблемой ее разбиения на объекты.
В качестве объектов могут быть выделены физические объекты реального мира, элементы интерфейса, структуры данных, группы людей, хранилища данных, пользовательские типы данных и т.д. Объекты являются экземплярами классов. На этапе проектирования системы дипломнику следует описать все классы, которые будут использоваться системой, указав при этом базовый и производные классы.
При описании целесообразно использовать средства специализированного графического языка UML, предназначенного для моделирования программ. Современный подход к объектно-ориентированному программированию выделяет четыре основных этапа разработки системы: начало, развитие, построение и передача.
Начальная стадия позволяет определить функциональные возможности будущей программы и оценить ее осуществимость. На этапе развития планируется общая архитектура системы. На стадии построения осуществляется разработка отдельных подсистем и пишется код. В фазе передачи система представляется пользователю, тестируется и внедряется.
Таким образом, диплом по программированию C++ основан на использовании объектно-ориентированного подхода и должен соответствовать требованиям унифицированного процесса разработки программного обеспечения.