СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ, ОБОЗНАЧЕНИЙ И ИНОСТРАННЫХ ТЕРМИНОВ

ACM (Association for Computing Machinery) — ассоциация по вычислительной технике.

API (Application Programming Interface) — программный интерфейс.

АРМ (Association of Project Management) — ассоциация по проектному менеджменту.

BPR (Buisness Process Reengineering) — реинжиниринг бизнес-процесса — знак авторского права.

CASE (Computer-Aided Software Engineering) — набор инструментов и методов программной инженерии для проектирования программного обеспечения.

СММ (Capability Maturity Model) — система понятий, предназначенных для усовершенствования процесса разработки ПО.

СОСОМО (Constructive cost model) — конструктивная модель стоимости, предложенная Б. Боэмом.

COM (Component Object Model) — компонентная модель объектов, созданная фирмой «Microsoft».

CORBA (Common Object Request Broker Architecture) — общая архитектура с посредником обработки запросов объектов, создана группой OMG.

СРМ (Critical Path Method) — метод критического пути.

DCOM (Distributed Component Object Model) — распределенная компонентная модель объектов, созданная фирмой «Microsoft».

FP-метрики (Function Points) — функционально-ориентированные метрики.

FSM (Functional Size Measurement) — техника численной оценки или измерения объема функциональности программного обеспечения.

GUI (Graphical User Interface) — графический [пользовательский] интерфейс.

IDL (Interface Definition Language) — язык определения интерфейсов.

IEEE (Institute of Electrical and Electronics Engineers) — институт инженеров по электротехнике и электронике.

IFPUG (International Function Point Users Group) — международная группа пользователей функционального измерения.

IPMA (International Project Management Association) — Международная ассоциация управления проектами.

ISO (International Standardizing Organization) — MOC (международная организация стандартов).

IT (Information Technology) — информационные технологии.

KLOC — тысяча строк исходного программного кода.

LOC — строка исходного программного кода.

LOC-метрики (Lines of Code) — метрики, ориентированные на количество строк программного кода.

LOC-оценка (Lines of Code) — количество строк программного кода.

MIDL (Microsoft IDL) — язык определения интерфейсов фирмы «Microsoft».

MSF (Microsoft Solution Framework) — методология разработки программного обеспечения фирмы «Microsoft».

MVC (Model-View-Controller) — модель/шаблон проектирования классов.

OMG (Object Management Group) — группа внедрения объектной технологии программирования.

PERT (Program Evaluation and Review Technique) — метод анализа и оценки программ.

PM (Project Management) — управление проектом.

РМВОК (Project Management Body of Knowledge) — свод знаний по управлению проектами.

PMI (Project Management Institute) — американский институт управления проектами; ® — символ зарегистрированного права на распространение программного продукта.

RUP (Rational Unified Process) — методология разработки программного обеспечения фирмы «Rational/IBM».

SCCM (Software Configuration and Change Management) — управление изменениями и конфигурациями программного обеспечения.

SCM (Software Configuration Management) — конфигурационное управление программным обеспечением.

SCMP (Software Configuration Management Plan) — план управления конфигурациями программного обеспечения.

SDD (Software Design Document) — проектная документация программного обеспечения.

SEI CMU (Software Engineering Institute, Carnegie Mellon University) — Институт программной инженерии в Университете Карнеги Меллон.

SLC (Software Lifetime Cycle) — концепция жизненного цикла программного обеспечения.

SOA (Service-Oriented Architecture) — сервисно-ориентированная архитектура.

SQA (Software Quality Assurance) — гарантии качества программного обеспечения.

SQAP (Software Quality Assurance Plan) — план контроля качества программного обеспечения.

SQL (Structured Query Language) — язык структурированных запросов к реляционным базам данных.

SQM (Software Quality Management) — управление качеством программного обеспечения.

SRS (Software Requirements Specification) — спецификация требований к программному обеспечению.

