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

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

Введение. Вероятно, вы уже привыкли к тому, что архитектура рассматривается нами как нечто подконтрольное архитектору






Вероятно, вы уже привыкли к тому, что архитектура рассматривается нами как нечто подконтрольное архитектору. Мы показали, как путем принятия архитектурных решений (а в части 3 речь пойдет об анализе этих решений) реализуются задачи и требования, предъявляемые к разрабатываемой системе. Но есть и альтернативный вариант развития событий. Предположим, что перед нами существующая система, архитектура которой нам неизвестна. Возможно, разработчики архитектуры решили не утруждаться ее документированием. Может быть, документация утеряна. Наконец, возможен и такой вариант, при котором после Ряда модификаций исходная архитектура уже не соответствует фактическому Состоянию системы. Что делать с сопровождением такой системы? Как контролировать ее развитие, как сохранить соответствие ее архитектуры (что бы она собой ни представляла) предъявленным к системе требованиям по качеству?

Ответы на перечисленные вопросы дает представленная в настоящей главе методика реконструкции архитектуры (architecture reconstruction), которая позволяет восстановить «фактическую» (as-built) архитектуру реализованной системы исходя из ее современного состояния. Для этого с помощью определенных инструментальных средств, которые собирают информацию о системе, последовательно строят и группируют уровни абстракции, проводится детальный анализ системы. Если инструменты успешно справляются со своей задачей, в конечном итоге мы получаем архитектурное отображение, дающее возможность строить о системе некие умозаключения. Иногда сгенерировать сколько-нибудь пригодное отображение не удается. В частности, это характерно для устаревших систем, в которых связного архитектурного решения не предполагалось изначально (впрочем, такой вывод полезен сам по себе).

Реконструкция архитектуры является интерпретирующим, интерактивным и итеративным процессом; она состоит из многочисленных операций и не является автоматической. В ее проведении должны принимать участие специалист по обратной разработке и, поскольку архитектурные конструкции не находят явного отражения в исходном коде, архитектор (или иной специалист, обладающий достаточными знаниями об архитектуре). В языках программирования отсутствуют конструкции, соответствующие «уровню», «соединителю» и прочим архитектурным элементам; следовательно, вычленить их из файла с исходным кодом непросто. Что касается архитектурных образцов, то они, если и используются, редко каким-либо образом обозначаются. Архитектурные конструкции отражаются в реализации через самые разнообразные механизмы — как правило, это коллекции функций, классов, файлов, объектов и т. д. Во время первоначальной разработки системы осуществляется отображение ее высокоуровневых проектных/архитектурных элементов на элементы реализации. Таким образом, при реконструкции этих элементов требуется провести обратное отображение, а для этого необходимы определенные познания в области архитектуры. Не менее важную роль играет владение конструктивными методиками компиляторов и утилитами наподобие grep, sed, awk, peri, python и lex/yacc.

Существует несколько вариантов применения результатов архитектурной реконструкции. Если документация отсутствует или устарела, то на базе восстановленного архитектурного отображения систему можно документировать заново (см. главу 9). Кроме того, после реконструкции фактической (as-built) архитектуры ее можно сравнить с проектной (as-designed) архитектурой. По итогам этой проверки мы можем убедиться в том, что специалисты по сопровождению (или, если уж на то пошло, разработчики) следуют «заповедям» архитектуры и не подрывают ее основ, разрушая абстракции, сводя воедино разные уровни, нарушая принцип информационной закрытости и т. д. По результатам реконструкции можно проводить архитектурный анализ (см. главы 11 и 12) или приводить систему в соответствие с новой версией архитектуры. Наконец, полученное отображение помогает выявлять элементы, допускающие повторное использование, и определять линейки продуктов на основе архитектуры (см. главу 14).

Методика архитектурной реконструкции нашла применение в самых разных проектах — oт измерителей магнитного резонанса до автоматических телефон-коммутаторов и от вертолетных навигационных систем до засекреченных "|,lN Л, NASA. Помимо прочего, она использовалась для:

+ повторного документирования архитектур систем физического моделирования;

+ выявления архитектурных зависимостей во встроенных системах управления горным оборудованием;

+ опенки соответствия реализации наземной станции из системы спутниковой связи эталонной архитектуре;

+ описания различных систем в автомобильной промышленности.







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



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

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

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

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

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

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

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