Last updated
Kurskode
technicalarc
Varighet
21 timer (vanligvis 3 dag inkludert pauser)
Oversikt
Med utseendet av svært komplekse distribuerte systemer, har kompleksiteten av et enkelt system flyttet til kompleksiteten av systemgruppen arkitektur. Dette kurset dekker forholdet mellom Software Architecture og Teknisk Enterprise Architecture. Disse to områdene er interrelaterte på en måte som for tiden ikke er godt beskrevet. For eksempel vil splittelse av et kompleks monolitisk system i to systemer som kommuniserer via netttjenester utløse betydelige endringer i begge nye systemer, og arkitekturen mellom dem.
Dette kurset vil dekke trade-offs, i dag vanlige mønstre og løsninger for å administrere komplekse systemer og kommunikasjon innenfor og mellom dem.
Machine Translated
Kursplan
Overview
- System and Component Cohesion
- System/component Dependencies
- Software Architecture
- Technical Architecture
- Enterprise Architecture
- SOA and Micro services architecture
- Relationships between above concepts
- Logic redudancy vs dependency
- Data reduancy vs dependency
Software Architecture
Fundamentals
- clarification of terms: architecture, design, modeling
- orthogonality
- conways Law
Common Architectures
- modular decomposition
- hierarchical architecture
- centralised (Mediator Pattern)
- event-based architecture
- interrupt-based
- OSI
- client/server
- layer model
Principles of OO Design
- DRY, SRP
- encapsulation
- program against an interface
- Liskovs principle
- Law of Demeter
Design Patterns
- what are Design Patterns
- Creational Patterns
- Structural Patterns
- Behavioural Patterns
- Model-Controller-View (MCV)
Design Tools
- Domain specific language
- Lexical Analysis
- CRC cards
- scenarios
- Use Case descriptions
UML Graphical Representations
- Class Diagram
- Sequence Diagram
- aggregation diagram
- UML tools
Non-UML Graphical Representations
- ER-modeling
- State Machine
- data flow
- architectural model
Design and Maintenance
- Lehmanns Laws
- Architectural Antipatterns
- Refactoring Strategies
SOA and Integration Patterns
- Integration technologies and methods
- Synchronous/Asynchronous
- More details direct communication patterns
- Direct and brokered communication
- Message Queuing
- ESB
Deployment Patterns
- Code Deployment
- Immutable deployment
- Availability, Scaleability, High Performance, Fault tolerance patterns
- Data and messages replication and clustering (CAP theorem)