STD (Software Test Documentation) — документация по тестированию программного обеспечения.

STMP (Software Project Management Plan) — план управления программным проектом.

SWP (Software Verification and Validation Plan) — план экспертизы программного обеспечения.

SWEBOK (Software Engineering Body of Knowledge) — свод знаний по программной инженерии.

UML (Unified Modeling Language) — унифицированный язык моделирования.

V&V (Verification & Validation) — верификация и валидация/проверка и аттестация.

WBS (Work Breakdown Structure) — структура декомпозиции работ.

Windows — операционная система фирмы «Microsoft».

ХР (extreme Programming) — методология экстремального программирования.

АСУ — автоматизированная система управления.

БД — база данных.

ВЗУ — внешнее запоминающее устройство.

ЖЦ — жизненный цикл.

ИС — информационная система.

ИСР — иерархическая структура работ.

ИТ — информационные технологии.

ООП — объектно-ориентированное программирование.

ОС — операционная система.

ПК — персональный компьютер.

ПО — программное обеспечение.

ПП — программный продукт, ппп — пакет прикладных программ.

ПС — программная система.

СРР — сетевая разбивка работ.

СУБД — система управления базами данных.

ТЗ — техническое задание.

ЭВМ — электронная вычислительная машина.

ЯВУ — язык [программирования] высокого уровня.

Приложение

ИНСТРУМЕНТЫ И МЕТОДЫ, ИСПОЛЬЗУЕМЫЕ ПРИ РАЗРАБОТКЕ ПРОГРАММНЫХ СИСТЕМ

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

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

Среди разработчиков таких инструментов можно выделить следующие компании: «IBM» (продукт Rational Suite), «Oracle» (продукт CDM Advantage), «Borland» (продукт ALM), «Computer Associates» (ряд продуктов, каждый из которых предназначен для поддержки одного или нескольких этапов жизненного цикла). Среди перечисленных продуктов все поддерживают полный жизненный цикл разработки программного обеспечения в той или иной мере в соответствии со своей моделью разработки.

Инструменты работы с требованиями. Эти инструменты подразделяют на две категории: средства моделирования и средства трассировки.

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

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

Для работы с требованиями компанией IBM выпускаются следующие компоненты.

Rational Suite AnalystStudio — используется для определения и управления полным набором требований к разрабатываемой системе.

Rational Requisite Pro — средство управления требованиями при совместной работе группы разработчиков. Позволяет команде разработчиков создавать, структурировать, устанавливать приоритеты, а также отслеживать, контролировать изменения требований, возникающие на любом этапе разработки компонентов приложения. Также фирма Borland производит:

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

Кроме того, при работе с требованиями могут использоваться следующие инструменты: Active Focus (фирма «Xapware Technologies»); C.A.R.E. («Sophist Group»); RMTrak («RBC, Inc»); RTMWorkshop («In-tegrated Chipware, Inc»); State («EDS»); Vital Link («Compliance Automation, Inc»); DOORS («Telelogic»).

При работе с требованиями инструментальные средства помогают решать следующие задачи:

  • • управление версиями и изменениями — при работе над системой должна существовать базовая версия требований, гибкое управление которой можно осуществлять с помощью соответствующего инструмента; некоторые средства позволяют сохранять историю изменений каждого требования, хранить информацию об обосновании изменений каждого требования, осуществлять переход к предыдущим версиям требований, устанавливать связи между предложениями об изменениях требований и самими изменениями;
  • • хранение атрибутов требований — система, реализующая эту функцию, генерирует ряд системных атрибутов для каждого требования (например, дата и время создания требования), позволяет вносить свои атрибуты и получать список требований, отвечающих указанным атрибутам;
  • • облегчение анализа воздействия — трассирований требований — определение связей между различными типами требований, между требованиями в отдельных подсистемах и между отдельными требованиями и связанными системными компонентами;

эти связи помогают анализировать воздействие, которое предлагаемое изменение окажет на конкретное требование, выявляя другие элементы системы, которые оно затронет;

  • • трассирование статусов требований — позволяет осуществить общее трассирование статуса проекта;
  • • создание групп пользователей для работы с требованиями — различные группы пользователей при работе над требованиями могут иметь различные права доступа к имеющимся требованиям — от чтения до удаления.

Инструменты проектирования. Данная группа инструментов включает в себя средства для создания и проверки программного дизайна. Можно выделить следующие инструменты проектирования. Rational Suite Development Studio («IBM») — используется для проектирования и реализации программного обеспечения.

Rational Rose («IBM») — средство визуального моделирования (анализа и проектирования) на основе UML.

RationalXDE(«IBM») — средство анализа и проектирования, интегрируемое с платформами MS Visual Studio,.NET, IBM WebSphere Studio Application Developer. При работе c Rational XDE программный код генерируется автоматически, обеспечивая синхронизацию между кодом и моделью (и наоборот), возможно отображение элементов кода Java и C# в UML.

Oracle Designer («Oracle») — средство моделирования и генерации приложений, представляющее собой семейство методов и поддерживающих их программных продуктов. Приложения создаются на основе UML-моделей, которые хранятся в общем репозитории, что позволяет поддерживать работу больших коллективов разработчиков, реализуя многопользовательский режим работы и параллельное обновление. Физическая среда хранения — база данных «Oracle». В состав Oracle Designer входят следующие компоненты:

  • Repository Administrator — средства управления репозиторием (создание и удаление приложений, управление доступом к данным со стороны различных пользователей, экспорт и импорт данных);
  • Repository Object Navigator — средство доступа к репозиторию, обеспечивающее многооконный объектно-ориентированный интерфейс доступа ко всем элементам репозитория;
  • Process Modeler — средство анализа и моделирования бизнес-процессов;
  • Systems Modeler — набор средств построения функциональных и информационных моделей проектируемой системы, включая средства для построения диаграммы «сущность—связь», диаграмм функциональных иерархий, диаграмм потоков данных и средство анализа и модификации связей объектов репозитория различных типов;
  • System Designer — набор средств проектирования ПО, включающий средство построения структуры реляционной базы данных, средства построения диаграмм, отображающих взаимодействие с данными, иерархию, структуру и логику приложений, реализуемую хранимыми процедурами на языке PL/SQL;
  • Server Generator — генератор описаний объектов базы данных «Oracle» (таблиц, индексов, ключей, последовательностей и т.д.);
  • Forms Generator — генератор приложений для Oracle Forms, в числе которых различные экранные формы, средства контроля данных, проверка ограничений целостности и автоматические подсказки;
  • Repositoty Reports — генератор стандартных отчетов, интегрированный с Oracle Reports.

Together Control Center («Borland») — средство анализа и проектирования приложений, в основе которого лежит один из вариантов похода «Быстрой разработки программного обеспечения» Feature Driven Development (FDD). Среда поддерживает визуальное моделирование на UML, впоследствии код генерируется на Java, С, С#, C++, Visual Basic; кроме того, поддерживаются платформы J2EE,. NET. Имеются также варианты для поддержки работы небольшого коллектива разработчиков Together Solo и редакции для платформы IBM WebSphere и среды разработки Jbuilder.

AllFusion Modeling Suite («Computer Associates») — интегрированный комплекс CASE-средств, имеющий следующие инструменты проектирования:

  • AllFusion Process Modeler (BPWin) — средство функционального моделирования (моделирования бизнес-процессов), реализующее метод IDEF0, поддерживающее диаграммы потоков данных DFD и стандарт IDEF3;
  • AllFusion ERWin Data Modeler (ERWin) — набор средств концептуального моделирования данных на основе метода IDEF1X, реализующих проектирование схемы базы данных и генерацию ее описания на языке целевой базы данных (Oracle, Sybase, DB2, Microsoft SQL Server и др.);
  • Model Mart — средство, обеспечивающее многопользовательский доступ к моделям, построенным с использованием BPWin и ERWin; удовлетворяет таким требованиям, предъявляемым к средствам управления разработкой крупных систем, как совместное моделирование (при совместной работе используются три режима: незащищенный, защищенный и режим просмотра), создание библиотек стандартных решений и восстановление моделей (реверсный инжиниринг, на основе существующих БД с помощью ERwin), управление доступом (можно определять и управлять правами доступа участников проекта к библиотекам, моделям и даже к специфическим областям модели).

Инструменты конструирования. Инструменты конструирования используются для производства и трансляции программного представления (например, исходного кода), достаточно детального и явного для машинного выполнения. Выделяют несколько видов указанных инструментов.

Редакторы — используются для создания и модификации исходного кода программ и, возможно, ассоциированной с ними документации (например, javadoc). Это могут быть редакторы «общего назначения» (что на протяжении многих лет наблюдается в UNIX и unix-подобных средах) или специализированные редакторы с поддержкой специфики целевого языка программирования (что является в большинстве случаев прерогативой интегрированных сред разработки — IDE). Однако документирование все же является не только и не столько частью редактора, сколько самостоятельной функциональностью, пусть часто и тесно интегрированной с редактором.

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

Интерпретаторы — обеспечивают исполнение программ посредством эмуляции. Они могут поддерживать действия по конструированию ПО, предоставляя для исполнения программ окружение, более контролируемое и поддающееся наблюдению, чем это обычно способна сделать та или иная операционная система. Следует отметить определенную интеграцию компиляторов и интерпретаторов. Ярким тому свидетельством является использование так называемой just-in-time компиляции — компиляции «на лету», когда промежуточный программный код по мере исполнения или с опережением (например, в процессе запуска/загрузки программы) преобразуется в набор инструкций, исполняемых непосредственно средствами ОС, но под контролем среды исполнения, в первую очередь с точки зрения безопасности. Такого рода подход стал родоначальником ряда современных программных платформ, например Java и.NET.

Отладчики — выделены в самостоятельную категорию, так как они поддерживают процесс конструирования ПО, хотя функционально отличаются от редакторов и компиляторов. Любая современная среда имеет встроенный отладчик, основные задачи которого заключаются в трассировке (пошаговом выполнении) программы, отслеживании, установке или изменении значений переменных в процессе выполнения кода, установке или удалении контрольных точек или условий остановки выполнения и т.д. Существуют также отладчики, не являющиеся частью среды разработки, наиболее популярные из них приведены ниже:

  • AQtime — коммерческий отладчик для приложений, созданных для.NET Framework версии 1.0, 1.1, 2.0, 3.0, 3.5 (включая ASP.NET приложения), а также для Windows 32- и 64-битных приложений;
  • DBX — стандартный отладчик уровня исходного кода для языков С, C++, Fortran и Java, доступный для операционных систем Solaris, AIX, IRIX, Tru64 UNIX, GNU/Linux и BSD;
  • DDD — графический фронтэнд к отладчикам DBX и GDB, использующий библиотеку виджетов Motif;
  • DTrace — фреймворк динамической трассировки для Solaris, Open Solaris, FreBSD, MacOSXn QNX;
  • Electric Fence — отладчик памяти;
  • GNU Debugger — портабельный отладчик уровня исходного кода и дизассемблер из системы программирования GNU, работающий со многими языками программирования, операционными системами и системными архитектурами;
  • IDA — дизассемблер и отладчик уровня машинного кода для операционных систем семейств GNU/Linux и Windows;
  • MDB — универсальный модульный отладчик уровня исходного кода для Solaris, может использоваться как локальный отладчик ядра;
  • Microsoft Visual Studio — среда разработки программного обеспечения корпорации «Microsoft», включающая средства отладки уровня исходного кода;
  • Oily Dbg — бесплатный отладчик уровня машинного кода для операционных систем семейства Windows;
  • SoftICE — отладчик уровня машинного кода для операционных систем семейства Windows;
  • DR. Watson — стандартный отладчик Windows, позволяет создавать

