Introduction
The importance of software architecture
()
What you need to know
()
What is software architecture?
()
1. The Software Architect
What's the job? Traditional architects
()
What's the job? Modern architects
()
A day in the life of an architect: Morning
()
A day in the life of an architect: Afternoon
()
From developer to architect
()
2. Thinking Architecturally
Conway's law: Architecture and organizational structure
()
Incremental vs. big up-front design
()
Top down vs. bottom up
()
The role of the domain (bounded contexts)
()
3. A Design Process: A Brief Introduction
Requirements gathering: Problem statements and user stories
()
Narrowing: Vertical vs. horizontal splitting
()
Identifying bounded contexts and entities
()
4. Categories of Architecture
System vs. enterprise architecture
()
Design patterns
()
5. Broad Architectural Patterns
Monoliths
()
Microkernel (plugin) architecture
()
Message-based architectures
()
Microservices and miniservices
()
Reactive and choreographed systems
()