Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Оценка архитектуры линейки продуктов




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

Облегчает задачу то обстоятельство, что все методики оценки, описанные ра­нее, в полной мере распространяются на варианты архитектуры линейки продук­тов. Архитектуру необходимо проверить на робастность и универсальность — атрибуты качества, без которых она не сможет служить основой систем в предпо­лагаемой области действия линейки продуктов. Кроме того, проверку следует провести на предмет соответствия требованиям по поведению и атрибутам каче­ства, предъявленным к конкретному продукту. Начнем мы с обсуждения содер­жательной стороны и методологической основы проведения оценки, после чего обратимся к ее временным характеристикам.

Что и как оценивать

Основным предметом оценки должны стать изменяемые параметры — целесооб­разность их введения, обеспечение ими гибкости, распространяющейся на всю предполагаемую область действия линейки продуктов, оперативность констру­ирования продуктов и отсутствие неприемлемых издержек производительности в период прогона. Если оценка проводится на основе сценариев, они должны быть ориентированы на конкретизацию архитектуры до отдельных продуктов семейства. Кроме того, вполне возможно, что требования по атрибутам качества в зависимости от конкретных продуктов варьируют, — отсюда необходимость в оценке способности архитектуры организовать все затребованные сочетания атрибутов. Следовательно, выявленные сценарии должны охватывать все требо­вания по атрибутам качества, предъявляемые к членам семейства продуктов.

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

Когда приступать к оценке

Объектом оценки должен стать экземпляр или вариация архитектуры, предназ­наченная для конструирования одного или нескольких продуктов в рамках ли­нейки. Специализация оценки зависит от степени различия вариантов архитек­туры продуктов-участников линейки (в том, что касается атрибутов качества) от архитектуры линейки в целом. Если различия незначительные, оценку вариан­тов архитектуры отдельных продуктов можно сократить, благо многие вопросы будут решены в ходе оценки архитектуры линейки. Архитектура любого продук­та ость вариация архитектуры линейки продуктов. Аналогичная ситуация складывается и с их оценкой. Таким образом, в зависимости от конкретного метода оценки у ее артефактов (сценариев, контрольных списков и т. д.) будет тот или иной потенциал повторного использования, и в ходе их создания это обстоятель­ство нужно иметь в виду. Результаты оценки вариантов архитектуры продуктов часто содержат ценную для архитекторов линейки ответную информацию и тем самым стимулируют архитектурные усовершенствования.

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

Оценка вариантов архитектуры отдельных продуктов и линейки в целом по­могает, во-первых, выявить рискованные с архитектурной точки зрения решения и, во-вторых (если проводить оценку по методу СВАМ — см. главу 12), опреде­лить продукты, сулящие наибольшие выгоды.

14.5. Факторы, усложняющие применение линеек программных продуктов

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

Согласно результатам исследований, проведенных в Институте программной инженерии, существует 29 проблем, или «практических областей» (practice areas), которые обусловливают успешность учреждения компаниями линеек программ­ных продуктов. Многие из них в равной степени применимы при разработке еди­ничных систем, в то же время в контексте линеек продуктов они приобретают новое измерение. Приведем два примера: определение архитектуры и управление конфигурациями.

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

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

С нижеприведенными проблемами на этапе обсуждения перспективы внедре­ния линейки программных продуктов сталкиваются все без исключения органи­зации.

Стратегии принятия

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

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

Ортогональным относительно проблемы «как направить распространение тех­нологии» является вопрос о развитии собственно линейки продуктов. Здесь гла­венствующую роль играют две основные модели (Перечисленные ниже модели сформулированы Чарльзом Крюгером (Charles Krueger) в ходе последнего дагштульского семинара по линейкам программных продуктом (www.dagstuhl.de)).

В рамках активной (proactive) линейки продуктов разграничение семейства осуществляется путем всестороннего определения области действия. Сотрудни­ки компании принимают соответствующее решение отчасти случайным образом, однако посылками для них служат опыт работы в данной прикладной области, знание рыночной ситуации и технологических тенденций, а также коммерческое чутье. Из двух моделей роста линеек продуктов активная модель предоставляет наиболее широкие возможности — в частности, она позволяет ответственным лицам в компании принимать долгосрочные стратегические решения. Явное определение области действия линейки продуктов облегчает выявление ниш» недостаточно разработанных присутствующими на рынке продуктами, и за счет незначительно расширения линейки продуктов дает возможность их заполнения. Иначе говоря, активная область действия линейки продуктов позволяет разрабатывающей ее компании принимать независимые решения о своей будущности.

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

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

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

Создание продуктов и развитие линейки продуктов

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

Одна из задач, связанных с линейками продуктов, заключается в контроле над ее развитием. С течением времени линейка продуктов — в особенности на­бор базовых средств, на основе которых конструируются продукты, — эволюци­онирует. Движущие силы этой эволюции делятся на внешние и внутренние.




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


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


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



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




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