дампы памяти;

  • Tota/View — коммерческий отладчик для Unix;
  • WinDbg — бесплатный отладчик от корпорации «Microsoft»;
  • FlexTracer — коммерческий отладчик SQL-запросов для различных СУБД.

Кроме того, на рынке давно присутствуют такие инструменты, как интегрированные средства разработки (IDE — integrated developers environment), а также программные библиотеки (библиотеки компонентов), без которых невозможно представить сегодняшний процесс разработки и рынок программных средств.

Инструменты тестирования. Тестирование, как правило, сопровождается значительными трудозатратами, поэтому использование специальных средств, поддерживающих этот процесс, значительно упрощает задачу. Все инструменты тестирования классифицируются следующим образом.

Генераторы тестов — помогают в разработке сценариев тестирования.

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

Инструменты оценки тестов — поддерживают оценку результатов выполнения тестов, помогая определить, в какой степени и где именно обнаруженное поведение тестируемого объекта соответствует ожидаемому поведению.

Средства управления тестами — обеспечивают поддержку всех аспектов процесса тестирования ПО.

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

Рассмотрим некоторые средства, поддерживающие тестирование.

Один из вариантов Rational Suite («IBM») называется Rational Suite TestStudio, представляет собой целый набор продуктов и предназначен для автоматического тестирования приложений.

Компания «Rational» поставляет на рынок следующие программные средства.

Quantify — собирает полную статистику о количестве вызовов функций в тестируемой программе, позволяя тем самым узнавать временные характеристики отдельных частей приложения. Реализует следующую функциональность: выдает точную и детальную информацию о производительности приложения; указывает на все узкие места в приложении (как в пользовательском коде, так и в системных вызовах); представляет комплексный дополнительный обзор данных по производительности (построение дерева вызовов, списка функций, вызов исходных текстов тестируемых функций (при разработке в Visual Studio)); имеет гибкую настройку по желаниям и потребностям пользователя; позволяет многократно тестировать приложение (по ходу разработки), позволяя отслеживать изменения в количестве вызываемых функций; предоставляет возможность интеграции с Visual C++ с возможностью вызова исходных текстов функций тестируемого приложения; интегрируется с Rational Robot, ClearQuest и Visual Test; поддерживает Visual C++, Visual Basic- и Visual Java-приложения.

Pure Coverage — позволяет быстро найти участки кода, пропущенные при тестировании. Обеспечивает: подсчет количества вызовов функций; указание областей кода в них, не прошедших процедуру тестирования; интеграцию с Visual Studio; импортирование результатов в MS Excel или Word.

Purify — отлавливает все ошибки, связанные с утечкой памяти, а также некоторые Run-time-ошибки. Располагает следующими возможностями: отслеживание ошибок доступа к памяти; сбор и вывод статистики по использованию памяти; использование комплексного подхода к тщательному тестированию; поддержка технологии OCI — Object Code Insertion, которая позволяет детально отследить и выловить ошибку не только в контролируемом модуле, но и в модулях DLL сторонних разработчиков; тестирование ActiveX, COM/DCOM, ODBC, DLL; настраиваемый, двухуровневый способ тестирования приложений; интеграция с Visual Studio; открытое API, которое позволяет дописывать разработчикам собственные модули и присоединять их; совместная работа с любым отладчиком; тестирование системных вызовов.

Rational Test Manager — средство планирования функционального и нагрузочного тестирования.

Rational Robot — средство записи и воспроизведения тестовых сценариев.

Rational Test Factory — средство тестирования надежности.

