Наши преимущества

(написано в сентябре 2000 г., по-прежнему актуально)

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

Поэтому, хорошо это или плохо, но получилось, что «НИКА», помимо алгоритма домашней разработки, имеет и свои оригинальные организацию и дизайн интерфейса. Как оказалось, интерфейс — это главное, чем нам удалось обаять первых, да и большинство последующих пользователей.

Директор московской школы N 279 им. Твардовского Исхаков Андрей Максудович стал нашим первым покупателем и, тем самым, обрек себя на пожизненное бесплатное получение всех наших новых разработок. Ну, а до знакомства с программой «НИКА», Андрей Максудович уже имел опыт работы с программой составления расписания занятий первого поколения, работающей в операционной системе MS DOS. По его словам, только на ввод исходных данных в невообразимое количество таблиц и установление необходимых связей у него с помощником уходило несколько вечеров.

«НИКА» же предлагает для ввода всего лишь две таблицы, куда удается вместить все многообразие форм и способов организации учебного процесса, которые нам удалось обнаружить в московских учебных заведениях. Опыт показывает, что ввод данных даже по самым «продвинутым» столичным школам, у которых только предметов довелось насчитать более сорока, занимает не более полутора-двух часов.

Как-то нам удалось весьма эффектно доказать удобство и практичность интерфейса в процессе импровизированного тестирования. Это случилось, когда рассматривался вопрос о приобретении программы Управлением образования Ленинского района (г.Видное Московской области) сразу для нескольких школ. Вместо демонстрации преимуществ программы на базе домашних заготовок, нам было предложено с ходу отработать расписание в одной из передовых и, надо полагать, сложных, по части составления расписания, школ района. Результат испытаний был признан положительным после того, как в течение двух часов, с перерывом на кофе, нам удалось с нуля ввести все исходные данные и выдать готовый вариант расписания.

Последний пример позволяет плавно перейти к следующему коренному отличию программы «НИКА» от знакомых нам аналогов — времени расчета расписания. Наш алгоритм не предусматривает полного перебора всех возможных вариантов расстановки часов в сетке. Расчет ведется по максимально оптимальному пути с использованием древовидных поисковых структур. Авторам пригодились теоретические наработки Никлауса Вирта, с которыми им довелось познакомиться еще в 80-х, участвуя в разработке проектов первых экспертных систем. Поэтому у нас получилось, что расчет самых сложных случаев занимает не более одной минуты.

Так что, наши клиенты, имеющие хотя бы минимальный опыт работы с другими программами, сразу обращают внимание на скоростные характеристики программы «НИКА». То, что у них имеется, считает расписание от 20 минут до нескольких часов. Запустил на расчет — иди кури. Пришел, посмотрел, обнаружил ошибку, исправил, запустил — опять кури. А так как, для получения приемлемого результата программу нужно запускать, как минимум, раз десять, то понятно, что процесс растягивается на несколько часов, а то и дней. А здесь, пять-десять секунд — и все сосчитано. За те же 15 минут можно двадцать вариантов отработать, найти оптимальный и вручную довести его до нужной кондиции.

А все разговоры о том, что «хотя она (программа) и работает три часа, зато в результате выдает готовое расписание, не требующее корректировки», несерьезны уже в своей основе. Никогда не стоит зарекаться от банальных ошибок ввода исходных данных, когда после тяжелого рабочего дня (а все расписания делаются поздними вечерами или ночами) уставший завуч вместо трех часов ставит кому-то четыре или случайно перепутывает методдень. Ясно, что обнаружить это спустя три часа будет также приятно, как аббату Фариа оказаться в соседней камере после нескольких лет подземных работ. А если есть желание поэкспериментировать (c методическими днями, часами, кабинетами, совмещением предметов и т.д.)? Нет нужды говорить, что после двух-трех попыток, продолжительностью по три часа каждая, экспериментаторский зуд пройдет сам собой.. У нас, кстати, тоже примерно в одной трети случаев программа выдает готовое расписание, не требующее дальнейшей доработки. Но это, как правило, означает что вручную такое расписание составлялось всего за несколько часов и говорить здесь о существенном выигрыше во времени можно только, соотнося время работы завуча в часах со временем расчета расписания программой, измеряемым секундами или, в худшем случае, десятками секунд.

А если на ручное составление расписания уходит несколько недель (а это большая половина наших клиентов), то это означает, что до десятка часов придется расставить вручную, используя иногда весьма нетрадиционные решения, заложить которые в программу вряд ли у какого разработчика хватит фантазии. Некоторые из таких решений могли бы пополнить коллекцию Михаила Задорнова (имеется в виду сатирик). К примеру, как вам нравится выводить, ну никак не влезающие в расписание, уроки на субботу, подразумевая, что ни учитель, ни ученики на эти уроки приходить не должны? Школа ведь неофициально работает по пятидневке. И так — во всем. Мы же не немцы какие-то — строем ходить.

Поэтому и предусмотрен в программе «НИКА» удобный режим для ручной доводки расписания, в котором вы можете производить какие угодно перестановки, контролируя при этом возникновение разного рода коллизий. Особенно это должно понравиться любителям раскладывать пасьянсы.

Уже в процессе работы на рынке довелось познакомиться с одной разновидностью программ подобного класса – программами-редакторами расписаний. Несмотря на то, что их иногда называют нашими конкурентами, на самом деле, мы выступаем в разных весовых категориях. Наша программа делает расписание, а программы-редакторы представляют собой не что иное, как электронные варианты карандаша, ластика и листа ватмана. Это, конечно, можно назвать прогрессом по сравнению с ручной работой, но хотелось бы увидеть того человека, который в 21 веке захочет приобрести революционный для своего времени 286-й компьютер при наличии Pentium IV, да еще по той же цене!

Остальные отличия не носят принципиального характера. В конце концов, работая в такой достаточно специфичной области, как автоматизация составления расписания, все разработчики приходят к одному и тому же набору функциональных возможностей и форм представления конечного результата. Некоторые задачи «НИКА» пока не решает, но в перспективных планах развития программы многие пожелания наших настоящих и потенциальных клиентов нашли свое отражение и, несомненно, будут решены, как хочется надеяться, на таком же высоком уровне, какой был отмечен пользователями первой версии программы.