Softwareentwicklung

Software Engineering Process

Informatik Klasse 11 20 Aufgaben
SoftwaretechnikProzess

Softwareentwicklung durchläuft feste Phasen — Anforderungsanalyse, Entwurf, Implementierung, Test und Wartung. Die tragende Einsicht: Ein Fehler wird umso teurer, je später er entdeckt wird; ein in der Analyse übersehener Denkfehler kostet nach der Auslieferung ein Vielfaches seiner Behebung im Entwurf — deshalb lohnen Analyse und Entwurf, bevor Code entsteht. Vorgehensmodelle unterscheiden sich darin, wie sie diese Phasen anordnen: der Wasserfall einmal linear, iterativ-agile Ansätze in kurzen Zyklen, je nach Annahme über die Planbarkeit.

Voraussetzungen (1)

Leicht
Multiple Choice #1 15s â–¶ Testen

Welche Phase steht am Anfang eines Softwareentwicklungsprojekts?

  • â—‹ Implementierung
  • â—Ź Anforderungsanalyse
  • â—‹ Test
  • â—‹ Wartung
Die Anforderungsanalyse klaert, WAS die Software leisten soll. Man unterscheidet funktionale Anforderungen (Was soll das System tun?) und nicht-funktionale Anforderungen (Wie schnell, sicher, benutzerfreundlich?).
LĂĽckentext #2 15s â–¶ Testen

Im Wasserfallmodell werden die Phasen der Softwareentwicklung ___ durchlaufen, ohne zu vorherigen Phasen zurueckzukehren.

âś“ Antwort: sequentiell
Das Wasserfallmodell ist ein lineares Vorgehensmodell: Jede Phase (Analyse, Entwurf, Implementierung, Test, Wartung) wird vollstaendig abgeschlossen, bevor die naechste beginnt. In der Praxis ist Rueckkehr oft noetig.
Wahr / Falsch #3 15s â–¶ Testen

Beim Testen von Software genuegt es, nur den normalen Anwendungsfall (Happy Path) zu pruefen.

âś“ Falsch
Falsch. Gutes Testen prueft auch Grenzfaelle, ungueltige Eingaben, Fehlersituationen und Extremwerte. Nur den Happy Path zu testen laesst viele Fehler unentdeckt.
Multiple Choice #4 20s â–¶ Testen

Was versteht man unter einem Pflichtenheft?

  • â—‹ Eine Anleitung fuer den Benutzer
  • â—Ź Ein Dokument, das beschreibt, WIE die Anforderungen technisch umgesetzt werden
  • â—‹ Der fertige Quellcode
  • â—‹ Eine Liste aller Fehlermeldungen
Das Pflichtenheft ist die Antwort des Entwicklers auf das Lastenheft (Kundenwuensche). Es beschreibt die technische Loesung: Architektur, Datenmodell, Schnittstellen, Testplanung.
LĂĽckentext #5 15s â–¶ Testen

Ein ___ beschreibt aus Sicht des Nutzers eine konkrete Funktionalitaet, die das System bieten soll (z. B. 'Als Schueler moechte ich meine Noten einsehen').

âś“ Antwort: Use Case
Use Cases (Anwendungsfaelle) beschreiben die Interaktion zwischen Nutzer und System. Sie helfen, Anforderungen verstaendlich zu formulieren. Ein Use-Case-Diagramm zeigt alle Anwendungsfaelle und die beteiligten Akteure.
Sortieren #6 20s â–¶ Testen

Ordne die Phasen des Wasserfallmodells in der richtigen Reihenfolge:

âś“ Antwort: Anforderungsanalyse, Entwurf (Design), Implementierung, Test, Wartung und Betrieb
Das Wasserfallmodell durchlaeuft diese fuenf Phasen streng sequentiell. Es eignet sich fuer Projekte mit stabilen, gut verstandenen Anforderungen. Bei sich aendernden Anforderungen sind agile Methoden besser geeignet.
Wahr / Falsch #7 15s â–¶ Testen

