• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Проектирование архитектуры программных систем

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
5
Кредиты

Преподаватели


Куприн Валентин Павлович

Программа дисциплины

Аннотация

"Целью освоения дисциплины «Проектирование архитектуры программных систем» является знакомство с современными архитектурами программных систем и принципами их проектирования. Рассматриваются понятия архитектуры и архитектурного стиля программных систем, архитектурные принципы проектирования крупномасштабных программных систем, типовые архитектурные решения и архитектурные паттерны, организация и программная реализация паттернов проектирования. Содержание программы дисциплины обеспечивает базовую подготовку студентов в процессе формирования устойчивых знаний и навыков в области проектирования архитектур программных систем."
Цель освоения дисциплины

Цель освоения дисциплины

  • знакомство с современными архитектурами программных систем и принципами их проектирования
Планируемые результаты обучения

Планируемые результаты обучения

  • Знаком с понятием архитектуры и архитектурного стиля программных систем
  • Знает основные архитектурные принципы проектирования крупномасштабных программных систем
  • Знает основные архитектурные решения и архитектурные паттерны
  • Знает основные паттерны проектирования
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Раздел 1 Понятие архитектуры и архитектурного стиля программных систем
    Тема 1 Организация информационной системы Понятие информационной системы (ИС). Цель создания ИС. Процессы в ИС. Свойства ИС. Классификация ИС. Обеспечивающие компоненты ИС: информационное обеспечение, техническое обеспечение, математическое обеспечение, программное обеспечение, лингвистическое обеспечение, организационное обеспечение, правовое обеспечение, методическое обеспечение, эргономическое обеспечение, технологическое обеспечение. Тема 2 Сетевое взаимодействие компонентов распределенных приложений Принципы построения сетей. Семиуровневая модель взаимодействия открытых систем. Функциональность уровней. Особенности реализации уровней. Протоколы, используемые на каждом уровне. Сетевые архитектуры. Принципы построения серверов приложений. Тема 3 Архитектура программной системы Понятие архитектуры ПО. Основные архитектурные стили. Классификация архитектурных стилей. Список стандартов, регламентирующих описание архитектуры. Языки описания архитектуры.
  • Раздел 2 Архитектурные принципы проектирования крупномасштабных программных систем
    Тема 4 Типовые архитектуры современных программных систем Клиент-серверная модель. Компонентная архитектура. Многоуровневая архитектура. Шина сообщений. Многозвенная архитектура. Объектно-ориентированная архитектура. Выделенное представление – MVC. Архитектура, ориентированная на сервисы – SOA. Брокеры. REST-архитектура. SaaS – модель разработки программ, основанная на использовании лицензируемых программных сервисов. Тема 5 Разработка архитектуры программной системы Процесс разработки архитектуры системы. Системы из отдельных программ. Уровни абстракции архитектуры вычислительной системы. Архитектурные решения, их особенности и реализация. Методы анализа архитектуры. SAAM. Разработка и оценка архитектуры на основе сценариев. Тема 6 Анализ и объектная модель предметной области Диаграмма бизнес-контекста. Модель бизнес-классов. Модель сценариев использования предметной области. Модель классов предметной области. Концептуальные классы.
  • Раздел 3 Типовые архитектурные решения и архитектурные паттерны
    Тема 7 Паттерны в архитектуре программных систем Архитектурные шаблоны. Шаблоны (паттерны) проектирования. История появления, назначение, классификация паттернов. Структура паттерна. Классификация паттернов по цели и уровню. Примеры. Решение задач проектирования ИС с помощью паттернов. Антипаттерны. Тема 8 Фреймворки Классификация фреймворков. Классификация фреймворков уровня домена. Примеры фреймворков. Фреймворки Захмана, TOGAF и DoDAF. Тема 9. Проектирование программных систем с использованием шаблонов Структурные уровни и управление зависимостями. Структурные модули. Зависимости классов. Зависимости методов. Интерфейсы. Обработка событий. Структурные шаблоны.
  • Раздел 4 Организация и программная реализация паттернов проектирования
    Тема 10 Паттерны проектирования Проектные шаблоны. Идиомы. Назначение, описание, структура. Особенности применения. Достоинства и недостатки паттернов проектирования. Тема 11 Примеры реализации Структурные паттерны: Adapter (Адаптер), Фасад (Facade), Заместитель (Proxy), Декоратор (Decorator). Порождающие паттерны: Абстрактная фабрика (AbstractFactory), Фабричный метод (Factory Method), Одиночка (Singleton). Поведенческие: Стратегия (Strategy), Наблюдатель (Observer), Команда (Command). Паттерны доступа к данным: Active Record, Data Mapper, Repository.
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторная работа (самостоятельная)
  • неблокирующий Домашнее задание
  • неблокирующий Экзамен
    Оценка за экзамен формируется по накопленной оценке за период обучения в 3-4 модулях. Расчет оценки представлен в ПУД. Аудиторная составляющая часть оценки была сформирована за счет посещения занятий и работы в аудитории, в том числе сдаче лабораторных работ (Л.Р.№ 1..6, паттерны). Самостоятельная работа оценивается по результатам разработки архитектур программных систем (Л.Р. 7..10, проектирование архитектуры на UML) по индивидуальным заданиям, командным проектам или курсовым работам.
  • неблокирующий Лабораторная работа (самостоятельная)
  • неблокирующий Домашнее задание
  • неблокирующий Экзамен
    Оценка за экзамен формируется по накопленной оценке за период обучения в 3-4 модулях. Расчет оценки представлен в ПУД. Аудиторная составляющая часть оценки была сформирована за счет посещения занятий и работы в аудитории, в том числе сдаче лабораторных работ (Л.Р.№ 1..6, паттерны). Самостоятельная работа оценивается по результатам разработки архитектур программных систем (Л.Р. 7..10, проектирование архитектуры на UML) по индивидуальным заданиям, командным проектам или курсовым работам.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    0.3 * Домашнее задание + 0.3 * Лабораторная работа (самостоятельная) + 0.4 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Архитектура и проектирование программных систем: Монография / Назаров С.В., - 2-е изд. - М.:НИЦ ИНФРА-М, 2016. - 376 с.: 60x90 1/16. - (Научная мысль) (Переплёт 7БЦ) ISBN 978-5-16-011753-9 - Режим доступа: http://znanium.com/catalog/product/542562

