Из пророков - в коммерсанты
Несколько лет назад в Internet активно обсуждалась методология создания и сопровождения больших программных комплексов с использованием формальной нотации Booch’93, разработанной американцем Гради Бучем. Интерес к творчеству Буча в нашей стране оказался настолько велик, что в российских электронных конференциях его величали ни много ни мало, как пророком ООП.
Предложенная им технология, существовавшая сначала на бумаге, вызвала такую лавину писем от программистов со всего мира, что сей пророк от софта решил воплотить свои идеи в коммерческих продуктах, освоил профессию бизнесмена и организовал фирму Rational Software (RS), специализирующуюся на создании объектно-ориентированных средств разработки крупных программных комплексов. Вместе с Бучем ведущие должности в новой компании заняли люди, не менее достойные звания компьютерных пророков. Это были Джеймс Рамбо, известный как создатель технологии объектного моделирования (OMT, Object Modeling Technique), и Ивар Якобсон, придумавший методику OOSE аналогичного профиля. В 1996 г. эти специалисты совместно разработали Универсальный язык моделирования (Unified Modeling Language, UML), обобщающий их многолетние труды на ниве ООП. Данный язык используется для визуального объектно-ориентированного описания моделируемых систем. С рекомендациями использовать UML в качестве стандарта в своей области выступили практически все крупнейшие компании - производители ПО (Microsoft, Oracle, HP и др.).
Сегодня пророки-коммерсанты успешно пожинают плоды своих теоретических разработок в области объектного моделирования. Наибольшим спросом из созданных их фирмой продуктов пользуется Rational Rose, представляющий собой набор средств разработки больших программных комплексов, близкий по своей идеологии к CASE-системам. Графическое построение модели создаваемой программы осуществляется в нотациях Booch’93 или OMT. В них добавлено несколько фундаментальных понятий объектной ориентированности (модуль, состояние и др.), отсутствующих в морально устаревающей нотации IDEF. В последнюю, четвертую, версию Rational Rose дополнительно встроена поддержка языка UML.
Одной из важных характеристик Rational Rose является наличие платформно-независимого репозитория. Он хранит полное описание создаваемой системы и автоматически обеспечивает целостность проекта, в то время как каждый программист группы (или системный аналитик) работает со своим индивидуальным рабочим пространством, отражающим “личный взгляд” человека на проектируемую систему. Имеется возможность декомпозиции текущего содержимого репозитория в программные пакеты поддержки групповой работы более низкого уровня (такие, как PVCS, SourceSafe и др.). При этом возможна автоматическая генерация исходного кода созданной модели на языках Си++, Ада, VisualBasic, Java, Smalltalk, SQLWindows и др. Допустимо обратное преобразование из исходных текстов в модели Rational Rose. Подобные конвертации разрешены на любой стадии создания и сопровождения ПО.
Многие идеи, используемые в Rational Rose, заложены в отдельные коммерческие продукты RS. Эти продукты охватывают все мыслимые потребности современных разработчиков. Например, Rational Apex C/C++ представляет собой графическую платформно-независимую систему разработки программ на Си/Си++ с использованием объектно-ориентированных технологий RS. Эта система поддерживает групповую работу и включает в себя графический редактор, компилятор и отладчик. Специальный модуль анализирует семантику программы на уровне исходных текстов, сохраняя описание ее логической структуры и отслеживая вносимые изменения на предмет выявления потенциальных ошибок. Rational Apex позволяет отвлечься от непосредственного кодирования и дает возможность организовать работу с исходными текстами на уровне интерфейсов и спецификаций с использованием объектного графического подхода. Идея интерфейсов заимствована из Ады, где жесткие требования к описанию каждого модуля приводят к существенному снижению числа ошибок в программах.
Летом 1996 г. был выпущен аналогичный продукт для Java. С учетом особенностей этого языка, поддерживающего понятие “интерфейсов”, почти полностью совпадающее с аналогичным понятием, специально введенным в продукт RS для Си++, Rational Apex/Java позволяет создавать крупные проекты повышенной надежности. Немалую роль играет и семантика наследника Си++, в котором устранены потенциально опасные в плане провоцирования ошибок языковые конструкции.
Определяющим при выборе средств разработки программных систем является качество получаемого продукта. Пророки из RS ввели формальное понятие “высоконадежного ПО”. Для его создания они предлагают использовать свой продукт VADS-sc, который позволяет существенно упростить и автоматизировать все этапы жизненного цикла программного обеспечения - проектирование, разработку, верификацию кода и логической структуры программы, тестирование, создание документации и сопровождение. Пока этот продукт поддерживает генерацию исходного кода для созданной модели только на Аде. В VADS-sc встроен быстрый кросс-платформный компилятор для этого языка.
Хороший проект не обойдется без документации. Фирма RS выпустила продукт SoDA (Software Documentation-Automation Tool), который позволяет для проекта, разрабатываемого с помощью технологий RS, автоматически генерировать документы в виде, соответствующем различным международным стандартам. Сами документы создаются в формате WinWord 7.0 и других наиболее распространенных редакторов. Их содержание способно охватить практически все уровни сопровождения ПО - начиная от подробного документирования исходного кода и кончая общим формальным описанием модели (системным проектом).
Продукты фирмы Rational Software сегодня используются крупнейшими фирмами мира (достаточно упомянуть Microsoft). Сотрудники RS не собираются останавливаться на достигнутом и трудятся над новыми версиями своих программ. За несколько лет они захватили значительную долю рынка CASE-систем, потеснив более известные компании, и этот успех подтвердил правильность выбранной ими стратегии - ориентация на собственные теоретические разработки, а не клонирование имеющихся систем.
Адрес фирмы Rational Software: http://www.rational.com.
P. S. На данном сервере вы можете зарегистрироваться и подписаться на материалы о новых разработках Rational Software. Интересно, что после того как я послал письмо на соответствующий электронный адрес, мне менее чем через 20 секунд пришло автоматически сгенерированное уведомление о том, что я зарегистрирован как подписчик, и поздравительное письмо от фирмы.
Сергей Бобровский