Методы и средства инженерии программного обеспечения

       

Энциклопедия инструментов создания ПС из объектов и компонентов


Основным инструментом проектирования приложений является  CASE–cистема Rational Rose [14], основанная на применении  языка UML для представления архитектуры ПС  с помощью разных  видов его  диаграмм.  Средства системы на проектирование и моделирование общей модели (абстрактной) предприятия, постепенно уточняемой  до конкретной (физической) модели классов создаваемой ПС. Допускается  доработка созданной системы. Результатом моделирования является визуальная логическая модель системы.

Rational Rose – средство для проектировщиков, аналитиков, разработчиков объектно–ориентированных информационных систем на языке  UML, представляемых  в виде  файлов логической модели, используемой при кодировании средствами  конкретного ЯП (С++, Ada, Java, Basic, Xml, Oracle). Имеются  специальные мосты связи с  системой Delphi, что дает возможность связывать программный код системы с БД. Допускается обратное проектирование, т.е.  преобразование готовой  информационной  системы (например, на С++) или база данных (в Oracle)  в наглядную визуальную, структурную модель ПС.

Управление требованиями. RequisitePro – инструмент для ввода и управления требованиями. Продукт позволяет получать, создавать и  структурировать наборы вводимых требований в наглядной форме. Предусмотрен набор атрибутов требований для расширения схожих (готовых)   в рамках одного или нескольких проектов. Для каждого требования сохраняется его история, позволяющая отследить, какие изменения были внесены в требование. Все документы и данные, относящиеся к требованиям, централизованно ведутся. Их, а также  сценарии, функциональные и нефункциональные спецификации и планы тестирования представлено в удобном для использования в управлении проектом.

 

Управление проектом и версиями. ClearCase – система  управления программным проектом, сохраняет  в  архиве все изменения и версии, которые были внесены в проект. Эти данные хранятся в масштабируемых репозиториях, а также хранятся  исходные тексты программных модулей, исполняемые и объектные модули,  библиотеки DLL.
Система позволяет работать как по  командам, так и по  времени выхода из нее, впоследствии объединяются  данные с общим проектом. Можно выводить подробные характеристики измененных файлов в наглядной графической форме, представлять все изменения в виде дерева версий. При наличии MultiSite открывается возможность обмена данным между группами разработчиков, географически удаленных друг от друга. При этом ClearCase берет на себя все рутинные операции по пересылке/приемке информации.

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

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

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

Ведение изменений. ClearQuest  для архивирования всех изменений и создания БД в  MS SQL, MS Access, Sybase SQL Anywhere или Oracle.




Имеется возможность добавлять собственные SQL–запросы уже к готовой базе данных. Основные задачи, решаемые ClearQuest:

– управление изменениями, возникающими в ходе процесса разработки ПО;.

– оптимизация пути прохождения запросов и  связанных с ними форм и процедур;

– поддержка связи объектов, разделенных территориально через World Wide Web;

– внедрение надежного и проверенного процесса CRM, либо изменение уже существующего процесса для удовлетворения специфическим требованиям;

– визуальный анализ проекта с помощью графического представления информации и отчетов;

– интеграция со средствами конфигурационного управления (Rational’s ClearCase), позволяющая создавать связи между запросами на изменение и развитием кода;

– связь с  Sybase, Oracle, Microsoft;.

– интеграция со средствами тестирования Rational (TeamTest, VisualTest, Purify, PureCoverage, Quantify и Robot);

– создание  отчетов на базе Crystal Reports (из составаProfessional);

–  интеграция через COM с MS Word и MS Excel.

Инструменты измерения. Rational Quantify – инструментальное средство для идентификации "узких мест" в разрабатываемых приложениях, учета производительности, идентифицирующее и выявляющее части приложения, которые замедляют скорость его выполнения. Это средство генерирует в табличной форме список всех вызываемых в процессе работы приложения функций, указывая временные характеристики каждой из них; предоставляет  статистику по всем вызовам (внешним и внутренним). Сбор данных осуществляется посредством технологии OCI (Object Code Insertion) путем подсчета  циклов, вставки счетчиков в код тестируемой программы. Уникальность данного подхода заключается в тестировании  исходного кода, внутреннего представления, а также всех используемых компонентов. Статистическая информация по вызовам может быть перенесена в Microsoft Excel для построения  графиков и сводных таблиц для разных запусков приложения.

Основные свойства продукта:

– предоставление точной информации  о производительности созданного  приложения;



– определение  узких мест пользовательских функций, системных вызовов, разделяемых библиотек и библиотек других фирм.

В состав данного средства входит дополнительный набор инструментов, повышающих  производительность моделирования отдельных аспектов ПС:

– графическое средство Call Graph из Rational Quantify – наглядное представление данных о критических функциях системы, требующих наибольшего времени для выполнения;

