E-commerce проект
www.edplace.co.uk представляет собой портал по продаже обучающих задач по математике в соответствии со школьной программой Англии. Основная аудитория сайта состоит из учителей и родителей, которым необходимы профессионально разработанные материалы для обучения детей. Все материалы разработаны эксклюзивно для проекта EdPlace профессиональными учителями Англии по математике.
Сфера деятельности
E-commerce, продажа обучающих материалов для школьной программы в Англии.
Информация о структуре проекта
Разработка EdPlace заняла более полугода, всего в проекте принимало участие более 20 человек (менеджеры, программисты, системные администраторы, системные архитекторы, копирайтеры, учителя, дизайнеры, художники). На момент запуска (сентябрь 2005г.) проект являлся уникальным по совокупности концепции и качества сервиса. Некоторые возможности и технологии, используемы в EdPlace, описаны ниже.
В ноябре 2005 г. EdPlace был аттестован британской правительственной организацией Curriculum Online (
http://www.curriculumonline.gov.uk). Организация признала качество обучающих материалов и самого проекта, официально разрешив любой школе в Англии использовать его для обучения детей. Данный факт говорит о высокой проработанности как проекта в целом, так и его отдельных частей, об эффективной работы всей команды.
Цели и задачи проекта
При создании проекта EdPlace преследовались следующие цели и задачи:
- Создание портала с качественными задачами по математике.
- Проработка usability проекта и других деталей, свойственных для поекта такой направленности (классификация, поиск, вывод на печать учебных материалов).
- Создание эффективной системы управления задачами.
- Создание эффективной системы управления проектом в целом.
- Оптимизация программного производства задач.
- Проработка внутреннего биллинга системы.
Достижения
Данный проект служит хорошим примером для иллюстрации достижений компании БизнесМедиа. Ниже перечислены наиболее важные из них:
- Создание уникальной технической архитектуры, что свидетельствует о возможности компании проектировать сложные архитектуры.
- Данный проект является в чистом виде outsource проектом. Реализация проекта такой сложности при условии дистанционной работы с заказчиком говорит о высокой организации работы внутри компании.
- Для проекта придуманы индивидуальные схемы производства компонентов и управления процессом разработки.
Принцип динамических задач
В основу проекта заложен принцип создания типовых задач со случайно изменяемыми параметрами на основе программных шаблонов. Другими словами, пользователю вместо статической задачи, например 2+3=? предоставляется целый класс задач на основе шаблона X+Y=?, где X и Y меняются случайным образом. Каждый шаблон является программным модулем, основой для которого служат разработанные учителем материалы. Таким образом, создав один раз шаблон учебного материала (Worksheet Template - WT), можно сгенерировать достаточно большое количество разных вариантов одной и той же задачи (Worksheet - W). Находящееся ниже изображение иллюстрирует этот принцип:
Рис. 1. Принцип динамических задач

С помощью вышеописанного принципа на основе нескольких сотен шаблонов можно сгенерировать тысячи заданий, т.е. каждый клиент EnjoyMaths с достаточно большой долей вероятности получит уникальные материалы (имеются в виду, конечно, данные задач).
Модульность
С технической точки зрения базовым звеном для всех задач является модуль (Module - M). Модуль представляет собой программную реализацию идеи упражнения или группы упражнений. Каждый модуль имеет настройки, такие как типы заданий, ограничения на параметры, варианты вывода, количество задач и т.п. Модули служат базовыми элементами для создания шаблонов заданий – в одном шаблоне может быть один или несколько модулей с установленными настройками. Один и тот же модуль может использоваться в разных шаблонах заданий с абсолютно разными настройками. Система хранит независимые копии настроек модулей, что позволяет создавать на их основе одного и того же модуля на первый взгляд достаточно разные задачи. Ниже представлена структура системы обучающих материалов.
W – учебное задание (Worksheet). Именно его и видит конечный пользователь.
WT – шаблон учебного задания (Worksheet Template). Он служит основой для создания класса задач одинакового типа, но с разными параметрами.
M – модуль. На основе модулей собираются шаблоны задач.
Рис. 2. Структура системы заданий

Описанная выше система организации учебных материалов прежде всего позволяет создавать очень большое количество разнообразных задач на основе гораздо меньшего количества модулей, причем администратор системы, создающий шаблоны учебных задач, может и не обладать специальными техническими знаниями для этого. Важно иметь только описание модуля и его настроек.
Система управления модулями
Весь проект по большому счету представляет собой сложную систему управления модулями и задачи, работающую вкупе с системой управления клиентов и внутренним биллингом, подключенном к внешним платежным системам (в текущей реализации это карты VISA и MasterCard, платежи по которым принимаются с помощью системы WorldPay). Система управления модулями задач отвечает за вывод задач для конечного пользователя и манипуляции с ними. Система управления клиентами ведет учет таковых и раздает права доступа в соответствии с купленной подпиской.
Рис. 3. Структура системы EdPlace

С помощью такой структуры организации системной части сайта можно безболезненно для всего проекта вносить изменения как в структуру биллинга, так и в структуру, отвечающую за работу с учебными задачами.
Система управления разработкой модулей
Более 70% трудовых затрат при разработке проекта приходится на создание модулей задач (всего в проекте будет более 1000 шаблонов задач, на основе которых можно сгенерировать не менее 10 000 различных учебных материалов).
На разработку такого количества модулей требуется немало трудовых и организаторских ресурсов, поэтому специально для проекта EdPlace была создана особая среда разработки, позволяющая более эффективно и быстро вести процесс производства задач. Особенность среды заключается в том, что она практически полностью эмулирует реальную систему с одной стороны, и в то же время содержит набор инструментов для облегчения создания модулей (автоматическая генерация базового программного кода, тестирование).
Среда может быть установлена на Windows или Unix машине разработчика. Модули запаковываются в файлы специального формата и отправляются на сервер разработки, где проходят окончательное тестирование и анализ. Полностью готовые модули автоматически закачиваются на боевой сервер EdPlace и используются для создания учебных заданий.
Рис. 4. Организация процесса разработки

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