Спонсор: Microsoft
Московский физико-технический институт
Опубликован: 24.09.2008 | Доступ: свободный | Студентов: 2633 / 769 | Оценка: 4.52 / 4.48 | Длительность: 25:15:00
Специальности: Системный архитектор
Дополнительный материал 1:

Малая энциклопедия инструментов ООП

< Лекция 13 || Дополнительный материал 1 || Дополнительный материал 2 >

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

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

Язык UML имеет автоматизированную поддержку непосредственно в системе Rational Rose и ряде других инструментальных средств. Эти средства разгруппированы по реализации отдельных задач программной инженерии и процессов ЖЦ. Им дается краткая энциклопедическая характеристика для ориентации и применения.

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

Управление проектом и версиями. ClearCase - система управления программным проектом сохраняет в архиве все проектные решения, структуры и другие артефакты. Кроме того, сохраняются все изменения, которые были внесены в проект, а также сформированные версии. В качестве архива используется репозиторий, в котором хранятся исходные тексты программных модулей, исполняемые и объектные модули, библиотеки DLL.

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

Инструмент MultiSite в среде этой системы обеспечивает возможность обмениваться данным между группами разработчиков, географически удаленных друг от друга. Все рутинные операции по пересылке/приемке информации выполняет система 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 и Rational Robot, которые выполняются в среде клиентсервер.

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

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

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

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

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

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

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

< Лекция 13 || Дополнительный материал 1 || Дополнительный материал 2 >
Максим Цапко
Максим Цапко

Я наконец закончил курс "Управление ИТ-проектами". Как получить документ об окончании курса.

давайн Нкунда
давайн Нкунда
Владимир Карпенко
Владимир Карпенко
Украина, Киев, Национальный Авиационный Университет, 2009
Михаил Адигеев
Михаил Адигеев
Россия