Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внутренние стимулы




Внешние стимулы.

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

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

♦ Поводами для введения в линейку продуктов новых характеристик слу­жат желание соответствовать требованиям пользователей и поведение конкурентного окружения.

 

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

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

 

Организационная структура

Относительно фонда базовых средств, на котором основываются продукты — участники линейки, но который в то же время развивается по собственному сце­нарию, руководство компании должно принять ряд решений, касающихся управ­ления самим фондом и разработкой продуктов. Изучив организационные модели различных линеек продуктов, Ян Бош (Jan Bosch) в своей работе [Bosch 00b] предложил делить их на четыре типа.

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

♦ Выделение нескольких отделов разработки. Каждый из них ответствен за то или иное подмножество систем в рамках семейства продуктов, выделяемое по признаку общности. Совместно используемые средства создаются теми подразделениями, которые испытывают потребность в их наличии, после чего предоставляются в пользование всем коллегам; не исключается также сотрудничество отделов для разработки новых средств. У этой модели не­сколько разновидностей, отражающих различные степени гибкости отде­лов по части разработки (или модификации) совместно используемых средств. В отсутствие каких-либо ограничений продукты обычно расходят­ся индивидуальными путями, ниспровергая таким образом саму методику линеек продуктов. Ответственность за конкретные средства распределяет­ся между отделами, которые должны поддерживать собственные средства в согласии с линейкой продуктов в целом. Остальные отделы берут на себя обязательства по использованию этих средств. По оценкам Боша, рассмат­риваемая модель подходит для компаний, в которых штат насчитывает от 30 до 100 сотрудников. К сожалению, во многих подобных случаях отделы концентрируются исключительно на выделенных им продуктах, в резуль­тате чего задачи линейки отходят на второй план.

♦ Деятельность в рамках отдела инженерии предметных областей. За разра­ботку и сопровождение фонда базовых средств в данном случае отвечает специальное подразделение компании; результатами его работы при кон­струировании продуктов пользуются все остальные отделы. По мнению Боша, когда численность штата компании переваливает за 100 сотрудни­ков, каналы взаимодействия между подразделениями теряют практичность и, таким образом, делают очевидной потребность во введении магистраль­ного канала к фонду совместно используемых средств. Центральную роль в рамках этой модели играет четкий и ясный процесс, направленный, с од­ной стороны, на координацию обмена информацией, а с другой — на при­нуждение всех участников к первоочередному соблюдению интересов ли­нейки.

♦ Иерархически выстроенные отделы инженерии предметных областей. Очень крупные и/или очень сложные линейки продуктов имеет смысл структу­рировать согласно некоей иерархии. Если, к примеру, некоторые (входя­щие в линейку продуктов) подгруппы схожи друг с другом в большей степени, чем с остальными участниками линейки продуктов, имеет смысл орг ани­зовать два подразделения: одно будет заниматься инженерией предмет­ной области для совместно используемых средств линейки в целом, а другое — средствами, применяемыми в рамках специализированной под­группы. Несмотря на то что в этом примере мы показали лишь два иерар­хических уровня, по большому счету, возможности расширения — если, к примеру, в рамках подгрупп выделяются специализированные подгруп­пы более низкого уровня и т. д. — ничем не ограничены. Иерархически орга­низованные подразделения по предметным областям применимы лишь к са­мым крупным линейкам продуктов, разрабатываемым в больших компаниях. Их главный недостаток — это тенденция к разрастанию, при котором опе­ративность реагирования компании на вновь возникающие потребности снижается.

14.6. Заключение

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

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

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

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

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

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

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

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

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


Глава 15

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

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

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

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

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

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

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

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

 

15.1. Связь с архитектурно­экономическим циклом

Компания CelsiusTech уже довольно давно приобрела статус ведущего шведского поставщика систем командования и управления. Она входит в крупнейшую в Шве­ции (и одну из крупнейших в Европе) оборонно-промышленную группу, в кото­рой, помимо нее, участвуют Bofors, Kuckums, FFV Aerotech и Telub. В период разработки рассматриваемых в настоящей главе систем в CelsiusTech входили три компании: CelsiusTech Systems (сложные программные системы), CelsiusTech Electronics (электронная техника для оборонной отрасли) и CelsiusTech IT (ин­формационно-технологические системы). Их штат тогда насчитывал около 2000 специалистов, а годовой оборот — 300 миллионов американских долларов. Штаб-квартира компании находится в предместье Стокгольма, а дочерние ком­пании — в Сингапуре, Новой Зеландии и Австралии.

Рис. 15.2. Этапы развития компании CelsiusTech Systems

