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

Advanced Software Design

2024/2025
Academic Year
ENG
Instruction in English
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 1-3 module

Instructor


Хританков Антон Сергеевич

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 Семинары
  • non-blocking Эссе
  • non-blocking Практика
  • non-blocking Посещаемость
Interim Assessment

Interim Assessment

  • 2024/2025 1st module
    0.1 * Посещаемость + 0.45 * Практика + 0.35 * Семинары + 0.1 * Эссе
  • 2024/2025 2nd module
    0.1 * Посещаемость + 0.45 * Практика + 0.35 * Семинары + 0.1 * Эссе
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

Authors

  • Khritankov Anton Sergeevich