Смекни!
smekni.com

Разработка графического редактора (стр. 1 из 3)

Министерство образования и науки Украины

Пояснительная записка

к курсовому проекту на тему "Разработка графического редактора"

по курсу "Объектно-ориентированное программирование"

2005


Содержание

Введение

Постановка задачи

Описание проектного решения

Программная реализация

Руководство пользователя

Тестирование программы

Критерии качества разработки ПС

Заключение

Библиографический список


Введение

В записке приведено описание программы, разработанной в соответствии с заданием на курсовое проектирование по теме "Разработка графического редактора" по дисциплине "Объектно-ориентированное программирование". Программа предназначена для создания и редактирования графических файлов при помощи различных инструментов рисования.

При объектно-ориентированном программировании необходимо придерживаться следующих принципов:

- Действие в объектно-ориентированном программировании инициализируется посредством сообщения объекту. Сообщение содержит запрос на некоторое действие. В качестве реакции на сообщение получатель запускает некоторый метод, чтобы удовлетворить принятый запрос.

- Иерархия и классификация, т.е. все объекты одного класса используют одни методы в ответ на одинаковые сообщения.

Наследование – способность создавать новые типы повторно,

используя описание уже существующих типов

- Полиморфизм имеется в виду, что объекты реагируют на одно и тоже сообщение строго специфическим для них образом.

- Инкапсуляция т.е рассматривая объекты как высший уровень абстракции данных и деление его на части, получаем, что отношение частей к целому и взаимоотношения между частями становятся понятнее тогда, когда все содержится вместе как единое целое.

Разработка редактора производилась в Delphi 5, т.к. данная среда в полной мере отражает все достоинства объектно-ориентированного подхода, позволяет создавать новые классы и использовать библиотеку уже созданных стандартных классов Delphi 5. Среда удобна для разработки. Интерфейсы, создаваемые Delphi, наглядны и просты для использования.

Результаты тестирования подтверждают, что программа правильно выполняет все операции создания, редактирования, сохранения и пересохранения графических файлов.

Требованием к аппаратному и программному обеспечению является наличие любого IBM-совместимого компьютера с накопителем на гибких и жестких магнитных дисках и достаточным количеством оперативной памяти. На компьютере должна быть установлена операционная система, совместимая с Windows 3.x.


1 Постановка задачи

Цель настоящей курсовой работы – проектирование и программная реализация системы, которая в соответствии с заданным вариантом реализует процессы создания и взаимодействия группы объектов.

Архитектура системы определяет ее разбиение на модули, задает контекст, в рамках которого принимаются проектные решения на следующих этапах разработки. Приняв решения о структуре системы в целом, разработчик системы производит ее разбиение на относительно независимые в реализации части (модули).

По варианту задания на базе объектного подхода необходимо спроектировать и разработать модель системы, работающей с графикой по заданному плану. Постановка задачи подразумевает разработку многофункционального графического редактора со стандартными функциями удаления (стирания) фигур, рисования, вставки готовых образов, наложения фигур, растяжения (сжатия) и др. Система должна быть выдержана в едином стиле и снабжена справочной подсистемой с указанием возможностей.


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.2 - Информационная модель взаимодействия объектов Ф и З

Рисунок 2.3 - Информационная модель взаимодействия объектов Ф, З, F, G

Взаимодействие объектов кнопка “фигура” и кнопка “заполнение” показано на диаграмме переходов состояний (рисунок 2.4).


Рисунок 2.4 - Модели состояний для кнопок “фигура” и “заполнение”

Так как большинство действий в системе производится в соответствии с событиями от мыши, то основные входные данные для системы – это текущие координаты и сами события MouseDown, MouseUp, MouseMove.


Диаграмма потоков данных приведена на рисунке 2.5.

Рисунок 2.5 - Диаграмма потоков данных

Так как не было необходимости в проекте создавать специальные классы для реализации объектов, то в иерархии классов будут приведены основные классы среды Delphi, используемые для

реализации основных возможностей проекта и их описание.


Иерархия используемых графических классов изображена на рисунке 2.6.

Рисунок 2.6 - Иерархия классов


3. Программная реализация

Согласно условию задачи, выполнены следующие пункты:

Используя основные классы среды Delphi, были реализованы основные возможности редактора для создания рисунков;

2) Редактирование различных графических изображений;

Запоминание картинок в файлах формата *.bmp.;

Реализован удобный пользовательский интерфейс, который каждый пользователь может корректировать по своему желанию.

При решении задачи построения графического редактора был использован объектно-ориентированный подход. Его преимущество перед структурным подходом заключается в следующем:

Объект моделирования и действия над объектом разрабатываются совместно, что требует более тщательного анализа поведения и характеристик объекта, тем самым, повышая качество моделирования.

Объект моделирования и методы работы с ним объединяются в одной структуре – классе, связывая характеристики объекта с действиями над ними (инкапсуляция), что дает возможность рассматривать объект не как хранилище некоторых свойств, а как функционально полную единицу.