Reliability Engineering WS25/26

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Dozent: Prof. Dr.-Ing. Schneider
Modul Mechatronik, Systementwicklung (Wahlpflichtprofil „Systems Design Engineering“), Wintersemester
Modulbezeichnung: MTR-B-2-7.09
Modulverantwortung: Mirek Göbel
Lehrveranstaltung: Reliability Engineering
Zeit: Donnerstag, 08:15 - 09:45 Uhr, uKW
Ort: Labor L3.3-E01-180 (Autonome Systeme)
SVN-URL: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Reliability_Engineering/WS25/

Beispielartikel

Die gewünschten Themenabschnitte sind:

Einleitung

  • Autor
  • Bild


Funktionaler Systementwurf

Der funktionale Entwurf beschreibt was das System tun soll, ohne sich darum zu kümmern, wie es technisch umgesetzt wird.

  • Fokus: Funktionen, Prozesse, Abläufe
  • Ziel: Alle Anforderungen aus der Spezifikation in funktionale Bausteine zerlegen
  • Sprache/Tools: Funktionsdiagramme, Use Cases, Blockdiagramme, Datenflussdiagramme

Anforderungen

Formulierungsregeln für Anforderungen

Tipp: Hier geht es nur darum, dass die Funktion existiert, nicht wie der Sensor angeschlossen wird oder welcher Pin verwendet wird.

Technischer Systementwurf

Definition: Der technische Entwurf beschreibt wie das System umgesetzt wird, also die konkrete technische Lösung.

  • Fokus: Hardware, Softwarearchitektur, Bauteile, Schnittstellen
  • Ziel: Umsetzung des funktionalen Entwurfs in physische oder softwaretechnische Komponenten
  • Sprache/Tools: Schaltpläne, Hardware-Blockdiagramme, Klassendiagramme, PCB-Layout, Algorithmen

Komponentenspezifikation

Eine Komponentenspezifikation ist im Ingenieurwesen und in der Elektronik eine detaillierte Beschreibung eines Bauteils, die festlegt, wie es aufgebaut ist, welche Eigenschaften es haben muss und wie es betrieben werden darf. Sie dient dazu, sicherzustellen, dass die Komponente für eine bestimmte Anwendung geeignet ist und zuverlässig funktioniert.

Zweck einer Software-Komponentenspezifikation

  • Definiert Funktionalität: Welche Aufgaben erfüllt die Komponente?
  • Beschreibt Schnittstellen: Welche Inputs und Outputs gibt es?
  • Legt Nicht-Funktionale Anforderungen fest: Performance, Sicherheit, Zuverlässigkeit.
  • Hilft bei Entwurf, Implementierung und Test: Entwickler und Tester wissen genau, was erwartet wird.

Inhalte einer Komponentenspezifikation

  1. Allgemeine Beschreibung: Name der Komponente, Zweck/Ziel der Komponente, Zugehörigkeit zu einem System oder Modul
  2. Funktionale Anforderungen: Welche Aufgaben die Komponente erfüllt, Algorithmen oder Logik, falls relevant
  3. Schnittstellenbeschreibung: unktionen oder Methoden, die bereitgestellt werden, Input-Parameter und Rückgabewerte, Events, Nachrichten oder APIs
  4. Nicht-funktionale Anforderungen: Performance (z. B. Reaktionszeit), Zuverlässigkeit, Fehlertoleranz, Speicher- oder Ressourcenverbrauch
  5. Abhängigkeiten: Andere Software-Module oder Bibliotheken, die benötigt werden
  6. Test- und Validierungshinweise: Welche Tests durchgeführt werden müssen, um die Spezifikation zu erfüllen
  7. Versionierung und Änderungen: Wer hat die Spezifikation erstellt, Änderungen im Laufe der Zeit

Programmierung

Komponententest

Ziel: Fehler früh erkennen und vermeiden, maximale Testabdeckung.

Modultest
  • Jede Funktion wird isoliert geprüft
  • Fehlerfälle, Randbedingungen, Grenzwerte
Integrationstest
  • Zusammenspiel mit anderen Komponenten
  • Schnittstellen-Fehler, Timing-Probleme
Stress-/Lasttest
  • Hohe Frequenzen, große Datenmengen
  • Überprüfen, ob die Komponente unter extremen Bedingungen stabil bleibt
Recovery-Test
  • Simulieren von Ausfällen (Sensorfehler, Kommunikationsfehler)
  • Prüfen, ob Fehler korrekt behandelt werden
Code Review & statische Analyse Code auf potenzielle Bugs, Memory-Leaks, Race-Conditions prüfen
Reliability Metrics
  • MTBF (Mean Time Between Failures) schätzen
  • Fehlerrate pro 1.000 Transaktionen messen

Dokumentation: Testprotokolle & Ergebnisse: Unit-, Integration-, Stress-Tests

Zusammenfassung

Link zum Quelltext in SVN

Literaturverzeichnis

Aufgabe 1 - Artikel-Review

  1. Begutachten Sie einen fertigen Artikel.
  2. Geben Sie Feedback auf der Diskussionsseite.
  3. Wir besprechen das Feedback im Plenum.

Aufgabe 2 - Code Review

  1. Führen Sie das Review anhand der Vorlage durch und dokumentieren Sie es hier: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Testdokumente/CodeReviews/
  2. Optimieren Sie Ihren Quelltext anhand des Code Reviews.
  3. Besprechen Sie das Ergebnis mit Prof. Schneider.

Quellcode

Tutorials

Aufgabe 3 - Modultest

  1. Studieren Sie das Video Erste Schritte mit dem MATLAB Unit Test Framework.
  2. Weitere Informationen finden Sie im Artikel Ways to Write Unit Tests.
  3. Besuchen Sie den Online-Kurs Unit Testing
  4. Lassen Sie sich vom Copilot helfen einen Test zu generieren.

MATLAB Test features

  • Generate Test with Copilot
Tabelle 1: Liste von Testfällen inkl. genauer Testfallbeschreibung
ID des Testfalls Testfallname Ersteller Datum ID der Anforderung ID aus der Komponenntenspezifikation Ausgangszustand Aktion(en) Erwartetes Ergebnis Ergebnis Bewertung Test durchgeführt von Test durchgeführt am Bemerkung
01 Stationären Endwert und damit den Verstärkungsfaktor prüfen Prof. Schneider 22.10.25 01 05 PT1-Integratoren = 0, Eingang = 0 Eingangssprung von 0 auf 1 bei t=0s Stat. Endwert = 1 xa(t=50s) = 1.4 n.i.O. Mustermann 22.10.25 Kp überprüfen
02 Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel
03 Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel Beispiel

Aufgabe 4 - Statische Codeanalyse

Aufgabe 5 - Systemtest

Bonus

  • C-Code Generierung mit MATLAB.
  • Test von C-Code mit MATLAB

→ zurück zum Hauptartikel: MTR SDE Praktikum WS 2025/26