Обзор пакета программных средств компании Telelogic, реализующих концепцию управления жизненным циклом предприятия - ELM.
Еще несколько лет назад в проблематике управления предприятиями один из главных вопросов состоял в том, как убедить заказчиков в необходимости процессно-ориентированного подхода, то сейчас спектр задач в этой области явно смещается в сторону оптимизации бизнес-процессов. Шведская компания Telelogic известна как ведущий поставщик интегрированных программных решений для управления жизненным циклом предприятия (Enterprise Lifecycle Management, ELM). Под ELM понимается круг задач, связанных с определением целей бизнеса и приведением бизнес-процессов в соответствие с этими целями. Компания выделяет здесь три основных направления: оптимизация бизнес-процессов (Business Process Optimization, BPO), управление жизненным циклом приложений (Application Lifecycle Management, ALM) и разработка на основе моделей (Model-Driven Development, MDD).
"Конек" Telelogic - задачи управления проектами создания продуктов на основе заданных требований (Requirement-Driven Development, RDD). Такой подход, позволяя достичь поставленных бизнес-целей, обеспечивает устойчивость и полноту системы требований на всех этапах процесса разработки - от планирования продукта до его внедрения или вывода на рынок. Набор инструментов RDD образует платформу разработки, оптимизирующую производительность команды в целом и обеспечивающую соответствие продукта и процесса его создания нормативным актам, внутренним регламентам предприятия и требованиям аудита.
Решения Telelogic подходят для создания самого широкого спектра продукции, но в последние годы компания активно развивает свои инструменты применительно к разработке ПО и сейчас, по уверениям представителей компании, даже опережает в сфере управления софтверными проектами признанных лидеров рынка инструментальных средств.
Концепция ELM подразумевает, что компании должны четко сформулировать и обозначить свои бизнес-цели, идентифицировать и ранжировать потребности своих клиентов, привести в соответствие и оптимизировать бизнес-процессы и процессы разработки, чтобы выйти на рынок с продуктом, максимально удовлетворяющим нужды клиентов, с минимальными затратами на его реализацию в рамках планируемого бюджета и сроков. Контролируемое управление жизненным циклом предприятия поможет компании не просто создавать правильные продукты, чтобы увеличить свои доходы, но и создавать их правильно, минимизируя затраты и повышая качество.
Именно на решение этих задач нацелен пакет программных средств Telelogic (рис. 1), в который входит три группы продуктов: для управления архитектурой предприятия, для управления продуктами и для разработки инженерных систем и ПО.
Управление архитектурой предприятия
Эта группа продуктов представлена ПО System Architect - инструментом для моделирования архитектуры предприятия. Он поддерживает большинство общепринятых нотаций и сред (frameworks), способствующих быстрому и качественному моделированию архитектуры предприятия. На тот случай, что компании потребуется использовать собственные нотации, System Architect поддерживает разработку и применение собственных подходов и методологий.
Основные возможности System Architect - это бизнес-моделирование, моделирование приложений, моделирование данных, структурный анализ, выполнение декомпозиции моделей, построение матриц отношений. Вся информация о предприятии накапливается и хранится в едином репозитории System Architect (энциклопедии), что дает возможность предоставить доступ к обновляемой информации практически неограниченному количеству специалистов, поддерживать общекорпоративную терминологию, обсуждать проблемы в рамках единого корпоративного подхода. В качестве хранилища данных можно использовать Microsoft SQL Server, Microsoft Server Desktop Engine, Oracle. Для интеграции системы с другими приложениями предусмотрен обширный набор средств импорта данных.
Предопределенные роли пользователей наряду с широкими возможностями настройки прав доступа к базе данных повышают уровень защиты и сохранности данных. А гибкие настройки пользовательского интерфейса с возможностью создания индивидуальных настроек - как общих для всей энциклопедии, так и для каждого пользователя отдельно - обеспечивают высокую производительность и эффективность работы с System Architect.
Для расширения базовой функциональности и возможностей инструмента (например, настройки для автоматизации часто повторяющихся операций) служит встроенный язык программирования VBA. Для пользователей, которые выполняют ограниченный набор операций, можно создавать итерационные Web-ориентированные инструкции-учебники, в которых будет описана последовательность шагов и предоставлена возможность их исполнения.
System Architect поддерживает имитационное моделирование (возможность запуска модели на исполнение) в нотациях BPMN и IDEF3 (рис. 2), что позволяет увидеть реальное движение данных в модели, проанализировать наличие очередей, найти и устранить узкие места, оптимизировать процессы. С помощью системы создания отчетов можно готовить отчеты любой сложности и детализации, а также автоматически публиковать их на Web-сайте для общего доступа (System Architect/Publisher).
О компании Telelogic
Шведская компания Telelogic была создана в 1983 г. и первоначально занималась автоматизацией телекоммуникационных предприятий (отсюда и ее название). Однако со временем спектр отраслевого присутствия Telelogic существенно расширился, хотя традиционно фирма имеет сильные позиции в высокотехнологичных отраслях, в том числе в аэрокосмической и оборонной промышленности. По итогам 2007 г. доход компании составил 254,4 млн долл., что на 17% больше показателей предыдущего года. Офисы компании расположены в 22 странах мира, а ее штат насчитывает более 1200 человек.
В марте было объявлено о формировании московского офиса компании, который возглавил Кирилл Раннев, до того почти полтора десятка лет занимавший должность руководителя российского представительства Borland Software. Новое подразделение будет отвечать за управление бизнесом Telelogic в России и на рынках СНГ. В том же месяце стало известно, что достигнута официальная договоренность о приобретении Telelogic корпорацией IBM.
Управление продуктами
Telelogic Focal Point - это инструмент, обеспечивающий поддержку принятия решений при управлении требованиями, портфелем проектов и производством продукции. В число его возможностей для улучшения процесса принятия решений входят следующие:
- управление портфелем проектов и его оптимизация;
- поддержка решений при управлении производством продукции;
- оценка рисков и управление ими;
- расстановка приоритетов для идентификации стратегического направления развития продукта;
- управление потребностями клиентов;
- работа с конкурентной информацией;
- наглядное представление информации.
С помощью данного решения менеджеры по продукту могут собрать из разных источников и сконцентрировать в едином репозитории все те сведения, которые необходимо учитывать для принятия объективного и взвешенного решения о дальнейшем развитии продукта. Встроенный механизм определения приоритетов характеристик (функционала, параметров, критериев и т. д.) продукта позволяет выделить наиболее значимые из них. Кроме того, с помощью Focal Point можно создать план выпуска релизов, выделить и распределить необходимые ресурсы.
Соединяя возможности анализа сценариев "что, если" и методику визуализации, приложение Focal Point повышает эффективность производства и позволяет избежать наиболее часто встречающихся проблем, связанных с неправильной постановкой процесса принятия решения в рамках управления продукцией. Так, средства визуализации информации (например, диаграммы Ганта) упрощают процесс принятия решения, помогая понять, какие из требований стоит реализовать в первую очередь, учитывая, что их значимость высока, а стоимость разработки и риски невелики. А функции анализа сценария "что, если" позволяют определить, реализация каких характеристик продукта и в каком релизе будет наиболее эффективной для компании.
Инструментальные средства
После того как бизнес-процессы компании настроены и оптимизированы с помощью System Architect, а с помощью Focal Point определен приоритетный список требований, которые предполагается воплотить в новом продукте, можно воспользоваться решением Telelogic для ALM. Замкнутый цикл производства инженерных систем или программных приложений можно представить в виде последовательности этапов, которые реализуются с помощью инструментов Telelogic (рис. 3).
Управление требованиями
В семейство инструментов для управления требованиями Telelogic DOORS входят продукты DOORS, DOORS/Analyst и DOORS Fastrak.
Инструмент DOORS открывает эту линейку ПО Telelogic, отвечая как за первоначальный этап сбора и формулирования требований по проекту, так и за весь жизненный цикл реализации проекта.
Первоначально DOORS разрабатывался только как средство для управления требованиями в процессе разработки ПО. Однако заложенные в инструменте идеи оказались настолько привлекательными, что в настоящее время DOORS широко используется в компаниях, которые не имеют никакого отношения к разработке софта, но вынуждены - в соответствии с профилем своей работы - контролировать огромные объемы взаимосвязанной информации, например, при разработке инженерных систем.
Основное предназначение и функционал DOORS легко себе представить, если задуматься над тем, какие гигантские ресурсы затрачиваются, чтобы внести в проект необходимые изменения; отследить документы, в которые они вносятся; проверить вносимые дополнения на непротиворечивость друг другу, а также на соответствие различным нормативным документам (корпоративные правила, стандарты, законы); известить об этих изменениях всех вовлеченных в процесс; "заставить" их рыться в многостраничных документах, выискивая последние изменения, корректировать и приводить в соответствие имеющиеся планы и "утрясать" новые; согласовывать сроки этапов и проектов, терять время на многочисленных совещаниях, а для разных департаментов компании - тратить время и дополнительные усилия еще и на согласование и взаимоувязку совместных действий.
Тут полезно будет заметить, что, по данным аналитиков независимой компании The Standish Group, в 22% реализуемых проектов не все вносимые изменения принимаются во внимание; как следствие, 70% проектов не реализует всех поставленных задач. От 30 до 50% рабочего времени специалиста тратится на работу, никак не связанную с непосредственным решением его задачи: это время уходит на работу с документами, поиск требуемой информации, отслеживание последних редакций изменений и т. п. Из-за неправильной работы с требованиями опоздание для среднего проекта достигает 220%, и, в конце концов, 30-40% всех проектов просто "умирает" до завершения.
DOORS решает все эти проблемы, поскольку в него заложены определенные виды анализа (Impact analyze, Traceability analyze, Coverage analyze, Change Proposal System), позволяющие управлять и контролировать процесс реализации требований, внесение и отработку изменений на всем протяжении жизненного цикла проекта.
В любой момент времени DOORS может показать:
- статус работ как над каждым требованием отдельно, так и над группой требований;
- статус работы над всем проектом;
- кто отвечает за выполнение конкретного требования или группы требований;
- кто, когда и с какой целью вносил изменения - с возможностью вернуть любую из предыдущих формулировок (сохранение истории);
- как конкретное требование воплощается в модель, диаграмму, код, чертеж;
- какие ресурсы потребуются для реализации предлагаемого изменения (еще до того, как будет принято решение о его внесении);
- связь между требованиями заказчика, пунктами технического задания, программами верификации и тестирования и задачами управления проектом;
- любой промежуточный отчет.
Кроме того, DOORS воплощает в одном документе все многообразие информации: текст, таблицы, диаграммы, рисунки, аудио- и видеоинформацию.
Многие компании, работающие с требованиями, стараются представить их не только в виде текста, но и графически. Такой подход, с одной стороны, позволяет на самых ранних стадиях избежать двусмысленности или неточности толкования требований, а с другой - более наглядно отображает их суть. Для этих случаев предназначен DOORS/Analyst - расширенный вариант DOORS, в который встроена возможность моделировать требования, используя нотацию языка UML 2.0. Такой подход позволяет впоследствии "собирать" разные диаграммы в единое целое, используя более мощное средство моделирования Telelogic Tau (или ПО третьих фирм) для проверки и отработки функционала создаваемой системы, для симуляции поведения приложения или автогенерации кода.
Для поддержки работы над проектами создания ПО с короткими сроками поставки продукта Telelogic предлагает Web-решение DOORS Fastrak, которое реализует концепцию eXtreme Requirements Management. "Короткие" проекты разработки ПО отличаются тем, что исполнители, выполняя запросы заказчика, вынуждены постоянно балансировать между необходимостью делать быстро и требованием делать качественно. Будучи объединяющей средой, DOORS Fastrak устраняет тот хаос, который обычно образуется при попытках управления требованиями посредством Microsoft Word, Excel или электронной почты (а такой подход зачастую все еще используется во многих компаниях).
DOORS Fastrak доступен для работы либо как приложение, устанавливаемое на рабочем месте пользователя, либо как сервис по модели SaaS (Software as a Service); в последнем случае задействуется сервер компании Telelogic.
DOORS Fastrak не требует клиентского ПО - для работы достаточно лишь Web-браузера. В отличие от DOORS/Analyst, который выполнен на базе DOORS, решение DOORS Fastrak строится на базе Telelogic Focal Point.
Системные и программные разработки
Инструмент Telelogic Tau базируется на новом стандарте UML 2.0. Продукт поставляется в трех редакциях, самая полная из которых (Developer) позволяет решать следующие задачи:
- построение моделей с использованием диаграмм, имеющихся в стандарте UML 2.0;
- проверка диаграмм на соответствие синтаксису и семантике (нотации) языка UML 2.0;
- автоматический поиск и локализация ошибок в диаграммах;
- динамическая проверка поведения модели;
- отработка и корректировка функционала, закладываемого в модель;
- автоматическая генерация до исходного кода на языке используемого кодогенератора.
Средство Telelogic Modeler - бесплатно распространяемая среда проектирования встраиваемых систем и ПО на основе языка UML 2.1. Она включает возможности представления концептуальных моделей средствами графического языка, автоматического документирования, использования базы знаний и форумов, доступных через Web. Вариант Corporate Edition обеспечивает интеграцию с распространенными инструментами управления конфигурациями, в том числе с Telelogic Synergy.
Инструмент Telelogic SDL Suite построен на базе международного стандартного языка SDL (Specification and Description Language), официально признан ITU-ETSI, используется и рекомендован этими организациями для дизайна систем и приложений для сферы телекоммуникаций, систем реального времени, встраиваемого ПО. Большинство телекоммуникационных протоколов помимо текстового описания уже специфицировано ITU-ETSI с помощью SDL-диаграмм, для построения которых эти организации также используют Telelogic Tau SDL.
SDL Suite включает следующие основные опции:
- Editor + Analyzer - возможность для пользователя строить SDL-диаграммы с помощью различных составляющих (блоки, функции, процедуры, вставки с комментариями и т. д.);
- Simulator - позволяет в режиме реального времени оценить поведение всей системы или ее отдельных частей с помощью MSС-диаграмм (диаграмм последовательностей);
- Validator - функция дополнительного поиска ошибок, позволяющая находить перекрестные ссылки, "мертвые петли", разрывы в графе, ссылки "в никуда", ошибки ввода-вывода и т. д.;
- Code Generator - кодогенератор, автоматически выдающий до 100% исходного кода на языке С;
- Target Tester - встроенный инструмент тестирования, позволяющий контролировать (или оценивать) время исполнения кода, что особенно важно при разработке систем реального времени.
Инструмент Telelogic TTCN Suite построен на базе международного языка TTCN-2 (Tree and Tabular Combined Notation) и рекомендован ITU для тестирования систем и приложений, используемых в сфере телекоммуникаций, в системах реального времени, встраиваемом ПО. Этот продукт позволяет заменить различные стенды и оборудование для тестирования одним компьютером, на котором моделируется все многообразие внешних воздействий. Telelogic TTCN имеет сертификат ISO и может служить для тестирования "черных ящиков". При этом, как и в случае SDL, основные телекоммуникационные тесты уже специфированы ITU и написаны на языке TTCN с использованием TTCN Suite.
Хотя и SDL Suite, и TTCN Suite могут работать независимо, неоспоримое преимущество этих инструментов - наличие SDL-to-TTCN-link, которая обеспечивает связь между ними. За счет этого появляется возможность проверки самих создаваемых test case на правильность: Tau TTCN подключается к Tau SDL Simulator, после чего пошаговое исполнение теста отслеживается на MCS-диаграммах. Кроме того, еще на стадии дизайна SDL Suite транслирует необходимую информацию в TTCN Suite с тем, чтобы наполнить данными специальные "словари", из которых пользователь, создающий test case, мог бы выбирать нужные для данного теста сигналы, сообщения, параметры, интерфейсы и т. д. (таким образом, система не дает пользователю ошибиться).
TTCN Suite можно интегрировать с DOORS, и тогда информация о Verdict будет автоматически попадать в поле атрибута соответствующего требования, сообщая пользователю о том, пройден тест или нет. Данный набор широко используется компаниями - производителями оборудования. В частности, многие производители тестового и измерительного оборудования (Tektronix, Schlumberger и т. д.) используют этот инструмент для проверки работоспособности своей продукции.
Управление изменениями и конфигурациями
Здесь компания предлагает два инструмента - Telelogic Change и Telelogic Synergy. Каждый из них можно использовать независимо друг от друга, но их совместное применение дает дополнительный эффект (рис. 4). Оба приложения работают с единой базой данных, которая включает все необходимые средства резервного копирования и защиты от сбоев.
Telelogic применяет в конфигурационном управлении технологию task-based. Здесь надо пояснить, что согласно другим подходам во главу угла обычно ставится файл, вокруг которого все и "вертится": этот файл контролируется, над ним проводятся операции check-in/check-out, по изменениям в нем судят о проделанной работе. В продуктах Telelogic базовым элементом, с которым оперирует инструмент, служит task - конкретное задание разработчику, сформулированное простым и понятным языком.
Разумеется, для решения возложенной на него задачи пользователю придется, как и раньше, вносить изменения в файлы (или создавать новые), но теперь за всеми манипуляциями с файлами следят программные инструменты. Цель разработчика - четко выполнить возложенную на него задачу, проверить работоспособность сделанного, отчитаться о выполнении.
Последовательность действий при этом выглядит следующим образом:
- формирование первичного запроса на изменение - Change Request (CR);
- разбиение сложного запроса на более простые логические задачи (Task) и распределение заданий между исполнителями;
- выполнение исполнителями поставленных задач с использованием (созданием) тех файлов, которые они считают необходимыми.
Программный инструмент автоматически выполнит операции check-in/check-out, проконтролирует (запретит или разрешит) параллельные разработки, "привяжет" задействованные в решении файлы к конкретному заданию.
Управление изменениями, основанное на задачах, дает ощутимые преимущества в тех случаях, когда:
- требуется полный контроль над изменениями, начиная от момента возникновения запроса и до момента выпуска новой версии ПО, включающей данное изменение;
- необходимо четко отслеживать выполнение задач, поставленных разработчикам;
- одно логическое изменение требует модификации большого количества файлов или объектов;
- одно и то же изменение необходимо вносить в несколько версий ПО, например, в "заплату" для предыдущей версии и в текущую версию, которая еще разрабатывается;
- ведется распределенная разработка либо в работе участвует множество разработчиков.
Telelogic Change - это система управления изменениями, использующая Web-технологии. Ее преимущество - возможность настройки под требуемый жизненный цикл работы с изменениями, принятый в компании. Основные стадии прохождения запроса на изменение (Change Request) можно изменять и настраивать под конкретные нужды разработчика с помощью специального встроенного редактора. Процесс адаптации настолько гибок, что Telelogic Change можно настраивать не только на процесс, принятый в компании в качестве корпоративного стандарта, но и под каждый конкретный проект заказчика или даже на конкретные случаи, которые могут считаться форс-мажорными. И все эти процессы будут поддерживаться Telelogic Change одновременно.
Назначение Telelogic Synergy - управление версиями ПО. Это означает, что для каждой версии Synergy будет сохранять и контролировать исходные тексты программ и исполнимые коды, комплекты документации, тестовые данные и результаты тестирования, списки обнаруженных ошибок (bug tracking) и файлы с исправлениями (patch) и многое-многое другое, обеспечивая синхронизацию общей базы данных с рабочим местом пользователя. В состав Synergy входят серверные компоненты, СУБД и клиентская часть, которая для удобства отдельных групп пользователей представлена тремя разными интерфейсами, описанными ниже. Кроме того, все операции в Synergy можно выполнять из интерфейса командной строки CLI (Common Line Interface), что удобно при написании собственных скриптов (или bat-файлов) для автоматизации процессов управления.
Продукт включает три варианта клиентского интерфейса. Клиент для разработчиков представляет собой наиболее удобный интерфейс для работы с проектами, задачами и файлами. Обычно он используется разработчиками и менеджерами проектов.
Классический клиент Synergy предназначен для наиболее полного контроля над конфигурациями и чаще всего используется инженерами по сборке (build manager) или администраторами. Этот вариант позволяет организовать управление релизами, шаблонами, проектами, задачами, а также контролировать работу с распределенными базами данных (Distributed CM).
Клиент, интегрированный в оболочку Wi ndows (Active CM), - наиболее прозрачный интерфейс Synergy, работающий в среде Microsoft Windows и предназначенный для тех групп пользователей, которым не требуется глубоко вникать в особенности работы с Synergy.
Тестирование
Инструмент Telelogic Tester построен на базе стандарта TTCN-3 (Testing and Test Control Notation), принятого в 2001 г. как дальнейшее развитие и усовершенствование стандарта TTCN-2, на котором основан пакет TTCN Suite.
|
Рис. 1. Общая схема управления жизненным циклом предприятия. |
|
Рис. 2. Запуск модели на исполнение в среде System Architect. |
|
Рис. 3. Управление жизненным циклом приложения с помощью инструментов Telelogic. |
|
Рис. 4. Telelogic Change и Synergy работают независимо друг от друга, но эффективнее применять их совместно. |
|
Рис. 5. Контроль за выполнением установленных правил при написании кода. |
Обзор пакета программных средств компании Telelogic, Telelogic Logiscope предназначен для качественной оценки уже созданных кодов и поиска тех мест, где наиболее вероятно появление ошибок. После анализа кода и сравнения его с моделью качества (она уже заложена по умолчанию, но может корректироваться в соответствии с внутренними правилами компании) Logiscope формирует полный отчет, включая набор разнообразной метрической информации о коде, о его положительных и отрицательных сторонах.
Инструмент поддерживает функцию обратного проектирования, c помощью которой можно восстановить структуру программы по объектному коду, что полезно для понимания логики ее работы и характера используемых данных. Это особенно важно, если система эксплуатируется уже давно, в нее множество раз вносили изменения, часть разработчиков уволилась, некоторые детали забыты и т. д.
В Logiscope имеются три основные опции. Опция Audit, анализируя исходный код и сравнивая его с моделью качества, строит граф системы и на основе его анализа информирует пользователя о разрывах, замкнутых петлях, указывает перегруженные или вовсе не используемые блоки, дает качественную оценку кода по признанным критериям, которые можно корректировать с учетом принятого в компании подхода.
RuleChecker применяется для формирования единого подхода к написанию кода. Используя заранее встроенные шаблоны качества (которые при необходимости пользователь может корректировать), он подгоняет индивидуальную манеру написания кода любого пользователя под единый стиль, принятый в компании (рис. 5).
TestChecker позволяет выяснить, насколько полно применяемые разработчиком тесты проверяют работоспособность создаваемой им системы. Этот компонент наблюдает за поведением тестируемой программы в ходе ее исполнения и строит деревья вызовов, профили выполнения, отмечает невызываемые функции и неисполняемые процедуры.
Документирование
Средство Telelogic DocExpress используется для автоматической генерации отчетов и документации. Он освобождает пользователя от рутинной работы по составлению огромного числа отчетов и сопроводительной документации, выполняя эту работу в автоматическом режиме и формируя отчеты по заранее заложенным шаблонам. Имеется возможность настроить шаблоны под любые требования и ГОСТы. DocExpress позволяет импортировать массу информации из разных приложений и в разных форматах - текст, таблицы, рисунки, схемы, диаграммы и т. д.