Praktikum angewandte Systemsoftwaretechnik - Cheatsheet.pdf

Praktikum angewandte Systemsoftwaretechnik - Cheatsheet
Praktikum angewandte Systemsoftwaretechnik - Cheatsheet Anforderungsanalyse und Projektplanung Definition: Anforderungsanalyse und Projektplanung befasst sich mit dem Identifizieren und Dokumentieren der Anforderungen sowie der systematischen Planung des Projekts. Details: Ziele klären: Anforderungen verstehen und priorisieren. Dokumentation: Anforderungen schriftlich festhalten (Lastenheft, Pflic...

© StudySmarter 2024, all rights reserved.

Praktikum angewandte Systemsoftwaretechnik - Cheatsheet

Anforderungsanalyse und Projektplanung

Definition:

Anforderungsanalyse und Projektplanung befasst sich mit dem Identifizieren und Dokumentieren der Anforderungen sowie der systematischen Planung des Projekts.

Details:

  • Ziele klären: Anforderungen verstehen und priorisieren.
  • Dokumentation: Anforderungen schriftlich festhalten (Lastenheft, Pflichtenheft).
  • Ressourcenplanung: Bestimmen von Personal, Zeit und Budget.
  • Risikoanalyse: Potenzielle Risiken erkennen und bewältigen.
  • Zeitplan: Meilensteine und Deadlines festlegen.
  • Kommunikation: Regelmäßiger Austausch im Team und mit Stakeholdern.

Versionskontrollsysteme (z.B. Git)

Definition:

Versionskontrollsysteme (VCS) verwalten Änderungen an Quellcode und anderen Sammlungen digitaler Daten über die Zeit. Git ist ein weit verbreitetes VCS, das verteilte Entwicklung unterstützt.

Details:

  • Git: Verteiltes VCS, lokal und remote arbeitend.
  • Änderungen in Commits speichern.
  • Branches zum parallelen Entwickeln nutzen.
  • Merge zum Zusammenführen von Branches.
  • Kommandos: git init, git clone, git add, git commit, git push, git pull, git merge, git branch, git checkout.

Teststrategien und Qualitätssicherung

Definition:

Teststrategien und Qualitätssicherung beinhalten Techniken und Verfahren zur Sicherstellung von Softwarequalität durch systematisches Testen und Überprüfen.

Details:

  • Testarten: Unit-Tests, Integrationstests, Systemtests, Akzeptanztests
  • Testtechniken: Black-Box-Testing, White-Box-Testing, Graue-Box-Testing
  • Testabdeckung: Code Coverage, Branch Coverage, Path Coverage
  • Testwerkzeuge: JUnit, Selenium, TestNG
  • Qualitätssicherungsmethoden: Code Reviews, Pair Programming, Continuous Integration
  • Metriken: Defect Density, Mean Time to Failure (MTTF), Test Fall Effektivität
  • Standards: ISO/IEC 25010, IEEE 829

Prozess- und Thread-Management

Definition:

Verwaltung und Steuerung von Prozessen und Threads im Betriebssystem; Kommunikation und Synchronisation zwischen ihnen; Ressourcenverwaltung.

Details:

  • Prozesszustände: New, Ready, Running, Blocked, Terminated
  • Thread: Leichtgewichtiger Prozess, geteilter Speicher
  • Multithreading: Verteilung der Aufgaben auf mehrere Threads
  • Scheduling-Algorithmen: FCFS, SJF, Round Robin, Priority Scheduling
  • Prozesskommunikation: Pipes, Shared Memory, Message Queues
  • Synchronisation: Mutex, Semaphore, Monitor
  • Ressourcenmanagement: CPU, Speicher, Ein-/Ausgabe
  • Deadlock: Bedingungen, Prävention und Auflösung

Speicherverwaltung

Definition:

Speicherverwaltung: Verwaltung und Zuweisung von Hauptspeicherressourcen, um Prozesse und Anwendungen effizient und sicher auszuführen.

Details:

  • Speicherallokationsstrategien: Erst-Fit, Best-Fit, Worst-Fit.
  • Dynamische Speicherverwaltung: Verwaltung von Heap und Stack.
  • Paging: Aufteilung des Speichers in feste Seitengrößen.
  • Segmentation: Aufteilung des Speichers in variable Segmente.
  • Virtueller Speicher: Nutzung von Festplattenspeicher als Erweiterung des RAMs. Seitenfehler und Swapping.
  • Garbage Collection: Automatische Speicherbereinigung.
  • Fragmentierung: Intern (innerhalb eines Speicherblocks) und extern (zwischen Blöcken).
  • MMU (Memory Management Unit): Hardwarekomponente zur Übersetzung von virtuellen Adressen in physische Adressen.

Netzwerksicherheit

Definition:

Schutz vor unautorisiertem Zugriff, Datenverlust und Angriffen auf Computernetzwerke.

Details:

  • Authentifizierung: Identitätsverifikation
  • Verschlüsselung: Schutz der Datenintegrität und Vertraulichkeit
  • Firewall: Regulierung des Datenverkehrs
  • Intrusion Detection Systems (IDS): Erkennung von unautorisierten Aktivitäten
  • Virtual Private Network (VPN): Sicherer Fernzugriff
  • Sicherheitsprotokolle: SSL/TLS für sichere Kommunikation

Architekturstile und -muster

Definition:

Architekturstile und -muster sind bewährte Lösungen für wiederkehrende Probleme in der Softwarearchitektur.

Details:

  • Architekturstile: Fundamental Templates (z.B. Schichtenarchitektur, Client-Server).
  • Entwurfsmuster: Wiederverwendbare Designlösungen (z.B. Singleton, Observer).
  • Stile sind eher global; Muster lösen spezifische Probleme.
  • Beispiele für Architekturstile: Schichtenarchitektur (\textit{Layered Architecture}), Mikroservices.
  • Beispiele für Entwurfsmuster: \textit{Model-View-Controller} (MVC), Fabrikmethode (\textit{Factory Method}).
  • Anwendungsfall bestimmt Wahl von Stil oder Muster.

Debugging-Techniken

Definition:

Methoden zur Identifizierung und Behebung von Fehlern in Softwareanwendungen, um deren korrekte Funktion sicherzustellen.

Details:

  • Breakpoints: Haltepunkte im Code setzen, um Programmfluss zu beobachten.
  • Step Through: Schrittweises Ausführen des Codes, um Logikfehler zu finden.
  • Watch Variables: Beobachten von Variablenwerten, um unerwartete Änderungen zu erkennen.
  • Logging: Einfügen von Protokollierungsanweisungen zur Laufzeitanalyse.
  • Exception Handling: Spezifische Fehlerbehandlung und Stack-Traces analysieren.
  • Interactive Debugging: Nutzung von interaktiven Debugging-Tools wie GDB.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden