Система генерации проектной документации Rational SoDA

© Александр Новичков
технический специалист Interface Ltd.
преподаватель УЦ Interface Ltd.
КомпьютерПресс #10 2001

Введение

Ни для кого не секрет, что у любого сотрудника компании уходит много рабочего времени на написание всевозможных отчетов. Как показывает статистика, из 8 часов рабочего дня на документирование тратится 1 час, то есть к концу недели мы получаем 5-6 часов "потерянного" времени. Потерянного - с точки зрения руководителей и заказчиков проекта, которые всегда хотят быть в курсе происходящих событий и знать, за что они платят деньги. Что же касается разработчиков, то и они не в восторге от такой "рутины" - им просто неинтересно составлять отчеты, тем более отчеты читабельные, то есть понятные не только их авторам.

Согласитесь, ситуация достаточно типична для всех компаний, связанных с разработкой. И кажется, что из этого порочного круга нет выхода. Однако с появлением технологий Rational все уже не столь печально, поскольку программные продукты, составляющие оптимальные решения для каждого этапа в разработке ПО, закрывают собой все существующие бреши и несогласованности в разработках. Некоторые из таких продуктов (ClearCase - средство конфигурационного управления; средства тестирования для разработчиков; ClearQuest - средство управления изменениями) касались только "кухни" проекта. Данные, полученные в результате работы программ, могут относиться к коммерческой тайне и поэтому не подлежат разглашению. Даже заказчик системы не владеет всеми тонкостями разработки. Однако общаться с заказчиком (равно, как и с собственным руководством) надо, и не на компьютерном сленге, а на языке, понятном всем окружающим, независимо от степени их владения информационными технологиями. Заказчику надо демонстрировать технические задания, планы работ, описания системы... Но это лишь малая толика проблем, связанных с отчетностью, которые позволит решить SoDA (Software Documentation Automation) - оригинальная разработка компании Rational, значительно упрощающая процесс создания проектной документации и поддержания ее в течение всего цикла разработки ПО.

Можно, правда, сказать, что уже есть средства отчетности вроде Crystal Reports и т.п., поэтому не нужен еще один инструмент, выполняющий аналогичные функции. Спешу возразить: это не так, поскольку SoDA является уникальным продуктом и не подменяет ни одно из средств отчетности. SoDA отличается от обычных средств документирования и отчетности тем, что позволяет делать то, что другим не под силу. Но об этом чуть позже...

А пока обратимся к таким темам, как управление качеством и выработка корпоративного стандарта. Любой документ, любая бумага, любое слово в компании должны быть стандартизованы, то есть компания должна выработать корпоративный стандарт на разные этапы разработки продукции - программного обеспечения, если речь идет о софтверной компании. Разрешение всех проектных нюансов, связанных со стратегией выработки концепций, содержатся в продукте Rational, носящем имя Rational Unified Process. Этот продукт позволит, основываясь на опыте многих крупных компаний - разработчиков программного обеспечения, выстроить выпуск собственного ПО наиболее верным способом (здесь я не буду вдаваться в дебри RUP, а отошлю читателей к специальным книгам и статьям, где данная тема подробно изложена).

Выделив из всего производственного процесса только документирование и отчетность, попробуем понять, какие возможности предоставляет SoDA. Итак, компании необходимо иметь некий стандарт на отчетность для внутренних целей и для объяснения с заказчиком. Сейчас, как известно, на софтверном рынке очень много подрядчиков и не очень много заказчиков, платящих деньги за работу. А те, кто есть, не спешат доверять свои заказы и деньги первой встречной компании, которая декларирует стопроцентное исполнение заказа. В нынешних условиях мерилом зрелости компании является не ее статус на рынке разработок, а уровень CMM (Capability Maturity Model - модель зрелости процессов создания ПО), который ей присвоен. Получение уже второго уровня CMM софтверной компанией активизирует приток средств от заказчиков, поскольку этот уровень не на словах, а на деле гарантирует исполнение заказа в срок и без превышения бюджета. Но если СММ еще только развивается, то сейчас вовсю шагают по стране такие стандарты, как ISO, да и отечественные ГОСТы на разработку и документирование никто не отменял. И во всех этих стандартах уделяется большое внимание документированию и отчетности.

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

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

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

Что такое SoDA?