Рекомендуемая дополнительная литература

  • Гамма Э., Хелм Р., Джонсон Р. - Приемы объектно ориентированного проектирования. Паттерны проектирования - Издательство "ДМК Пресс" - 2007 - 368с. - ISBN: 5-93700-023-4 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1220
  • Грекул, В. И. Проектное управление в сфере информационных технологий / Грекул В.И., Коровкина Н.Л., Куприянов Ю.В., - 2-е изд., (эл.) - Москва :БИНОМ. ЛЗ, 2015. - 339 с.: ISBN 978-5-9963-2978-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/485348
  • Информационные системы предприятия: Учебное пособие / Варфоломеева А. О., Коряковский А. В., Романов В. П. - М.: НИЦ ИНФРА-М, 2016. - 283 с.: 60x90 1/16. - (Высшее образование: Бакалавриат) (Переплёт) ISBN 978-5-16-005549-7 - Режим доступа: http://znanium.com/catalog/product/536732
  • Основы построения автоматизированных информационных систем: Учебник / В.А. Гвоздева, И.Ю. Лаврентьева. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 320 с.: ил.; 60x90 1/16. - (Профессиональное образование). (переплет) ISBN 978-5-8199-0315-5 - Режим доступа: http://znanium.com/catalog/product/392285
  • Предметно-ориентированные экономические информационные системы / Вдовин В.М., Суркова Л.Е., Шурупов А.А., - 3-е изд. - М.:Дашков и К, 2016. - 388 с.: ISBN 978-5-394-02262-3
  • Проектирование информационных систем: Учебное пособие / Н.Н. Заботина. - М.: НИЦ Инфра-М, 2013. - 331 с.: 60x90 1/16 + ( Доп. мат. znanium.com). - (Высшее образование: Бакалавриат). (переплет) ISBN 978-5-16-004509-2 - Режим доступа: http://znanium.com/catalog/product/371912
  • Розенберг Д., Скотт К. - Применение объектного моделирования с использованием UML и анализ прецедентов - Издательство "ДМК Пресс" - 2007 - 160с. - ISBN: 5-94074-050-2 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1226
  • Тузовский, А. Ф. Проектирование и разработка web-приложений : учебное пособие для академического бакалавриата / А. Ф. Тузовский. — Москва : Издательство Юрайт, 2017. — 218 с. — (Университеты России). — ISBN 978-5-534-00515-8. — Текст : электронный // ЭБС Юрайт [сайт]. — URL: https://biblio-online.ru/bcode/398944.