Мы намерены рассмотреть лишь подразделение CclsiusTech Systems (для крат­кости будем называть его CelsiusTech), занимающееся изготовлением систем ко­мандования, управления и связи, систем управления огнем, систем радиолокаци­онного подавления для флота, сухопутных и воздушных войск. Начиная с 1985 года эта организация сменила несколько владельцев и имен (рис. 15.2). Первоначаль­но называвшаяся Philips Elektronikindustrier АВ, в 1989 году она была куплена компанией Bofots Electronics ЛВ, а в 1991 реорганизована под новым именем NobelTech АВ. Наконец, в 1993 году ее приобрела компания CelsiusTech. В то время как все перечисленные сделки сопровождались сменой топ-менеджеров, большая часть управленцев нижнего и среднего звена, равно как и технические специалисты, оставались на своих местах, демонстрируя тем самым известную преемственность и стабильность.

Ship System 2000: линейка продуктов для ВМС

Линейка продуктов CelsiusTech для ВМС под названием Ship System 2000 (внут­реннее название — Мk3) представляет собой интегрированную систему, объеди­няющую все устанавливаемые на военных судах системы вооружений, командо­вания, управления и связи. Ее стандартные конфигурации состоят из 1-1,5 миллиона строк кода на языке Ada, распределяемых в локальной сети (local area network, LAN) с 30-70 микропроцессорами.

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

♦ шведские корветы береговой обороны (KKV) класса Goteborg (380 тонн);

♦ датские многоцелевые патрульные суда SF300 (300 тонн);

♦ финские ракетные катера (FAC) класса Rauma (200 тонн);

♦ австралийские/новозеландские фрегаты ANZAC (3225 тонн);

♦ датские океанские патрульные суда класса Thetis (2700 тонн);

♦ шведские подводные лодки класса Gotland А19 (1330 тонн);

♦ пакистанские фрегаты класса Туре 21;

♦ оманские патрульные суда;

♦ датские корветы класса Niels Juel.

Подразделению военно-морских систем удалось продать более 50 своих про­дуктов в 7 странах.

На рис. 15.3 изображен многоцелевой корвет королевских ВМС Швеции класса Goteborg, зашедший в стокгольмскую гавань. Над ним возвышается антенна ди­апазона С/Х обзорной РЛС обзора и индикации цели. Спереди и сзади от этой антенны, поверх надпалубных сооружений, расположены два разработанных в ком­пании CelsiusTech, полностью укомплектованных устройства, состоящих из РЛС и оптико-электронного блока управления огнем.


Рис. 15.3. Шведский многоцелевой корвет класса GOteborg с системой управления

и контроля от CelsiusTech1

 

1 Фотография заимствована из фондов Studio FJK; перепечатывается с разрешения правообладателя.

Системы, конструируемые в рамках рассматриваемой линейки продуктов, силь­но различаются по размеру, функциям и вооружению. В частности, в зависимо­сти от страны-заказчика операторские дисплеи строятся на основе разных аппа­ратных средств и приспосабливаются к выводу информации на разных языках. Не меньше различий между датчиками, системами вооружений и их программными интерфейсами. Требования, предъявляемые к подводным лодкам, отлича­ются от требований, предъявляемых к надводным судам. Среди платформ, при­меняемых в данной линейке, — 68020, 68040, RS/6000 и DEC Alpha. Что касается операционных систем, то здесь возможны варианты в диапазоне от OS2000 (это собственная разработка CelsiusTech) до IBM AIX, POSIX, Digital Ultrix и неко­торых других. Поддержка столь широкого круга систем обеспечивается в линей­ке продуктов SS2000 посредством единой архитектуры, единого фонда базовых средств и в рамках одной организации.

Экономика линеек продуктов: обзор результатов, достигнутых CelsiusTech

В этом разделе мы обсудим результаты, достигнутые компанией CelsiusTech но части конструирования преимущественно программных систем.

Сокращение графика

На рис. 15.4 приводится состояние и графики разработки позднейших систем из линейки продуктов CelsiusTech. Контракты на разработку систем для судов А и В были подписаны примерно в одно и то же время, что и подвигло CelsiusTech на переход к линейке продуктов. Основой для ее построения послужила система А. Разработка проекта А продлилась почти десять лет — несмотря даже на то, что уже к концу 1989 года на судне были установлены первые функциональные вер­сии системы. Система В — второй из двух оригинальных продуктов, демонстри­рующий заметное сходство с предыдущей системой Мк2.5, существовавшей вне линейки продуктов, — разрабатывалась около семи лет. Работа над ней велась параллельно с разработкой системы А, что поспособствовало утверждению но­вой линейки продуктов. Взятые по отдельности, эти системы не отличались осо­бой продуктивностью, но, несмотря на это обстоятельство, CelsiusTech удалось

Рис. 15.4. Графики по продуктам

 

 


завершить обе (имеете с линейкой продуктов) силами специалистом, которых обычно хватает на один проект.

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




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 709; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.045 сек.