Наконец-то Россию стали посещать не только всемирно известные музыканты и актеры, но и признанные мировые лидеры в наукоемких областях. Усилиями Российской национальной ассоциации компаний - разработчиков ПО (RUSSOFT, www.russoft.org) и фирмы RUSSEE (www.tekama.com) в конце октября в Москве прошла первая конференция по программной инженерии SEC(R) 2005, на которой "зажигали" такие звезды, как Айвар Якобсон, один из авторов UML, Марк Полк, руководивший в университете Карнеги - Меллона разработкой модели CMM, Ларри Константин, один из пионеров программной инженерии, Майкл Кузумано, профессор школы бизнеса Массачусетского технологического института, и др.
Программа двухдневной конференции, на которой присутствовали сотни человек, была очень насыщенной. Одновременно проходили три потока: технологический, процессно-управленческий и посвященный человеческому фактору в программной индустрии; параллельно прошли круглые столы и серия семинаров упомянутых ИТ-гуру, поэтому вживую послушать удалось, к сожалению, лишь небольшую часть выступлений. Будем надеяться, что у организаторов хватит сил на заключительный и, возможно, самый важный шаг: выложить на сайте конференции 2007.secrus.org в общий доступ полные тексты всех выступлений (на крайний случай - аудиозаписи, в идеале - видеозаписи).
Бессмысленно пересказывать выступления таких выдающихся специалистов, как, например, профессор Ларри Константин, мастерски удерживающий внимание аудитории и имеющий опыт преподавания в 18 странах. Этот человек давно развивает концепцию разработки ПО, ориентированного на пользователя (Usage Centered Design), владеет несколькими патентами в сфере человеко-машинного взаимодействия, предлагая весьма оригинальные взгляды на построение программ (см. www.foruse.com). Так, он рекомендует фокусироваться на работе, которую пользователь ПО будет выполнять за компьютером, и задачах, которые он при этом решает. Как ни удивительно, но почти весь современный настольный софт с сильно избыточными функциональными возможностями в этом нам совсем не помогает, подчас лишь отвлекая от основного занятия.
Айвар Якобсон: "От гибких
методологий пора
переходить к умным!"
Конечно, многие выступления с различной степенью подробности повествовали о достаточно известных вещах, которые уже не раз детально рассматривались в хороших книгах по ИТ-бизнесу и программной инженерии (например, важность управления требованиями), в различных статьях, обсуждались в PC Week/RE, причем довольно давно. Что-то принципиально новое в ИТ не может возникнуть быстро и на пустом месте. Так, опыт Майкла Кузумано, автора книги "Бизнес в сфере программного обеспечения", по выбору подходящей бизнес-модели развития (выпуск массового продукта или выполнение заказных проектов) вряд ли превосходит соответствующий опыт отечественных специалистов, возглавляющих крупнейшие компании - системные интеграторы, фирмы - подрядчики офшорных проектов или фирмы - производители массовых продуктов наподобие "1C". И как бороться с причинами, по которым современный бизнес не успевает за развитием ИТ, а гибкие методологии управления софт-проектами не приносят желаемого снижения риска, хорошо понимает не только г-н Якобсон. Визиты этих уважаемых людей в Россию - скорее символический акт, демонстрирующий зрелость отечественной программной индустрии.
Ларри Константин: "Нельзя
забывать, что по эту сторону
экрана - живой человек!"
Немного о выступлениях
Приведу лишь небольшой список отечественных проектов из представленных на конференции, которые по глубине и наукоемкости как минимум не отстают от западных.
UniMod, исполняемый UML (is.ifmo. ru/unimod_en/), созданный при участии хорошо знакомого читателям PC Week/ RE Анатолия Шалыто. А развиваемые профессором СПбГУ теория и практика автоматного проектирования (www.softcraft.ru) сегодня становятся особенно актуальными с появлением, в частности, средств визуального построения логики работы ПО в ожидаемой в ближайший месяц среде Delphi 2006. Эти средства (новая версия технологии ECO III) основаны на диаграммах состояний UML 2.0 и автоматной теории (наборы состояний, правила перехода между ними и триггеры).
Описание метамодели популярной методологии MDA (архитектура, управляемая моделью, www.omg.org/mda/) было подготовлено Юлией Гараевой и Иваном Пономаревым (МФТИ). Математическое обоснование работы базируется на концептуальном подходе к моделированию, о котором PC Week/RE в свое время подробно писал.
Система Arch (докладчик Андрей Плахов, компания Nival) ориентирована на управление группами программистов, которые полны энтузиазма, но обладают небольшим опытом программирования на потенциально проблемных языках наподобие С++ (так называемый "feature creep", расползающийся эффект плохо написанных частей кода). Обычно тексты таких разработчиков проверяют более опытные программисты, а Arch, существенно превосходящая синтаксические верификаторы типа Lint, автоматизирует этот процесс - в ней задействованы средства интеллектуального анализа кода, визуализации связей между объектами, синхронизации с документацией и т. д. Сегодня Arch применяется, в частности, при разработке российскими специалистами игры "Heroes of Might and Magic V".
Одно из направлений деятельности компании Devexperts (devexperts.com) - создание крупных OLTP-систем. По оценкам ее сотрудника Романа Елизарова, современные системы передачи сообщений промежуточного уровня (MOM), такие, как IBM MQ Series, BEA MessageQ, Microsoft MSMQ или TICBO, ограничены порогом в сотню тысяч сообщений в секунду. В то же время в ряде проектов (биржевые котировки, отслеживание местонахождения объектов, обработка сигналов) необходимы на порядок более высокие характеристики. Единичные же узкоспециализированные решения весьма и весьма дороги. Эксперты Devexperts показали, что проблемы с производительностью проистекают из-за плохого проектирования MOM-систем, а с помощью оригинальных шаблонов проектирования Devexperts удается реализовывать проекты, где в секунду обрабатывается миллион сообщений, при этом дорогостоящее оборудование не требуется.
Марина Хохлова (компания "Цефей", cefey.ru) считает, что в такие доминирующие на мировом рынке решения, как SAP R/3, Oracle Application, Axapta, Navision и др., заложены устаревшие технологии структурно-функционального подхода и модульной реализации бизнес-приложений. А созданная в "Цефее" единая модель предметной области, спроектированная на базе наработок теории эволюционного моделирования, позволяет эффективно строить модели сложных, открытых, динамических, слабо детерминированных систем.
К недостатку современных систем проектирования ПО можно отнести ориентацию на архитектуру фон Неймана как исполнительную платформу для объектной модели, когда объектная структура компилируется в совершенно не связанную с ней схему реализации - линейную последовательность машинных инструкций. В компании "КомпасПлюс" (compassplus.com), специализирующейся на системах электронных платежей, создана среда FloraWare, которая позволяет формировать объектную модель, работающую на виртуальной объектной машине, а построенные таким образом приложения исполняются на самых разных платформах (Windows, Linux, QNX RtP, Solaris; x86, x64, SPARC). Как пояснил сотрудник "КомпасПлюс" Сергей Ваганов, в FloraWare имеется поддержка нотаций UML, поэтому проектировщик работает только с понятиями, заданными объектной парадигмой. По замыслу FloraWare ближе к интерпретирующей среде SmallTalk, но качественное отличие связано с развитыми средствами объектного проектирования.
Предложена оригинальная среда проектирования ConceptModeller и в компании "ИТЕРА" (itera.ru), имеющей дело с нефтегазовой отраслью. Для ИТ-проектов этой отрасли характерно наличие слабо структурированных данных и гетерогенных источников информации, а применяемые методологии разработки плохо связаны с действующими стандартами, поэтому потребность в унифицированной модели всех шагов жизненного цикла ПО (ЖЦ) весьма актуальна. При создании ConceptModeller, как пояснил один из ее авторов Сергей Зыков, был задействован внушительный математический аппарат (теории конечных последовательностей, категорий, семантических доменов Скотта и семантических сетей). ConceptModeller автоматизирует все этапы ЖЦ: концептуализации, проектирования, реинжиниринга, быстрой реализации системы и т. д. Согласно оценкам авторов, потенциал ConceptModeller превосходит по диапазону возможностей подходы, предложенные в IBM RUP, Oracle CDM, Microsoft MSF, BEA Solution и др. Сильной стороной ConceptModeller также можно считать развитые средства интеграции с унаследованными решениями и простоту внедрения в действующие сложные системы.
Вопросам оптимизации жизненного цикла ПО было посвящено немало выступлений. Так, Юрий Булуй (Внешторгбанк) рассказал о внедрении в банке корпоративного стандарта ЖЦ на основе стандартов ГОСТ Р ИСО/МЭК 12207-99/ГОСТ 34.601-90. Заслуживают упоминания и усилия по адаптации и переводу на русский язык свода знаний по программной инженерии SWEBOK Сергея Орлика из российского представительства Borland - с соответствующей версией SWEBOK можно ознакомиться на сайте sorlik.blogspot.com.
В заключение
Эта замечательная и крайне полезная конференция, как явствует из официальной информации, имеет достаточно амбициозную цель: консолидацию локальных сообществ разработчиков ПО и интеграцию их в международные сообщества через обсуждение современных технологий и методик. Но обсуждение само по себе никакого практического результата обычно не дает, да и консолидация слабо подходит для цели и является скорее средством для достижения некоторого улучшенного состояния участников софт-рынка. Ценность данной конференции - прежде всего в попытке структурировать отечественные проекты в сфере программной инженерии, воодушевить разработчиков на новые трудовые свершения, продемонстрировать на наглядных примерах и проектах, что наши специалисты и эксперты уже давно не уступают западным по уровню мастерства не только в обычном программировании, но и в программной инженерии. Пиар в этой сфере ничуть не менее важен, чем в любой другой, тем более если речь идет об интеграции в мировую экономику.
Sergey Bobrovsky,
PCWeek/RE, January 18, 2006, Issue #41/2005