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

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка графического редактора", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48553"

Текст из документа "48553"

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

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

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

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

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.;

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

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

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

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

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

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

Данная программа написана в среде Delphi 5 в соответствии с основными принципами объектно-ориентированного программирования; объектный стиль программирования фиксирует поведение реального мира таким способом, при котором детали его реализации скрыты.

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

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

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

Программа состоит из основного модуля Unit1, осуществляющего синхронизацию процесса обработки данных и взаимодействие конкретных экземпляров конкретных объектов; подключаемого модуля Unit2, в котором содержится класс Form2, с помощью которого задается размер рисунка; подключаемого модуля Unit3, в котором содержится класс Form3, с помощью которого выводится окно “О программе…”.

Модуль Unit1 просто дополненять и модифицировать. В частности, не представляет никаких затруднений добавить новые виды инструментов, добавив их в тип TDrawingTool и задав для них соответствующие действия в процедуре DrawShape.

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

Процедура DrawShape описана в разделе public основного класса TForm1, что позволяет использовать ее в любом модуле программы

Описание метода TForm1.DrawShape:

procedure TForm1.DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);

var i:integer;

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4123
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее