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