Jump to content

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

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

Описание

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

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

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

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

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

Компоненты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стоимость операций

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опытный завод компонентов (Северная Америка)

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

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

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

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

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

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

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

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

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

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д «Фабрики программного обеспечения» . MSDN. 20 мая 2014 г.
  2. ^ Jump up to: а б с Гринфилд, Джек; Коротко, Кейт; Кук, Стив; Кент, Стюарт (2004). Фабрики программного обеспечения: сборка приложений с помощью шаблонов, моделей, фреймворков и инструментов . Уайли. ISBN  0-471-20284-3 .
  3. ^ Jump up to: а б с д «Фабрики программного обеспечения: сценарии и преимущества» . MSDN. 20 мая 2014 г.
  4. ^ Jump up to: а б Аэн, Иван; Бетчер, Питер; Матиассен, Ларс (1997). «Фабрика программного обеспечения: вклад и иллюзии» (PDF) . Материалы двадцатого семинара по исследованию информационных систем . Скандинавия, Осло.
  5. ^ Братман, Х.; Корт, Т. (1975). «Фабрика программного обеспечения». Компьютер . 8 (5): 28–37. дои : 10.1109/см.1975.218953 . S2CID   537648 .
  6. ^ Кусумано, Майкл А. (март 1989 г.). «Фабрика программного обеспечения: историческая интерпретация». Программное обеспечение IEEE . 6 (2): 23–30. дои : 10.1109/ms.1989.1430446 . S2CID   18982313 .
  7. ^ Грисс, МЛ (1993). «Повторное использование программного обеспечения: от библиотеки до завода». IBM Systems Journal . 32 (4): 548–566. CiteSeerX   10.1.1.88.2855 . дои : 10.1147/sj.324.0548 .
  8. ^ Кусумано, Майкл А. (1991). «Фабричные концепции и практики разработки программного обеспечения». Анналы истории вычислительной техники . 13 (1): 3–32. дои : 10.1109/mahc.1991.10004 . S2CID   7733552 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d51198f64202451a751261cca15a5e29__1714904340
URL1:https://arc.ask3.ru/arc/aa/d5/29/d51198f64202451a751261cca15a5e29.html
Заголовок, (Title) документа по адресу, URL1:
Software factory - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)