Курсовая с практикой на тему Разработка программы, рисования объекта на экране.
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
ВВЕДЕНИЕ.. 3
1 АНАЛИТИЧЕСКИЙ РАЗДЕЛ.. 6
1.1 Основные принципы ООП.. 6
1.2 Краткая характеристика инструмента и языка
программирования. 8
1.3 Постановка задачи. 9
2 ПРАКТИЧЕСКИЙ РАЗДЕЛ.. 12
2.1 Проектирование классов. 12
2.2 Реализация интерфейса. 14
2.3 Описание отдельных алгоритмических решений. 17
2.4 Тестирование разработанной программы.. 19
ЗАКЛЮЧЕНИЕ.. 22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 24
ПРИЛОЖЕНИЯ.. 26
Приложение 1. Листинг кода. 26
Приложение 2 Диаграмма классов. 31
Введение:
Бум развития приходится на конец ХХ века и его
продолжение наблюдается и в ХХI, сегодня компьютеры проникли во все сферы нашей
жизни. Эта ситуация способствовала сильнейшему развитию языков
программирования, развитию алгоритмики и таких новых направлений как:
моделирование, инжиниринг, теория алгоритмов, искусственный интеллект и ряд
других направлений. Достижения в этих областях науки неоспоримы – компьютеры
готовят еду, управляют транспортом, летают самостоятельно в космос и на другие
планеты. А все это базируется на основах программирования, алгоритмических
конструкциях: следование, ветвление, циклы и базовом наборе структур.
Развитие подходов в программировании привело к появлению
такого понятия как парадигма – набор основных понятий, правил и методов внутри
подхода, которые определяют стиль программирования. В истории развития программирования
как вида деятельности человека можно выделить ряд различных по своей сути
парадигм. Одной из наиболее новых, и современных считается
объектно-ориентированная парадигма.
Объектно-ориентированное программирование (ООП) в
настоящее время стало доминирующей парадигмой программирования, вытеснив
структурные, процедурно-ориентированные подходы, разработанные в начале 1970-х
годов.
ООП ‑ это модель программирования, основанная на
утверждении того, что программа это совокупность объектов, которые взаимодействуют
между собой. Каждый объект в этой модели является независимым, и он способен
получать, обрабатывать данные и отправлять эти данные другим объектам. В ООП
использовано модели наследования, модульности, полиморфизма и инкапсуляции. При
объектно-ориентированном подходе программа представляет собой описание
объектов, их свойств (или атрибутов), совокупностей (или классов), отношений
между ними, способы их взаимодействия и операций над объектами (или методы).
Для классификации объектов в ООП используют классы. Класс служит образцом для
создания объекта, то есть объект является ничем иным, как копией класса.
Учитывая популярность и востребованность ООП, этому
вопросу посвящено большое количество литературных источников, учебников, статей
и публикаций. Материал, изложенный в этих источниках, можно условно разделить
на несколько категорий: общие принципы ООП, ООП в конкретно выбранных языках
программирования, решение прикладных задач с использованием ООП, особенности
реализации и специфические вопросы использования, объектное моделирование.
Естественно, понятия, которые будут рассмотрены в работе,
далеко не новы и описаны многократно в различных источниках. Их актуальность
определяется не новизной, а тем, что эти понятия лежат в основе
программирования как такового, они составляют фундамент современного подхода в
программировании. Актуальность исследования данных вопросов определена тем, что
сегодня ООП подход в программировании занимает доминирующую позицию и является
базовым минимумом для любого начинающего программиста, стоящего в начале своего
профессионального пути[12].
Объектом
исследования курсовой работы является объектно-ориентированный подход в
программировании.
Предметом
исследования являются особенности реализации ООП в C# и применение ООП в прикладных
задачах.
Цель работы –
с использованием ООП подхода реализовать программное приложение для
демонстрации геометрических фигур и нахождение их площадей, исходя из
параметров, которые вводит пользователь.
Учитывая объект и предмет исследования, а также цели
работы, стоит определить следующие задачи:
‑ рассмотреть историю развития программирования на
примере смены парадигм;
‑ определить основные понятия и методы ООП;
‑ конкретизировать постановку задачи;
‑ спроектировать программное приложение с ООП, согласно
постановке задачи;
‑ описать этапы проектирования и реализации: структура
классов, проектирование интерфейса, отдельные алгоритмические решения;
‑ провести тестирование разработанного комплекса,
оформить отчет по работе в виде пояснительной записки к КР.
Заключение:
Исследования, проведенные в работе, показывают, что ООП
парадигма и объектный подход в программировании сегодня актуален и востребован.
Как следствие этот подход постоянно развивается, внедряются новые концепции и
методы. Сегодня ООП это уже не просто языки программирования позволяющие
описывать классы и настраивать взаимодействие между ними, ООП это философия и
методология представления модели реального мира со своими подходами, принципами
и механизмами. Подходы и механизмы решения проблем, свойственные ООП,
стандартизируются и выходят на новый уровень использования. Большинство
современных языков (не считая специфических) поддерживают парадигму объектного
подхода в программировании.
Методология объектно-ориентированного проектирования,
безусловно, является передовой и эффективной для проектирования широкого
спектра больших программных систем, таких, как интерактивные системы, системы
реального времени. Концепции ООП хорошо сочетаются с другими подходами к
написанию компьютерных систем.
Несомненным преимуществом объектного подхода является
концептуальная близость к предметной области произвольной структуры и
назначения. Механизм наследования атрибутов и методов позволяет строить
производные понятия на основе базовых и таким образом создавать модель сколь
угодно сложной предметной области с заданными свойствами.
Основное достоинство ООП – сокращение количества
межмодульных вызовов и уменьшение объемов информации, передаваемой между
модулями, по сравнению с модульным программированием.
Основной недостаток ООП – некоторое снижение быстродействия
за счет более сложной организации программной системы. Данный подход эффективен
для больших долгосрочных проектов, для небольших проектов или узконаправленных
локальных программ использование ООП не совсем оправданно. Структура программы
существенно усложняется, но преимуществ, на подобного рода проектах, достичь не
удается ввиду масштаба проекта.
Структура работы включает два раздела основной части. В
первом разделе проводится анализ задачи, описываются основные аспекты ООП, конкретизируется
задание и требования к разрабатываемому в рамках работы программному
приложению.
Второй раздел посвящен непосредственно реализации. В этой
части работы описано проектирование интерфейса, отдельные алгоритмические
решения, этапы тестирования.
В качестве практической реализации разработано
программное приложение для демонстрации работы с геометрическими фигурами на
плоскости и нахождение их площадей. Тестирование программного комплекса
доказывает его функциональность и соответствие ожиданиям. Естественно разработанное
приложение является лишь упрощенным прототипом с реализацией базового
функционала, приложение может быть существенно расширено различными
вспомогательными функциями. В то же время реализованный программный продукт
отвечает требованиям, которые описаны в задании.
Фрагмент текста работы:
1 АНАЛИТИЧЕСКИЙ РАЗДЕЛ
1.1 Основные принципы ООП
Сам термин «ПАРАДИГМА» приписывают автору Т. Куну, термин был
предложен в его работе «Структура научных революций»[10], но в разрезе
программирования этот термин впервые применил в 1978 году Р. Флойд. Хотя термин появился только в 1978
году, сами парадигмы образовались существенно раньше, как только появились
первые программируемые компьютеры, начали появляться и совершенствоваться
подходы и методы. Количество парадигм сложно определить однозначно, да и
границы между конкретными парадигмами бывают достаточно условными. Так,
например, автор К.А. Хайдаров[16]определяет ряд парадигм, особенности которых
представлены в таблице 1.1
Таблица 1 ‑ Парадигмы в программировании Вид программирования Особенности императивное программа
= последовательность действий, связанных условными и безусловными переходами продукционное (логическое) программа
= система определений и правил вида "условие => новый факт" сентенциальное программа
= система правил вида "шаблон => трансформирующее действие" автоматное программа
= конечный автомат или автомат специального типа функциональное программа
= система определений функций, описание того, что нужно вычислить, а как это
сделать — решает транслятор; последовательность действий не прослеживается структурное программа
= последовательность базовых алгоритмических структур процедурное программа
= последовательность процедур, каждая из которых есть последовательность
элементарных действий и вызовов процедур, построенных на основе структурного
подхода объектно-ориентированное программа
= несколько взаимодействующих объектов, функциональность (действия) и данные
распределяются между этими объектами событийное программа
= система правил вида "событие => новые события" + диспетчер
событий Основное правило ООП подхода – все объекты, которыми оперирует программа, являются
классами.
Парадигма ООП строится на 3 основных понятиях:
наследование, полиморфизм, инкапсуляция. Эти понятия широко многократно описаны
в различной литературе[3, 13, 14, 16], ввиду объема работы, не будем
рассматривать определение и трактование данных понятий. Попытаемся описать понятие класса, используя
короткие определения.
ООП характеризуется следующими принципами[13]:
· все
является объектом;
· вычисления
осуществляются путем взаимодействия (обмена данными) между объектами,
при котором один объект требует, чтобы другой объект выполнил некоторое
действие; объекты взаимодействуют, посылая и получая сообщения;
сообщение ‑ это запрос на выполнение действия, дополненный набором аргументов,
которые могут понадобиться при выполнении действия;
· каждый
объект имеет независимую память, которая состоит из других объектов;
· каждый
объект является представителем класса, который выражает общие свойства
объектов данного типа;
· в классе
задается функциональность (поведение объекта); тем самым все объекты,
которые являются экземплярами одного класса, могут выполнять одни и те
же действия;
· классы
организованы в единую древовидную структуру с общим корнем, называемую иерархией
наследования; память и поведение, связанное с экземплярами определенного
класса, автоматически доступны любому классу, расположенному ниже в
иерархическом дереве.
В теории
программирования ООП определяется как технология создания сложного
программного обеспечения, которая основана на представлении программы в виде
совокупности объектов, каждый из которых является экземпляром
определенного типа (класса), а классы образуют иерархию с наследованием
свойств.
Класс (class) ‑ множество
объектов, связанных общностью структуры и поведения; абстрактное описание
данных и поведения (методов) для совокупности похожих объектов, представители
которой называются экземплярами класса.
Объект (object) ‑ конкретная
реализация класса, обладающая характеристиками состояния, поведения и
индивидуальности, синоним экземпляра.
Класс может включать в себя разные составляющие, но условно их можно
разделить на две группы:
методы ‑ это функционал класса, его возможные действия;
поля или свойства – переменные, константы, данные.
Взаимодействие
программных объектов в такой системе осуществляется путем
передачи сообщений.
1.2 Краткая характеристика инструмента и языка
программирования
В качестве среды разработки использовались программа Microsft Visual
Studio 2012. Она в полной мере поддерживает .NET Framework, обладает качествами
гибкости и масштабируемости проектов, имеет хороший уровень
документированности.
Microsoft Visual Studio – линейка продуктов фирмы Майкрософт, которые
включают интегрированную среду разработки программного обеспечения и ряд других
инструментальных средств[7].