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

Design of Software Systems

2021/2022
Учебный год
ENG
Обучение ведется на английском языке
5
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 1, 2 модуль

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


Межуев Игорь Юрьевич

Course Syllabus

Abstract

The course learning objective is to understand modern software design and practice design and modeling methods in a team project. The students will be introduced to designing microservices applications using domain-driven design and UML2. A course project divided into two assignments will help practice analysis and design methods as part of a team. The course will be most relevant to software engineers, systems analysts and future software development leaders.
Learning Objectives

Learning Objectives

  • Experience modern software design as a systematic and rational approach
  • Have an opportunity to apply software design methods in a study project under supervision
  • Get deeper understanding of software requirements and quality definition, modeling with UML2 and structural approaches, domain driven design and microservices architecture through practice and collaborative learning
Expected Learning Outcomes

Expected Learning Outcomes

  • Get deeper understanding of software requirements and quality definition, modeling and UML2, domain driven design and microservices architecture through practice and collaborative learning.
Course Contents

Course Contents

  • Software quality and requirements
  • Software requirements. Part 2
  • Object oriented design.
  • Introduction to Domain Driven Design (DDD)
  • Responsibility Driven Design for DDD
  • Advanced UML2 behavior modeling
  • Structured modeling and design
  • Resource-oriented modeling for microservices
  • Microservices architecture (MSA)
  • Data design for microservices
  • Detailed design for microservices
  • SOLID design principles
  • Measurements and metrics of software design
  • Course summary and trending topics
Assessment Elements

Assessment Elements

  • non-blocking Attendance
  • non-blocking Team Project
  • non-blocking Essay
  • non-blocking Practice
Interim Assessment

Interim Assessment

  • 2021/2022 1st module
  • 2021/2022 2nd module
    0.2 * Attendance + 0.1 * Essay + 0.3 * Practice + 0.4 * Team Project
Bibliography

Bibliography

Recommended Core Bibliography

  • Sam Newman. (2021). Building Microservices. O’Reilly Media.
  • Vaughn Vernon. (2013). Implementing Domain-Driven Design. Addison-Wesley Professional.
  • Vernon, V. (2016). Domain-Driven Design Distilled. Addison-Wesley Professional.

Recommended Additional Bibliography

  • David Budgen. (2020). Software Design : Creating Solutions for Ill-Structured Problems. Chapman and Hall/CRC.
  • Freeman, E., Freeman, E., Sierra, K., & Bates, B. (2004). Head First Design Patterns : A Brain-Friendly Guide. Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415229
  • Robert C. Martin. (2017). Clean Architecture : A Craftsman’s Guide to Software Structure and Design. Prentice Hall.
  • Sommerville, I. (2012). Software engineering. Slovenia, Europe: Addison-Wesley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.4626A10B