Сделай Сам Свою Работу на 5

Средства автоматизации разработки программ (CASE-средства)





Средства автоматизации разработки программ - инструментарий для системных аналитиков, разработчиков и программистов, позволяющий автоматизировать процесс проектирования и разработки программного обеспечения. Первоначально под CASE-средствами понимались средства, применяемые на ранних процессах жизненного цикла." В первую очередь - на наиболее трудоемких процессах анализа и проектирования. Международный стандарт [ISO/IEC 14102:1995] определяет CASE-средства более широко - как программное средство, поддерживающее процессы жизненного цикла программного обеспечения. CASE-средства характеризуются наличием мощных средств визуального моделирования.

Особенности средств автоматизации разработки программ:

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

Примеры CASE-средств:

  • Oracle Designer (компании Oracle ();
  • ERwin (компании Computer Associates International, Inc. (http://www.cai.com/));
  • Rational Rose (компании Rational Software Corporation (http://www.rational.com/)).

Интегрированные среды



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

  • инструменты управления процессами;
  • инструменты управления проектом;
  • инструменты конфигурационного управления;
  • инструменты верификации;
  • инструменты поддержки разработки документации.

Выделяют три уровня интеграции инструментов в интегрированных средах.

  • Уровень 1. Интеграция инструментов очень слабая. Как правило, обмен информацией между ними происходит через интерфейсы экспорта и импорта.
  • Уровень 2. Интеграция инструментов одной компании осуществляется на основе единого репозитория. Интеграция инструментов других компаний с первыми инструментами происходит по образцу уровня 1.
  • Уровень 3. Интеграция всех инструментов осуществляется с помощью общего репозитория. При этом любой инструмент любой компании может осуществлять взаимодействие через службы взаимодействия с репозиторием.

Особенности интегрированных сред:



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

Примеры интегрированных сред:

  • WebSphere Studio WorkBench (компании IBM));
  • CohesionWorX (компании Digital Equipment Corp.);
  • SorfBench (компании Hewlett-Packard (http://www.hp.com/)).

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

Репозитории проекта

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

Филипп Бернштейн (Philipp Bernstein) определяет репозитории как разделяемую базу данных с информацией об артефактах проектирования, требующую некоторых дополнительных функций управления помимо предоставляемых обычными системами баз данных.

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



  • Модельный.
  • Программного интерфейса.
  • Окружения.

Уровень моделирования достаточно хорошо может быть описан универсальным языком UML. Данный язык является абстрактным, не привязанным к конкретной модели. Язык дает возможность описать зависимости элементов, иерархию, взаимосвязи, свойства и т. п.

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

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

  • Языково-независимая группа.
    • Информация для отладчика.
    • Информация для просмотрщика исходных текстов.
  • Языково-зависимая группа (например, для языка C++).
    • Информация для шаблонов.
    • Коды встроенных функций.
    • Виртуальные функции.
  • Группа контроля репозитория.
    • Контроль информации о версиях.
    • Контроль отношения к проекту.
    • Тип параллельной обработки.
    • Тип управления репозиторием.
    • Проверка цифровой подписи.

Основными достоинствами применения репозиториев окружения являются:

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

Статистика отмечает, что около 80% программного обеспечения создается по уже имеющемуся. Следовательно, необходимо иметь инфраструктуру (электронную библиотеку), которая будет поддерживать архивы и достаточно интеллектуальный поиск нужных прототипов и фрагментов. Фактически, мы на более высоком уровне обращаемся к парадигме сборочного программирования, которая характеризуется стремлением к выделению независимой единицы программистского знания (модульной абстракции). Одним из наиболее известных репозиториев является Microsoft Repository (компании Microsoft (http://www.microsoft.com/)).

Средства поддержки коллективной разработки

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

Системы разделения файлов

Для поддержки коллективной работы с файлами применяются три основных класса систем.

  • Системы управления версиями файлов.
  • Системы управления пространствами пользователей.
  • Системы синхронизации удаленных пространств.

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

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

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

Таблица 5.2. Примеры средств поддержки коллективной разработки

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.