8.3. Варианты архитектуры линеек продуктов
Из всех элементов депозитария базовых средств наиболее важной является архитектура. Для того чтобы задуманная линейка программных продуктов оправдала возлагаемые на нее надежды, необходимо разделить ее элементы на две группы: 1) те, которые останутся неизменными у всех членов семейства, и 2) те, которые, как предполагается, будут варьировать. Выражается эта двойственность в программной архитектуре, которая по сути своей является абстракцией, допускающей множественность экземпляров; ее концептуальная ценность во многом обусловливается тем, что она позволяет сосредоточиваться на основах проектного решения, распространяющегося на ряд различных реализаций. Архитектура изначально ориентирована на разделение постоянных и изменяемых элементов. В рамках линейки программных продуктов архитектура выражает неизменяемые аспекты.
С другой стороны, архитектура линейки продуктов не ограничивается элементарной дихотомией — она устанавливает набор явно допустимых вариаций. Этим она отличается от традиционной архитектуры, в которой большинство экземпляров зависят от реализации задач (конкретной) системы по качеству и поведению. Таким образом, в обязанности архитектуры входит установление допустимых вариаций и обеспечение встроенных механизмов их реализации. Вариации эти иногда довольно существенны. Программные продукты, участвующие в линейке, существуют параллельно и потенциально различаются по поведению, атрибутам качества, платформе, сети, физической конфигурации, промежуточному программному обеспечению, масштабу и т. д.
Архитектор, работающий над линейкой программных продуктов, должен выполнить три задачи:
♦ выявить изменяемые параметры;
♦ обеспечить поддержку изменяемых параметров;
♦ оценить архитектуру на предмет пригодности к построению линейки продуктов.
Установление изменяемых параметров
Установление параметров изменчивости относится к рутинным операциям. По-скольки вариативность продукта проявляется очень во многих отношениях, возможность выявления точек изменчивости сохраняется на всех этапах процесса разработки. Одни определяются на этапе выявления требований к линейке продуктов, другие — на этапе архитектурного проектирования, третьи — во время реализации. Кроме того, изменяемые параметры иногда выявляются в ходе реализации второго продукта линейки (и всех последующих продуктов).
Среди изменяемых параметров, обнаруживаемых в процессе выявления требований, встречаются характеристики, платформы, пользовательские интерфейсы, атрибуты качества и даже целевые рынки. Некоторые из них взаимозависимы. К примеру, пользовательский интерфейс может быть привязан к предполагаемой платформе, которая, в свою очередь, может зависеть от конкретного целевого рынка.
Изменяемые параметры, обнаруженные в процессе архитектурного проектирования, можно рассматривать либо как альтернативы для реализации вариаций, установленных во время выявления требований, либо как нормальные проектные вариации (дело в том, что отдельные решения откладываются вплоть до поступления дополнительной информации). В любом случае, употребление термина «изменяемый параметр» вполне обоснованно — в архитектуре действительно есть точки, в которой вариации локализуются.
Do'stlaringiz bilan baham: |