stringtranslate.com

Brownfield (разработка программного обеспечения)

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

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

Brownfield development добавляет ряд улучшений к традиционным практикам разработки программного обеспечения . Они традиционно предполагают «чистый лист бумаги», tabula rasa или « зеленую землю » целевой среды на всех этапах проектирования и внедрения разработки программного обеспечения. Brownfield расширяет такие традиции, настаивая на том, чтобы контекст (локальный ландшафт) создаваемой системы учитывался в любом упражнении по разработке. Это требует детального знания систем, сервисов и данных в непосредственной близости от разрабатываемого решения.

Решение проблем сложности окружающей среды

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

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

IT-индустрия в целом имеет низкий уровень успеха в предоставлении таких масштабных изменений для своих клиентов. Исследование CHAOS от Standish Group отследило общее улучшение в успешности поставки IT-проектов за последние двадцать лет, но даже в 2006 году крупные IT-проекты все еще чаще терпели неудачу, чем добивались успеха. Инженерные изменения в таких средах имеют много параллелей с проблемами строительной отрасли при реконструкции промышленных или загрязненных участков. Они полны опасностей, неожиданных сложностей и, как правило, рискованны и дороги в перестройке. Накопленная сложность IT-сред сделала их участками «Brownfield».

Не сложность новой функции или каких-либо новых характеристик системы являются корнем крупных неудач проекта — это наше [ чье? ] понимание и сообщение общих требований (как определено в «Мифическом человеко-месяце »). Чтобы добиться успеха, требования должны включать точное и полное понимание ограничений существующего бизнеса и ИТ. Текущие инструменты и методы « Greenfield » используют ранние, неформальные и часто неточные абстракции, которые по сути игнорируют такую ​​сложность. Ранние, плохо информированные абстракции обычно неверны и часто обнаруживаются на поздних этапах строительства, что приводит к задержкам, дорогостоящим доработкам и даже неудачным разработкам. Подход, ориентированный на Brownfield, охватывает существующую сложность и используется для надежного ускорения общего процесса разработки решения, включая обеспечение поэтапных, постепенных изменений везде, где это возможно.

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

Схема процесса разработки браунфилда

Стандартные методы Greenfield затем используются в сочетании для определения предпочтительной бизнес-цели. Этот метод «встречи посередине» знаком по другим методам разработки, но широкое использование формальной абстракции и использование шаблонов как для обнаружения, так и для генерации является новым.

Базовая концептуальная архитектура всех инструментов Brownfield известна как VITA. VITA означает Views, Inventory, Transformation and Artifacts. В архитектуре VITA определение проблемы целевого пространства может поддерживаться в виде отдельных (хотя и связанных) собственных «головных частей» знаний, известных как Views. Основное преимущество View заключается в том, что оно может быть основано практически на любом формальном инструменте. Brownfield не навязывает проблемному пространству единый инструмент или язык — основной принцип заключается в том, что headfuls продолжают поддерживаться в своих собственных формах и инструментах.

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

В настоящее время представления можно импортировать из самых разных источников, включая источники UML , XML , DDL , электронные таблицы и т. д. Инструмент Analysis and Renovation Catalyst от IBM еще больше расширил эту возможность за счет использования формальных грамматик и абстрактных синтаксических деревьев, что позволяет анализировать и токенизировать практически любую программу в представление для включения в инвентарь.

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

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

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

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

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

Смотрите также

Ссылки