Браунфилд (разработка программного обеспечения)

редактировать
Развертывание новых программных систем в непосредственной близости от существующего (унаследованного) программного обеспечения

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

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

Решение проблем со средой

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

  • Сложность среды часто выражается в устаревшем коде. Нехватка унаследованных навыков приводит к увеличению затрат на обслуживание и интеграцию.
  • Существующие сложные среды необходимо модернизировать поэтапно, чтобы они имели операционный смысл для связанной с ними бизнес-функции. На этих этапах часто по умолчанию осуществляется массовая и рискованная замена систем, поскольку незнание существующей сложности означает, что потенциальные инкрементальные изменения слишком сложны для понимания и разработки.
  • Методы ускоренной разработки оставили предприятиям современные устаревшие системы. Сложные приложения Java и .NET имеют многие из тех же проблем, что и более старые приложения COBOL.

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

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

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

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

Краткое описание процесса разработки Brownfield

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

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

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

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

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

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

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

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

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

Ссылки
Последняя правка сделана 2021-05-13 14:15:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте