Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПО на практике.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
63 Мб
Скачать
☆
    1. Заключение

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

Впрочем, как и любая другая новая технология, методика линеек продуктов готовит для новичков некоторые сюрпризы. С точки зрения архитектуры основ­ной упор делается на выявление общности и вариативности, а также управление ими; в то же время учитываются и некоторые нетехнические проблемы — меха­низм внедрения модели в компании, ее структура и способ поддержания внеш­них интерфейсов.

    1. Дополнительная литература

В работе [Anastasopoulos 00] приводится вполне добротный перечень методик реализации изменчивости. Аналогичные перечни есть в публикациях [Jacobson 97] и [Svahnberg 00].

Комплексное исследование линеек программных продуктов проведено в из­дании [Clements 02а]. Анализ практических областей линеек продуктов в нем перемежается с конкретными примерами.

Организационные модели рассматриваются в работе [Bosch 00b].

Сведения по процессу FAST мы почерпнули из издания [Weiss 00], а по ком­пании Philips — из [America 00]. Наконец, материалы для примера компании GM Powertrain взяты из труда [Bass 00].

    1. Дискуссионный вопрос

Предположим, что, имея в своем распоряжении обширный набор общих средств (включая архитектуру), некая компания конструирует две схожие системы. Очевидно, что они составляют линейку продуктов. А было бы правомерно признать их линейкой, если бы общность исчерпывалась архитекту­рой? Допустим, что у них один общий элемент; что общность распростра­няется на операционную систему и оперативные библиотеки языка про­граммирования; что за их разработку отвечает одна и та же группа разра­ботчиков. Можно ли в трех указанных случаях включать эти продукты в одну линейку?

Глава 15

CelsiusTech. Конкретный пример разработки линейки продуктов

(в соавторстве с Лайзой Браунсуорд)

Лайза Браунсуорд (Lisa Brownswortl) — научный сотрудник Института программной инженерии при Университете Карпеги-Мсллои.

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

Петроний Арбитр [Petronius Arbiter], 210

В настоящей главе мы расскажем о наработках компании CelsiusTech АВ — раз­работчика систем для шведских ВМС, сумевшего успешно внедрить методику построения линеек сложных, преимущественно программных, продуктов. Назван­ная Ship System 2000 (SS2000), линейка продуктов этой компании включает в се­бя судовые системы для военных ведомств государств Скандинавии, Ближнего Востока и южнотихоокеанского региона.

Данный конкретный пример иллюстрирует архитектурно-экономический цикл (Architecture Business Cycle, ABC) в целом и выход CelsiusTech с методикой по­строения линеек продуктов на новые коммерческие рубежи в частности. Роли лиц, заинтересованных в прохождении архитектурно-экономического цикла, в кон­тексте опыта Celsius изображены на рис. 15.1.

Рис. 15.1. Архитектурно-экономический цикл в CelsiusTech