Dokumentation ist ein wichtiger Bestandteil der Softwareentwicklung und sollte nicht erst am Ende erfolgen.

âś“ Wahr
Richtig. Dokumentation begleitet den gesamten Prozess: Anforderungsdokumente, Entwurfsbeschreibungen, Code-Kommentare, Testprotokolle, Benutzerhandbuecher. Fruehe Dokumentation hilft bei der Kommunikation im Team.
Zahleneingabe #8 15s â–¶ Testen

Ein Scrum-Team arbeitet in Sprints von 2 Wochen. Wie viele Sprints kann das Team in einem Schulhalbjahr von 20 Wochen durchfuehren?

âś“ Antwort: 10
20 Wochen / 2 Wochen pro Sprint = 10 Sprints. In jedem Sprint liefert das Team ein funktionsfaehiges Inkrement. Am Ende jedes Sprints findet ein Review (Vorstellung der Ergebnisse) und eine Retrospektive (Verbesserung des Prozesses) statt.
Mittel
Multiple Choice #1 20s â–¶ Testen

Ein Kunde ändert nach drei Monaten seine Wünsche an die Startseite. Was passiert typischerweise in einem Scrum-Projekt?

  • â—Ź Die Ă„nderung kommt ins Backlog und kann im nächsten Sprint umgesetzt werden.
  • â—‹ Die Ă„nderung wird erst nach Abschluss aller Phasen in einer neuen Version eingeplant.
  • â—‹ Das Team verzichtet ab jetzt auf Tests, um die Ă„nderung schneller zu schaffen.
Agile Entwicklung arbeitet in kurzen Sprints mit einem funktionsfähigen Inkrement am Ende – neue Wünsche kommen ins Backlog und können früh eingeplant werden. Erst nach Abschluss aller Phasen zu reagieren ist typisch fürs Wasserfallmodell. Agil heißt nicht: ohne Tests.
LĂĽckentext #2 15s â–¶ Testen

Beim ___-Test wird jede einzelne Komponente (Methode, Klasse) isoliert geprueft, um sicherzustellen, dass sie korrekt funktioniert.

âś“ Antwort: Unit
Unit-Tests (Modultests) pruefen die kleinsten testbaren Einheiten der Software. Sie werden oft automatisiert und bei jeder Aenderung ausgefuehrt. Daneben gibt es Integrationstests (Zusammenspiel) und Systemtests (Gesamtsystem).
Sortieren #3 25s â–¶ Testen

Ordne die Teststufen von der kleinsten zur groessten Testeinheit:

âś“ Antwort: Unit-Test (einzelne Methode/Klasse), Integrationstest (Zusammenspiel von Modulen), Systemtest (gesamtes System), Abnahmetest (Test durch den Kunden)
Die Teststufen bilden eine Pyramide: Viele kleine Unit-Tests bilden die Basis. Integrationstests pruefen die Schnittstellen. Systemtests pruefen das Gesamtverhalten. Der Abnahmetest erfolgt durch den Auftraggeber.
Multiple Choice #4 20s â–¶ Testen

Was versteht man unter Refactoring?

  • â—‹ Das Hinzufuegen neuer Funktionen
  • â—Ź Die Verbesserung der internen Codestruktur, ohne das aeussere Verhalten zu aendern
  • â—‹ Das Entfernen von Fehlern
  • â—‹ Die Uebersetzung in eine andere Programmiersprache
Refactoring verbessert Lesbarkeit, Wartbarkeit und Struktur des Codes. Beispiele: Methoden umbenennen, doppelten Code in eine Methode auslagern, Klassen aufteilen. Automatisierte Tests stellen sicher, dass nichts kaputt geht.
LĂĽckentext #5 20s â–¶ Testen

Ein ___-Diagramm zeigt die zeitliche Abfolge von Nachrichten zwischen Objekten und eignet sich zur Modellierung von Ablaeufen.

