• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Контакты

Адрес: 109028, г. Москва, Покровский бульвар, д. 11

Телефон: +7(495) 772-95-90 *28240

Руководство
Научный руководитель направления “Программная инженерия" Аветисян Арутюн Ишханович
Руководитель департамента Лебедев Сергей Аркадьевич
Заместитель руководителя департамента Максименкова Ольга Вениаминовна
Статья
Evaluating Structural Complexity of Workflow Nets Modeling Asynchronous Agent Interactions

Е. Zemlyanoy, R. Nesterov.

Proceedings of the Institute for System Programming of the RAS. 2025. Vol. 37. No. 4-2. P. 47-68.

Глава в книге
Scalable Top-K Subarray Searches: Seamless and Distributed NetCDF API Interception
В печати

Habibur Rahman H., Rodriges Zalipynis R. A.

In bk.: Communications in Computer and Information Science. Springer, 2025. Ch. 1.

Препринт
Approach to Designing CV Systems for Medical Applications: Data, Architecture and AI
В печати

Ryabtsev D., Vasilyev Boris, Shershakov S.

Computer Science ::Computer Vision and Pattern Recognition. 2501.14689. arXiv, 2025

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

2025/2026
Учебный год
RUS
Обучение ведется на русском языке
Кредиты
Статус:
Маго-лего
Когда читается:
1-4 модуль

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

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

Аннотация

Архитектура программной системы определяет структуру и динамические свойства этой системы. Архитектурные решения разработчиков системы имеют ключевое значение для обеспечения её работоспособности на протяжении всего жизненного цикла. Архитектура задаёт свойства адаптивности, расширяемости, эффективности для системы. Архитектурные свойства имеют решающее влияние на то, насколько просто будет систему поддерживать, анализировать, дорабатывать, обновлять. Именно поэтому архитектурные решения должны приниматься ответственно и взвешенно. В рамках данного курса студенты должны будут овладеть систематическим инженерным подходом к принятию архитектурных решений. Будут рассмотрены разные подходы к проектированию на основе анализа требований к информационным системам. Студенты изучат основные задачи программного архитектора на разных уровнях рассмотрения ИТ-среды: от уровня отдельных прикладных и системных приложений до уровня ИТ-инфраструктуры и предприятия в целом. Будут рассмотрены задачи, связанные с архитектурным проектированием, являющиеся элементами разных процессов разработки программного обеспечения. Также студенты усовершенствуют навыки визуального моделирования программного обеспечения с использованием CASE-средств и унифицированного языка моделирования UML. Особое место будет уделено задачам анализа и оценки архитектуры программных систем. Наконец, слушатели приобретут навыки документирования ключевых архитектурных решений в соответствии с отечественными и мировыми стандартами (ГОСТ Р 57100-2016), а также чтения и поддержки архитектурных описаний.
Цель освоения дисциплины

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

  • Получение теоретических знаний и практических навыков работы с требованиями к программным информационным системам как входными данными для проектирования и разработки таких систем.
  • Получение понимания общих основ проектного подхода, применяемого при разработке различных составляющих программного обеспечения: логики предметной области, коммуникационных подсистем, вычисляющих модулей, пользовательского интерфейса и др.
  • Получение навыков анализа и проектирования различных составляющих программного обеспечения: логики предметной области, коммуникационных подсистем, вычисляющих модулей, пользовательского интерфейса и др.
  • Знакомство с основными стилями архитектуры программных систем и шаблонами, применяемыми для решения конкретных задач проектирования.
  • Знакомство с концепцией человекоцентричности и получение понимания значимости этой концепции для проектирования успешных систем.
  • Получение навыков документирования и оценки проектных решений.
Планируемые результаты обучения

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

  • Владеть навыками визуального моделирования программного обеспечения с использованием CASE-средств
  • Владеть основными определениями, относящимися к области архитектуры программного обеспечения
  • Уметь документировать архитектуру программных систем
  • Уметь применять на практике методы объектно-ориентированного анализа и проектирования
  • Знает и умеет моделировать бизнес-процессы с применением нотации BPMN
  • Знать и уметь использовать основные архитектурные стили и шаблоны проектирования программного обеспечения
  • Знать процессы разработки программных систем
  • Уметь проектировать программное обеспечение с учётом функциональных и нефункциональных требований к системе
  • Уметь разбираться в существующих архитектурных решениях
  • выявлять требования к разрабатываемому программному обеспечению;
  • Уметь фиксировать требования с использованием прецедентов и пользовательских историй.
  • Уметь проектировать пользовательский интерфейс программной системы.
Содержание учебной дисциплины

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

  • Архитектура программных систем и проектный подход.
  • Требования к программным системам.
  • Методы работы с функциональными требованиями к системе.
  • Работа с требованиями по атрибутам качества системы.
  • Анализ проектной задачи в среде.
  • Моделирование бизнес-процессов и данных в корпоративных системах.
  • Архитектурное проектирование.
  • Архитектурные стили корпоративных приложений.
  • Проектирование распределённых и сервисных систем.
  • Шаблоны обеспечения внешнего качества системы.
  • Шаблоны обеспечения внутреннего качества системы.
  • Шаблоны организации коммуникаций и границ системы.
  • Шаблоны организации доставки, развёртывания, обновления. Работа с технологическим стеком.
  • Чтение архитектуры. Развитие архитектуры.
  • Процессы проектирования и разработки. Эволюция систем.
  • Управление эволюцией архитектуры систем в ходе эксплуатации и развития.
  • Архитектурные принципы и стандарты.
  • Ещё раз про надёжность и устойчивость систем.
  • Системы, управляемые событиями.
  • Шаблоны для систем, интенсивно работающих с данными, систем с машинным обучением и интеллектуальных систем.
  • Пользовательский опыт. Проработка и конструирование ожиданий. Психология вещей и поведения. Проектный подход.
  • Шаблоны и методы организации содержания и проектирования навигации.
  • Принципы визуального дизайна. Значение эстетики и стиля.
  • Типы пользовательских интерфейсов.
  • Технологии конструирования и реализации графических пользовательских интерфейсов.
  • Значение данных в современных программных системах.
  • Подведение итогов дисциплины. Роль архитектора.
