Файл: Пояснительная записка к курсовому проекту на тему "Разработка графического редактора" по курсу "Объектноориентированное программирование".docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 43
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Украины
Пояснительная записка
к курсовому проекту на тему "Разработка графического редактора"
по курсу "Объектно-ориентированное программирование"
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, с помощью которого выводится окно “О программе…”.