Application Architecture
Degree programme | Business Informatics – Digital Transformation |
Subject area | Engineering & Technology |
Type of degree | Master Part-time Summer Semester 2024 |
Course unit title | Application Architecture |
Course unit code | 087421020401 |
Language of instruction | German, English |
Type of course unit (compulsory, optional) | Compulsory |
Teaching hours per week | 2 |
Year of study | 2024 |
Level of the course / module according to the curriculum | |
Number of ECTS credits allocated | 3 |
Name of lecturer(s) | Steffen HARTMANN, Bernhard OBERHAUSER |
- Fundamentals of business informatics, in particular teaching content on programming/software development
- Basics and terminology: distributed architectures, protocols, data formats, application integration, frameworks and platforms, risks, security aspects, usability, architectural styles (dataflow systems, data-centric systems, hierarchical systems, distributed systems, event-based systems, interaction-oriented systems, heterogeneous systems), Quality Attributes and Map.
- Principles of Application Architecture Development: Abstraction, Complexity Reduction, Communication, Representation, Visualization, Quality, Security, Uncertainty and Risk Reduction, Openness for Evolution
- Application architecture and integration concepts: modularity and components, reuse and interfaces, integration and communication, compatibility and coupling, portability and containers, scalability, availability, flexibility, software design principles: SOLID, Dependency Injection, Law of Demeter, Composite over Inheritance, Design by Contract and Design Patterns.
- Architecture paradigms: Monolithic System, Distributed Architecture, Layered Architectures, Domain-based Architectures, Event-based Architectures, Enterprise Application Integration (EAIP), Interaction-oriented Patterns
- Service-oriented architectures: SOAP, REST, GraphQL, Microservice, Nanoservice, OPC Unified Architecture
Modern application systems in the corporate environment are complex due to high business and technical requirements. Application architects must ensure that these requirements are implemented in compliance with the planned budget and the required quality. It is important that risk factors are identified at an early stage in the development process, that the overall view is maintained and that the systems have a comprehensible structure. This enables changes and extensions of the application systems and ensures the reuse of subcomponents in other projects. The aim of this course is to show students the basic application architectures, their importance as well as systematic planning and documentation.
The students
- understand the technical foundations, principles and concepts of architecture models and are familiar with the most important architecture paradigms for constructing large, complex software systems.
- are able to develop and document suitable application architectures for different use cases based on a business architecture and can justify why a chosen application architecture is promising.
- Input presentations
- Work assignments/exercises with presentations and subsequent discussion
- 70% work/exercise tasks incl. presentation, discussion contributions
30% Final exam: knowledge reproduction (without documents)
For a positive grade, a minimum of 50% of the possible points must be achieved in each part of the examination.
- Dowalil, Herbert (2020): Modulare Softwarearchitektur: Nachhaltiger Entwurf durch Microservices, Modulithen und SOA 2.0. 2., überarbeitete Edition. Carl Hanser Verlag GmbH & Co. KG.
- Ford, Neal; Richards, Mark (2020): Fundamentals of Software Architecture: An Engineering Approach. A Comprehensive Guide to Patterns, Characteristics, and Best Practices. Illustrated Edition. O’Reilly UK Ltd.
- Martin, Robert C. (2018): Clean Architecture - Gute Softwarearchitekturen: Das Praxis-Handbuch für professionelles Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturierung. 1st Ed. Frechen: mitp.
- Starke, Gernot (2021): Patterns 42, https://patterns.arc42.org, abgerufen am 12.5.2021
- Starke, Gernot (2020): Effektive Softwarearchitekturen: Ein praktischer Leitfaden. 9., überarbeitete Edition. Carl Hanser Verlag GmbH & Co. KG.
- Toth, Stefan (2019): Vorgehensmuster für Softwarearchitektur: Kombinierbare Praktiken in Zeiten von Agile und Lean. 3., aktualisierte und erweiterte Edition. Carl Hanser Verlag GmbH & Co. KG.
- Course with contact hours on-site/online (input lectures, discussion of work/exercise assignments) and on-site (written exam)