Введение
Инженерная семья продуктов (PFE), также известная как инженерия линий продуктов, основана на идеях "инженерии домена", созданных Институтом программного обеспечения, термин, придуманный Джеймсом Нейборсом в его диссертации 1980 года в Калифорнийском университете в Ирвине. Линии программных продуктов довольно распространены в нашей повседневной жизни, но прежде чем семья продуктов может быть успешно создана, необходимо следовать обширному процессу. Этот процесс известен как инженерия семейства продуктов. Инженерная семья продуктов может быть определена как метод, который создает базовую архитектуру платформы продукта организации. Она обеспечивает архитектуру, основанную на общности, а также на запланированных вариативных возможностях. Различные варианты продукта могут быть получены из базового семейства продуктов, что создает возможность повторного использования и дифференциации продуктов в семье. Концептуально инженерия семейства продуктов схожа с широко распространенным использованием платформ для автомобилей в автомобильной промышленности. Инженерная разработка семейства продуктов - относительно новый подход к созданию новых продуктов. Он фокусируется на процессе разработки новых продуктов таким образом, чтобы можно было повторно использовать компоненты продукта и применять изменчивость с уменьшением затрат и времени. Инженерная семья продуктов - это повторное использование компонентов и структур, насколько это возможно. Несколько исследований доказали, что использование подхода разработки семейства продуктов для разработки продукта может иметь несколько преимуществ. Вот список некоторых из них: Более высокая производительность Более высокое качество Более быстрое время выхода на рынок Более низкая потребность в рабочей силе Пример Nokia, упомянутый ниже, также иллюстрирует эти преимущества.
Higher productivity
Higher quality
Faster time to market
Lower labor needs
The Nokia case mentioned below also illustrates these benefits.
Фаза 1: управление продуктом
Первый этап - это запуск всего процесса. На этом этапе определяются некоторые важные аспекты, особенно в отношении экономических аспектов. На этом этапе определяются рыночные стратегии и определяется объем, который определяет, что должно и что не должно быть в семействе продуктов.
Оценить бизнес-визию
В ходе этой первой деятельности собирается и оценивается вся контекстная информация, необходимая для определения объема линейки продуктов. Важно определить четкую рыночную стратегию и принять во внимание внешнюю рыночную информацию, такую как потребительские запросы. В результате деятельности должен быть составлен контекстный документ, содержащий руководящие принципы, ограничения и стратегию продукта.
Определите область применения линейки продуктов
Методы определения сферы применяются для определения аспектов, которые входят в сферу применения. Это основано на предыдущем этапе процесса, где были учтены внешние факторы. Результатом является описание портфеля продуктов, которое включает в себя список текущих и будущих продуктов, а также дорожную карту продуктов. Можно утверждать, что этапа 1, управление продуктом, является частью процесса разработки семейства продуктов, потому что его можно рассматривать как отдельный бизнес-процесс, который больше сосредоточен на аспектах управления, а не на аспекте продукта. Однако на втором этапе требуется значительный вклад от этого этапа, поскольку на этом этапе определяется значительная часть сферы применения. Поэтому с этой точки зрения важно включить фазу управления продуктом (фаза 1) в весь процесс в качестве основы для процесса разработки домена.
Фаза 2: инженерия домена
На этапах разработки домена собираются переменные и общие требования для всей линейки продуктов. Цель состоит в создании многоразовой платформы. Результатом этой фазы является набор общих и переменных требований для всех продуктов в линейке продуктов.
Анализ требований домена
Эта деятельность включает в себя все мероприятия по анализу области с точки зрения концептуальных требований. Требования классифицируются и разделяются на две новые виды деятельности. Выход - это документ с анализом домена. Как видно на рисунке 1, процесс определения общих требований является параллельным процессом с определением переменных требований. Обе мероприятия проходят одновременно.
Определять общие требования
Включает в себя все мероприятия по выявлению и документированию общих требований к линейке продуктов, в результате чего получается документ с многократно используемыми общими требованиями.
Определите переменные требования
Включает в себя все действия по выявлению и документированию переменных требований линейки продукции, в результате чего получается документ с переменными требованиями.
Область дизайна
Этот этап процесса состоит из мероприятий по определению эталонной архитектуры линейки продуктов. Это создает абстрактную структуру для всех продуктов в линейке продуктов.
Домен реализации
На этом этапе создается детальный дизайн компонентов для многократного использования и их реализация.
Область испытаний
Проверяет и проверяет возможность повторного использования компонентов. Компоненты проверяются в соответствии со спецификациями. После успешного тестирования всех компонентов в различных случаях использования и сценариях, этапа доменной инженерии была завершена.
Фаза 3: инженерия продукта
На заключительном этапе разрабатывается продукт X. Этот продукт X использует общие черты и изменчивость из фазы разработки домена, поэтому продукт X получается из платформы, установленной на этапе разработки домена. В основном, он включает все общие требования и сходства с предыдущей фазой, а также свои собственные переменные требования. Используя основу из фазы разработки домена и индивидуальных требований фазы разработки продукта, можно создать полный и новый продукт. После того, как продукт был полностью испытан и одобрен, продукт X может быть поставлен.
Определите требования к продукту
Разработка спецификации требований к продукту для отдельного продукта и повторное использование требований предыдущего этапа.
Проектируемый продукт
Все мероприятия по созданию архитектуры продукта. Использует эталонную архитектуру из этапа "проектирование", выбирает и настраивает необходимые части эталонной архитектуры и включает в себя специфические для продукта адаптации.
Создать продукт
В ходе этого процесса изделие создается с использованием выбора и конфигурации компонентов, которые могут быть использованы повторно.
Испытательный продукт
На этом этапе продукт проверяется и проверяется в соответствии со спецификациями. В протоколе испытаний приводится информация обо всех проведенных испытаниях, что дает обзор возможных ошибок в продукте. Если продукт на следующем этапе не принимается, процесс возвращается к "изготовленному продукту", на рисунке 1 это обозначено как "не удовлетворен".
Доставка и поддержка продукта
Последним шагом является приемка конечного продукта. Если он был успешно протестирован и утвержден как полный, он может быть доставлен. Если продукт не соответствует спецификациям, его необходимо перестроить и проверить снова. На следующем рисунке показан общий процесс разработки семейства продуктов, как описано выше. Это полный обзор процесса со всеми понятиями, связанными с различными шагами.
Диаграмма данных процесса
На левой стороне весь процесс сверху вниз. Все действия на левой стороне связаны с понятиями на правой стороне через пунктирные линии. Каждое понятие имеет номер, который отражает ассоциацию с другими понятиями.
Пример
Есть несколько хороших примеров использования инженерии семейства продуктов, которые были довольно успешными. Абстрактная модель семейства продуктов позволяет использовать различные виды, большинство из которых связаны с рынком бытовой электроники. Ниже приведен пример применения процесса разработки линейки продуктов, основанный на реальном опыте Nokia. Nokia производит различные виды продукции. Среди них есть семейство продуктов мобильных телефонов, в настоящее время содержащее 25-30 новых продуктов каждый год. Эти продукты продаются по всему миру, что делает необходимым поддержку многих различных языков и пользовательских интерфейсов. Основная проблема заключается в том, что необходимо поддерживать несколько различных пользовательских интерфейсов, и поскольку новые продукты очень быстро следуют друг за другом, это должно быть сделано как можно более эффективно. Инженерная разработка семейства продуктов позволяет создавать программное обеспечение для различных продуктов и использовать изменчивость для настройки программного обеспечения для каждого различного мобильного телефона. Случай с Nokia можно сравнить с обычной линейкой программного обеспечения. На первом этапе, управлении продуктами, можно определить объем различных серий мобильных телефонов. Во время второй фазы, инженерии домена, определяются требования к семейству и к отдельным типам телефонов, например, серии 6100/8300. На этом этапе создаются требования к программному обеспечению, которое может служить основой для всего семейства продуктов. Это ускоряет общий процесс разработки программного обеспечения. Последняя фаза, инженерия продукта, больше сосредоточена на отдельных типах телефонов. Требования предыдущего этапа используются для создания индивидуального программного обеспечения для разрабатываемого типа телефона. Использование линейки продуктов дало Nokia возможность увеличить производство новых моделей мобильных телефонов с 510 до примерно 30.