Information on individual educational components (ECTS-Course descriptions) per semester

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
Requirements and Prerequisites
  • Fundamentals of business informatics, in particular teaching content on programming/software development
Course content
  • 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
Learning outcomes

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.
Planned learning activities and teaching methods
  • Input presentations
  • Work assignments/exercises with presentations and subsequent discussion
Assessment methods and criteria
  • 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.

 

Comment
Recommended or required reading
  • 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.
Mode of delivery (face-to-face, distance learning)
  • Course with contact hours on-site/online (input lectures, discussion of work/exercise assignments) and on-site (written exam)