Технологии на проектах
В условиях огромной конкуренции на рынке разработки программного обеспечения (ПО) и постоянного повышения требований к самому ПО, существует необходимость увеличения эффективности процессов, сопровождающих разработку. Одним из направлений движения к этой цели, является применение современных информационных технологий для обеспечения процессов, протекающих в ходе всего жизненного цикла продукции и ее компонентов. Жизненный цикл (ЖЦ) продукта, как его определяет стандарт ISO 9004-1, - это совокупность процессов, выполняемых от момента выявления потребностей общества в определенной продукции до удовлетворения этих потребностей и утилизации продукта.
Информационное взаимодействие субъектов, участвующих в поддержке ЖЦ, должно осуществляться в едином информационном пространстве. В основе концепции единого информационного пространства лежит использование открытых архитектур, международных стандартов и апробированных коммерческих продуктов обмена данными. Стандартизации подлежат форматы представления данных, методы доступа к данным и их корректной интерпретации. Первые шаги в организации единого информационного пространства были предприняты еще в 80-х годах в оборонном комплексе США. Возникла необходимость в обеспечении оперативного обмена данными между заказчиком, производителем и потребителем вооружений и военной техники (ВВТ), а также в повышении управляемости, сокращении бумажного документопотока и связанных с ним затрат. Данная концепция изначально базировалась на понятия ЖЦ средств ВВТ и охватывала в основном фазы производства и эксплуатации. На первоначальном этапе инициатива получила обозначение CALS (Computer Aided Logistic Support - компьютерная поддержка поставок). Доказав свою эффективность, концепция CALS начала активно применяться в промышленности, строительстве, транспорте и других отраслях экономики, расширяясь и охватывая все этапы ЖЦ продукта - от маркетинга до утилизации.
Новая концепция сохранила существующую аббревиатуру (CALS), но получила более широкую трактовку: Continuous Acquisition and Life cycle Support - непрерывная информационная поддержка жизненного цикла продукта. Таким образом, идея, возникшая в Министерстве обороны США и связанная только с поддержкой логистических систем, быстро превратилась в глобальную бизнес-стратегию перехода на безбумажную электронную технологию и повышения эффективности бизнес-процессов, выполняемых в ходе ЖЦ продукта за счет информационной интеграции и совместного использования информации на всех этапах ЖЦ. В настоящее время в мире действует более 25 национальных организаций, координирующих вопросы развития CALS-технологий, в том числе в США, Канаде, Японии, Великобритании, Германии, Швеции, Норвегии, Австралии, а также в рамках НАТО. В отличие от интегрированной автоматизированной системы управления производством (ИАСУ), CALS-система охватывает все стадии ЖЦ.
Реализацией концепции CALS является методология RUP - Rational Unified Process компании Rational Software. Эта методология, активно используемая нами на всех фазах жизненного цикла разработки программного обеспечения, начиная с фазы технического задания и заканчивая фазой ввода в действие и сопровождения, покрывает такие процессы, как:
- Моделирование
- Сбор требований
- Проектирование
- Реализация
- Тестирование
- Развертывание
- Конфигурационное управление
- Управление проектом
- Инфраструктура
Rational Unified Process представляет собой методологию, упорядочивающую жизненный цикл программного обеспечения с распределением ответственности между исполнителями. В конечном итоге такая методология позволяет наладить производство высококачественного, отвечающего требованиям пользователя программного обеспечения и при этом полностью соблюсти установленный план и бюджет.
RUP очень тесно связан с языком моделирования UML, при помощи которого описываются все модели, создаваемые на протяжении жизненного цикла разработки программного обеспечения.
Единое информационное пространство, в котором осуществляется взаимодействие субъектов представляет собой технологический стек, элементами которого являются следующие инструментальные средства, используемые во всех процессах RUP:
- Rational RequisitePro
- Rational Rose
- MS Visual Basic
- Oracle JBuilder
- PL\SQL Developer
- MS Visual SourceSafe
- G7Build Manager
- WiseInstaller
- Rational Robot
- Rational ClearQuest
- MS Project.
Использование этих инструментальных средств в различных процессах описано ниже.
На этапе моделирования осуществляется анализ структуры организации и ее деятельности. Основным результатом моделирования является подготовка модели бизнес-сценариев, а также детализация основных бизнес-сценариев. Такая модель описывается диаграммой вариантов использования (USE-CASEDIAGRAMM) при помощи инструмента Rational Rose.
На этапе сбора требований определяются функциональные границы системы, которые в виде требований попадают в специализированный репозиторий Rational RequisitePro.
На этапе проектирования, также как и на этапе моделирования используется инструмент Rational Rose и готовится техническая проектная документация, в том числе рабочие проекты на компоненты системы. В качестве изобразительных средств UML для подготовки рабочих проектов используются диаграммы классов (CLASSDIAGRAMM), диаграммы состояний (STATECHARTDIAGRAMM), диаграммы деятельности (ACTIVITYDIAGRAMM), диаграммы последовательности (SEQUENCEDIAGRAMM), компонентные диаграммы (COMPONENTDIAGRAMM).
На этапе реализации, в зависимости от требований проекта, используются такие инструментальные средства как Microsoft Visual Basic, Borland Delphi, Oracle J Developer, PL\SQL Developer и др. Все исходные коды программ сохраняются в едином репозитории Microsoft Visual Source Safe. Результатом этапа реализации является исполняемая программа, которая готовится из исходных кодов специализированным инструментом G7 Build Manager.
На этапе тестирования осуществляется контроль качества реализованного программного обеспечения, выполнение заявленных требований, проверяется взаимодействие между объектами, корректная интеграция компонентов. По статистике, тестирование программного обеспечения занимает от 30 до 50 процентов от всей стоимости его разработки. Для обеспечения возможности быстрого автоматического регрессионного тестирования программного обеспечения используется RationalRobot. Идентификация дефектов выполняется при помощи общего репозитория RationalClearQuest, доступного всем участникам проекта.
На этапе развертывания осуществляется разработка документов поддержки, создание инсталляционного продукта, установка продукта и проведение приемо-сдаточных испытаний на стороне заказчика. При помощи диаграмм развертывания (DEPLOYMENT DIAGRAMM) описывается физическое представление программной среды. Большую часть задачи развертывания сложного сетевого программного обеспечения берет на себя программа-инсталлятор, подготавливаемая при помощи Install Shield.
Обеспечение целостности продукта и гарантии стабильной работы на этапе эксплуатации у заказчика достигается системой конфигурационного управления. На этом этапе осуществляется аудит изменений - как в самом программном обеспечении, так и в требованиях к нему. Основным инструментарием на этом этапе является Rational RequisitePro и Rational Clear Quest.
Процесс руководства проектом поддерживается инструментом MicrosoftProject. С его помощью осуществляется планирование итераций, версий, релизов. А также мониторинг контроля фактического исполнения планов.
Все основные проекты ведутся с применением технологического стэка инструментальных средств, обеспечивающих технологию поддержки жизненного цикла. При этом в каждом случае упор делается именно на те инструменты, которые необходимы для решения специфических задач проекта.
Проект ИАС "Недвижимость-2" специфичен тем, что в разрабатываемой системе большое количество функций связано с технологическими документами. Именно автоматизация этих функций позволяет сделать систему удобной для пользователя. Поэтому при разработке таких функций делается основной упор на тщательность проработки рабочих материалов с использованием RationalRose. За счет масштабности системы и разнотипности пользователей на этапе эксплуатации системы возникает большое количество запросов на расширение. Отслеживание таких расширений и своевременный запуск их в разработку, а затем включение в версии и патчи являются проблемами проекта. Решение этих проблем существенно упрощается при активном использовании RationalClearQuest, RationalRobot, WiseInstaller.
Для проекта ИС ТУР, специфичным является его процессно-ориентированная направленность, а также то, что система строится как территориально распределенная. Поэтому требуется детальное описание автоматизируемых бизнес-процессов в виде диаграмм ACTIVITY DIAGRAMM Rational Rose.
АИС МосгорБТИ создается как система, автоматизирующая всю деятельность организации, начиная от геоинформационной подсистемы, встроенного САПРа, до подсистемы управления заказами и бухгалтерской подсистемы. Фиксировать, выполнять трассировку требований, их реализацию помогает система Rational RequisitePro. Также как на проекте АИС "Недвижимость-2", при помощи инструментов RationalClearQuest, Rational Robot, Wise Installer решаются вопросы подготовки версий, патчей, автоматического регрессионного тестирования.
Проект подсистемы страхования для ДИГМ интересен тем, что является интранет-решением и реализует функции интеграции унаследованной системы "Недвижимость" и новой системы ИАС "Недвижимость-2", направленные на то, чтобы обеспечить пользователям возможность прозрачно работать со всем массивом информации департамента. В разработке подсистемы активно используется инструмент OracleJBuilder и его интеграционные возможности.
Таким образом, описанная выше технология использования инструментальных средств дает полное право говорить о существовании замкнутого, т.е. покрывающего весь жизненный цикла разработки программного обеспечения, единого информационного пространства. Что соответствует концепции CALS и требованиям по качеству процессов ISO 9000.
|