Курсовая с практикой на тему Разработка прикладного программного обеспечения. Трубный калькулятор. (расчет параметров труб в строительстве)
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
ВВЕДЕНИЕ 3
1 ТЕОРИТИЧЕСКАЯ ГЛАВА 6
1.1 Основные парадигмы в программировании. Объектно -ориентированный подход 6
1.2 Базовые принципы и основные понятия ООП 8
1.2.1 Основные понятия и термины 8
1.2.2 Базовые принципы ООП 9
1.2.3 Ключевые концепции ООП 11
2 ПРАКТИЧЕСКАЯ ГЛАВА 13
2.1 Постановка задачи 13
2.2 Логическое проектирование, моделирование средствами UML 14
2.3 Описание структуры программы и реализация классов 16
2.4 Тестовые запуски разработанной программы 19
ЗАКЛЮЧЕНИЕ 22
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 24
ПРИЛОЖЕНИЯ 26
Приложение А Листинг кода (трубный калькулятор) 26
Приложение Б1 Структура диалога 32
Приложение Б2 Структурная схема 33
Введение:
В последние годы неузнаваемо изменилась вычислительная техника: от первых ЭВМ на радиолампах, затем – на транзисторах, машин на интегральных схемах, до современных машин ЭВМ на одном кристалле кремния 6х6 мм, схема которых эквивалентна сотням тысяч радиодеталей. Сегодня в авангард выходят многопроцессорные системы и мобильные устройства.
Бум развития приходится на конец ХХ века и его продолжение наблюдается и в ХХI, сегодня компьютеры проникли во все сферы нашей жизни. Эта ситуация способствовала сильнейшему развитию языков программирования, развитию алгоритмики и таких новых направлений как: моделирование, инжиниринг, теория алгоритмов, искусственный интеллект и ряд других направлений. Достижения в этих областях науки неоспоримы – компьютеры готовят еду, управляют транспортом, летают самостоятельно в космос и на другие планеты. А все это базируется на основах программирования, алгоритмических конструкциях: следование, ветвление, циклы и базовом наборе структур.
Развитие подходов в программировании привело к появлению такого понятия как парадигма – набор основных понятий, правил и методов внутри подхода, которые определяют стиль программирования. В истории развития программирования как вида деятельности человека можно выделить ряд различных по своей сути парадигм. Одной из наиболее новых, и современных считается объектно-ориентированная парадигма.
Объектно-ориентированное программирование (ООП) в настоящее время стало доминирующей парадигмой программирования, вытеснив структурные, процедурно-ориентированные подходы, разработанные в начале 1970-х годов.
ООП это модель программирования основанная на утверждении того, что программа это совокупность объектов, которые взаимодействуют между собой. Каждый объект в этой модели является независимым, и он способен получать, обрабатывать данные и отправлять эти данные другим объектам. В ООП использовано модели наследования, модульности, полиморфизма и инкапсуляции. При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способы их взаимодействия и операций над объектами (или методы). Для классификации объектов в ООП используют классы. Класс служит образцом для создания объекта, то есть объект является ничем иным, как копией класса.
Учитывая популярность и востребованность ООП, этому вопросу посвящено большое количество литературных источников, учебников, статей и публикаций. Материал, изложенный в этих источниках, можно условно разделить на несколько категорий: общие принципы ООП, ООП в конкретно выбранных языках программирования, решение прикладных задач с использованием ООП, особенности реализации и специфические вопросы использования, объектное моделирование.
Естественно, понятия, которые будут рассмотрены в работе, далеко не новы и описаны многократно в различных источниках. Их актуальность определяется не новизной, а тем, что эти понятия лежат в основе программирования как такового, они составляют фундамент современного подхода в программировании. Актуальность исследования данных вопросов определена тем, что сегодня ООП подход в программировании занимает доминирующую позицию и является базовым минимумом для любого начинающего программиста, стоящего в начале своего профессионального пути[24].
Объектом исследования курсовой работы является объектно-ориентированный подход в программировании.
Предметом исследования являются особенности реализации ООП в различных языках программирования и применение ООП в прикладных задачах.
Цель работы – исследовать объектно-ориентированный подход, выявить его преимущества и недостатки. Работа предполагает обширное исследование и сравнение подходов, инструментов, способов применения.
Учитывая объект и предмет исследования, а также цели работы, стоит определить следующие задачи:
рассмотреть историю развития программирования на примере смены парадигм;
определить основные понятия и методы ООП;
рассмотреть выбранные языки, которые поддерживают объектно-ориентированный подход в программировании;
кратко охарактеризовать объектный подход в проектировании ПО, и рассмотреть особенности UML, как основной язык моделирования;
проиллюстрировать использование ООП на примере реализации прикладных задач с использованием выбранного языка программирования.
Заключение:
Исследования, проведенные в работе, показывают, что ООП парадигма и объектный подход в программировании сегодня актуален и востребован. Как следствие этот подход постоянно развивается, внедряются новые концепции и методы. Сегодня ООП это уже не просто языки программирования позволяющие описывать классы и настраивать взаимодействие между ними, ООП это философия и методология представления модели реального мира со своими подходами, принципами и механизмами.
Как следствие, подходы и механизмы решения проблем, свойственные ООП, стандартизируются и выходят на новый уровень использования. Большинство современных языков (не считая специфических) поддерживают парадигму объектного подхода в программировании. Кроме непосредственно языков программирования с поддержкой ООП развиваются и средства моделирования для передпроектного анализа и логического проектирования в ходе реализации проекта. Наибольшее распространение и признание получил язык моделирования UML и нотация моделирования, предложенная его авторами.
Методология объектно-ориентированного проектирования, безусловно, является передовой и эффективной для проектирования широкого спектра больших программных систем, таких, как интерактивные системы, системы реального времени. Концепции ООП хорошо сочетаются с другими подходами к написанию компьютерных систем.
Несомненным преимуществом объектного подхода является концептуальная близость к предметной области произвольной структуры и назначения. Механизм наследования атрибутов и методов позволяет строить производные понятия на основе базовых и таким образом создавать модель сколь угодно сложной предметной области с заданными свойствами.
Основное достоинство ООП – сокращение количества межмодульных вызовов и уменьшение объемов информации, передаваемой между модулями, по сравнению с модульным программированием.
Основной недостаток ООП – некоторое снижение быстродействия за счет более сложной организации программной системы. Данный подход эффективен для больших долгосрочных проектов и достаточно затратен во всех отношениях (человеческий, машинный ресурсы, поддержка) для небольших проектов или узконаправленных локальных программ.
В работе рассмотрены принципы объектно-ориентированного программирования. Основная цель работы заключалась в выявлении особенностей ООП, его применении для различных прикладных задач, сравнении особенностей реализации ООП в различных языках программирования.
Работа включает три основных раздела, вступление и заключение. В первом разделе рассмотрены основные принципы и понятия ООП, определены преимущества и недостатки подхода.
Второй раздел посвящен анализу и обзору инструментов и технологий, тут проведены обзоры выбранных языков программирования с поддержкой ООП. Отдельный подраздел посвящен объектному моделированию на основе языка UML.
Последний раздел имеет практическую направленность. Тут рассмотрен пример использования объектного подхода при реализации практической прикладной задачи «Трубный калькулятор» средствами языка программирования С++. Программа прошла этап тестирования, все выявленные в ходе тестирования ошибки устранены. Особенности реализаций и полученные результаты описаны в работе.
Цель работы достигнута, задачи курсовой работы, определенные во введении, выполнены в полном объеме.
Фрагмент текста работы:
1 ТЕОРИТИЧЕСКАЯ ГЛАВА
1.1 Основные парадигмы в программировании. Объектно -ориентированный подход
Сам термин «ПАРАДИГМА» приписывают автору Т. Куну, термин был предложен в его работе «Структура научных революций»[16], но в разрезе программирования этот термин впервые применил в 1978 году Р. Флойд. Хотя термин появился только в 1978 году, сами парадигмы образовались существенно раньше, как только появились первые программируемые компьютеры, начали появляться и совершенствоваться подходы и методы. Количество парадигм сложно определить однозначно, да и границы между конкретными парадигмами бывают достаточно условными. Так, например, автор К.А. Хайдаров[28]определяет ряд парадигм, особенности которых представлены в таблице 1
Таблица 1 Парадигмы в программировании
Объем работы не позволяет детально рассматривать все существующие сегодня парадигмы в программировании, а учитывая выбранную тему работы (объектно-ориентированное программирование) остановимся только на краткой характеристике данного подхода.
Основное правило ООП подхода – все объекты, которыми оперирует программа, являются классами.
Парадигма ООП строится на 3 основных понятиях: наследование, полиморфизм, инкапсуляция. Эти понятия широко многократно описаны в различной литературе, их более подробное описание будет представлено в работе ниже. Попытаемся описать понятие класса, используя короткие определения.
ООП характеризуется следующими принципами[25]:
• все является объектом;
• вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие; объекты взаимодействуют, посылая и получая сообщения; сообщение это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия;
• каждый объект имеет независимую память, которая состоит из других объектов;
• каждый объект является представителем класса, который выражает общие свойства объектов данного типа;