Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример пояснения..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
98.82 Кб
Скачать

Министерство образования и науки, молодежи и спорта Украины

Национальный технический университет

«Харьковский политехнический институт»

Курсовой проект

На тему: «Универсальный конвертер для фотографий».

Выполнил: студент группы ТМ - 22

Голубенко С.В

Проверил: Андросенко В.В.

Харьков 2013

Разработан программный продукт для редактирования изображений. Для повышения повторяемости и применяемости кода программа написана в виде класса с соответствующими методами.

Программный продукт состоит из шести отдельных классов объединенных в один модуль, задача которого:

- Изменение размеров изображения.

-Изменение форматов изображения.

СОДЕРЖАНИЕ

Вступление…………………………………………………………………….

…..6

1. Общая структура программы……………………………………………...

…..7

2. Листинг с пояснениями……………………………………………………

....12

3. Направления дальнейшего улучшения…………………………………...

…31

Выводы………………………………………………………………………..

…32

Список литературы…………………………………………………………...

…33

ВСТУПЛЕНИЕ

Заданием курсового проекта создание универсального редактора изображения.

Решение поставленной задачи можно разделить на следующие этапы:

1. Открытие изображения

2. Изменение его размеров.

3. Изменение формата фотографии в любой другой формат изображения.

4.Сохранение изменённой фотографии.

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

1 Общая структура программы

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

Учитывая разновидности классов, и тот факт, что этот классы должен работать самостоятельно в решении нужно отказаться от абстрактных методов класса. Кроме того, классы не должны носить характер микса, которые только могут быть использованы для создания других классов.

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

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

pairs.Pair

__Init__()

Специальный метод класса. Задачи: Конструктор экземпляра класса.

__Iter__()

Специальный метод класса. Задачи: Выполняется при работе протокола итераций (например, цикла for).

__and__()

Специальный метод класса. Задачи: Вызывается при выполнении пересечения с экземпляром класса, если экземпляр слева.

__Rand__()

Специальный метод класса. Задачи: Вызывается при выполнении пересечения с экземпляром класса, если экземпляр справа.

__or__()

Специальный метод класса. Задачи: Вызывается при выполнении объединения с экземпляром класса, если экземпляр слева.

__ror__()

Специальный метод класса. Задачи: Вызывается при выполнении объединения с экземпляром класса, если экземпляр справа.

__repr__()

Специальный метод класса. Задачи: Метод общего отображения (более общий чем print).

.instance_to(type)

Метод экземпляра класса. Задачи: Возвращает преобразование экземпляра класса в определенный тип данных, указанный в type.

.instance_to_str()

Метод экземпляра класса. Задачи: Возвращает строку, описывающую наполнение экземпляра класса

Рисунок 1.1 – Структура класса Pair

pairs.Intersection

__init__()

Специальный метод класса. Задачи: Конструктор экземпляра класса.

__repr__()

Специальный метод класса. Задачи: Метод общего отображения (более общий чем print).

.chek_intersection(set_1, set_2)

Статический метод класса. Задачи: Проверяет наличие пересечений в парах неопределенности и если оно не пустое возвращает общее множество или None в противном случае.

.instance_to(type)

Метод экземпляра класса. Задачи: Возвращает преобразование экземпляра класса в определенный тип данных, указанный в type.

.instance_to_str()

Метод экземпляра класса. Задачи: Возвращает строку, описывающую наполнение экземпляра класса.

Рисунок 1 – Структура класса Intersection

Например, для получения списка всех пар протировечий необходимо вызвать метод .get_pair() для экземпляра класса и передать ему готовое ядро противоречий (“matr”)