Rational Quality Architect — средство генерации кода для тестирования.

Optimizerit Suite, Optimized Profilerfor.NET (корпорация «Borland») позволяют выявить потенциальные проблемы использования аппаратных ресурсов — памяти и процессорных мощностей на платформах J2ЕЕ и.Net соответственно.

Optimizeit ServerTrace — предназначена для управления производительностью серверных ,12ЕЕ-приложений с точки зрения достижения заданного уровня обслуживания и сбора контрольных данных по виртуальным Java-машинам.

Инструменты сопровождения. Рассмотрим две категории инструментов сопровождения.

Инструменты облегчения понимания — помогают человеку в понимании программ. Примерами могут служить различные средства визуализации.

Инструменты реинжиниринга — поддерживают деятельность по реинжинирингу.

Средства «обратного» инжиниринга помогают в процессе восстановления для существующего ПО таких артефактов, как спецификация и описание дизайна (архитектуры), которые в дальнейшем могут быть трансформированы для генерации нового продукта на основе функциональности существующего. Последнее в сочетании с типичной функциональностью современных средств проектирования, поддерживающих анализ исходного кода (в случае объектно-ориентированных систем) и его визуализацию (в том числе поведенческую, например в виде диаграмм UML Sequence), позволяет объединить упомянутые категории инструментов в единый класс инструментов реинжиниринга. В то же время деятельность по сопровождению и поддержке, в частности касающаяся сбоев и исправления обнаруженных ошибок в ПО, требует в определенной степени отнесения к этой категории и средств конфигурационного управления (например, в части обработки запросов на изменения).

Среди компаний, выпускающих CASE-средства, поддерживающих сопровождение, выделяют «Gemini Consulting» с методологией Construct и Andersen Consulting (продукт Eagle). Особенностью инструментов реинжиниринга является сочетание в одной среде инструментов для специалистов двух областей:

  • 1) непосредственно реинжиниринга бизнес-процессов;
  • 2) разработчиков ПО, поддерживающего модифицируемый бизнес-процесс.

Среда Clear Quest от компании «Rational» представляет собой средство управления запросами на изменение, используется для контроля изменений в рамках всего ЖЦ ПО, а также может быть использовано для поддержки процесса реализации запроса на сопровождение, поскольку и устранение дефектов, и расширение функциональности

связаны с изменением многих артефактов продукта. Основные возможности: управление изменениями, возникающими в ходе процесса разработки ПО; оптимизация пути прохождения запросов на изменения, а также связанных с ним форм и процедур; поддержка через WWW связи внутри команд, распределенных территориально; внедрение надежного и проверенного процесса CRM (Change Request Management — управление запросами на изменение) либо изменение уже существующего процесса для удовлетворения специфическим требованиям; визуальный анализ прогресса проекта с помощью возможностей графического представления информации и отчетов; интеграция со средствами конфигурационного управления, такими как Rational ClearCase, позволяющая создавать связи между запросами на изменение и развитием кода; поддержка основных СУБД от производителей «Sybase», «Oracle», «Microsoft»; тесная интеграция со всеми средствами тестирования «Rational», такими как TeamTest, VisualTest, Purify, PureCoverage, Quantify и Robot; построение профессиональных отчетов на базе Crystal Reports (входящего в состав поставки в конфигурации Professional); интеграция через СОМ с MS Word и MS Excel; наличие системы настраиваемых триггеров для расширения возможностей.

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

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

В рамках системы Together ControlCenter (визуальная среда проектирования от «Borland») реализована технология LiveSource, которая обеспечивает синхронизацию между проектом приложения и изменениями. Контроль версий осуществляется благодаря функциональной интеграции Together и системы StarTeam. Поддерживается также интеграция с системой управления конфигурацией Rational ClearCase. Выпускаются следующие версии StarTeam.

StarTeam Express Edition — поддерживает работу небольших коллективов разработчиков (до десяти человек).

