(ДВ3) Архітектура програмного забезпечення (са)

Тип: На вибір студента

Кафедра: прикладної математики

Навчальний план

СеместрКредитиЗвітність
65Залік

Лекції

СеместрК-сть годинЛекторГрупа(и)
632Шунькін Ю. В.ПМа-31, ПМа-32

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
632ПМа-31Шунькін Ю. В.
ПМа-32Шунькін Ю. В.

Опис курсу

Дисципліна розроблена для того, щоб забезпечити студентів всебічними знаннями та навичками, необхідними для проектування складних програмних систем. Курс зосереджений на вивченні сучасних методів і технологій проектування архітектури програмного забезпечення, а також практичних аспектів втілення цих методів у професійній діяльності. Студенти досліджують різні архітектурні стилі, патерни проектування та підходи до створення масштабованих та ефективних систем. Окрім теоретичної бази, курс надає можливість практичного застосування здобутих знань через розробку проектів і роботу з передовими інстр

Мета: Поглибити знання студентів у галузі архітектури програмного забезпечення, надати їм інструменти та методології для проектування ефективних та масштабованих програмних систем.

Цілі: Ознайомити студентів з фундаментальними принципами і підходами до створення архітектури програмного забезпечення. Надати знання про сучасні архітектурні стилі, патерни проектування та технології, які використовуються у професійній практиці. Розвинути у студентів навички аналізу, проектування та оцінки програмних систем.ументами і платформами.

В результаті вивчення даного курсу студент повинен

знати:

  • основні архітектурні стилі та патерни в програмному забезпеченні
  • методології та підходи до проектування програмного забезпечення, включаючи Domain-Driven Design
  • методологію та технологію збору основних вимог до програмного забезпечення та методи їх аналізу
  • принципи та практики, що стосуються забезпечення якості програмного забезпечення та тестування
  • сучасні технології та інструменти для реалізації архітектурних рішень, включаючи використання облачних платформ як AWS, Azure, та GCP
  • теорію та практику інтеграції та взаємодії компонентів програмної системи

вміти:

  • розробляти стійкі та масштабовані архітектури програмного забезпечення, які відповідають вимогам бізнесу
  • застосовувати сучасні методології проектування та архітектурні стилі для розв’язання практичних задач
  • оцінювати та оптимізувати архітектуру існуючих систем з метою підвищення їх ефективності та надійності
  • проектувати компоненти архітектурного рішення
  • використовувати інструментальні засоби для моделювання, проектування та документування програмного забезпечення
  • критично оцінювати різні архітектурні рішення та обирати оптимальні підходи для конкретних бізнес-задач

вести документацію проекту та забезпечувати її актуальність та відповідність стандартам якості. результаті вивчення даного курсу студент повинен.

Рекомендована література

Базова:

  1. Martin R.C. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Pearson, 2017. – 432 p.
  2. Clements P., Bachmann F., Bass L. Documenting Software Architectures: Views and Beyond (2nd Edition). Boston: Addison-Wesley Professional, 2010.
  3. Gomaa H. Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. NY: Cambridge University Press, 2011. – 578 p.
  4. Gough J., Bryant D., Auburn M. Mastering API Architecture: Design, Operate, and Evolve API-Based Systems. O’Reilly Media; 1st edition, 2022. – 286 p.
  5. Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley Professional, 2003. – 560 p.

Інтернет ресурси:

  1. Software Architecture Guidehttps://martinfowler.com/architecture/
  2. AWS Architecture Centerhttps://aws.amazon.com/architecture/
  3. Microsoft Azure Architecture Centerhttps://docs.microsoft.com/en-us/azure/architecture/

Google Cloud Architecture Center https://cloud.google.com/architecture

Силабус: 2027-28 навчальний рік.

Завантажити силабус