Введение 3
1 История развития языков и технологий программирования 6
1.1 История развития языков программирования 6
1.2 Эволюция технологий программирования 12
2 Основные принципы объектно-ориентированного анализа и программирования 16
2.1 Основные принципы объектно-ориентированного анализа 16
2.2 Основные принципы объектно-ориентированного программирования 19
Заключение 26
Список использованных источников 28
История развития языков программирования насчитывает уже более 60 лет. В процессе развития изменения претерпевали как сами языки программирования, так и используемые при разработке программ технологии. Первые языки программирования являлись языками программирования низкого уровня. Программа состояла из набора машинных команд. В дальнейшем появились ассемблеры – также языки программирования низкого уровня, в которых команды процессора заменялись их мнемоническим обозначением.
Следующий шаг в развитии технологий программирования – появление языков программирования высокого уровня и переход к использованию методологии структурного программирования. Первым подобным языком, получившим широкое распространение, стал язык FORTRAN. Технология структурного программирования заключается в использовании ограниченного набора алгоритмических конструкций: линейный, разветвляющийся и циклический вычислительный процесс.
В рамках технологии структурного программирования активно используются процедуры и функции. Данные синтаксические конструкции предназначены для уменьшения объема исходного текста программы, содержащей большее количество одинаковых участков кода. Данные участки выделяются в виде процедур или функций и, фактически, соответствующий фрагмент встречается в программе только один раз. В результате не только уменьшается размер программы, но и существенно упрощается процесс отладки программы и внесения в нее изменений.
Использование технологии структурного программирования позволило упорядочить разработку программного обеспечения и обеспечить возможность создания достаточно крупных программных комплексов. Тем не менее, в определенных случаях возможностей данной технологии становилось недостаточно. В конце 1970-х – начале 1980-х годов на смену технологии структурного программирования пришла новая технология, получившая название «объектно-ориентированного программирования» (сокращенно – ООП). Данная технология продолжала использовать основные принципы структурного программирования. Однако ее появление ознаменовало и появление новых, концептуальных понятий – «класс» и «объект». Примерами объектно-ориентированных языков программирования могут служить C++, Smalltalk, Java, C#.
Целью выполнения настоящей работы является демонстрация практического использования принципов объектно-ориентированного программирования на примере языка программирования C++. Объектно-ориентированное программирование и в настоящее время является наиболее распространенной технологией разработки программ. Соответственно знание основных принципов данного подхода к разработке программ является одним из обязательных требований к квалификации разработчика в большинстве компаний, работающих в сфере разработки программного обеспечения.
В процессе выполнения настоящей работы будут рассмотрены следующие задачи:
приведена краткая история развития языков программирования;
приведено краткое описание процесса эволюции технологий программирования;
дана характеристика объектно-ориентированного анализа;
рассмотрены основные принципы использования объектно-ориентированного программирования на примере языка программирования C++.
Структура работы соответствует рассмотренным в ней задачам и состоит из введения, основной части, заключения и списка использованных источников. В свою очередь, основная часть работы включает в себя две главы. В рамках первой главы приведено описание процесса развития языков и технологий программирования, в рамках второй главы приведено описание основных принципов, положенных в основу объектно-ориентированного анализа и программирования.
Таким образом, объектом исследования в рамках настоящей работы выступает объектно-ориентированный анализ и программирование. Предмет исследования – применение данной технологии в рамках языка программирования C++.
Теоретическую базу для выполнения работы составляют как бумажные, так и электронные источники, посвященные языкам и технологиям программирования. В указанных источниках рассматривается как история развития указанных инструментов, так и их практическое применение.
Методологическую базу для выполнения работы составляют такие методы научного познания, как анализ и синтез.
В процессе выполнения настоящей работы была рассмотрена история развития языков программирования. При этом акцент был сделан как на развитие самих языков программирования (от машинных кодов до Java и C++), так и на развитие технологий, используемых при создании программ. Если первые программы представляли собой неструктурированный набор машинных команд, то усложнение разрабатываемых программ повлекло развитие технологий – появилось сначала структурное программирование, а затем и объектно-ориентированное.
Следует отметить, что объектно-ориентированный подход не ограничивается этапом программирования. Схожие принципы используются и на этапе анализа предметной области. Соответствующий подход получил название «Объектно-ориентированного анализа и проектирования». Краткому обзору основных принципов данного подхода была посвящена вторая глава настоящей работы.
Кроме этого, во второй главе работы были рассмотрены ключевые особенности объектно-ориентированного программирования. В процессе ее написания были даны определения всем основным понятиям объектно-ориентированного программирования и описаны некоторые его синтаксические особенности на примере языка программирования C++.
Приведенный обзор позволяет судить об удобстве использования объектно-ориентированного программирования. Тщательная разработка внутренней структуры классов позволяет обеспечить высокую степень удобства при их последующем использовании, а также предотвратить нежелательные действия пользователей при обращении к членам класса.
При этом следует понимать, что рассмотренные в рамках настоящей работы языки и технологии программирования, относятся к наиболее значимым и распространенным решениям. Так например, в рамках настоящей работы не были рассмотрены так называемым «эзотерические» языки программирования, демонстрирующие возможность применения при разработке специфичных синтаксических конструкций