Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ДОКУМЕНТАЦИЯ КАК ВВЕДЕНИЕ В ПРОГРАММНУЮ АРХИТЕКТУРУ





Однажды мне довелось делать презентацию атрибутного метода проектирования (Attribute Driven Design, ADD; см. главу 7). Заказчики — представители одного из подразделений крупной производственной компании — видели в действии большинство наших разработок: метод анализа компромиссных архитектурных решений (АТАМ, см. главу 11), реконструкцию (глава 10), а также наши предложения по линейкам продуктов (глава 14). Закончив вещать, я, весьма довольный собой, ждал реакции.

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

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

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

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

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

-LJB

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

Таблица 9.1. Заинтересованные лица и их коммуникативные потребности, удовлетворяемые архитектурой1

 

Заинтересованные лица Способы применения
Архитектор и представляющие заказчика разработчики требований Обсуждение конфликтующих требований и поиск компромиссов
Архитектор и проектировщики составляющих систему элементов Разрешение состязаний за ресурсы, составление бюджета производительности и других бюджетов потребления ресурсов периода прогона
Конструкторы Установление жестких ограничений применительно к нисходящим операциям разработки (и допустимых вольностей)
Тестировщики и сборщики Регламентация корректного поведения совмещаемых элементов при тестировании методом «черного ящика»
Специалисты по сопровождению Выявление областей влияния предполагаемых изменений
Проектировщики сторонних систем, взаимодействующих с рассматриваемой системой Установление набора предоставляемых и требуемых операций, а также определение протокола их исполнения
Специалисты по атрибутам качества Разработка модели, выступающей в качестве основы для функционирования аналитических инструментов: частотно-монотонного анализа возможности планирования в реальном времени, моделирования, имитационных генераторов, программ доказательства теорем, верификаторов и т. д. Подобные средства оперируют информацией о потреблении ресурсов, политиках планирования, зависимостях и т. п. Информации, содержащейся в документации архитектуры, должно быть достаточно для оценки различных атрибутов качества: безопасности, производительности, практичности, готовности и модифицируемости. Для анализа каждого из этих атрибутов характерны индивидуальные информационные потребности
Руководители   Руководители линеек продуктов   Группа контроля качества Формирование групп разработчиков согласно установленному распределению функций, планирование и распределение ресурсов проекта, контроль действий, выполняемых различными группами   Установление принадлежности или отклонения потенциального члена семейства продуктов от их области действия; при необходимости — определение степени отклонения Подготовка к проверке соответствия, призванной подтвердить соблюдение конструкторами архитектурных директив

 







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




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия