Входными данными на сайте будут являться переменные на страницах авторизации, регистрации пользователя, а точнее email адрес и пароль пользователя. Дополнительная информация фамилия, имя, отчество дата рождения, группа студента. При работе в режиме администратора доступны для ввода такие поля как заголовок теста, вопросы и ответы теста. Входные данные вводятся с клавиатуры в соответствующие поля.
Множественные результаты тестов, полученные при прохождении тестов от пользователя.
Выходные данные выводятся на экран при выполнении определенных для этого действий. Также в режиме администратора доступны результаты тестов, пройдённые пользователями.
Обоснование приемов программирования
Для разработки web-приложения «Виртуальная тестирующая среда «Познай себя» используется фреймворк «Express».
Express — очень малый и быстрый серверный веб-фреймворк, построенный на базе connect. Для работы которого потребуется Node.js.
Основные возможности Express:
- — гибкая система маршрутизации запросов;
- — перенаправления;
- — динамические представления;
- — уточнение контента;
- — особое внимание производительности;
- — обработка представлений и поддержка частичных шаблонов;
- — поддержка конфигураций на основе окружений;
- — оповещения, интегрированные с сессиями;
- — максимальное покрытие тестами;
- — утилиты для быстрой генерации остова приложений;
- — настройки представлений на уровне приложений.
Кроме этого:
- — поддержка сессий;
- — кэш API;
- — поддержка mime;
- — поддержка ETag;
- — постоянные оповещения;
- — поддержка кук;
- — JSON RPC;
- — логирование.
Node.js или Node — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node. js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node. js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node. js и десктопные оконные приложения (при помощи node-webkit и AppJS для Linux, Windows и Mac OS) и даже программировать микроконтроллеры (например, tessel и espruino). В основе Node. js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
В web-приложениях существуют две «стороны» выполнения кода — серверная и клиентская. К клиентской части относятся HTML, CSS, Javascript, а к серверной ASP.NET, Java (J2EE), JavaScript (Node.js), Ruby, Python, PHP и т. д.
ASP.NET решения задач любого уровня сложности. Java (J2EE) подходит для проектов высокого и среднего уровня сложности. Node всего подходит для разработки небольших вес-приложении, RESTful API, и высоконагруженных сервисов. Устойчивость к высоким нагрузкам обеспечивается за счет неблокирующего ввода/вывода. Вместе с Node устанавливается также пакетный менеджер npm. С его помощью можно управлять модулями и зависимостями. Используя его можно быстро собрать небольшой «костяк» сайта, пользуясь готовыми модулями и решениями.