Элементы контроля

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

  • неблокирующий З1. Требования. Функции.
  • неблокирующий З2. Анализ задачи. Концептуальное моделирование. Качество.
  • неблокирующий З3. Синтез проектного решения. Документирование.
  • неблокирующий З4. Проработка проектного решения. Коммуникации системы.
  • неблокирующий З5. Развертывание и эксплуатация. Выбор технологий.
  • неблокирующий З6. Чтение, оценка, доработка архитектурных решений.
  • неблокирующий З7. Пользовательский интерфейс. Взаимодействие и представление данных.
  • неблокирующий З8. Доработка проекта и реализация.
  • блокирует часть оценки/расчета К. Промежуточный коллоквиум.
  • блокирующий Э. Итоговый экзамен.
Промежуточная аттестация

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

  • 2025/2026 2nd module
    0.2 * З1. Требования. Функции. + 0.2 * З2. Анализ задачи. Концептуальное моделирование. Качество. + 0.2 * З3. Синтез проектного решения. Документирование. + 0.2 * З4. Проработка проектного решения. Коммуникации системы. + 0.2 * К. Промежуточный коллоквиум.
  • 2025/2026 4th module
    0.4 * 2025/2026 2nd module + 0.08 * З5. Развертывание и эксплуатация. Выбор технологий. + 0.08 * З6. Чтение, оценка, доработка архитектурных решений. + 0.08 * З7. Пользовательский интерфейс. Взаимодействие и представление данных. + 0.08 * З8. Доработка проекта и реализация. + 0.28 * Э. Итоговый экзамен.
Список литературы

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

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

  • Evans, E. (2004). Domain-Driven Design : Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
  • Lankhorst, M. (2017). Enterprise Architecture at Work : Modelling, Communication and Analysis (Vol. Fourth edition). Berlin, Germany: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1403033
  • Mark Richards, & Neal Ford. (2019). Fundamentals of Software Architecture : An Engineering Approach. O’Reilly Media.
  • Mens, T., Serebrenik, A., & Cleve, A. (2014). Evolving Software Systems. Heidelberg, Germany: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=685626
  • Neal Ford, Mark Richards, Pramod Sadalage, & Zhamak Dehghani. (2021). Software Architecture: The Hard Parts. O’Reilly Media.
  • Vaughn Vernon. (2013). Implementing Domain-Driven Design. Addison-Wesley Professional.
  • Жемчужины разработки : чему мы научились за 50 лет создания ПО, Вигерс, К., 2024
  • Жемчужины разработки. Чему мы научились за 50 лет создания ПО. - 978-5-4461-1986-8 - Вигерс Карл - 2024 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/393783 - 393783 - iBOOKS
  • Изучаем DDD — предметно-ориентированное проектирование: Пер. с англ. - 978-5-9775-1886-4 - Хононов В. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/396498 - 396498 - iBOOKS
  • Интерфейс : новые направления в проектировании компьютерных систем, Раскин, Дж., 2010
  • Интерфейс : основы проектирования взаимодействия, , 2018
  • Интерфейс : основы проектирования взаимодействия, Купер, А., 2016
  • Интерфейс. Основы проектирования взаимодействия. 4-е изд. - 978-5-4461-0877-0 - Купер А., Рейман Р., Кронин Д., Носсел К. - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/364140 - 364140 - iBOOKS
  • Масштабированный скрам : как организовать гибкую разработку в крупной компании, Ларман, К., 2023
  • Применение UML 2.0 и шаблонов проектирования : введение в объектно - ориентированный анализ, проектирование и итеративную разработку : пер. с англ., Ларман, К., 2018
  • Применение UML 2.0 и шаблонов проектирования : введение в объектно - ориентированный анализ, проектирование и итеративную разработку : пер. с англ., Ларман, К., 2019
  • Применение UML 2.0 и шаблонов проектирования : введение в объектно - ориентированный анализ, проектирование и итеративную разработку, Ларман, К., 2016
  • Разработка требований к программному обеспечению : пер. с англ., Вигерс, К., 2014
  • Разработка требований к программному обеспечению : пер. с англ., Вигерс, К., 2016
  • Разработка требований к программному обеспечению : пер. с англ., Вигерс, К., 2018
  • Разработка требований к программному обеспечению : пер. с англ., Вигерс, К., 2019

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

  • Managed Software Evolution. (2019). Springer International Publishing. https://doi.org/10.1007/978-3-030-13499-0
  • Инженерия требований, Халл, Э., 2017
  • Шаблоны корпоративных приложений : пер. с англ., , 2019

Авторы

  • Мицюк Алексей Александрович
  • Буцкая Евгения Александровна