– средства Function List и Function Detail выдает в визуальных  окнах данные в  табличной форме  для непосредственного внесения изменений в участки кода, а также для построчного просмотра данных в  аннотированных копиях окон Source Code;

– выход  в DCE,  систему  Solaris и библиотеки SunOS;

– сбор  данных о производительности по всем используемым инструментам

– использование  языков (C, C++, FORTRAN, Ada и Java ) и соответствующих систем программирования.

Тестирование. Visual Test обеспечивает функциональное, не зависящее от языка реализации тестирование 32–битных приложений, написанных для Windows, а также компонентов ActiveX, DLL, сервера автоматизации OLE (OLE Automation server) или приложения на основе Web. Продукт имеет интерфейс с VisualStudio  компании Microsoft. Кроме того,  он  дает возможность создавать поддерживаемые, расширяемые и пригодные для повторного применения компоненты тестирования, а также приспосабливать их  во многие версии других проектов.

Rational Robot – средство функционального тестирования, базирующееся на объектно–ориентированной технологии, что позволяет существенно превзойти традиционные средства GUI–тестирования (тестирования графического интерфейса), так как здесь тестируются сотни и тысячи свойств всех объектов приложения (даже скрытых объектов), вместе и для  каждого в отдельности. Программа работает в двух режимах: в автоматическом и ручном. В ручном режиме пользователь сам задает на специальном языке сценарий тестирования, в автоматическом режиме система  Robot автоматически генерирует необходимый скрипт для дальнейшего повторного тестирования.



LoadTest – средство автоматизированного тестирования характеристик распределенных сетевых приложений на платформах Windows и Unix. При тестировании производительности типично используется нагрузка сервера большим количеством виртуальных пользователей. Например, можно установить таймер для одного VU, чтобы определить время выполнение запроса при посылке  запросы на тот же самый сервер в то же самое время множества  других VU.

Термин “тесты производительности” включает нагрузочные, стрессовые, конкурирующие и конфигурационные тесты. Совокупность этих тестов позволяет ускорить цикл тестирования производительности. Нагрузочное тестирование в LoadTest выполняется тогда, когда нужно определить время отклика серверов или клиентских приложений при изменяющейся нагрузке и  используется тогда, когда нужно вычислить максимальное количество транзакций, которые  может выполнить сервер за определенный временной отрезок. Если клиент/серверная система использует распределенную архитектуру, то нагрузочное тестирование может быть использовано для проверки правильности выбранных методов в целях балансирования или конструирования системы.

Нагрузочное тестирование выполняется с использованием режима виртуальных пользователей для  измерения  время отклика серверной части, а также  с использованием пользовательского графического интерфейса для измерения времени отклика системы в конкретном клиентском приложении.

 

Pure Coverage предназначен для выявления участков кода, пропущенных при тестировании приложения  Windows NT и компонентов, написанных на Visual Basic,  Visual C++ или Java. Инструмент собирает статистику о тех участках программы, которые во время тестирования не были пройдены   выявляет  не исполнившиеся строки  и анализирует   причины их невыполнения.

 

Управление качеством.  Для улучшения качества производимого кода в методологии Rational предусмотрен определенный набор средств: Visual Test, Rational Quantify, Purify, Pure Coverage. Инструмент Visual Test  используется  для высокоуровневого тестирования ПС и интерфейсов компонентов.


Rational Robot и LoadTest обеспечивают загрузочное тестирование приложений клиент–сервер.

Инженерия и реинженерия. Rational Rose Professional  имеет набор изобразительных средств и в  зависимости от выбранного ЯП осуществляет прямое и обратное проектирование ПС. Результат проектирования – шаблон информационной системы, который необходимо  запрограммировать на  ЯП. Rose Enterprise  для проектирования предприятия  с использованием многих перечисленных выше инструментов.

Rose DataModeler компонент  Rational Rose, предназначен  для  проектирования системы и баз данных без  кодогенерации.

 

Rose RealTime – специализированная версия для проведения  полной (100%) кодогенерации и реинженерии  систем на С и С++ с использованием набора диаграмм UML.

Анализ состояния среды. Purify направлен на разрешение проблем, связанных с утечками памяти и Run–time ошибками. Программа собирает данные о любых потерях в памяти. К ним можно отнести и невозвращение блока, и не использование указателей, и остановку исполнения программы с выводом состояния среды при возникновении ошибки run–time. Разработчик ПС имеет возможность не только видеть состояние исполнения (предупреждения, ошибки) ПС, но и переходить к соответствующим  внутренних вызовов других компонентов.

 

Документация. SoDa – инструмент автоматизации документов и подготовки отчетов по заранее установленному шаблону, по которому компилируется документация в одном документ с текстовыми и графическими данными. Допускается использование стандартных шаблонов,  созданных пользователем при помощи Wizard и  меню Word.

 


Содержание раздела