StarTeam Enterprise Edition — предназначен для команд разработчиков среднего размера.

StarTeam Enterprise Advantage Edition — поддерживает работу больших коллективов разработчиков, в том числе географически расположенных в различных местах.

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

Компания «1ВМ» выпустила Rational ClearCase — инструмент, который упрощает ведение процесса управления версиями и конфигурациями.

Он помогает наладить эффективный контроль за любыми артефактами проекта: документами, исходными текстами, моделями, целыми репозиториями проекта, дополнительными файлами и т.д. С помощью Rational ClearCase можно организовать версионный контроль не только отдельных файлов, но и целых каталогов. Можно создавать новые версии целых рабочих пространств и окружений. Для каждого артефакта, поставленного на контроль, ведется история изменений. К любой версии можно вернуться в любой момент времени. Для любых двух разных версий одного и того же артефакта можно посмотреть отличия, если, конечно, эти артефакты принадлежат стандартным типам документов, таким как текстовые файлы, документы MS Word и модели Rational Rose. Возможности Rational ClearCase в области конфигурационного управления позволяют организовать параллельную работу над отдельными конфигурациями и версиями одного и того же продукта или его части (ветвления версий). Всегда можно провести интеграцию нескольких ветвей в основную версию. Для этого существует удобный графический инструментарий. Данные, поставленные на версионный и конфигурационный контроль под управлением Rational ClearCase, хранятся в БД специального формата, так азываемой Version Object Bases (VOВ). Участники проекта имеют доступ к любой из этих VOB через представления (Views), каждое из которых отображает некоторый срез проектных данных из VOB. Таким срезом может быть, например, набор артефактов, относящихся к некоторой версии или конфигурации разрабатываемого продукта.

Представления бывают двух типов: динамические и статические. Динамическое представление (dynamic view) отображает артефакты, актуальность которых гарантируется в любой момент времени, т.е. если один из участников проекта изменил один из артефактов, то любой другой участник проекта будет работать всегда с последним вариантом этого артефакта. Но для работы с динамическими представлениями требуется постоянное подключение к серверной части Rational ClearCase. Статическое представление (snapshot view) — это своеобразный снимок набора артефактов, который позволяет работать с ними без постоянного подключения к серверу.

Можно выделить следующие версии Rational ClearCase:

  • Rational ClearCase LT — продукт, предназначенный для небольших рабочих групп, отличается от полнофункционального ClearCase отсутствием динамических представлений, работой в однодоменном окружении и отсутствием поддержки ClearCase Multisite. Rational ClearCase LT предоставляет основные средства контроля версий компонентов разработки, идеально подходит для небольших и средних коллективов разработчиков, расположенных в одном месте, входит в состав платформы «IBM» Rational Team Unifying Platform и пакета WebSphere Studio Application Developer;
  • IBM Rational ClearCase MultiSite — дополнительная система для Rational ClearCase, предназначенная для управления географически распределенными программными ресурсами, задействованными в средних и крупных проектах; обеспечивает автоматическую безошибочную репликацию для географически удаленных помещений, легко масштабируется и способна обеспечить поддержку проектов любого размера, обеспечивает эффективное обновление информации, передавая разработчикам только инкрементные изменения, произошедшие в репозиториях проектов Rational ClearCase, обеспечивает удобные средства автоматического резервного копирования и восстановления.

Rational ClearCase интегрируется в следующие рабочие среды: Microsoft Visual Studio, IBM VisualAge for Java, IBM WebSphere Studio, Sybase PowerBuilder, Microsoft Word и др. Специальные настройки графического интерфейса позволяют разработчикам в большей степени концентрироваться на решении конкретных задач, не отвлекаясь на рутинные процедуры.

