Введение
1. Анализ задания на проектирование 5
1.1 Основные понятия 5
1.1.1 Клиентская часть 6
1.1.2 Серверная часть 6
1.1.3 База данных 7
1.2 Выбор средств разработки 7
1.2.1 Язык программирования Python 7
1.2.2 Django - фреймворк для веб-разработки на Python 8
1.2.3 Реляционная система управления базами данных SQLite 9
1.2.4 Интегрированная среда разработки PyCharm 9
1.2.5 Фреймворк Bootstrap 10
1.2.6 Интегрированная среда разработки Webstorm 10
1.2.7 Обоснование выбора средств разработки 11
1.3 Методология разработки 11
1.4 Выводы по разделу 12
2. Проектирование веб-приложения 12
2.1 Модель прецедентов 13
2.2 Модель пользовательского интерфейса 16
2.3 Модель сущностей предметной области 17
2.4 Диаграмма развертывания/компонентов веб-приложения 19
2.5 Вывод по главе 2 20
3. Программная реализация веб-приложения 21
3.1 Разработка интерфейса пользователя 21
3.2 Серверная часть 27
3.3 Вывод по главе 3 31
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
В современном обществе огромное внимание уделяется фотографиям. Мы фотографируем всё, всех и с завидной регулярностью. Фотография - это искусство уже соревнующиеся с живописью из-за доступности и красоты передачи. С каждым днем, все лучше, четче, живее становятся снимки. Каждый снимок - это кусочек жизни автора. Каждая фотография, это момент, запечатленный в вечности, и никакими словами не передать то, что можно увидеть на красивом снимке.
На сегодняшний день, очень многие люди пользуются возможностью фотографировать. Очень многие производители различных гаджетов предоставляют возможность запечатлеть интересные моменты. И чем больше развивается фотография как искусство, тем чаще возникают ситуации обилия фотографий, созданных разными авторами с разных ракурсов и с минимальной задержкой во времени.
Вспомните любые свадьбы, походы, экспедиции. Любые мероприятия, в которых участвуют несколько человек с фотоаппаратами. После подобных событий, люди часами сидят и перебирают фотографии разных авторов. Огромные объемы, разные ракурсы, разные временные промежутки и качество фотографий порой приводят пользователей в ужас. Как итог, на дисках хранятся отложенные на потом гигабайты похожих фотографий и чем дальше, тем их больше. В данной ситуации, приложение по обработке большого числа снимков может отказаться незаменимым.
Целью данной работы является разработка автономного веб-приложения реализующее интерактивный инструмент подготовки фотоальбома-отчет о событии, составленного из фотографий, полученных из разных источников. Приложения должно предоставлять пользователю возможность загружать несколько папок фотографий, сортировать по времени, визуально сравнивать две фотографии, вносить изменения в метаданные фотографий. И создавать новый альбом из выбранных изображений.
В ходе выполнения ВКР были сформированы требования к системе, изучена информация о данной предметной области и проанализированы средства для реализации однопользовательского автономного веб-приложения реализующее интерактивный инструмент подготовки фотоальбома-отчет о событии. В результате формирований требований к системе была разработана общая архитектура системы и выбрана клиент-серверная модель организации системы.
Согласно ICONIX методологии были проведены анализ системы, сформированы Диаграммы прецедентов, сущностей и каркас пользовательского интерфейса.
В соответствии с функциональными требованиями заказчика и выводами по результатам обзорного исследования сервисов-аналогов, разработан проект веб-приложения, реализующего веб-интерфейс сервиса для создания фотоальбома-отчета о событии. В качестве результат проектирования приведена модель системы в виде совокупности диаграмм на языке моделирования UML, а также прототипа графического интерфейса веб-приложения. Описана архитектура приложения, компонентная структура, функциональный возможности. Выделены и представлены сущности из базы данных необходимые для работы приложения, описаны внесенные в базу изменения.
Как результат, выполнена программная реализация веб-приложения по созданию фотоальбома-отчета о событии.
1. SQLite, MySQL и PostgreSQL: сравниваем популярные реляционные СУБД [Электронный курс] - Режим доступа: https://tproger.ru/translations/sqlite- mysql-postgresql-comparison/
2. PyCharm [Электронный курс] - Режим доступа:
https: //ru.wikipedia. org/wiki/PyCharm
3. Bootstrap что это и как его установить [Электронный курс] - Режим доступа: https://codelessons.ru/bootstrap-3/bootstrap-dlya-novichkov-chto- eto-i-kak-ego-ustanovit.html
4. ICONIX [Электронный курс] - Режим доступа:
https://studbooks.net/2138987/informatika/iconix
5. Диаграммы использования [Электронный курс] -Режим доступа: https: //www.sites. google. com/site/anisimovkhv/learning/pris/lecture/tema12/te ma12_2
6. Диаграмма развёртывания [Электронный курс] - Режим доступа: https: ////ги.’МЬреШа.огд/’МкРДиаграмма_развёртывания
7. Добавление URL-шаблонов в представления [Электронный курс] - Режим
доступа: https://pythonru.com/primery/blog-na-django- 15-dobavlenie-url-
shablonov-v-predstavlenij a
8. СТО 4.2-07-2014 Стандарт организации «Общие требования к
построению, изложению и оформлению документов учебной
деятельности. - Красноярск : ИПК СФУ, 2014. - 60 с.