КАТЕГОРИИ: Архитектура-(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) |
Архитектура в контексте жизненного цикла
Проектирование архитектуры (в соавторстве с Феликсом Бахманом) По нашим наблюдениям, практически у всех удачных объектно-ориентированных систем есть две отличительные особенности, которые, как по совпадению, в большинстве случаев не реализованы в системах неудачных: во-первых, это наличие стройной архитектурной концепции, а во-вторых, применение контролируемого, итеративного и инкрементного цикла разработки. Грэди Буч (Grady Booch) [Stikeleather 96] Вплоть до настоящего момента мы говорили о тех вещах, которые должен знать любой архитектор. В частности, мы перечислили основные понятия и принципы, касающиеся по преимуществу коммерческих аспектов архитектуры (глава 1), архитектурных представлений и структур (глава 2), атрибутов качества (глава 4), а также архитектурных тактик и образцов их реализации (глава 5). В главах 3 и 6 представлены конкретные примеры, призванные укрепить полученные знания. Теперь мы уделим внимание проектированию архитектуры как таковой, точнее — действиям, которые должны предприниматься на начальных этапах этого процесса. Таким образом, в настоящей главе мы намерены рассмотреть четыре основные темы: ♦ архитектура в контексте жизненного цикла; ♦ проектирование архитектуры; ♦ структура группы разработчиков и ее связь с архитектурой; ♦ создание макета системы. Любая организация, строящая процесс разработки программных продуктов на основе архитектуры, должна знать, какое место эта последняя занимает в жизненном цикле. В литературе имеют хождение несколько моделей жизненного цикла, но лишь в одной из них — изображенной на рис. 7.1 модели эволюционного жизненного цикла поставки (Evolutionary Delivery Life Cycle) — архитектура выводится на первый план. Назначение этой модели состоит в том, чтобы, во-первых, получить отзывы пользователей и заказчиков, а во-вторых, предварить конечный выпуск разработкой нескольких промежуточных. Кроме того, с каждой новой итерацией эта модель позволяет вводить в систему новые функции, а после завершения разработки соответствующего набора характеристик — поставлять ограниченные версии. (Дополнительные сведения об этой модели жизненного цикла содержатся в разделе «Дополнительная литература» далее в этой главе.)
Когда приступать к проектированию? Итеративный характер проектирования архитектуры, согласно вышеупомянутой модели жизненного цикла, обнаруживается через посредство предварительного анализа требований. Действительно, как можно проектировать систему, не имея ни малейшего представления о выдвигаемых к ней требованиях? С другой стороны, для начала проектирования требуется знать не так уж много характеристик Любая архитектура «формируется» из некоей совокупности функциональных и коммерческих требований, а также требований по качеству. Эти требования обнаруживаемые, в частности, по конкретным примерам, мы называем архитектурными мотивами (architecture1 divers). Характеристики архитектуры системы А-7Е, рассмотренной в главе 3, обусловливаются требованиям по модифицируемости и производительности. Архитектура системы управления воздушным движением из главы б находится в зависимости от требований по готовности. Что же касается программы моделирования условий полета, представленной в главе 8, то для ее архитектуры определяющими являются требования по производительности и модифицируемости, в чем вы еще сможете убедиться и т. д. Для того чтобы установить архитектурные мотивы, проще всего разобраться с наиболее значимыми коммерческими задачами. Таковых не может быть слишком много. Представьте эти задачи в виде сценариев атрибутов качества или элементов Use Case. Затем выберите те из них, которые потенциально способны оказать на архитектуру наибольшее влияние. Именно они и являются архитектурными мотивами, и их вряд ли окажется больше десяти. Метод анализа компромиссных архитектурных решений (architecture tradeoff analysis method, АТАМ), рассматриваемый в главе 11, предусматривает применение вспомогательного дерева (utility tree), которое помогает на основе разного рода коммерческих факторов выводить сценарии атрибутов качества. Определившись с архитектурными мотивами, можете смело приступать к проектированию архитектуры. Процесс анализа требований, который вам предстоит провести впоследствии, во многом основывается на вопросах, сформулированных на этапе архитектурного проектирования (об этом свидетельствует одна из присутствующих на рис. 7.1 обратных стрелок).
Дата добавления: 2015-04-25; Просмотров: 947; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |