Software Engineering


Andy Rührmeyer
Diese Lernkarten decken fortgeschrittene Themen des Software Engineering auf Universitätsniveau ab. Sie behandeln zentrale Konzepte wie Modelle, Tests, Spezifikationen und Systemanalyse, wobei der Fokus auf der systematischen Entwicklung und Wartung von Software liegt. Die Karteikarten sind besonders nützlich für Studierende und Praktiker, die ihr Verständnis von Software Engineering vertiefen und sich auf Prüfungen oder praktische Anwendungen vorbereiten möchten.
Cartes-fiches
53
Utilisateurs
10
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
11.07.2013 / 04.08.2025

Cartes-fiches

Was ist eine Verbessernde Wartung?

Die Software wird so verändert, dass bestimmte Qualitätsmerkmale der Software verbessert werden

Welche Ratschläge gibt es in der Codierung

  • keine zu genialen Programmiertricks verwenden
  • keine leeren Zweige in Bedingungen
  • keine zu verschachtelten Anweisungen
  • Keine Seiteneffekte
  • Nicht den Code zu sehr optimieren

Welche Codierregeln gibt es?

  • Methoden mit mehr als 5 Parametern deuten auf Fehler im Entwurf
  • Bezeichner darf nur einem Zweck dienen
  • Ausdrücke verständlich. wenn teue, dann auch positiv
  • keine Text- und Zahlenliterale ausser 0 und1
  • jedes Programm muss ausreichend kommentiert sein

was ist das Ziel des Regressionstests?

unerwünschte Seiteeffekte die im Zuge der Wartung entstanden sind zu erkennen

Welche Anforderungen an die Kommentierung gibt es?

  • Sprechenden Bezeichner wählen
  • nicht das im Code sichtbare wiederholen oder ergänzen
  • Kommentare immer so knapp wie möglich, aber mit allen Infos versehen
  • Auf Plural achten, kann sehr für Verwirrung sorgen
  • Kommentare durch Formatierung vom Code abheben
  • Automatische Generierung der Doku z.B. JavaDocs

Systematischer Test?

  • Randbedingungen definiert und präzise erfasst
  • Eingaben systematisch ausgewählt
  • Ergebnisse dokumentiert und nach Kriterien beurteilt, die vor dem Test festgelegt wurden

Systematischer Test besteht aus welchen Schritten?

  • Vorberitung (Aufwändig)
  • Ausführung
  • Auswertung

Was ist das Testgeschirr

  • Testtreiber (versorgt Prüfling mit Eingaben)
  • Platzhalter/Stubs (steht für Komponente die von Prufling bebötigt wird, aber noch nicht implementiert ist)

was ist das Hauptziel der Testvorbereitung

Möglichst automatische Ausführung des Tests

Regeln für einen guten systematisch Test

 

  • Keine spezielle Testvariante des Prüflings
  • kein Abbruch bei Fehler
  • keine Modifikation während dem Test
  • kein Wechsel zw. Test und Debugging

Resultate der Aufwands- und Kostenschätzung benötigt man für?

  • Make or Buy Entscheidung
  • Kalkulation und Kostenschätzung
  • Personalplanung
  • Nachkalkulation

Welche Ansätze zur Kostenschätzung gibt es?

  • Expertenschätzung
  • Delphi-Verfahren
  • Algorithmische Verfahren wie
    • Cocomo
    • CocomoII
    • Function Point Verfahren

Aufgaben der Konfigurationsverwaltung

  • Versions-, Konfigurations-, und Änderungskontrolle
  • Konstruktion ausführbarer Programme
  • Koordination der Teamarbeit

Study