• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Software Systems Architecture Design

2019/2020
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Information Technologies in Business (Faculty of Economics, Management, and Business Informatics)
Course type:
Compulsory course
When:
3 year, 3, 4 module

Instructors

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

Аннотация

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

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

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

Результаты освоения дисциплины

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

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

  • Раздел 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.
Элементы контроля

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

  • неблокирующий Лабораторная работа
  • неблокирующий Домашнее задание (самостоятельная работа);
  • неблокирующий Экзамен
Промежуточная аттестация

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

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

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

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

  • Назаров С.В. Архитектуры и проектирование программных систем: монография. – М.: НИЦ ИНФРА-М, 2013. – 351 с. [Электронный ресурс] // ЭБС Znanium.com / URL: http://znanium.com/catalog.php?bookinfo=353187
  • Черткова Е. А.-ПРОГРАММНАЯ ИНЖЕНЕРИЯ. ВИЗУАЛЬНОЕ МОДЕЛИРОВАНИЕ ПРОГРАММНЫХ СИСТЕМ 2-е изд., испр. и доп. Учебник для академического бакалавриата-М.:Издательство Юрайт,2019-147-Бакалавр. Академический курс-978-5-534-09172-4: -Текст электронный // ЭБС Юрайт - https://biblio-online.ru/book/programmnaya-inzheneriya-vizualnoe-modelirovanie-programmnyh-sistem-437536

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

  • Гамма Э., Хелм Р., Джонсон Р., Влиссидес Д. Приемы объектно-ориентированного проектирования. Паттерны проектирования; Пер. с англ. - М.: ДМК Пресс, 2007. - 368 с. [Электронный ресурс]. – URL: http://znanium.com/catalog/product/407366
  • Проектирование информационных систем: Учебное пособие / Н.Н. Заботина. - М.: НИЦ Инфра-М, 2013. - 331 с.: 60x90 1/16 + ( Доп. мат. znanium.com). - (Высшее образование: Бакалавриат). (переплет) ISBN 978-5-16-004509-2 - Режим доступа: http://znanium.com/catalog/product/371912