© Александр Новичков
технический специалист 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, по существу, представляет собой макрос, написанный для MS Word и особенно полезный при реализации крупных информационных проектов, в которых на составление документации и ее постоянную переработку обычно тратится очень много времени и сил разработчиков.
По задаваемым пользователем шаблонам SoDA "компилирует" документацию, собирая в один документ текстовые и графические данные из различных источников, например из моделей, созданных в Rational Rose. Далее пользователь может отредактировать полученный документ с помощью Microsoft Word или Adobe FrameMaker. Как и любая система отчетности, SoDA базируется на тех данных, которые получает из сторонних программ.
SoDA поддерживает всю линейку продуктов Rational Software, позволяя создавать сложные комбинированные отчеты на основе выходных данных программ состава Rational Suite. Плюс ко всему SoDA имеет доступ к данным из Microsoft Project.
Основные возможности системы:
Из описания следует, что SoDA может работать в двух режимах. Первый - генерация отчета по данным на основе существующего шаблона, который, в свою очередь, строго следует стандартам RUP и ISO. Второй - генерация отчета на основе собственного шаблона компании, оформленного произвольным образом в соответствии с ее традициями.
Давайте немного остановимся на первом режиме, когда за основу берется стандартный шаблон. Известно, что компания Rational не только полностью описала процесс выпуска программного обеспечения, но и создала программные средства для каждого этапа этого процесса. Следовательно, каждый продукт сохраняет данные, а SoDA по ним строит ("компилирует") отчет.
Если внимательнее присмотреться к этапам разработки приложений с точки зрения Rational, получится следующий список:
Естественно, все этапы детально описаны, и на каждом из них предполагается получение документа строго определенного образца (согласно RUP), после того как соответствующие данные были обработаны той или иной программой из набора средств Rational. Так, на первом этапе при помощи SoDA можно получить документы "Оценка организации заказчика", "Словарь терминов предметной области", "Коммерческое предложение", "Бизнес-правила" и т.д. На втором этапе можно получить документы "Спецификация на программную систему", "Спецификация на функции системы".
Каждый из этих отчетов будет соответствовать RUP, а форма изложения - отражать требования ISO. В дальнейшем такой документ можно согласовать с заказчиком. Обратите внимание: первый этап называется "Бизнес-моделирование", что подразумевает использование на данном этапе средств визуального проектирования. Согласно технологии RUP, этим средством является Rational Rose, позволяющее на основе различных диаграмм получить полную бизнес-модель предприятия и модель проектируемой системы. Соответственно, опять же по технологии RUP, на этапе проектирования аналитик или проектировщик не только рисует модель, создавая определенные связи между диаграммами, но и комментирует каждое свое движение на специальных полях либо подключает уже имеющиеся документы к модели. Разумеется, в результате получается отличная модель, полностью описывающая бизнес-процессы и программную систему. Правда, понятной она будет только узкому кругу лиц, представляющих себе полную картину сделанного.
Заказчик же, к сожалению, зачастую плохо ориентируется в мире диаграмм... Вот и настает черед SoDA! Из меню Rose запускается составитель отчетов, пользователь выбирает тип отчета и через 1-5 минут получает готовый документ с разметками, комментариями и фрагментами моделей в формате Word. При этом все элементы документа представляют собой внедренные объекты, а это значит, что изменения, внесенные в модель, автоматически отражаются в документе.
В табл. 1 показано, с какими программными продуктами работает SoDA и какие отчеты может создавать.
Для тех, кто не знаком с терминологией, в табл. 2 даны расшифровка и описание типов диаграмм в Rose.
Таблица 1
Продукт | Отчет | Характеристика/комментарий |
---|---|---|
ClearCase | Version | Отчет по версии одного элемента из репозитария ClearCase |
Vob | Отчет по состянию всех репозитариев в целом | |
Element | Отчет по свойствам элементов | |
Region | Отчет по всем используемым в проекте регионам | |
ClearQuest | All Defect in This State | Вывод всех дефектов, находящихся в указанном состоянии |
RequisitePro | DocsReqts.doc | Отчет по требованиям и документам проекта |
Reqts.doc | Отчет по требованиям | |
ReqtsAttrs.doc | Отчет по требованиям с выводом атрибутов требований | |
ReqtsTraces.doc | Отчет по требованиям с использованием трассирования | |
TeamTest | BuildDetail.doc | Детальный отчет по тестированию с выводом ошибок, состояний и владельцев |
Build Summary.doc | Упрощенная версия вышеуказанного отчета | |
ComputerDetail.doc | Отчет по характеристикам компьютеров, на которых проводилось тестирование, в том числе IP-адрес машины, на которой проигрывались тесты, наименование операционной системы | |
ScriptDetail.doc | Отчет по скриптам тестирования, в том числе путь к файлу, имя его владельца | |
TestDocDetail.doc | Отчет по тестовым документам | |
Rose | 498idd.doc | Отчет по списку документов, дизайну интерфейса, трассировке требований |
498irs.doc | Список документов, требования к интерфейсу, квалификационный лист, трассировка требований | |
498ocd.doc | Список документов, требования к продукту, квалификационный лист, трассировка требований | |
498sdd.doc | CSCI-заключение, дизайн, трассировка требований | |
Classes.doc | Отчет по всем классам в системе. Отчет следует иерархии и показывает связи | |
RUP | Actor Report.doc | Простой и быстрый отчет по характеристикам, отношениям и диаграммам состояний модели |
Таблица 2
Аббревиатура | Расшифровка | Описание |
---|---|---|
IDD | Interface Design Description | Описание интерфейса системы |
IRS | Interface Requirements Specification | Спецификации на требования интерфейса |
OCD | Operational Concept Description | Операционное концептуальное описание |
SDD | Software Design Description | Описание программного дизайна |
SDP | Software Development Plan | План разработки |
SRS | Software Requirements Specification | Спецификации на требования |
SSS | System/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