Prof. Dr. Bernd Hafenrichter

Allgemeine Informationen rund um die Kurse von Prof. Dr. B. Hafenrichter

Vertieftes Verständnis der Software Architektur anhand von Mustern und Best-Practice Beispielen.Die Studierenden sollen die  Anwendungsbereiche der Muster kennen und selbst richtig einsetzen lernen. Darüber hinaus soll die Wahl der Architektur- und Entwurfsmuster basierend auf den Software-Anforderungen gezeigt werden

Nach dem Besuch des Moduls  sind die Studierenden in der Lage
• die Anforderungen und Potentiale im Bereich eHealth zu benennen.
• können die Hörer typische Protokolle und Standards aus dem Gesundheitsbereich einordnen, erklären und anwenden
• kennen die Studierenden wichtige Anwendungsszenarien aus dem Gesundheitsbereich
• können die Studierende die Notwendigkeit von Integration beurteilen
• können die Hörer grundlegende Integrationsarten und Integrationsmuster einschätzen
• können die Studierenden die Architektur einer Integrationssoftware und die wesentlichen Bestandteile erläutern

Nach dem Besuch des Moduls sind die Studierenden in der Lage
• die Besonderheiten der App-Entwicklung zu benennen und erläutern
• die verschiedenen Arten von Apps einzuordnen
• eigene, einfache Apps auf Basis von Android zu entwickeln
• die notwendigen die Backendtechnologien für Apps zu benutzen
• grundlegende Usability-Konzepte beim Design der Apps anzuwenden
• Web-Technologien für die Umsetzung von Apps zu verwenden

Die Studierenden sind mit den zentralen Architekturkomponenten der Java Platform, Enterprise Edition (Java EE), vertraut und können deren Verwendung für Java-basierte Enterprise Applications beurteilen und für ein Systemdesign anwenden. Anhand eines eigenen Java EE-Projekts werden wichtige Komponenten wie Servlets, Server Faces und die verschiedenen Bean-Typen praxisnah und exemplarisch umgesetzt und mit Hilfe eines aktuellen Java EE-Anwendungsservers zur Ausführung gebracht. Vorhandene Java-Programmierkenntnisse werden dadurch vertieft durch die Erweiterung auf Anwendungsfälle verteilter Anwendungen.

Das Ziel der Veranstaltung besteht darin, Ihnen breites Spektrum an Problemstellungen aus der Unternehmenspraxis näher zu bringen sowie Situationen und Erfahrungen kritisch zu reflektieren.

Nach dem Besuch des Moduls

  • sind die Studierenden in der Lage die Erfahrungen und Erkenntnisse aus ihrem eigenen Praktikum, sowie aus den Praktika ihrer Kommilitonen kritisch zu reflektieren.
  • kennen die Studierenden ein großes Spektrum an Problemstellungen aus der Unternehmenspraxis.
  • kennen die Studierenden vielfältige Lösungsansätze zu typischen fachlichen und methodischen Problemstellungen.
  • sind die Studierenden in der Lage ihre eigenen Präsentations-Fähigkeiten besser einzuschätzen und Aufbau, Struktur, Darstellung und Vortrag eines Referates anhand verschiedener Kriterien zu bewerten.
  • sind die Studierenden in der Lage fachliche Themenstellung in Form einer Präsentation aufzuarbeiten
Inhalt
  • Präsentation von Kurzreferaten zu den Erfahrungen und Erkenntnissen des Praxissemesters mit anschließender Diskussion der Ergebnisse und ihrer Darstellung
  • Verknüpfung der Erfahrungen aus der Praxis mit theoretischen Kenntnissen
  • Förderung der sozialen Fähigkeiten durch gruppendynamische Prozesse (insbesondere Diskussionen)

Das Modul soll den Studierenden das Programmieren in Java sowie Python/R auf praktische Art und Weise unter Verwendung von Industriestandard Methoden, Werkzeuge und Technologien näher bringen. Es lehrt die Studierenden nicht nur die Programmiersprachen Java und Python/R, sondern verbessert auch ihr algorithmisches Denken und ihre Problemlösungsfähigkeiten, so dass sie Code schreiben können, der tatsächlich funktioniert und die gewünschten funktionalen Ergebnisse liefert


Nach Abschluss des Moduls werden die Studierenden in der Lage sein

  • weiterführende Konzepte der Programmiersprache Java anzuwenden
  • Klassenvererbung und Polymorphismus zu verstehen.
  • den objektorientierten Programmentwurf und die Programmentwicklung verstehen.
  • die Programmiersprache Python/R auf Probleme der Bio- und Medizininformatik anzuwenden.
  • Problemstellungen in Quellcode und Algorithmen zu überführen.
  • verschiedene Datentypen und Kontrollstrukturen anzuwenden.

Projektwiki für die eHealth-Forschung

Alle Informationen rund um die Vorlesung Projektmanagement

Diese Vorlesung ist im SS2020 für MT, EI, EMB

The students develop a practical understanding of the field of software development. They are familiar with the basic principles of object oriented programming, software engineering and modelling of software.

  • Basic principles of object oriented programming
  • Inheritance, Polymorphism
  • Basic concepts of the java api
  • The whole software development process
  • Principles of software architecture
  • Quality assurance

After attending the course the students

  • have the basic competences for the development of small and medium-sized software systems.
  • are familiar with the basic steps of software engineering.
  • know existing quality models and their meaning for the development of software.
  • the listeners can describe requirements to a software system in a structured way.
  • know fundamental architecture principles and can uses thes for creating software architectures.
  • can use selected diagrams of the UML for the description and documentation of a software system.
  • know the basic process of testing.
  • can use different testing strategies.
  • are familiar with basic procedure models for software development.

Alle Informationen rund um die Vorlesung Software Engineering

Alle Informationen rund um die Vorlesung Software Engineering.

Die Studierenden kennen die aktuellen Methoden zur Entwicklung von objektorientierten Software-Systemen. Sie verstehen die Grundlagen und die praktische Anwendung zu Spezifikation, Entwurf, Implementierung und Test von Software. Die Studierenden setzen die Methoden der Programmentwicklung anhand von Anwendungsbeispielen ein und können so die theoretisch erworbenen Kenntnisse in die Praxis umsetzen.

Nach dem Besuch des Kurses verfügen die Studierenden
  • verfügen über die grundlegenden Kompetenzen für die Entwicklung kleiner und mittlerer Softwaresysteme.
  • kennen sie die grundlegenden Schritte des Software-Engineerings.
  • kennen sie bestehende Qualitätsmodelle und deren Bedeutung für die Entwicklung von Software.
  • können die Hörer Anforderungen an ein Softwaresystem strukturiert beschreiben.
  • kennen grundlegende Architekturprinzipien und können diese bei der Erstellung von Softwarearchitekturen anwenden.
  • können ausgewählte Diagramme der UML für die Beschreibung und Dokumentation eines Softwaresystems verwenden.
  • kennen den grundlegenden Prozess des Testens.
  • können verschiedene Teststrategien anwenden.
  • sind mit grundlegenden Vorgehensmodellen der Softwareentwicklung vertraut.

Software-Engineering für WINF

In diesem Kursraum befinden sich alle Unterlagen rund um das Fach Software-Entwicklung 2

Im Rahmen dieses Kurses werden die Studierenden sensibilisiert für die Komplexität heterogener IT-Landschaften und die daraus resultierende Integrationsproblematik.

 

Weitere Kurse

Ein Ziel der Lehrveranstaltung ist die Vermittlung der grundlegenden Struktur von Betriebssystemen und dem Ökosystem, welches die dazugehörigen Bibliotheken den Anwendungen zur Verfügung stellen, so dass Multitasking / Multithreading und Kommunikation zwischen Prozessen sinnvoll möglich ist. In dem nächsten Teil der Lehrveranstaltung wird dann vermittelt, wie diese Kommunikation zwischen einzelnen Komponenten so ausgedehnt werden kann, dass Anwendungen verteilt auf verschiedene Systeme ausgeführt werden können. Wir schließen die Lehrveranstaltung mit einen Überblick über Datenbanksysteme ab.

Nach erfolgreichem Abschluss dieses Moduls können Studierende

  • die Aufgaben und Funktion von Betriebssystemen erläutern,
  • grundlegende Konzepte eines Betriebssystems verstehen, beispielsweise Treiber, UI-Bibliotheken, sowie Dateisysteme, und die damit einhergehenden Vor- und Nachteile verschiedener Konzepte abwägen,
  • bestehende Betriebssysteme erläutern und miteinander vergleichen, sowie Neuentwicklungen einordnen, und gebräuchliche Protokolle in der Rechnerkommunikation erläutern.

Sie sind zudem in der Lage,

  • die Basiskonzepte von Rechnernetzen darzustellen und zu klassifizieren und
  • die Aufgaben der Schichten im ISO/OSI-Modell zu benennen und am Beispiel zu erläutern, sowie
  • elementare Datenstrukturen zu erläutern und für die Anwendung geeignet zu wählen