Введение 5
Глава 1 Теоретические основы архивации 7
1.1 Алгоритмы сжатия 7
1.1.1 Алгоритмы Шеннона - Фано и Хаффмана 7
1.1.2 Алгоритмы семейства LZ 9
1.1.3 Алгоритм DEFLATE 11
1.2 Типы архивации 13
Глава 2 Проектирование системы архивации 15
2.1 Техническое задание на разработку 15
2.2 Выбор средств разработки 15
2.2.1 Формат архива 15
2.2.2 Язык программирования 17
2.2.3 Интегрированная среда разработки 18
2.3 Проектирование режимов архивации 22
2.4 Архивация NTFS-прав 24
2.5 Проектирование системы долгих архивов 26
Глава 3 Реализация и тестирование приложения для архивации данных 28
3.1 Реализация функций архивации 28
3.2 Разработка пользовательского интерфейса 36
3.3 Тестирование разработанного приложения 39
Заключение 41
Список используемых источников 42
Приложение А Фрагменты программного кода 45
В стремительно развивающемся современном информационном обществе достаточно особенно остро стоит вопрос хранения и передачи информации. Несмотря на непрерывно возрастающий накопительный объем информационных носителей, порой требуется в течении долгого времени хранить большие объёмы данных, или же переместить их на хранилище небольшой ёмкости для транспортировки, таком как флеш-накопитель. Может возникнуть также потребность создания копии имеющихся данных с целью предотвратить их утрату в случае непредвиденной ситуации. В каждом из приведённых случаев возникает потребность уменьшить размер занимаемого данными пространства на информационном носителе.
Для удовлетворения вышеупомянутой потребности были разработаны особые алгоритмы - так называемые алгоритмы сжатия. Путём устранения избыточности, которую содержат исходные данные, сжатие сокращает объём пространства, требуемый для хранения файлов, и, как следствие, количество времени, необходимого для передачи информации.
Целью данной работы является разработка программного обеспечения для архивации данных, предназначенного для ООО «Управляющая компания» («Озон Фарм»), с учётом предъявленных требований.
Достичь поставленной в данной работе цели позволит решение следующих задач:
- провести изучение теоретических основ архивации, включающее изучение алгоритмов и типов архивации;
- сформулировать требования к программному обеспечению;
- спроектировать систему архивации и пользовательский интерфейс;
- разработать и протестировать приложение.
Структура работы представлена тремя главами. Первая глава посвящена изучению теоретического материала, посвящённого алгоритмам сжатия и методам архивации.
Вторая глава посвящена моделированию системы архивации, в том числе составлению списка требований к разрабатываемой системе, основываясь на требованиях и пожеланиях заказчика, выбору средств для программной реализации приложения, а также проектированию основных функций.
Третья глава отражает процесс реализации проектного решения средствами выбранного языка программирования с описанием используемых библиотек, а таже разработку дизайна пользовательского интерфейса итоговой программы-архиватора. Тестирование итогового продукта и его результаты также освещены в третьей главе.
Выпускная квалификационная работа посвящена разработке приложения для архивации данных по заказу ООО «Управляющая компания» («Озон Фарм»).
В процессе выполнения ВКР были решены следующие задачи:
- проведено изучение теоретических основ архивации, включающее изучение некоторых существующих алгоритмов и типов архивации;
- основываясь на предъявленных заказчиком требованиях проведён подбор средств разработки, таких как: язык программирования, вспомогательные библиотеки и среда разработки; спроектированы основные функции и пользовательский интерфейс приложения для архивации данных;
- средствами языка программирования Python и его сторонних библиотек реализован программный код проектного решения;
- проведено функциональное тестирование разработанного приложения.
Функциональное тестирование подтвердило стабильную работоспособность приложения для архивации данных и возможность проведения с его помощью автоматической архивации неиспользуемых старых файлов в фоновом режиме, что в конечном итоге должно обеспечить повышение эффективности работы пользователя, за счёт избежания излишних временных затрат на ручную архивацию.
Результаты бакалаврской работы предоставляют научно-практический интерес и могут быть рекомендованы к использованию работниками отдела технической поддержки ООО «Управляющая компания» («Озон Фарм») с целью повышения эффективности работы отдела.