СОДЕРЖАНИЕ
1 Анализ методов и средств web-приложения социального приюта для бездомных животных. 6
1.1 Технология web-приложения: сущность, средства и методы реализации 6
1.2 Обзор примеров web-приложений приютов. 9
1.3 Обзор инструментария для разработки web-приложения. 11
2 Функциональное моделирование проекта. 15
3 Описание технологии разработки web-приложения «Социальный приют для бездомных животных». 17
3.1 Состав и организация web-приложения. 17
3.2 Разработка структуры и макета страниц сайта. 18
3.3 Проектирование и разработка базы данных. 20
3.4 Описание программной реализации задачи. 22
4 Апробация и опытная эксплуатация web-приложения «социальный приют для бездомных животных». 31
5 Организационно-экономическое обоснование проекта. 33
5.1 Расчет общей трудоемкости программного обеспечения. 33
5.2 Расчет затрат на разработку программного обеспечения. 34
5.3 Обоснование целесообразности разработки. 38
6 Опасные производственные факторы.. 40
6.1 Общие сведения. 40
6.2 Обстоятельства и причины наиболее характерных несчастных случаев 42
6.3 Порядок расследования и учёта несчастных случаев. 42
Заключение. 48
Список использованных источников. 49
Приложение А Листинг web-приложений. 50
Приложение Б Руководство программиста. 68
Приложение В Руководство пользователя. 70
Приложение Г Показатели затрат разработки ПО.. 74
ВВЕДЕНИЕ
Веб-приложение — это приложение, которое использует клиент-серверное соединение, где в качестве клиента выступает браузер, а в качестве сервера веб-сервер. Основная суть веб-приложения заключается в том, что его логика заключена между сервером и клиентом так, что вся необходимая информация содержится на сервере, соединение и обмен информацией происходит по сети. Одним из главных достоинств вышеизложенного подхода является тот факт, что веб-приложения - это кроссплатформенные сервисы, то есть клиенты не зависят от конкретной операционной системы пользователя. В настоящее время веб-приложения приобрели популярность и стали широко использоваться.
Основные плюсы построения веб-приложений для поддержки стандартных функций браузера состоят в том, что работа программы должна поддерживаться независимо от операционной системы любого клиента (вышеупомянутая кроссплатформенность). Таким образом, вместо того, чтобы писать различные версии одного и того же приложения для Windows, MacOS, Linux и других операционных систем, приложение создаётся один раз для любой платформы и на ней использую функции браузера поддерживается работоспособность. Однако при создании веб-приложений и их последующей поддержке различные варианты реализации языков разметки и других спецификаций в браузерах может вызвать проблемы. Помимо этого, возможность юзера настраивать многие параметры браузера, как то, например, размер шрифта, цвета, переход на мобильную версию - может препятствовать корректной работе приложения. Но использование активных серверных страниц ASP позволило в большей степени избежать данных проблем.
Цель работы: спроектировать и разработать Web-приложение «Социальный приют для бездомных животных». Можно выделить несколько основных пунктов, которые должны быть выполнены:
– приложение должно позволять пользователю просматривать имеющиеся в наличии животные;
– реализовать механизм парсинга HTML страниц с последующим поиском информации о животных;
– предоставлять пользователю доступ к собранной информации.
Для реализации поставленной задачи был выбран язык программирования PHP и локальный сервер XAMPP. Для написания скелета страницы использовался HTML, для адаптации — Bootstrap, для стилизации — CSS. Работа с базами данных осуществлялась с помощью phpMyAdmin.
АНАЛИЗ МЕТОДОВ И СРЕДСТВ WEB-ПРИЛОЖЕНИЯ СОЦИАЛЬНОГО ПРИЮТА ДЛЯ БЕЗДОМНЫХ ЖИВОТНЫХ
Технология web-приложения: сущность, средства и методы реализации
Под web-приложением понимается прикладная программа, разработанная по архитектуре «клиент-сервер», использующая в качестве клиента web-браузер и работающая на стороне web-сервера (рисунок 1.1). При этом взаимодействие между клиентом и сервером выполняется с использованием протокола HTTP.
Рисунок 1.1 — Общая схема взаимодействия пользователя с
web-приложением
Пользователь с помощью браузера отправляет HTTP-запрос по определенному URL-адресу, который сопоставляется с ресурсами на web-сервере. Если данный URL-адрес указывает на динамический ресурс (web-приложение), то сервер запускает некоторую внешнюю программу (web-приложение), формирующую HTML-страницу, которая может быть показана браузером, и возвращает ее клиенту. Основной частью web-приложения является его логика на стороне web-сервера.
Чаще всего web-приложение не является самостоятельной программой (кроме технологии CGI), а выполняется под управлением некоторой внешней программы – среды выполнения. В качестве такой программы могут выступать: сервер приложений или контейнер приложений. Среда выполнения делает следующие действия:
– принимает от web-сервера всю информацию, связанную с НТТР- запросом;
– определяет, какое приложение, созданное для данной среды, должно быть выполнено;
– создает все вспомогательные объекты, которые могут потребоваться для работы данного приложения (например, Application, Session, Request, Response, User и т. п.);
– загружает запрашиваемое приложение и передает ему управление;
– web-приложение выполняется и создает HTML-страницу, которую записывает в специально созданный для этого объект (обычно объект Response) и после этого возвращает управление web-серверу;
– web-сервер формирует HTTP-ответ, включает в него сформированную web-приложением HTML-страницу и отправляет его клиенту, который прислал запрос к данному web-приложению.
Обычно HTML-страницы, созданные web-приложением, включают HTML-формы, с которыми работает пользователь. При нажатии пользователями на кнопки типа submit браузер отправляет новый НТТР-запрос к тому же самому web-ириложению. Последовательность вызовов web- приложения пользователем составляет сеанс его работы. Данный сеанс завершается либо в результате выбора пользователем команды об окончании его работы с web-приложением, либо в результате длительного промежутка времени между отправками последующих НТТР-запросов (обычно более 20 минут).
Web-приложение предназначено для решения некоторых задач пользователей и обязательно имеет пользовательский графический интерфейс.
Web-приложения в сравнении с локальными приложениями имеют следующие преимущества:
– простота доступа к приложению — любой человек, имеющий компьютер, подключенный к сети Интернет, может использовать web- приложение;
– простота развертывания (установки) — в отличие от локальных приложений web-приложения после завершения разработки не требуют установки на компьютерах пользователей. Достаточно только сообщить им URL-адрес приложения. При изменении приложения все пользователи сразу начинают работать с измененной версией;
– наличие большого количества обученных пользователей;
– высокий уровень развития и надежности сетевых соединений и web-технологий.
Недостатки web-приложений:
– «слабосвязанная» архитектура web-сети — отсутствие поддержки состояния сеанса работы и задержка при перезагрузке каждой страницы. Каждая перегрузка (или обновление страницы) вызывает заметную задержку, вызванную необходимостью установить НТТР- соединение, обработать запрос на сервере, передать по сети ответное HTTP-сообщение и перезагрузить страницу браузером;
– ограниченный набор элементов управления для проектирования форм приложения. Текущая версия языка HTML поддерживает только ограниченный набор элементов управления (текстовые элементы, радиокнопки, флажки, выпадающие списки и командные кнопки);
– несогласованные подходы к оформлению и способу взаимодействия с пользователями.
Принцип работы технологии web-приложения состоит в представлении собой набора статических и динамических веб-страниц. Статическая веб-страница — это страница, которая всегда отображается перед пользователем в неизменном виде. Веб-сервер отправляет страницу по запросу веб-браузера без каких-либо изменений. В противоположность этому, сервер вносит изменения в динамическую веб-страницу перед отправкой ее браузеру. По причине того, что страница меняется, она называется динамической.
Web-приложения имеют архитектурные, технологические и пользовательские особенности:
– web-приложения должны развертываться очень быстро;
– замена документов на реальные прототипы приложения;
– получение ранних отзывов пользователей;
– работа по проектированию web-приложений делится на проектирование данных и проектирование навигации.
Разработка web-приложений включает специфические процессы:
– web-приложения являются специальным видом обычных программных приложений, и поэтому web-инженерия может рассматриваться в качестве специальной разновидности программной инженерии;
– разработка приложений для web-сети предполагает использование нескольких хорошо определенных правил и соглашений, которые предоставляют стабильно работающую, устойчивую и масштабируемую среду разработки и выполнения;
– существуют специальные процессы разработки, которые учитывают специфические возможности web-приложений.
Модель жизненного цикла web-приложения показана на рисунке 1.2.
Рисунок 1.2 — Модель жизненного цикла web-приложения
Основное различие данной модели от модели разработки обычного ПО заключается в понимании «развертывания приложения» не как вида деятельности (работы), а как перехода между работами.
В web-сети развертывание приложения для его пользователей действительно не является трудоемкой работой: в связи с централизованной архитектурой обычных web-приложений, отсутствием специального кода приложения на стороне пользователей, использованием браузера в качестве среды выполнения работы по развертыванию web-приложения в значительной степени облегчается и ускоряется.
Данная модель предлагает явное соединение работы по «поддержке и развитию» с «анализом требований». Именно этот переход характеризует модель, он создает второй цикл модели, который включает «анализ требований». Данный цикл называется «циклом развития». Первый цикл связывает «проектирование», «реализацию», «тестирование и развитие». Данный цикл называется «цикл построения и проверки». Такие два цикла соответствуют двум этапам, которые характерны для современных web-приложений: оффлайн-разработка и онлайн-разработка. Оффлайн-разработка заключается в создании web-приложения в среде разработки (например. Visual Studio) без использования реального web-сервера. Разработка в режиме онлайн выполняется после переноса web-приложения под управление реального web-сервера: создание виртуального каталога, файлов настройки; управление web-сервером.