- •Введение
- •Часть 1.Техническое задание
- •1.1.Цель
- •1.1.Задачи
- •1.3.Технические требования
- •1.4.Требования к сервисам и функциональности веб-портала
- •1.5.Требования к системе управления веб-порталом
- •Часть 2.Технико-экономическое обоснование проекта
- •2.1. Анализ и выбор базы данных
- •Часть 3. Анализ поставленных задач и разработка на структурном уровне
- •2.2. Анализ и выбор web-сервера
- •2.3. Анализ и выбор Фреймворка
- •2.4. Анализ и выбор языков программирования
- •Часть 4. Разработка программных средств
- •4.1.Установка и настройка компонентов
- •4.2. Регистрация пользователей
- •4.3.Авторизация пользователей
- •4.4. Возможности администрирования
- •4.5. Отображение страниц web-портала.
- •4.6.Архитектура программного средства
- •Глава 5. Экономическая часть
- •5.1. Планирование комплекса работ по разработке темы и оценка трудоемкости
- •5.2. Расчет затрат на разработку проекта
- •5.3. Расчёт прибыли
- •5.4. Расчет показателя экономического эффекта
- •Заключение литература
2.3. Анализ и выбор Фреймворка
Так же, в соответствии с желанием заказчика, необходимо воспользоваться Фреймворком. Для выбора наиболее подходящего Фреймворка следует выявить самые популярные из них. В марте 2015г на Sitepoint4 был опубликован опрос популярности PHP Фреймворков.
Всего проголосовало 7800 человек. Следует заметить, что в опросе фигурировало два аспекта популярности: популярность Фреймворка на работе и популярность Фреймворка в личных разработках опрашиваемых. В обоих случаях Laravel занял первое место, следом за ним шли Symphony2 и Nette.
Рис.11. Статистика популярности Фреймворков на рабочих местах
Рис.12. Статистика популярности Фреймворков в личных разработках
В приведенной таблице голосов видно, что Laravel имеет подавляющее количество голосов. Следует провести тест производительности Фреймворков Laravel и Symfony. Сравнение будет проходить по следующим характеристикам:
Количество запросов в секунду
Ожидание ответа сервера, минимальное (мс)
Ожидание ответа сервера, среднее (мс)
Ожидание ответа сервера, максимальное (мс)
Скорость передачи (Кб/с)
Несмотря на то что Фреймворки запускались на встроенных PHP серверах, Laravel оказался примерно в 10 раз быстрее чем Symfony. Из этого маленького теста уже понятно, что, работая с Symfony вопрос с кешированием будет стоять особенно остро. При необходимости можно оптимизировать приложение, используя Http Cache, но в Laravel же, благодаря кешированию, можно будет достичь еще большей производительности.
Таблица №3. Тестирование производительности Laravel и Symfony
№ п/п |
Характеристики |
Laravel |
Symfony |
1 |
Время, затраченное на тесты (сек.) |
0,958 |
8,438 |
2 |
Запросов в секунду |
104,43 |
11,85 |
3 |
Ожидание ответа сервера, минимальное (мс) |
22 |
101 |
4 |
Ожидание ответа сервера, среднее (мс) |
475 |
4313 |
5 |
Ожидание ответа сервера, максиммальное (мс) |
953 |
8434 |
6 |
Скорость передачи (Кб/с) |
859,28 |
33,52 |
После проведения более глубокого анализа, было выявлено что каждый Фреймворк имеет свои особенности - Laravel хорошо подходит для небольших проектов, как в данном случае, а Symfony2 - отличный выбор для больших проектов и приложений уровня Enterprice. Фреймворком, используемым для разработки портала для электронного обучения абитуриентов будет Laravel версии 5.0.
2.4. Анализ и выбор языков программирования
Для решения задач с третьей по пятую, следует воспользоваться различными языками программирования. Любому веб-программисту известно, что для работы веб-приложения необходим серверный язык программирования. Серверные языки программирования работают на стороне сервера. Во взаимодействии с базами данных они поддерживают связь между пользователем и сервером. Получая запрос с адресом веб-документа от браузера, серверные программы связываются с базой данных. БД отдаёт информацию о веб-странице скриптам сервера, и те обработав её, отсылают для интерпретации браузеру клиента, который и выводит результат совместной работы на монитор. Достоинством серверных языков является их воистину безграничные возможности и то, что их работа не подвержена воздействию пользователей и скрыта от их взоров.
По данным Openstat на июнь 2014г распространенность серверных языков программирования составляет:
Рис.13. Статистика распространенности серверных языков программирования
Более наглядную картину можно получить объединением по базовым используемым технологиям:
Рис.14. Статистика распространенности по базовым технологиям
Рис.15. Статистика распространенности по базовым технологиям
(Диаграмма)
В связи с тем, что для работы Laravel 5.0 необходим php версии 5.4 – он и будет основным языком программирования.
Ниже составлена таблица задач и методов, обеспечивающих их решение.
Таблица №4. Методы решения поставленных задач
№ п/п |
Задачи |
Методы |
1 |
Создать базу данных для информационного обеспечения веб-портала. |
Воспользоваться СУБД MySQL. |
2 |
Разместить на сервере основные веб-страницы и организовать их взаимосвязь, посредством меню навигации и ссылок. |
Воспользоваться серверной платформой Установить на сервер Фреймворк. |
3 |
Разработать функции регистрации и авторизации. |
Воспользоваться языками программирования. |
4 |
Разработать календарь событий. |
|
5 |
Разработать форум для пользователей. |
