 |
Введение в архитектуру ПО | |
|
 |
|
Смысл
данного тренинга |
|
Любой программный продукт
начинается с Архитектуры - набора идей и принципов,
дополненный базовыми механизмами и методами их реализации
в коде. Данный тренинг рассказывает о лучших методах
и подходах к разработке Архитектуры ПО. |
|
 |
|
 |
|
SDE-01
Введение в Архитектуру ПО |
|
В основе любого ПО лежит набор
идей и принципов, дополненный базовыми механизмами и методами
их реализации в коде. Именно от того, насколько удачным
и продуманным является этот набор идей, в конечном итоге
зависят такие параметры ПО как расширяемость, возможности
интеграции, простота сопровождения. Проектирование Архитектуры
- весьма существенная область деятельности при разработке
ПО, потому очень важно собрать лучшие приемы и подходы в
одном тренинге. |
|
Назначение тренинга |
|
Данный тренинг призван
систематизировать знания слушателей об основных приемах
и методах анализа и проектирования сложных систем, используемых
при разработке программного обеспечения. |
|
Особое внимание уделено тому, чтобы рассмотреть
основные приемы и методы анализа и проектирования программного
обеспечения на примерах, выделив удачные
и неудачные подходы и приемы. |
|
Цели тренинга |
- Сделать
обзор этапов жизненного цикла разработки ПО с акцентом
на этапах Анализа и
Проектирования
- Показать
роль архитектуры, формальных приемов и методов в разработке
ПО
- Рассмотреть
и сопоставить структурный и объектный подходы к разработке
ПО
- Сделать
обзор UML и показать его роль в разработке ПО
- Рассмотреть
и сопоставить распространенные процессы разработки ПО,
подходы к определению архитектуры ПО
- Рассмотреть
основные приемы и методы разработки ПО (компонентный
подход, «boundary-control-entity», шаблоны проектирования)
- Сделать
обзор распространенных «архитектурных блоков» (серверы
приложений, транспортные машины, серверы интеграции
и т.д.)
- Рассмотреть
примеры архитектурных решений (многозвенная архитектура,
web-решения, распределенные
системы и т.д.)
|
|
Необходимые предварительные знания |
- Опыт
работы разработчиком в команде, желательно над системой
большого размера.
- Опыт
руководства коллективом разработчиков существенно поможет.
- Знание
основ Unified Modeling Language
существенно поможет.
- Знание
основ Rational Unified Process
существенно поможет.
|
|
План
тренинга |
|
День 1 - Введение в Архитектуру |
День
2
- Архитектура на практике |
|
Лекция 1 - Роль Архитектуры
в различных процессах |
Лекция 1 - Работа
над Архитектурой в различных процессах |
-
Жизненный цикл ПО.
-
Этапы анализа и проектирования.
-
Процессы разработки ПО.
-
Понятие и роль архитектуры ПО.
-
Всегда ли есть Архитектура?
|
-
Rational Unified Process
-
ICONIX.
-
eXtreme Programming.
-
Open Source.
-
Agile Methodologies.
-
Выбор процесса
для проекта и его влияние на подход к проектированию.
|
|
Лекция 2 - Моделирование в разработке
ПО |
Лекция 2 - Проектирование Архитектуры |
- Понятие модели.
- Моделирование
как философия разработки ПО.
- Моделирование
и коммуникация.
- Архитектура
пользовательского интерфейса.
- Моделирование
и UML
- Моделирование
в RUP и XP.
|
- Матрица
Захмана.
- Разработка
архитектуры в RUP.
- «Варианты
архитектурного документа».
- Разработка
архитектуры по ГОСТ.
-
Приемы проектирования. Подход
Boundary-Control-Entity.
|
|
Лекция 3 - Основы структурного
подхода в разработке ПО |
Лекция 3 - Компонентный подход и
шаблоны проектирования |
-
Понятие системы.
-
Виды структурных
моделей.
-
Модели функций,
данных, состояний.
-
Достоинства и недостатки
структурного подхода.
-
Когда применять
структурный подход.
|
- Понятия компонента,
интерфейса, связности, увязки.
- Приемы разработки
компонентной модели.
-
Шаблоны проектирования.
-
Классификация шаблонов
проектирования, примеры.
|
|
Лекция 4 - Основы объектного подхода
в разработке ПО и UML |
Лекция 4 - Руководство
по внедрению |
- Определение
объектного подхода.
- Понятие объекта
- Понятия обобщения
и агрегирования.
- Объекты и классы.
- Структура UML.
- Области применения
UML.
- Объектные и
структурные возможности UML.
- Представления
UML.
- Модели анализа
и проектирования в UML
- Расширение.
изобразительных средств UML, стереотипы.
|
-
Однозвенная, клиент-серверная,
многозвенная архитектура.
-
Архитектура веб-сайтов.
-
Архитектура веб-приложений.
-
Особенности распределенных
информационных систем.
-
Примеры архитектуры
«вертикальных решений».
-
Типичные ошибки
проектирования.
-
Рекомендации по
выбору подхода.
|
|
|
Практические
занятия |
- Определение
и коллективный разбор проектных рисков, определение
роли архитектурного моделирования на примере проекта.
- Сопоставление
структурного, объектного подходов и прототипирования.
- Разработка
и чтение моделей на UML.
- Разработка
проекта системы по выданному ТЗ (домашнее задание).
- Преобразование
проекта системы (разработанного по выданному тренером
ТЗ) для реализации подходов, рассматриваемых в лекциях.
|
|
Аттестация |
-
Предварительное тестирование слушателей.
*)
-
Экзамен после тренинга.
*)
Предварительное и послетренинговое
тестирование включают вопросы примерно одного уровня, что
дает возможность оценить эффективность обучения и способности
обучаемого.
|
|
|
|
 |
|