Министерство образования и науки Украины
к курсовому проекту на тему "Разработка графического редактора"
по курсу "Объектно-ориентированное программирование"
Содержание
Введение
Постановка задачи
Описание проектного решения
Программная реализация
Руководство пользователя
Тестирование программы
Критерии качества разработки ПС
Заключение
Библиографический список
Введение
В записке приведено описание программы, разработанной в соответствии с заданием на курсовое проектирование по теме "Разработка графического редактора" по дисциплине "Объектно-ориентированное программирование". Программа предназначена для создания и редактирования графических файлов при помощи различных инструментов рисования.
При объектно-ориентированном программировании необходимо придерживаться следующих принципов:
- Действие в объектно-ориентированном программировании инициализируется посредством сообщения объекту. Сообщение содержит запрос на некоторое действие. В качестве реакции на сообщение получатель запускает некоторый метод, чтобы удовлетворить принятый запрос.
- Иерархия и классификация, т.е. все объекты одного класса используют одни методы в ответ на одинаковые сообщения.
Наследование – способность создавать новые типы повторно,
используя описание уже существующих типов
- Полиморфизм имеется в виду, что объекты реагируют на одно и тоже сообщение строго специфическим для них образом.
- Инкапсуляция т.е рассматривая объекты как высший уровень абстракции данных и деление его на части, получаем, что отношение частей к целому и взаимоотношения между частями становятся понятнее тогда, когда все содержится вместе как единое целое.
Разработка редактора производилась в Delphi 5, т.к. данная среда в полной мере отражает все достоинства объектно-ориентированного подхода, позволяет создавать новые классы и использовать библиотеку уже созданных стандартных классов Delphi 5. Среда удобна для разработки. Интерфейсы, создаваемые Delphi, наглядны и просты для использования.
Результаты тестирования подтверждают, что программа правильно выполняет все операции создания, редактирования, сохранения и пересохранения графических файлов.
Требованием к аппаратному и программному обеспечению является наличие любого IBM-совместимого компьютера с накопителем на гибких и жестких магнитных дисках и достаточным количеством оперативной памяти. На компьютере должна быть установлена операционная система, совместимая с Windows 3.x.
Цель настоящей курсовой работы – проектирование и программная реализация системы, которая в соответствии с заданным вариантом реализует процессы создания и взаимодействия группы объектов.
Архитектура системы определяет ее разбиение на модули, задает контекст, в рамках которого принимаются проектные решения на следующих этапах разработки. Приняв решения о структуре системы в целом, разработчик системы производит ее разбиение на относительно независимые в реализации части (модули).
По варианту задания на базе объектного подхода необходимо спроектировать и разработать модель системы, работающей с графикой по заданному плану. Постановка задачи подразумевает разработку многофункционального графического редактора со стандартными функциями удаления (стирания) фигур, рисования, вставки готовых образов, наложения фигур, растяжения (сжатия) и др. Система должна быть выдержана в едином стиле и снабжена справочной подсистемой с указанием возможностей.
2 Описание проектного решения
Целью данной работы является разработка простейшего графического редактора с помощью объектно-ориентированного языка программирования, с использованием его графических функций и методов.
Реализованный графический редактор позволяет осуществлять работу с как уже имеющимися изображениями, так и создавать собственные с помощью различных возможностей таких как:
создание векторных объектов (круга, квадрата, скруглённого квадрата, ромба) и их различные модификации (растягивание) в эллипс, прямоугольник и прямоугольник со скруглёнными вершинами соответственно. Возможно изменение цвета фигур, толщины линии их образа;
создание рисунков с помощью линий (карандаша), кисти различной толщины, спрея (объект, который создаёт эффект напыления пикселей на определённую небольшую область рисунка);
вывод текста на редактируемый рисунок;
стирание любой нарисованной картинки;
а также реализовано копирование, вставка а также сохранение картинки в формате *.bmp.
Объектно-ориентированный анализ и проектирование нельзя определить ни как проектирование сверху вниз, ни как проектирование снизу вверх; его можно скорее назвать «возвратным проектированием», что подразумевает ступенчатый процесс разработки системы с постепенной модификацией различных, но, тем не менее, согласованных между собой логических и физических представлений о системе в целом.
Созданная система в процессе деятельности может быть представлена рядом состояний, которые осуществляют те или иные действия. В системе можно выделить некоторое начальное состояние и конечное, завершающее работу состояние. Анализ системы следует начать с жизненного цикла - рисунок 2.1.
Рисунок 2.1 - Жизненный цикл системы
На рисунке 2.1 приняты следующие обозначения:
1 – выбран инструмент линия, карандаш, геометрическая фигура или текст;
2 - выбран инструмент цвета;
3 - выбран инструмент геометрическая фигура;
4,5,6,7,8,9 - выбран инструмент линия, карандаш, геометрическая фигура или текст;
10 - выбрана определенная толщина линии;
11 - некоторый этап рисования завершен, необходимо сохранить рисунок;
12 - рисунок сохранен, необходимо продолжить рисование;
13 - редактирование или рисование завершено, выход из программы;
14 - отредактированный или нарисованный рисунок сохранён, завершение работы.
15 - выбор другого инструмента, редактирование;
16 - рисунок сохранён, редактирование;
17 - выбран определённый тип заполнения;
Из рисунка 2.1 видно, что начальным этапом является создание нового или открытие уже существующего рисунка. Когда рисунок создан, можно осуществлять его редактирование, сохранение под новым именем либо в уже созданном файле. Для редактирования разработан ряд инструментов, осуществляющих различные функции:
карандаш;
ластик;
заливка;
распылитель;
рисование прямоугольников;
рисование скругленных прямоугольников;
рисование окружностей;
рисование линий;
рисование пирамиды.
рисование ромбов;
ввод текста;
Существуют также инструмент выбора цвета инструмента и цвета заливки.
В процессе редактирования происходит взаимодействие объектов, отвечающих за стиль рисования тех или иных фигур.
Взаимодействие объектов кнопка “фигура” и кнопка “заполнение” показано на диаграмме переходов состояний (рисунок 2.4).
Так как большинство действий в системе производится в соответствии с событиями от мыши, то основные входные данные для системы – это текущие координаты и сами события MouseDown, MouseUp, MouseMove.
Рисунок 2.5 - Диаграмма потоков данных
Так как не было необходимости в проекте создавать специальные классы для реализации объектов, то в иерархии классов будут приведены основные классы среды Delphi, используемые для
реализации основных возможностей проекта и их описание.
Рисунок 2.6 - Иерархия классов
3. Программная реализация
Согласно условию задачи, выполнены следующие пункты:
Используя основные классы среды Delphi, были реализованы основные возможности редактора для создания рисунков;
2) Редактирование различных графических изображений;
Запоминание картинок в файлах формата *.bmp.;
Реализован удобный пользовательский интерфейс, который каждый пользователь может корректировать по своему желанию.
При решении задачи построения графического редактора был использован объектно-ориентированный подход. Его преимущество перед структурным подходом заключается в следующем:
Объект моделирования и действия над объектом разрабатываются совместно, что требует более тщательного анализа поведения и характеристик объекта, тем самым, повышая качество моделирования.
Объект моделирования и методы работы с ним объединяются в одной структуре – классе, связывая характеристики объекта с действиями над ними (инкапсуляция), что дает возможность рассматривать объект не как хранилище некоторых свойств, а как функционально полную единицу.