Мы уже рассказывали нашим читателям о том, как решение ABBYY TestReader помогло ЕГЭ встать на ноги. Несколько лет назад нам показалось довольно логичным (а поначалу даже простым) используя полученный опыт, обрабатывать и результаты Государственной итоговой аттестации 9-х классов (ГИА 9 классов).
Итак, что мы имели в далеком 2008 году? Налаженную и в целом надежно функционирующую машину обработки результатов ЕГЭ, которая работает на базе программного комплекса ввода бланков ABBYY TestReader Network.
Чего мы хотели? Применить наши технологии повторно на ГИА-9 и стать еще более инвестиционно привлекательными.
Казалось бы, чего проще? Но, уже ступив на этот путь, мы обнаружили несколько отличий между экзаменами, и это коренным образом определило дальнейшее развитие событий.
Дело в том, что ЕГЭ проводится централизованно Минобрнауки и Рособрнадзором по единому сценарию, бланки с ответами обрабатываются тоже одинаково. Затраты при этом делятся между федеральными и региональными властями так: центр даёт технологию и сервисы, а регионы, собственно, организуют экзамен. Проведение ГИА-9 целиком отдано в регионы, а значит, ложится на их бюджет и проводится так, как решит руководство региона. Объединяет ГИА в России только то, что экзамены проходят по единому расписанию и по одинаковым заданиям.
Как вы догадываетесь, регионы России сильно отличаются по объемам доступного финансирования и некоторые, ясно, стараются экономить. Вследствие этого наблюдается «кусочная» автоматизация: кто-то все еще кипятит проводит экзамен по старинке: ученики пишут от руки, а экзаменаторы «от руки» проверяют. Те же регионы, которые на свой страх и риск самостоятельно пытаются перевести экзамен в тестовую форму, сталкиваются со множеством проблем. Одной из них является необходимость в большом объеме печать бланки и задания (официально они называются КИМ — контрольно-измерительный материал) для учеников. Если для ЕГЭ бланки заказываются централизованно за счет федерального бюджета, то в рамках ГИА этим занимаются региональные власти.
В лучшем случае — каждый субъект заказывает печать в типографии, в худшем — печатает бланки на обычном принтере, копире, а может даже на ризографе.
Поскольку для каждого региона в первую очередь рассматривалась возможности сэкономить и сделать все попроще, предлагать цветные бланки для ГИА было бессмысленно. Поэтому мы предложили черно-белые бланки, которые легко тиражируются на различных устройствах.
Но на этом заморочки не закончились. Мы обнаружили, что задания для ГИА по разным предметам не всегда поддаются делению на принятые в ЕГЭ части A, B, и C (напомним, что ответы типа А — это выбор из предложенных 3-4 вариантов, тип В — ответ в виде слова или набора цифр, а ответ типа С – полноценная письменная работа). Следовательно, было невозможно создать структуру бланка, подходящую для всех экзаменов разом. Авторы экзаменационных заданий не шли ни на какие уступки, и нам пришлось создавать для каждого предмета индивидуальный бланк. Вот, например, бланки по математике и обществознанию
А теперь давайте представим, что мы – субъект РФ. Нам нужно обеспечить бланками до десяти тысяч школьников, каждый из которых сдает обязательные экзамены по русскому языку и математике и другие предметы. Каждому ученику нужен комплект из двух бланков ответов и одного бланка с заданиями по каждому экзамену. Итого, нам надо распечатать… посчитайте, если вам интересно. Когда будете считать, не забывайте, что эти ученики учатся в разных школах, которые в свою очередь находятся в разных городах, селах и … островах. Поэтому, когда напечатаете, придется разобраться, в какую школу какое количество бланков по русскому, математике и другим предметам везти. А если в поселке «Тмутаракань» найдется несчастный, который вдруг захочет сдать литературу, то неплохо бы и его обеспечить соответствующим комплектом. А, ну и не забудьте про запас для переволновавшихся учеников, испортивших ненароком бланк. Ну что, посчитали? Вот и мы плюнули на это гиблое дело.
Вместо этого мы решили добавить к нашему TestReader специальную станцию печати, которая подумает посчитает и распечатает за нас. Она должна была стать новым компонентом программного комплекса по вводу бланков, предназначенным для массовой скоростной печати машиночитаемых бланков, а также бланков с заданиями.
Как мы делали станцию печати
Эта система должна была:
- Быть достаточно простой, чтобы операторы в регионах могли разобраться с ней.
- Быть надежной – иначе сорвется экзамен.
- Уметь быстро печатать экзаменационные материалы на лазерных принтерах
- Обеспечить материалами все ППЭ (пункты проведения экзамена) в необходимом объеме
- Минимизировать затраты на печать
- Сохранить информационную безопасность
- Печатать придется в самом медленном графическом режиме, чтобы не нарушить форматирование бланков.
На подготовительном этапе мы много общались: со специалистами из Федерального центра тестирования, с людьми в регионах, которые обеспечивают проведение экзаменов. В какой-то момент нам показалось, что мы утомили всех разговорами :). Но как иначе найти вариант, который подойдет всем регионам? Мы придумывали разные идеи, потом искали в них недостатки и придумывали новые идеи. В процессе появлялись вот такие «карты памяти».
В определенный момент у нас появилось понимание, какие функции должны быть у станции печати, и мы приступили к проектированию. По плану 90% функциональности должно было относиться к планированию и сбору комплектов и только 10% занимать непосредственно автоматическая печать.
Уже на этом этапе мы поняли, что разработку придется заказывать аутсорсерам. Экзамены должны быть проведены в строго определенные сроки, а ресурсов у наших разработчиков не хватало – ведь ровно в эти же сроки нам надо подготовить модернизированное ПО для ЕГЭ. Поручить писать код мы хотели давнему партнеру ABBYY – новосибирской компании ATAPY. Приступая к взаимодействию с аутсорсерами, мы принимали во внимание следующее:
- Они не разбираются в предметной области (в госэкзаменах то есть).
- Мы уже знали, что они умеют писать подходящий код, поскольку уже неоднократно сотрудничали с ними.
- Они находятся в Новосибирске, поэтому есть разница во времени.
Чтобы аутсорсеры лучше справлялись с нашим заказом, мы:
- Сделали максимально подробное ТЗ, куда включили готовые алгоритмы программы. Фактически от аутсорсера нам требовались не программисты, а именно кодеры, которые сделают всё точно так, как нам требовалось.
- Сами полностью нарисовали абсолютно все окна и диалоги программы и описали все действия, которые должны происходить при нажатии на каждую из «кнопок».
Так, например, должно было выглядеть главное окно:
- Сделали общую с аутсорсерами базу рекламаций. Надо сказать, на первых порах это вызвало недовольство и наших программистов (небольшую часть разработки мы всё же оставили себе), и новосибирских коллег. Однако мы настояли на своем и впоследствии убедились, что были правы.
Когда мы работали над этим проектом (напомним, это было несколько лет назад), ещё не были так широко распространены облачные решения в этой сфере, поэтому использовали свою внутреннюю разработку – клон базы, которой пользуемся в ABBYY. - Оставили за собой и разработали своими силами модули, которые должны были отвечать за взаимодействие станции печати с «окружающей средой» – большими внешними системами (базами данных и т.п.). Эти модули получили название «адаптеров». Тем самым мы постарались максимально оградить аутсорсеров от взаимодействия со смежными системами.
В итоге наши партнеры всё сделали хорошо, и мы остались довольны результатом.
После того как станция печати была готова, она была протестирована, а потом написаны технические документы к ней: эксплуатационная документация (какие функции есть в программе) и соответствующая инструктивка.
Вы хотите технических подробностей?
Их есть у нас.
Язык разработки – C#. Базой данных системы является MS SQL Server 2000/2008(поскольку он же используется в ЕГЭ). Платформа – Microsoft .NET 2.0. Для станции печати был приобретен внешний визуальный компонент TreeList производства компании DevExpress. Все работает на платформе Windows XP, 2000. Установлена криптозащита от компании Аладдин.
Производительность станции печати на недорогих компьютерах того времени с процессорами уровня Pentium 4, Celeron (а именно они были установлены в 2008 году у большинства пользователей нашего решения) – до 15-20 страниц в минуту (в графическом режиме!). Это максимальная скорость: если принтер старый и медленный, будет конечно меньше.
Как это выглядит с точки зрения пользователя
Субъект РФ, проводящий ГИА, загружает в систему все необходимые данные по ученикам: для этого он использует существующие базы данных по каждому из субъектов РФ со списками школ. Система видит, в каком населенном пункте, городе и районе находится школа и какое количество учеников (в данном случае девятиклассников) в ней обучается. А если таких данных нет, то придется эти данные ввести: задать по умолчанию, экстраполировать данные об 11-классниках, вносить вручную или любым другим способом. Так мы определяемся с количеством девятиклассников. Затем вносим погрешности, резервы, запасы и т.п. — завершаем этап планирования — выбираем способ печати — Пуск! Эх, и рады бы, да с печатью тоже не все так просто.
Региону предоставлена возможность выбрать способ печати из следующих основных вариантов:
- Печатаем весь комплект в типографии (бланки ответов и задания)
- Печатаем в типографии только бланки ответов, а задание – на принтерах (например, в столице региона или региональных центрах обработки информации).
- Печатаем весь комплект на принтерах в столице региона.
- Печатаем задания на принтере в столице, а бланки ответов на местах непосредственно перед экзаменом
- Печатаем весь комплект на местах на принтерах непосредственно перед экзаменом
- Возможны и другие комбинации, удобные региону, но они используются редко.
Если с печатью в типографии и на принтерах в столице региона более-менее понятно (вооруженная охрана, вход по отпечаткам пальцев), то про «печать на местах» стоит дополнительно прояснить. Поскольку требуется сохранить конфиденциальность заданий перед экзаменом, то в столице региона выполняется «условная» печать комплектов в файлы, которые кодируются паролем. Эти файлы заблаговременно отправляются в школы, и после выдачи пароля непосредственно перед экзаменом печатаются на любом доступном лазерном принтере.
Прошел экзамен. Далее на сцену выходят сканирующие технологии ABBYY TestReader. Тут мы максимально сохранили схему обработки экзамена: заполненные учениками бланки сканируются, распознаются, верифицируются и т.п. После чего без взаимодействия с федеральными центрами прямо на месте выставляются баллы по экзаменам (еще одно отличие от ЕГЭ).
Итоги и уроки
- На данный момент 50 из 83 субъектов РФ выбрали нашу технологию для проведения ГИА в своих регионах.
- Проект был полностью инвестиционным с нашей стороны, и он достаточно быстро окупился.
- C момента запуска проекта в сентябре 2009 года станция практически не потребовала усовершенствований
- От начала и до конца проект занял 1,5 года: 10 месяцев – аналитика (из них 2 месяца – подготовка подробного ТЗ с картинками), 5 месяцев – разработка, остальное – тестирование и подготовка документации.
Состав команды:
Со стороны ABBYY: два аналитика (работа по проекту отнимала у них примерно 50% рабочего времени), менеджер проекта, 1 программист (1 рабочий месяц), специалист по сборке дистрибутивов (2 недели), тестировщик (1 месяц), технический писатель (3 недели).
Со стороны аутсорсера: менеджер проекта (наш заказ занимал примерно 20% его рабочего времени), программист (5 месяцев), тестировщик (2 месяца), интерфейс-дизайнер (2 недели). - Мы не использовали специальных систем коллективной работы, поэтому очень много времени занимала переписка по электронной почте и телефонные переговоры. А использовать Outlook и Excel в качестве Task-manager никому не посоветуем.
- Как это часто бывает в работе с аутсорсерами, нам не удалось избежать растягивания сроков разработки: изначально планировали справиться за 3 месяца – справились за 5.
- Но зато идея с максимально подробным техническим заданием, включающим все элементы интерфейса, сработала на 100% — аутсорсеры всё сделали именно так, как виделось нам. Получилось хорошо.
- Идея с адаптерами тоже оказалась удачной. Она позволила двум командам разработчиков работать независимо и соединить части программы уже на конечном этапе. Будем использовать адаптеры при последующих обновлениях системы для ЕГЭ.
- Ну и наконец – ГИА оказалась ещё более интересным и сложным проектом, чем ЕГЭ. Нам понравилось.
Автор: Ingoborgo