48553 (608643)

Файл №608643 48553 (Разработка графического редактора)48553 (608643)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

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

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

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

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

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;

Характеристики

Тип файла
Документ
Размер
5,99 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6517
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее