Разработка web-сервиса "Дневник тренировок"

Система управления версиями - программное обеспечение, созданное для работы с постоянно изменяющимися данными. Принятие и обработка запросов по протоколу гипертекстовых сообщений - одна из задач веб-сервера. Компоненты пользовательского интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 595,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Файл не выбран
РћР±Р·РѕСЂ

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Кроме описанного выше класса AccountView, который содержит представления, управляющие аккаунтом пользователя, приложение содержит ещё несколько классов с представлениями:

- UserView - предоставляет доступ к данным пользователя;

- ExercisesView - предоставляет доступ к набору стандартных упражнений и упражнений, созданных пользователем;

- SportView - предоставляет доступ к данным по видам спорта;

- TrainingProgramView - предоставляет доступ к данным о программах;

- TrainingJournalView - предоставляет доступ к записям журнала тренировок;

- NutritionJournalView - предоставляет доступ к данным дневника питания;

- DialoguesView - предоставляет доступ сообщениям диалога.

Все выше описанные представления в процессе своей работы обрабатывают данные полученные от клиента. Работать с такими данными нужно осторожно, потому что всегда нужно помнить о том, что людям свойственно ошибаться и, что существует множество злоумышленников. Поэтому все данные принятые от клиента тщательно проверяются при помощи библиотеки trafaret.

Данная библиотека позволяет в декларативном стиле описать правила проверки данных и в дальнейшем сконвертировать их в другие форматы.

При реализации API приходится оперировать огромным количеством объектов, некоторые из которых создаются на ранних этапах запуска программы и функционируют на протяжении всей работы приложения. Чаще всего все они создаются в разных модулях и в следствии этого возникает необходимость как-то их получить в заданном представлении. Для этого в разработанной системе применяется библиотека dependency-enjector, которая позволяет внедрить необходимые объекты в разные части программы.

5. Тестирование

веб программный интерфейс сервер

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

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

Тщательное тестирование жизненно необходимо потому, что если отнестись к этому вопросу халатно, то возможны серьезные финансовые потери. Ведь крупные программные системы пишутся для самых разнообразных целей. Это может быть интернет магазин, портал приемной комиссии в ВУЗе, сервис для общения и многое другое. Для того, чтобы этого избежать, было разработано огромное количество способов тестирования приложений.

При разработке данного программного обеспечения использовались следующие виды тестирования:

- ручное тестирование. Это вид тестирования, при котором проверяется работа приложения от лица пользователя. Ведется сбор дефектов интерфейса, структуры и логической концепции приложения;

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

- нагрузочное тестирование. Это тестирование, направленное на выявление слабых мест программного обеспечения, а также среды, в которой развернуто и работает приложение.

Ручное тестирование проводилось на протяжении всего процесса разработки. Проверялся результат работы приложения после внедрения нового кода. Вручную проводились проверки с теми или иными параметрами.

Модульное тестирование проводилось при помощи стандартной python библиотеки unittest. Были разработаны тестовые сценарии, которые запускались после каждого изменения кода приложения. Данный вид тестирования позволял быстро обнаружить недочеты и оперативно их исправить.

Нагрузочное тестирование проводилось при помощи утилиты WRK. WRK - это современный инструмент создания нагрузочных тестов для приложений, обрабатывающих HTTP запросы. Тестирование показало, что один экземпляр приложения на flask способен обрабатывать примерно 6023 запросов в секунду со средним временем ответа 65.68 миллисекунд. Данные результаты показывают, что при использовании приложения в реальных условиях, следует обратить внимание на настройку масштабируемости, за счет создания нескольких экземпляров приложения.

Заключение

В рамках данной дипломной работы было разработано клиент-серверное приложение, написанное на языке программирования python, с использованием фреймворка flask. Данное приложение удовлетворяет поставленным требованиям, разработанная система может быть размещена в глобальной сети для массового использования.

Разработанное приложение кроссплатформенное и может быть запущено на сервере с любой операционной системой, для ведения логов использовалась стандартная библиотека logging, в качестве fron-end сервера выступает nginx общающийся с приложением по протоколу WSGI, приложение может работать с любой СУБД.

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

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

Размещено на Allbest.ru

...

