Как сохранить несколько компонентов для нескольких клиентов для нескольких функций? - PullRequest
1 голос
/ 31 марта 2010

В основном мой проект основан на продукте. После того, как мы разработали проект и поймать несколько клиентов и развернуть приложение на основе их потребностей. Но мы решили поставить новые функции и зависимые от проекта модули в качестве компонента. Теперь моя заявка получила много клиентов. Каждому клиенту нужны разные функции в зависимости от компонента. Но у нас есть централизованный компонент для всех клиентов. мы перемещаем дополнительную функцию компонентов в определенную папку клиента и разворачиваем. Моя проблема в том, что я не могу поддерживать функции компонентов для нескольких клиентов. Код компонента компонента увеличен, и я не могу отслеживать функции клиента. Есть ли какое-либо решение для поддержки функций нескольких компонентов для нескольких клиентов?

Ответы [ 2 ]

0 голосов
/ 31 марта 2010

Вы, в сущности, говорите о линейках программных продуктов (SPL): отклонения от общей базы. Поскольку вы уже упаковываете свои функции как компоненты, вам нужен специализированный инструмент для управления такими изменениями.

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

Подход, основанный на разработке моделей (MDSD), может очень помочь в решении этой задачи. Одной из таких систем, которая может поддерживать эту настройку разработки, является ABSE, новый подход MDSD, который, помимо прочего, может реализовывать линейку программных продуктов (информация на http://www.abse.info - Отказ от ответственности: я руководитель проекта ABSE). Там еще нет продукта, хотя. Скоро начнется альфа-просмотр.

Опять же, я знаю некоторые компании, которые, используя MDSD в сочетании с генерацией кода, достигли того, что, как я понимаю, вы хотите: продукты, которые уже наполовину упакованы, наполовину изготовлены на заказ.

0 голосов
/ 31 марта 2010

Я работал на пару компаний в аналогичном пространстве - программное обеспечение продукта, но очень сильно настроенное.

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

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

Они могут быть установлены во время выполнения (чтобы их можно было изменить по желанию клиента - подумайте о параметрах в Word или Excel) или во время сборки (чтобы код был включен / исключен при выполнении сборки), но это важно заключается в том, что каждый клиент должен быть извлечен из одной и той же базы кода.

Но это должно быть согласовано с бизнесом, поскольку оно ограничивает то, что они могут продать - каждое продаваемое изменение должно вписываться в общее видение, которое может быть реализовано одним продуктом.

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

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

Удачи, это трудная проблема без простого решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...