- •Часть 1. Планирование архитектуры
- •Заключение
- •Дополнительная литература
- •4.10. Дискуссионные вопросы
- •Глава 8. Моделирование условий полета. Конкретный пример архитектуры, ориентированной на интегрируемость
- •8.4. Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 9. Документирование программной архитектуры
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 10. Реконструкция программной архитектуры
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 6. Управление воздушным движением. Пример разработки, ориентированной на высокую готовность
- •Глава 7. Проектирование архитектуры
- •Глава 11. Метод анализа компромиссных архитектурных
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 12. Метод анализа стоимости и эффективности — количественный подход к принятию
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 13. Всемирная паутина. Конкретный пример реализации способности к взаимодействию 374
- •Глава 14. Линейки программных продуктов.
- •Заключение
- •Дополнительная литература
- •Глава 15. CelsiusTech. Конкретный пример разработки
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Заключение
- •Дополнительная литература
- •Заключение
- •Часть 1. Планирование архитектуры
- •Часть 2. Создание архитектуры
- •Часть 3. Анализ архитектуры
- •Часть 4. От одной системы к множеству
- •Часть 1
- •Глава 1
- •1.1. Откуда берутся варианты архитектуры?
- •1.2. Программный процесс и архитектурно-экономический цикл
- •1.3. Из чего складывается «качественная» архитектура?
- •1.4. Заключение
- •1.5. Дискуссионные вопросы
- •Глава 2
- •2.1. Чем является программная архитектура и чем она не является
- •2.2. Другие взгляды на архитектуру
- •2.3. Архитектурные образцы, эталонные модели и эталонные варианты архитектуры
- •2.4. Почему программная архитектура так важна?
- •2.5. Архитектурные структуры и представления
- •2.6. Заключение
- •2.7. Дополнительная литература
- •2.8. Дискуссионные вопросы
- •Глава 3
- •3.1. Связь с архитектурно-экономическим циклом
- •3.2. Требования и атрибуты качества
- •3.3. Архитектура авиационной электронной системы а-7е
- •3.4. Заключение
- •3.5. Дополнительная литература
- •3.6. Дискуссионные вопросы
- •Часть 2
- •Глава 4
- •4.1. Функциональность и архитектура
- •4.2. Архитектура и атрибуты качества
- •4.3. Атрибуты качества системы
- •4.4. Практическое применение сценариев атрибутов качества
- •4.5. Другие атрибуты качества системы
- •4.6. Коммерческие атрибуты качества
- •4.7. Атрибуты качества архитектуры
- •4.8. Заключение
- •4.9. Дополнительная литература
- •4.10. Дискуссионные вопросы
- •Глава 5
- •5.1. Определение тактики
- •5.2 Тактики реализации готовности
- •5.3. Тактики реализации модифицируемости
- •5.4. Тактики реализации производительности
- •5.5. Тактики реализации безопасности
- •5.6. Тактики реализации контролепригодности
- •5.7. Тактики реализации практичности
- •5.8. Взаимосвязь тактик и архитектурных образцов
- •5.9. Архитектурные образцы и стили
- •5.10. Заключение
- •5.11. Дополнительная литература
- •5.12. Дискуссионные вопросы
- •Глава 6
- •6.1. Связь с архитектурно-экономическим циклом
- •6.2. Требования и атрибуты качества
- •6.3. Архитектурное решение
- •6.4. Заключение
- •6.5. Дополнительная литература
- •6.6. Дискуссионные вопросы
- •Глава 7
- •7. 1. Архитектура в контексте жизненного цикла
- •7.2. Проектирование архитектуры
- •1. Выбор модуля для декомпозиции
- •2А. Выбор архитектурных мотивов
- •2Ь. Выбор архитектурного образца
- •2D. Задание интерфейсов дочерних модулей
- •7.3. Формирование рабочих групп
- •7.5. Заключение
- •7.6. Дополнительная литература
- •7.7. Дискуссионные вопросы
- •Глава 8
- •8.1 Связь с архитектурно- экономическим циклом
- •8.2. Требования и атрибуты качества
- •8.3. Архитектурное решение
- •8.2 Заключение
- •8.5 Дополнительная литература
- •8.6. Дискуссионные вопросы
- •Глава 9
- •9.1. Варианты применения архитектурной документации
- •9.2. Представления
- •9.3 Выбор значимых представлений
- •9.4. Документирование представления
- •9.5. Перекрестная документация
- •9.6. Унифицированный язык Моделирования
- •9.7. Заключение
- •9.8. Дополнительная литература
- •9.9. Дискуссионные вопросы
- •Глава 10
- •10.1. Введение
- •10.2. Извлечение информации
- •10.3. Создание базы данных
- •10.4. Объединение представлений
- •10.5. Реконструкция
- •10.6. Пример
- •10.7. Заключение
- •10.8. Дополнительная литература
- •10.9. Дискуссионные вопросы
- •Часть 3
- •Глава 11
- •Результаты проведения оценки по методу атам
- •Этапы atam
- •1 Источник: приводится по изданию [Clements 02а] (адаптированная версия).
- •11.4. Система Nightingale: конкретный пример проведения оценки по методу атам
- •11.5. Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 12
- •Результаты оценки по методу свам
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 13
- •13.1. Отношение к архитектурноэкономическому циклу
- •13.4. Еще одна итерация архитектурноэкономического цикла: эволюция вариантов веб-архитектуры систем электронной коммерции
- •13.7. Заключение
- •13.8. Дополнительная литература
- •13.9. Дискуссионные вопросы
- •Часть 4
- •Глава 14
- •За счет чего работают линейки программных продуктов?
- •Варианты архитектуры линеек продуктов
- •Факторы, усложняющие применение линеек программных продуктов
- •Заключение
- •Дополнительная литература
- •Дискуссионный вопрос
- •Глава 15
- •Связь с архитектурноэкономическим циклом
- •Требования и атрибуты качества
- •Архитектурное решение
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 16
- •Связь с архитектурноэкономическим циклом
- •16.3. Архитектурное решение
- •16.4. Решения по размещению системы
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 17
- •17.2. Требования и атрибуты качества
- •17.3. Архитектурное решение
- •17.4. Механизм реализации атрибутов качества в архитектуре Luther
- •Заключение
- •Дополнительная литература
- •Дискуссионные вопросы
- •Глава 18
- •18.1. Воздействие компонентов на архитектуру
- •18.2. Архитектурное несоответствие
- •18.3. Компонентное проектирование как поиск
- •18.4. Пример приложения aseilm
- •18.5. Заключение
- •18.6. Дополнительная литература
- •Глава 19
- •19.1. Снова архитектурноэкономический цикл
- •19.2. Создание архитектуры
- •19.3. Архитектура в рамках жизненного цикла
- •Влияние коммерческих компонентов
- •Заключение
- •8 Все перечисленные специалисты работают в корпорации Inmedius (Питтсбург, сша).
13.8. Дополнительная литература
Читателям, желающим поподробнее узнать о концепции гипертекста, мы рекомендуем ознакомиться с работой [Bush 45] и специализированным выпуском САСМ [САСМ 88].
Информации об истории и развитии Всемирной паутины больше всего в самой Всемирной паутине. Среди наших источников — [Berners-Lee 96а], [Gray (http://www.mit.edu/people/mkgray/net)] и [Zakon (http://www.zakon.com/robert/internet/timeline)].
Обширная информация о lib WWW содержится в справочной библиотеке W3C, расположенной по адресу http://www.w3.org/pub/WWW/Library.
Добротное исследование по проблемам сетевой безопасности и криптографии, включая все аспекты защиты во Всемирной паутине, содержится в работе [Stallings 99]. Вопросы производительности в системах электронной коммерции хорошо освещены в издании [Menasce 00].
Архитектурному стилю, характерному для веб-приложений, посвящена работа [Fielding 96]. Сравнение образцов современных веб-серверов приводится в [Hassan 00]; именно оттуда мы заимствовали (и переработали) схему клиент- серверной архитектуры, показанную на рис. 13.5.
Результаты исследования по употреблению веб-серверов, проведенного в мае 2001 года компанией Netcraft, опубликованы по адресу http://www.netcraft.com/survey/.
13.9. Дискуссионные вопросы
Мы обозначили ряд атрибутов качества, реализация которых в WWW сделала возможным ее ошеломляющий успех: способность к взаимодействию, переносимость, удаленный доступ, расширяемость и масштабируемость. Какое из них, по вашему мнению, оказало на развитие Паутины решающее влияние? Если бы одним из этих качеств пришлось пожертвовать, смогла бы она стать настолько же успешной? Какие компромиссные решения в архитектуре приложений на основе libWWW приходится принимать вследствие сочетания названных задач по качеству?
Производительности не оказалось в списке первоначальных задач по качеству, которые следовало реализовать во Всемирной паутине. Для успешной системы это довольно необычно. Как вы считаете, почему успех ее все-таки настиг? Можно ли из этого сделать какие-то выводы относительно будущего развития вычислительной техники?
Какие образцы и тактики прослеживаются в элементах архитектуры, показанных на рис. 13.4, 13.5 и 13.7?
Часть 4
ОТ ОДНОЙ СИСТЕМЫ К МНОЖЕСТВУ
В четвертой части мы продолжаем разговор об архитектурно-экономическом цикле. На протяжении первой, второй и третьей частей мы плавно перемещались от характеристики архитектора к проверке архитектуры. Четвертая часть, посвященная вопросам конструирования на основе архитектуры множества систем, содержит также примеры линеек системных продуктов. Проблема подвергается анализу с позиций: 1) базовой технологии линейки продуктов; 2) отдельной компании-производителя систем управления огнем для военных кораблей; 3) общеотраслевой архитектуры; 4) компании, разрабатывающей продукты на основе общеотраслевой архитектуры, и 5) организации, которая при проектировании своих систем прибегает к использованию коммерческих компонентов.
Линейки программных продуктов подразумевают возможность повторного использования самых различных активов — от требований и планов тестирования до персонала. Такую способность им придает архитектура. В главе 14 речь пойдет об определении и разработке архитектуры линеек продуктов. В этом контексте мы будем часто обращаться к организационным вопросам, поскольку, как вы уже знаете, между архитектурой и компанией-разработчиком существует неразрывная связь.
В главе 15 приводится первый в этой части конкретный пример. Объектом нашего внимания станет шведская компания CelsiusTech, создавшая линейку систем управления огнем для военных судов. Помимо собственно архитектуры мы обсудим то, каким образом в результате ориентации на линейку продуктов претерпела изменения организационная структура и культура компании.
Впрочем, CelsiusTech практикует создание архитектуры в расчете на производство нескольких продуктов. Существуют также архитектуры, ориентированные на целые отрасли промышленности. К примеру, корпоративная архитектура Java 2/система корпоративных JavaBeans (Java 2 Enterprise Edition/Enterprise JavaBeans, J2EE/EJB) — архитектурная спецификация для информационных веб-систем — исполняет роль базовой архитектуры продуктов, разрабатываемых разными компаниями. Архитектурные решения, характерные для J2EE/EJB, и возможные в ее контексте компромиссы рассматриваются в главе 16.
Inmedius — одна из компаний, обращающихся к архитектуре J2LE/EJB, — специализируется на решениях для квалифицированных рабочих (в частности, для техников по обслуживанию), которые, не имея возможности пользоваться настольными компьютерами и лишь изредка добираясь до ноутбуков, плотно работают с разнообразными мобильными платформами. О том, как Inmedius удалось разработать решение, основанное на беспроводной технологии, переносимых и ручных (handheld) компьютерах, рассказывается в главе 17,
В главе 18 анализируется ситуация конструирования единичной системы на основе архитектуры и ряда коммерческих компонентов. Мы поговорим о том, что в этом случае следует доработать.
Наконец, мы отдадим дань своему любимому занятию — прогнозированию будущего развития программной архитектуры. Свои догадки (не более того, поверьте!) о том, что нас ждет через несколько лет, мы излагаем в главе 19.
