Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Раздаточный 5 / Lecture_05_0_Architecture

.pdf
Скачиваний:
25
Добавлен:
03.06.2014
Размер:
600.34 Кб
Скачать

Плотников Константин Анатольевич

Ведущий Системный Архитектор

Тема 5: Архитектура ПО и роль Системного Архитектора

Место архитектуры в цикле разработки ПО

Как и зачем описывать архитектуру

Типичные проблемы в архитектуре системы

Обязанности архитектора

Как стать архитектором

2

Нужды – это то, чего хочет заказчик (разница между желаемым и актуальным состоянием системы)

Требования – это внешние ограничения системы (граничные условия)

Архитектура – это общая структура проекта (явная или неявная) и другие технические решения

Исходный код и конфигурация – явная структура проекта, зафиксированная в артефактах (которые могут читать и изменять люди), и прямо влияющая на поставляемый продукт

Поставляемый продукт – то, что ставит у себя заказчик (изменяет нужды)

3

Архитектура ПО

Дизайн ПО

Документы, Переписка, Память

Код и Конфигурация

4

Переиспользуемая

Архитектура

Переиспользуемые Код и Конфигурация

5

Аннотация (Executive Summary)

Введение

Цель системы

Требования

См. предыдущую лекцию

Технические Прецеденты (Use Case) и нефункциональные требования

Обзор Архитектуры (Architecture Overview)

Диаграмма компонентов (разбиение на высокоуровневые компоненты и связи между ними)

Общие архитектурные подходы (Java EE, REST, ESB, и т. д.)

Описание отдельных компонентов и подсистем

Важные интерфейсы

Сценарии использования и контракты

Определение компонентов

Ссылки

6

Помогает координации работы между участниками проекта

Компоненты соответствуют задачам в проекте (размер компонента нижнего уровня: 4-16 часов)

Детализация - достаточная для склейки этого всего вместе, учитывая:

Сложность коммуникации (язык, география, время, подчиненность)

Опыт команды

Фиксирует важные технические решения в рамках проекта

Живой документ – нужно постоянно поддерживать (особенно в случае распределенных команд)

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

Служит основой для разбиения на подзадачи и оценки проекта.

7

http://public.dhe.ibm.com/software/dw/libra ry/rational/docs/YummySAD.doc (из статьи Developing a J2EE Architecture with Rational Software Architect Using the Rational Unified Process)

JSR-000322 JavaTM EE Connector Architecture 1.7 http://download.oracle.com/otndocs/jcp/con nector_architecture-1_7-mrel-eval-spec/

8

Переусложнённость («нам потом это пригодится»)

Переупрощённость («и так пойдет»)

Избыточное переиспользование («Java EE – это стандарт!»)

Недостаточное переиспользование («Not Invented Here»)

Недоопределенность («пойди туда, не зная куда, и принеси то, не знаю что»)

Избыточная детализация («это спецификация с точностью до пикселя!»)

Слишком много новых технологий («зато у нас будет яркая и насыщенная событиями жизнь!»)

Слишком старые технологии («и почему так мало откликов на вакансию программиста на COBOL?»)

9

1.Координация сбора и анализа требований к разрабатываемой компоненте, оценка осуществимости и выработка критериев их выполнения

2.Разработка требований различных типов к программному изделию

3.Разработка архитектуры системы

4.Разработка концепции реализации системы программного изделия по спецификациям

5.Обеспечение корректности и оптимальности архитектуры проекта

6.Взаимодействие с заказчиком по обсуждению проектных решений

7.Контроль исполнения архитектурных решений

8.Согласование взаимодействий и увязка поведения компонент

9.Участие в оптимизации и исправлении реализованного программного обеспечения

10.Организация и планирование тестирования

11.Контроль проектной и технической документации

12.Участие в документировании проекта

13.Анализ качества продукта и его соответствия требованиям и спецификациям

14.Анализ и совершенствование процесса проекта

15.Участие в планировании проекта

16.Участие в управлении проектом

17.Участие во взаимодействии с заказчиком по вопросам бюджетных расходов и сдачи проекта

18.Участие в работе советов организации

19.Участие в сопровождении программного продукта

20.Обучение и содействие повышению квалификации персонала

21.Саморазвитие

10

Соседние файлы в папке Раздаточный 5