Quantum Software Architecture Design Course

Written by: Igor Korotach

Section 1

Fundamentals of Software Architecture Design

Who is this course for?

  1. Engineering managers
  2. Software engineers
  3. Technical Project/Product managers

What are the aims of the course?

  1. Share and improve the collective knowledge of software design
  2. Help move into engineering managers/architect positions
  3. Improve the ability to pass design interviews with clients
  4. Expand the team of engineers who can work in pre-sale stage

Main points of the course

  • It teaches the fundamentals of Software Architecture in theory and on some examples
  • Some points are related to how we in Quantum organise processes
  • It is flexible in structure
  • It involves individual assignments in the later stages of the course

What is software design?

What is software design?

Why do we do software design?

Design in SE phases

Question that have to be answered during design phase

  1. How should the different components be represented most effectively, so that they’re easily understandable for the different stakeholders?
  2. How can the non-functional requirements of the system be included and handled?
  3. What are the most optimal tools and patterns to fulfil the non-functional requirements?
  4. What are the other limiting technical factors? (hardware, business requirements)

Phases in design process

Software Design & Agile

Can you name 4 most important principles in Agile Manifesto?

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

What are the common characteristics of a modern web application?

  • UX-driven focus
  • Cloud hosting
  • Cross-platform usability
  • Strong focus on security

What are we going to tackle next?

Architecture quality attributes & Framework

The architecture framework is divided into 3 parts:

  1. Scenarios, quality attributes, and requirements/contraints
  2. App type
  3. Architectural style, also known as architectural patterns

Thanks for your attention. You've been awesome!

Questions?

  • Presentation link: https://slides.com/emulebest/architecture-1