4.5Поддерживаемые клиенты
В качестве рабочих станций для работы с системой будут использоваться личные компьютеры пользователей, а также компьютеры, установленные в образовательном учреждении. Специфика гуманитарного учебного заведения заключается в наличии большого количества компьютеров с устаревшими версиями ОС и браузеров. Так как массовое обновление версий ПО на всех компьютерах сводит на нет преимущества выбранной архитектуры и часто представляется невозможным в принципе, Система должна поддерживать большое количество браузеров, включая устаревшие версии.
Конкретные требования к Системе, связанные с возможностями поддерживаемых клиентов указаны ниже.
Работоспособность в браузерах IE версии не меньше 7, Opera, Chrome, Safari и Firefox последней стабильной версии.
Работоспособность основной функциональности в браузерах мобильных устройств.
Не использование плагинов к браузерам для отображения страниц, включая Java и Adobe Flash.
Корректное отображение содержимого страниц на дисплеях с минимальным разрешением по ширине 1024 пиксела.
Корректное отображение страниц системы с включенной в браузере функцией масштабирования содержимого.
5Частичная реализация
5.1Методика разработки
В связи с тем, что разработка основных компонентов Системы (ввод успеваемости и составление отчетности) требует тесного взаимодействия с пользователями, для разработки и внедрения Системы был выбран итеративный подход. При итеративном подходе процесс разработки разбивается на итерации (циклы), каждая итерация длится несколько недель и делится на стадии, изображенные ниже (Рисунок 5.).
Проектирование
Разработка
Внедрение
Эксплуатация
Сбор данных
Заказчик
Разработчик
Рисунок 5. – Стадии итеративного процесса
Преимущества итеративного подхода
Снижение рисков, связанных с ошибками проектирования.
Создание продукта, реально отвечающего потребностям заказчика благодаря постоянной связи между разработчиком и заказчиком.
Направление усилий на наиболее важные и критичные для заказчика направления проекта.
Непрерывное итеративное тестирование, позволяющее оценить качество реализации на ранних этапах.
Раннее обнаружение конфликтов между требованиями, моделями и реализацией проекта.
Бо́льшая уверенность заказчиков и непосредственных участников в его успешном завершении проекта, основанная на реальной оценке текущего состояния проекта.
5.2Средства и инструменты реализации
5.2.1Платформа
На основе типа архитектуры Системы (веб-приложение), модели данных (главы 4.3 и 4.4) и требования к низкой стоимости внедрения были выбраны перечисленные ниже компоненты платформы для разработки Системы.
Система управления реляционными базами данных для хранения информации, распространяемая по свободной лицензии.
MVC-фреймворк для веб-приложений, использующий ORM-библиотеку для работы с данными.
Серверное ПО, распространяемое по свободной лицензии.
5.2.2Ruby on Rails
В качестве MVC-фреймворка был выбран Ruby on Rails, как наиболее подходящий к предъявленным требованиям.
«Rails — это полноценный, многоуровневый фреймворк для построения веб-приложений, использующих базы данных, который основан на архитектуре Модель-Представление-Контроллер (Model-View-Controller, MVC).» [10]
Преимущества
Использование механизмов повторного использования кода и соглашений о конфигурации по умолчанию.
Наличие большого количества встроенных и сторонних компонентов для разработки веб-приложений и интеграции другим ПО.
Использования ORM для управления данными, хранящимися в реляционной базе данных.
Поддержка сообщества.
Частые обновления и поддержка современных языков программирования и технологий разработки.
Недостатки
Меньшая, по сравнению с фреймоворками на PHP, поддержка со стороны хостинговых компаний.
Высокие требования к производительности и объему оперативной памяти на сервере.
Языки программирования и разметки
Выбором фреймворка обусловлен набор языков программирования и разметки, используемых для разработки системы.
Ruby, динамический объектно-ориентированный язык для разработки серверной части. [11]
CoffeeSctipt, язык программирования, компилируемый в JavaScript, используется для программирования клиентской части системы. Ускоряет разработку и повышает качество кода на JavaScript. [12]
HAML и SASS, языки разметки, компилирующиеся в HTML, CSS соответственно. Ускоряют и упрощают верстку страниц приложения.
5.2.3Дополнительные компоненты
Данные, с которыми работает Система, хранятся в реляционной базе данных, использующей язык SQL для управления данными и построения отчетов. В качестве СУБД могут быть выбраны MySQL или PostgreSQL. Обе системы распространяются по свободной лицензии, полностью поддерживаются фреймворком Ruby on Rails и являются взаимозаменяемыми.
В качестве ОС для сервера приложения используется серверная ОС на основе GNU/Linux
Так как итеративная методика разработки, описанная в главе 5.1, требует регулярного внедрения новых версий Системы, для управления кодом приложения используется система контроля версий Git, а автоматизация установки и внедрения новых версий осуществляется с помощью утилиты Capistrano.
5.2.4Выполненные работы
В рамках работы над проектом Системы также были выполнены перечисленные ниже работы по разработке и наладке предварительной версии системы, которая будет служить основой для дальнейшего процесса разработки.
Интеграция и наладка всех компонентов.
Установка и настройка ПО для тестового сервера приложений, включая ОС Debian, веб-сервера Nginx и Passenger, СУБД MySQL.
Создание хранилища Git и настройка Capistrano для автоматической установки на сервер новых версий.
Установка системы уведомления о критических ошибках в приложении.
Разработка базовой системы авторизации пользователей.
Разработка функциональности по управлению списками студентов, групп и дисциплин.
Рисунок 5. – Скриншот установленной на сервер и работающей предварительной версии Системы
Рисунок 5. – Визуализация истории правок кода из системы контроля версий
|