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

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

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





Вероятно, вы уже привыкли к тому, что архитектура рассматривается нами как нечто подконтрольное архитектору. Мы показали, как путем принятия архитектурных решений (а в части 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; просмотров: 625. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


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

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

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