SoDA, по существу, представляет собой макрос, написанный для MS Word и особенно полезный при реализации крупных информационных проектов, в которых на составление документации и ее постоянную переработку обычно тратится очень много времени и сил разработчиков.

По задаваемым пользователем шаблонам SoDA "компилирует" документацию, собирая в один документ текстовые и графические данные из различных источников, например из моделей, созданных в Rational Rose. Далее пользователь может отредактировать полученный документ с помощью Microsoft Word или Adobe FrameMaker. Как и любая система отчетности, SoDA базируется на тех данных, которые получает из сторонних программ.

SoDA поддерживает всю линейку продуктов Rational Software, позволяя создавать сложные комбинированные отчеты на основе выходных данных программ состава Rational Suite. Плюс ко всему SoDA имеет доступ к данным из Microsoft Project.

Основные возможности системы:

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

Давайте немного остановимся на первом режиме, когда за основу берется стандартный шаблон. Известно, что компания Rational не только полностью описала процесс выпуска программного обеспечения, но и создала программные средства для каждого этапа этого процесса. Следовательно, каждый продукт сохраняет данные, а SoDA по ним строит ("компилирует") отчет.

Если внимательнее присмотреться к этапам разработки приложений с точки зрения Rational, получится следующий список:

  1. Бизнес-моделирование.
  2. Определение требований.
  3. Анализ и проектирование.
  4. Тестирование.
  5. Реализация.
  6. Внедрение.

Естественно, все этапы детально описаны, и на каждом из них предполагается получение документа строго определенного образца (согласно RUP), после того как соответствующие данные были обработаны той или иной программой из набора средств Rational. Так, на первом этапе при помощи SoDA можно получить документы "Оценка организации заказчика", "Словарь терминов предметной области", "Коммерческое предложение", "Бизнес-правила" и т.д. На втором этапе можно получить документы "Спецификация на программную систему", "Спецификация на функции системы".

Каждый из этих отчетов будет соответствовать RUP, а форма изложения - отражать требования ISO. В дальнейшем такой документ можно согласовать с заказчиком. Обратите внимание: первый этап называется "Бизнес-моделирование", что подразумевает использование на данном этапе средств визуального проектирования. Согласно технологии RUP, этим средством является Rational Rose, позволяющее на основе различных диаграмм получить полную бизнес-модель предприятия и модель проектируемой системы. Соответственно, опять же по технологии RUP, на этапе проектирования аналитик или проектировщик не только рисует модель, создавая определенные связи между диаграммами, но и комментирует каждое свое движение на специальных полях либо подключает уже имеющиеся документы к модели. Разумеется, в результате получается отличная модель, полностью описывающая бизнес-процессы и программную систему. Правда, понятной она будет только узкому кругу лиц, представляющих себе полную картину сделанного.

Заказчик же, к сожалению, зачастую плохо ориентируется в мире диаграмм... Вот и настает черед SoDA! Из меню Rose запускается составитель отчетов, пользователь выбирает тип отчета и через 1-5 минут получает готовый документ с разметками, комментариями и фрагментами моделей в формате Word. При этом все элементы документа представляют собой внедренные объекты, а это значит, что изменения, внесенные в модель, автоматически отражаются в документе.

В табл. 1 показано, с какими программными продуктами работает SoDA и какие отчеты может создавать.

Для тех, кто не знаком с терминологией, в табл. 2 даны расшифровка и описание типов диаграмм в Rose.

Таблица 1
ПродуктОтчетХарактеристика/комментарий
ClearCaseVersionОтчет по версии одного элемента из репозитария ClearCase
 VobОтчет по состянию всех репозитариев в целом
 ElementОтчет по свойствам элементов
 RegionОтчет по всем используемым в проекте регионам
ClearQuestAll Defect in This StateВывод всех дефектов, находящихся в указанном состоянии
RequisiteProDocsReqts.docОтчет по требованиям и документам проекта
 Reqts.docОтчет по требованиям
 ReqtsAttrs.docОтчет по требованиям с выводом атрибутов требований
 ReqtsTraces.docОтчет по требованиям с использованием трассирования
TeamTestBuildDetail.docДетальный отчет по тестированию с выводом ошибок, состояний и владельцев
 Build Summary.docУпрощенная версия вышеуказанного отчета
 ComputerDetail.docОтчет по характеристикам компьютеров, на которых проводилось тестирование, в том числе IP-адрес машины, на которой проигрывались тесты, наименование операционной системы
 ScriptDetail.docОтчет по скриптам тестирования, в том числе путь к файлу, имя его владельца
 TestDocDetail.docОтчет по тестовым документам
Rose498idd.docОтчет по списку документов, дизайну интерфейса, трассировке требований
 498irs.docСписок документов, требования к интерфейсу, квалификационный лист, трассировка требований
 498ocd.docСписок документов, требования к продукту, квалификационный лист, трассировка требований
 498sdd.docCSCI-заключение, дизайн, трассировка требований
 Classes.docОтчет по всем классам в системе. Отчет следует иерархии и показывает связи
RUPActor Report.docПростой и быстрый отчет по характеристикам, отношениям и диаграммам состояний модели

Таблица 2
АббревиатураРасшифровкаОписание
IDDInterface Design DescriptionОписание интерфейса системы
IRSInterface Requirements SpecificationСпецификации на требования интерфейса
OCDOperational Concept DescriptionОперационное концептуальное описание
SDDSoftware Design DescriptionОписание программного дизайна
SDPSoftware Development PlanПлан разработки
SRSSoftware Requirements SpecificationСпецификации на требования
SSSSystem/Subsystem SpecificationСпецификации на систему

Еще раз внимательно посмотрите на табл. 1. Хотя я не стал описывать все виды стандартных отчетов, представленного списка с лихвой должно хватить для правильной оценки возможностей продукта. К слову сказать, все вышеприведенные форматы отчетов помогут аналитикам и проектировщикам точно договориться с заказчиком о том, какую систему он хочет получить. Тестировщики же смогут генерировать отчеты по всем ошибкам (дефектам) и представлять их в удобной форме.

Не остались без внимания и разработчики. Для них будет полезным отчет по классам, когда в наглядном виде можно получить список классов с иерархией и описанием всех атрибутов и методов, не выходя из среды разработки. В качестве одного дополнительного (я бы даже сказал - комплексного) штриха можно с помощью только Rose и SoDA сделать отчет по классам той системы, которая УЖЕ написана и скомпилирована! Rose имеет механизм так называемого обратного проектирования, когда исходный код превращается в модель Rose (преобразуясь в UML-нотацию). При обратном проектировании учитываются все составляющие классов, а также комментарии, которыми они снабжались, вследствие чего на выходе получается полная модель всех классов (с иерархией). После этого достаточно будет просто пропустить модель через систему генерации отчетов - и вы получите полноценный документ, описывающий систему классов программного продукта по всем мыслимым и немыслимым стандартам и правилам!

Понятно, что даже с помощью SoDA трудно получить стопроцентно читабельный отчет для заказчика, но свои процентов восемьдесят такого отчета SoDA честно сгенерирует. Остальную правку можно возложить на плечи специалиста, способного придать отчету (на этом этапе уже - документу) литературный вид.

Вернувшись к основе ведения проектов - RUP, можно выделить 10 важнейших моментов, когда без системы отчетности невозможно обойтись. Это бывает в тех случаях, когда необходимо:

Заключение

Трудно описать такой инструмент, как SoDA, в рамках одной статьи - данный продукт очень тесно связан с технологиями RUP и UML (ссылка на: http://www.interface.ru/fset.asp?Url=/rational/umltend.htm). Но надеюсь, что это не помешало вам оценить мощь и обоснованность использования данного инструмента, даже основываясь на стандартных шаблонах отчетов.

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

О том, как конструировать комбинированные отчеты и соотносить технологии качества CMM с технологиями RUP, читайте во второй части статьи.

Подробности о SoDA и ознакомительную версию продукта можно найти на Web-сайте компании Rational Software Corporation.

Дополнительная информация

Eсли вы хотите регулярно получать новости и ссылки на свежие статьи по Rational, Oracle, Microsoft, Inprise, системам автоматизации и т.д., советую подписаться на рассылку "Информационные технологии: CASE, RAD, OLAP, ERP" службы Subscribe.ru

Здесь можно получить ознакомительные версии

Приобрести продукты Rational Software в электронном магазине IT-shop

Учебные курсы по продуктам Rational Software