Фабрика программного обеспечения

редактировать

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

Содержание

  • 1 Описание
  • 2 Цель
  • 3 Компоненты
  • 4 Разработка продукта
  • 5 Преимущества
    • 5.1 Ценность для бизнеса
    • 5.2 Ценность для архитекторов
    • 5.3 Ценность для разработчики
    • 5.4 Ценность операций
  • 6 Другие подходы
    • 6.1 Промышленная организация программного обеспечения (Япония)
    • 6.2 Завод универсального программного обеспечения (Европа)
    • 6.3 Завод компонентов, основанный на опыте (Северная Америка)
    • 6.4 Зрелая организация по разработке программного обеспечения (Северная Америка)
  • 7 История
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки

Описание

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

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

Цель

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

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

Компоненты

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

  • Factory Schema: документ, в котором упорядоченным образом классифицируется и резюмируются активы, используемые для создания и поддержки системы (например, XML-документы, модели и т. Д.), и определяет отношения между ними.
  • Эталонная реализация: предоставляет пример реалистичного готового продукта, который фабрика программного обеспечения помогает разработчикам создавать.
  • Рекомендации и шаблоны архитектуры: помогают объяснить выбор дизайна приложения и мотивация для этого выбора.
  • Темы с практическими рекомендациями: Предоставьте процедуры и инструкции для выполнения задач.
  • Рецепты: Автоматизируйте процедуры в темах с практическими рекомендациями, полностью или по частям. Они могут помочь разработчикам выполнять рутинные задачи с минимальным вводом.
  • Шаблоны: готовые элементы приложения с заполнителями для аргументов. Их можно использовать для создания начальных элементов проекта.
  • Дизайнеры: предоставляют информацию, которую разработчики могут использовать для моделирования приложений на более высоком уровне абстракции.
  • Повторно используемый код: компоненты, реализующие общие функции или механизмы. Интеграция повторно используемого кода в фабрику программного обеспечения снижает требования к написанию кода вручную и поощряет повторное использование в приложениях.

Разработка продукта

Создание продукта с использованием фабрики программного обеспечения включает в себя следующие действия:

  • Анализ проблемы: Определяет, входит ли продукт в объем производства программного обеспечения. Соответствие определяет, полностью или частично создан продукт с использованием фабрики программного обеспечения.
  • Спецификация продукта: определяет требования к продукту, выделяя отличия от требований линейки продуктов с использованием ряда механизмов спецификации продукта.
  • Дизайн продукта: сопоставляет различия в требованиях с различиями в архитектуре линейки продуктов и процессе разработки для создания индивидуального процесса.
  • Реализация продукта: для разработки реализации может использоваться ряд механизмов, в зависимости от степени различий.
  • Развертывание продукта: включает создание или повторное использование ограничений развертывания по умолчанию и настройку требуемых ресурсов, необходимых для установки развертываемых исполняемых файлов.
  • Тестирование продукта: включает создание или повторное использование тестовых ресурсов (например, в качестве тестовых примеров, наборов данных и сценариев), а также применение инструментов и инструментов измерения.

Преимущества

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

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

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

Ценность для бизнеса

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

Ценность для архитекторов

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

Ценность для разработчиков

Разработчики могут использовать фабрики программного обеспечения для повышения производительности и сокращения времени на запуск. Это достигается за счет создания высококачественной отправной точки (базовой линии) для приложений, которая включает код и шаблоны. Это позволяет начинать проекты с более высокого уровня зрелости, чем традиционно разрабатываемые приложения. Многоразовые ресурсы, руководства и примеры помогают решать общие сценарии и проблемы, а автоматизация общих задач позволяет разработчикам легко применять рекомендации единообразными способами. Фабрики программного обеспечения обеспечивают уровень абстракции, который скрывает сложность приложений и разделяет проблемы, позволяя разработчикам сосредоточиться на различных областях, таких как бизнес-логика, пользовательский интерфейс (UI) или сервисы приложений, без глубоких знаний инфраструктуры или базовых сервисов. Абстрагирование общих задач разработчика и повышенная возможность повторного использования кода инфраструктуры могут помочь повысить производительность и удобство обслуживания.

Ценность для операций

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

Другие подходы

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

Промышленная организация по разработке программного обеспечения (Япония)

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

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

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

Завод универсального программного обеспечения (Европа)

Этот подход был профинансирован в рамках программы Eureka и назывался Eureka Software Factory. Участниками этого проекта являются крупные европейские компании, производители компьютеров, компании-разработчики программного обеспечения, исследовательские институты и университеты. Целью этого подхода является обеспечение технологий, стандартов, организационной поддержки и другой необходимой инфраструктуры для создания и адаптации фабрик программного обеспечения из компонентов, продаваемых независимыми поставщиками.

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

Завод компонентов, основанный на опыте (Северная Америка)

Завод компонентов, основанный на опыте, разработан в Лаборатории разработки программного обеспечения в Центре космических полетов имени Годдарда НАСА. Цели этого подхода - «понять процесс разработки программного обеспечения в производственной среде, определить влияние доступных технологий и вернуть идентифицированные / уточненные методы в процесс разработки». Подход заключался в том, чтобы экспериментировать с новыми технологиями в производственной среде, извлекать и применять опыт и данные экспериментов и измерять влияние в отношении стоимости, надежности и качества.

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

Развитая организация по разработке программного обеспечения (Северная Америка)

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

История

  • Первой компанией, принявшей этот термин, была Hitachi в 1969 году с ее Hitachi Software Works. Позже другие компании, такие как System Development Corporation в 1975 году,
  • NEC, Toshiba и Fujitsu в 1976 и 1977 годах, следовали тому же организационному подходу.

Кусумано предполагает, что существует шесть этапов для фабрик программного обеспечения:

  • Базовая структура организации и управления (с середины 1960-х до начала 1970-х)
  • Адаптация и стандартизация технологий (с начала 1970-х до начала 1980-х)
  • Механизация и поддержка процессов (конец 1970-х)
  • Усовершенствование и расширение процессов (начало 1980-х)
  • Интегрированная и гибкая автоматизация (середина 1980-х)
  • Инкрементальный продукт / улучшение разнообразия (конец 1980-х)

См. также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-08 08:27:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте