Software Engineering

SoSe 2025 Dr. Julian Huber

bg right h:720


Organisatorisches

h:500


Dr. Julian Huber

bg left:30% height:720

  • 2016-2021 FZI Forschungszentrum Informatik
    • Wissenschaftlicher Mitarbeiter, Senior Expert, Abteilungsleiter der Abteilung Information Management & Analytics
  • 2020 Promotion
    • Engineering User-Centric Smart Charging Systems
  • 2009-2016 Wirtschaftsingenieurwesen

    • TU Berlin und KIT
  • Forschungs-Interessen

    • Nachhaltigkeit im Energiesektor
    • Schnittstelle zwischen Daten und Menschen

Quelle


Motivation

🎯 Lernziele

Nach dieser Einheit sind Sie in der Lage dazu * die Relevanz von Software und Digitalisierung anhand von Bespielen aus der Sport-, Medizin- und Gesundheitstechnik zum Ausdruck bringen * die Prüfungsanforderungen zu beschreiben


Tourenplanung

height:550


Trainingsplanung

height:550


Digitale Zertifikate

height:550


Genanalysen

height:550


Telemedizin

height:550


Bilderkennung und Diagnose

height:550

Quelle


Digitalisierung in der Medizin

bg left height:400

Quelle

  • Keine Datenverarbeitung ohne Hardware und Software

🧠 Was ist Software?

bg right:33% width:400

  • Computerprogramme und Dokumentation
  • für bestimmten Kunden oder allgemeinen Markt
  • Bindeglied zwischen User und Hardware
  • gewünschte Funktionalität und Leistung
  • wartbar, verlässlich, sicher, benutzbar

🧠 Was ist Software-Engineering?

  • technische Disziplin mit Fokus Softwareerstellung
  • praktische Aspekte der Entwicklung & Auslieferung
  • nicht Informatik
    • Theorie & Grundlagen

bg right:50% width:606

Quelle


Ziel der Vorlesung

  • Sprache, Tools und Techniken des Software-Engineerings
  • um eigene Projekte anzugehen
  • Wissen wonach man suchen muss und Suchergebnisse beurteilen

bg right height:700



Is this helpful?

import abc
from datetime import datetime

class ErgometerSensor(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def get_value(self):
        pass

class HeartRateSensor(ErgometerSensor):
    def __init__(self, bpm):
        self.bpm = bpm

    def get_value(self):
        return (datetime.now(), self.bpm)

class CadenceSensor(ErgometerSensor):
    def __init__(self, rpm):
        self.rpm = rpm

    def get_value(self):
        return (datetime.now(), self.rpm)

class PowerSensor(ErgometerSensor):
    def __init__(self, watts):
        self.watts = watts

    def get_value(self):
        return (datetime.now(), self.watts)

Inhalte der Lehrveranstaltung

  • Studierende erhalten Überblick über die Herausforderungen der Softwareentwicklung und kennen Methoden und Werkzeuge, um diese Herausforderungen zu meistern
  • Studierende sind in der Lage objekt-orientierte Programmierung in Python umzusetzen
  • Studierende sind in der Lage kleinere Softwareprojekte selbstständig zu managen und durchzuführen

  • Studierende kennen die Kerntechnologien von mobilen und Webanwendungen
  • Neben der technischen Perspektive, kennen Studierende auch die Grundlagen einer nutzer-zentrierten Entwicklung und deren wichtigsten Grundprinzipien und Methoden
  • Studierende beherrschen einfache SQL-Abfragen zur Interaktion mit Datenbanken und können mit Datei-Basierten Speichersystemen umgehen

Philosophie der Lehrveranstaltung

  • Praktische Anwendung - vor allem in der Programmierübung
  • Hier Fokus auf die vielfältigen Themen der IT
  • Wissensgrundlage, um sich in der Welt der Softwareentwicklung zurechtzufinden
  • Es gibt ein Quiz in Sakai-Kurs, das Ihnen dabei helfen wird ihr Verständnis zu überprüfen und Sie auf die Klausur vorzubereiten
  • Praktische Vertiefung in der Programmierübung


Leistungsbewertung

  • Leistungsbewertung basiert auf der Klausur
  • Programmierübung wird unabhängig bewertet
  • Inhalt der Klausur
    • Verständnis der praktischen Anwendung aus der Programmierung
    • Theoretisches Grundwissen vergleichbar den Lernfragen
  • 🤓 nicht klausurrelevant
  • 🧠 sehr wichtig

Aufwände und Leistungsüberprüfung

bg left:40% w:500

  • Benotung durch Klausur
  • Wer \(\frac{8}{10}\) Sakai-Aufgaben fristgerecht abgibt erhält einen \(0.3\) Notenschritt-Bonus in der Klausur (z.B. 2.0 \(\rightarrow\) 1.7)
  • Hierbei zählt der Best-Effort, d.h. auch für falsche Antworten gibt es Punkte, solange die Aufgabe ernsthaft bearbeitet wurde
  • offensichtlich kopierte oder falsche Antworten werden abgezogen
  • Bewertung der Programmierübung 2 ist unabhängig

Fragen

                                    ________
                                _jgN########Ngg_
                            _N##N@@""  ""9NN##Np_
                            d###P            N####p
                            "^^"              T####
                                            d###P
                                            _g###@F
                                        _gN##@P
                                    gN###F"
                                    d###F
                                    0###F
                                    0###F
                                    0###F
                                    "NN@'

                                    ___
                                    q###r
                                    ""