Объединение процессов конфигурационного управления и управления изменениями с помощью механизмов Unified Change Management (UCM) значительно повышает возможности проекта в области контроля изменений для отдельных артефактов, являясь функциональной надстройкой над Rational ClearCase; механизм UCM автоматизирует многие операции, обеспечивая параллельную работу с артефактами и их наборами.

Инструменты управления инженерной деятельностью. Эти средства подразделяются на следующие категории.

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

Инструменты управления рисками — служат для идентификации, оценки ожиданий и мониторинга рисков.

Инструменты количественной оценки — используются при выполнении работ, связанных с программой количественной оценки, проводимой в отношении проектов ПО.

Инструменты для упрощенного доступа к проектным данным.

Инструменты для организации коммуникаций.

Инструменты для интеграции с другими приложениями.

Можно привести следующих производителей вышеперечисленных инструментов: «Primavera Systems» (продукт SureTrak Project Manager); «Microsoft» (продукт MS Project); «Project Management Technologies» (продукт Spider).

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

Средства по структурированию рисков уже на самом раннем этапе проектирования могут подсказать менеджеру, какие риски способны оказать негативное влияние на проект. Например, рассматриваемые системы обеспечивают идентификацию потенциальных рисков в бюджетной сфере, рисков относительно доставки ресурсов и пр. Кроме того, продукты от «Primavera» и «Microsoft» позволяют моделировать последствия рисков (влияние на календарный план, бюджет, затраты по проекту) с помощью мощных аналитических средств. Для этого применяются имитационные сценарии; кроме того, учитываются вероятности риска и его финансовые последствия для каждой отдельной работы в проекте. Возможности Spider в области планирования рисков сводятся к статистическому анализу вероятностей окончания проекта в пределах установленных календарных, бюджетных и ресурсных ограничений.

Все рассматриваемые ПП способны вести планирование назначений индивидуальных исполнителей на работы, учет неполной загрузки, планирование расходов материальных ресурсов на отдельных этапах.

Во всех трех системах возможно планирование затрат: предоставляется возможность поддержания учета стоимости отдельных работ, времени работы исполнителей, использования единицы материального ресурса или часа эксплуатации оборудования, а также статьи фиксированных затрат. К тому же инструменты от «Primavera» и «Microsoft», в отличие от Spider, позволяют учитывать отдельно стоимость урочной и сверхурочной работы исполнителей. Одновременно

Spider допускает использование фиксированных затрат, не связанных с длительностью и объемом работы.

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

Программный модуль проектной оптимизации разработки Spider, функционируя в мультипользовательском режиме, создает набор файлов, который рассылается по FTP всем менеджерам проекта; и таким образом, каждый из участников работ постоянно находится в курсе выполненного объема задач. Аналогично действуют и продукты Primavera и MS Project, но используя СУБД. Доступ к последним осуществляется через глобальные и локальные сети (правила доступа четко регламентируются). Дополнительное достоинство MS Project — способность поддерживать интегрированный документооборот в проектной группе благодаря тесной интеграции с серверными продуктами компании.

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

Инструменты моделирования, позволяющие, в частности, описать и модель процессов как таковую.

Инструменты управления проектами.

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

Ролевые платформы разработки ПО, охватывающие все стадии ЖЦ и являющиеся развитием интегрированных средств разработки и CASE-инструментов в направлении поддержки «смежной» функциональности — управления требованиями, работ по конфигурационному управлению с поддержкой управления изменениями, тестирования и оценки качества.

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

Инструменты обеспечения качества. Средства обеспечения качества делятся на две категории.

  • 1. Инструменты инспектирования — используются для поддержки обзора (review) и аудита.
  • 2. Инструменты (статического) анализа — используются для анализа программных артефактов, данных, потоков работ и зависимостей. Такие инструменты предназначены для проверки определенных свойств или артефактов в целом на соответствие заданным характеристикам. Например, можно использовать средство выявления не-протестированных участков кода для определения качества тестирования.
 
< Пред   СОДЕРЖАНИЕ     След >