Подобные документы

  • Автоматизированная система управления, важные компоненты. Описание SCADA-системы WinCC v6. Graphics Designer как редактор для разработки кадров пользовательского интерфейса. Alarm Logging как редактор для конфигурирования и архивации аварийных сообщений.

    презентация [415,0 K], добавлен 06.08.2013

  • Разработка игрового проекта на игровом движке Unity 3D в среде программирования MS Visual Studio 2017. Блок-схема алгоритма работы приема сообщений с сервера на клиенте с упрощенным описанием выполняемых команд. Реализация пользовательского интерфейса.

    курсовая работа [1,5 M], добавлен 10.07.2017

  • Специальное и общесистемное программное обеспечение. Разработка диаграммы прецедентов, классов, деятельности, состояний. Детальная реализация функциональных частей программного обеспечения. Разработка пользовательского интерфейса, методика испытаний.

    курсовая работа [3,3 M], добавлен 26.01.2013

  • Протокол для поддержания системы передачи сообщений, обеспечение непрерывной работы SMTP-сервера. Примеры использования команды LIST, работа через протокол POP3, особенности авторизации. Условия работы режима "обновление". Пример сеанса с POP3 сервером.

    реферат [16,1 K], добавлен 03.05.2010

  • Требования, предъявленные к полноценному локальному чату. Протокол передачи данных TCP. Описание программы сервера. Этапы разработки программного продукта. Функция приема сообщений от сервера. Принятие и отправка сообщений всем пользователям чата.

    курсовая работа [447,0 K], добавлен 21.01.2016

  • Разработка пользовательского интерфейса и создание базы данных на основе реляционной СУБД Microsoft Access. Процедуры для ввода, корректировки, просмотра входных данных, их обработка и анализ. Формирование запросов и отчетов, их вывод на экран монитора.

    курсовая работа [2,7 M], добавлен 03.05.2014

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

    контрольная работа [2,6 M], добавлен 10.04.2014

  • Система доменных имен. Регистрация доменов и обратное преобразование имен. Схема работы DNS сервера. Конфигурация BIND сервера. Расшифровка полей файлов зон. Программное обеспечение, настройка DNS сервера BIND. Проверка работоспособности системы.

    курсовая работа [1,6 M], добавлен 20.09.2013

  • Разработка программы автоматизации подбора запчастей для ремонта автомобилей. Структурные единицы сообщений. Концептуальная модель системы. Алгоритм работы автоматизированной системы. Физическая модель данных. Описание пользовательского интерфейса.

    дипломная работа [2,1 M], добавлен 20.06.2013

  • Функциональные зависимости и нормализация отношений. Ограничения целостности данных. Описание таблиц на языке SQL. Интерфейс пользователя и надёжность программ обработки данных. Обработка данных с помощью запросов. Работа с данными из внешних источников.

    дипломная работа [1,6 M], добавлен 25.04.2015

  • Понятие и виды пользовательского интерфейса, его совершенствование с помощью новых технологий. Характеристика приборной панели управления современного автомобиля и пультов дистанционного управления. Использование клавиатуры, особенности интерфейса WIMP.

    курсовая работа [1,4 M], добавлен 15.12.2011

  • Обзор существующих объектных архитектур. Архитектура программного обеспечения. Создание веб-сервиса "Библиотека", предоставляющего механизмы работы с данными на стороне клиентского приложения. WEB-сервис и трехуровневая архитектура в основе приложения.

    лабораторная работа [1,5 M], добавлен 16.06.2013

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

    курсовая работа [2,2 M], добавлен 13.10.2022

  • Общее понятие, основные компоненты и функции операционной системы. Порядок установи операционной системы UbuntuLinux. Особенности инсталляции веб-сервера Nginx для передачи данных по протоколу HTTP. Установка системы управления базами данных MongoDB.

    курсовая работа [2,3 M], добавлен 11.06.2014

  • Установка VirtualBox. Создание двух виртуальных машин с операционной системой CentOS. Настройка сетевых интерфейсов в режиме bridgeс и хоста как маршрутизатора для сети. Установка www-сервера. Настройка динамической маршрутизации по протоколу RIP.

    курсовая работа [807,5 K], добавлен 14.07.2012

  • Создание автоматизированной системы – "Агентство по трудоустройству". Проектирование таблиц для хранения данных. Разработка запросов и отчетов, предназначенных для просмотра, редактирования и вывода информации. Разработка пользовательского интерфейса.

    курсовая работа [4,9 M], добавлен 29.01.2011

  • Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.

    курсовая работа [680,9 K], добавлен 19.10.2010

  • Управление электронным обучением. Технологии электронного обучения e-Learning. Программное обеспечение для создания e-Learning решений. Компоненты LMS на примере IBM Lotus Learning Management System и Moodle. Разработка учебных курсов в системе Moodle.

    курсовая работа [146,6 K], добавлен 11.06.2009

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

    курсовая работа [4,7 M], добавлен 29.11.2015

  • Анализ программных средств (операционных систем), необходимых для реализации учебных задач компьютерного класса. Особенности Windows XP, Linux Mandriva. Информационная модель настройки сервера на примере Windows Server 2008, его программное обеспечение.

    дипломная работа [4,7 M], добавлен 21.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.