âś“ Antwort: Sequenz
Sequenzdiagramme (UML) zeigen Objekte als Lebenslinien und Nachrichten (Methodenaufrufe) als Pfeile zwischen ihnen. Sie modellieren die dynamische Interaktion und sind besonders hilfreich beim Entwurf von Schnittstellen.
Wahr / Falsch #6 15s â–¶ Testen

Versionskontrollsysteme wie Git sind ein wichtiges Werkzeug in der professionellen Softwareentwicklung.

âś“ Wahr
Richtig. Git speichert die gesamte Aenderungshistorie, ermoeglicht paralleles Arbeiten im Team (Branching), und macht Aenderungen rueckgaengig machbar. Plattformen wie GitHub ermoeglichen zusaetzlich Code-Reviews und Issue-Tracking.
Multiple Choice #7 20s â–¶ Testen

Was beschreibt das Lastenheft?

  • â—‹ Die technische Architektur der Software
  • â—Ź Die Anforderungen und Wuensche des Auftraggebers an das System
  • â—‹ Den Testplan
  • â—‹ Die Installationsanleitung
Das Lastenheft wird vom Auftraggeber erstellt und beschreibt, WAS er vom System erwartet. Es ist die Grundlage fuer das Pflichtenheft, das der Entwickler als technische Loesung formuliert.
Zahleneingabe #8 15s â–¶ Testen

Ein Entwicklerteam findet waehrend der Testphase 12 Fehler. 9 davon werden behoben. Wie viel Prozent der gefundenen Fehler wurden behoben?

âś“ Antwort: 75
9 von 12 Fehlern behoben: 9/12 = 0,75 = 75%. Fehlerquoten und Behebungsraten sind wichtige Metriken in der Softwareentwicklung, um die Qualitaet des Testprozesses zu bewerten.
Schwer
Sortieren #1 30s â–¶ Testen

Ordne die Schritte eines typischen Scrum-Sprints in die richtige Reihenfolge:

âś“ Antwort: Sprint Planning: Aufgaben fuer den Sprint auswaehlen, Daily Standup: Taegliches kurzes Teammeeting, Entwicklung: Aufgaben implementieren und testen, Sprint Review: Ergebnisse dem Stakeholder vorstellen, Sprint Retrospektive: Prozess reflektieren und verbessern
Scrum strukturiert die Arbeit in Sprints mit festen Ritualen. Das Planning legt den Umfang fest, Dailys synchronisieren das Team, der Review zeigt Ergebnisse, die Retro verbessert den Prozess.
LĂĽckentext #2 20s â–¶ Testen

Das Entwurfsmuster ___ beschreibt die Trennung von Software in Modell (Daten), View (Darstellung) und Controller (Steuerung).

âś“ Antwort: MVC
MVC (Model-View-Controller) trennt die Zustaendigkeiten: Das Modell verwaltet die Daten, die View zeigt sie an, der Controller verarbeitet Benutzereingaben. Diese Trennung verbessert Wartbarkeit und Testbarkeit.
Zahleneingabe #3 20s â–¶ Testen

Ein Softwareprojekt hat 5 Module. Fuer den Integrationstest muessen alle moeglichen Paare von Modulen getestet werden. Wie viele Paarungen gibt es?

âś“ Antwort: 10
Die Anzahl der Paare bei 5 Modulen: 5 * 4 / 2 = 10. Das ist die Kombinatorik 'n ueber 2' = n*(n-1)/2. In der Praxis testet man oft nur die Paare, die tatsaechlich interagieren.
Multiple Choice #4 25s â–¶ Testen

Was ist Continuous Integration (CI)?

  • â—‹ Ein Projektmanagement-Tool
  • â—Ź Die Praxis, Codeaenderungen haeufig in ein gemeinsames Repository zu integrieren und automatisiert zu bauen und zu testen
  • â—‹ Ein Dokumentationsformat
  • â—‹ Eine Methode zur Datenbankoptimierung
Bei CI werden Aenderungen mehrmals taeglich eingecheckt. Ein Build-Server kompiliert automatisch und fuehrt Tests aus. Fehler werden so frueh erkannt. CI ist die Grundlage fuer Continuous Delivery/Deployment.