Softwareprojekt

Software Project

Informatik Klasse 10 15 Aufgaben
SoftwareprojektTeamarbeitSoftwareentwicklungDokumentationKerncurriculum

Das erste Teamprojekt verlagert die zu sichernde Kompetenz vom Code zur Arbeitsteilung: Schnittstellen absprechen, damit Teilergebnisse zusammenpassen, Aufgaben schneiden, Stände zusammenführen. Der Weg führt von der Analyse und Modellierung eines Szenarios über einen Projektplan mit Rollen und Meilensteinen zur arbeitsteiligen Implementierung, Test und Dokumentation. Technisch genügt als Basis die Verwaltung von Objekten im Array — jedes realistische Szenario steht damit; Datenbanken oder Polymorphie dürfen, müssen aber nicht ins Projekt.

Leicht
Multiple Choice #1 20s â–¶ Testen

Welche Phasen umfasst ein typisches Softwareentwicklungsprojekt?

  • â—‹ Nur Programmierung
  • â—Ź Planung, Modellierung, Implementierung, Test, Dokumentation
  • â—‹ Nur Modellierung und Test
  • â—‹ Idee und Veröffentlichung
Ein vollständiges Softwareprojekt durchläuft mehrere Phasen: 1) Planung (Was soll die Software können?), 2) Modellierung (Wie ist sie aufgebaut?), 3) Implementierung (Code schreiben), 4) Test (Funktioniert alles?), 5) Dokumentation.
LĂĽckentext #2 15s â–¶ Testen

In der ___phase werden die Anforderungen an die Software gesammelt und ein Projektplan erstellt.

âś“ Antwort: Planungs
In der Planungsphase wird geklärt: Was soll die Software tun (Anforderungen)? Wer macht was (Arbeitsteilung)? Wie viel Zeit haben wir (Zeitplan)? Welche Werkzeuge verwenden wir?
Wahr / Falsch #3 15s â–¶ Testen

Bei der arbeitsteiligen Implementierung ist es wichtig, dass alle Teammitglieder sich auf gemeinsame Schnittstellen (Methoden, Parameter) einigen.

âś“ Wahr
Richtig. Wenn verschiedene Personen verschiedene Klassen implementieren, mĂĽssen die Schnittstellen (welche Methoden gibt es, welche Parameter nehmen sie, was geben sie zurĂĽck) vorher festgelegt werden.
Multiple Choice #4 20s â–¶ Testen

Was ist der Zweck von Softwaretests?

  • â—‹ Das Programm zu verlangsamen
  • â—Ź Zu ĂĽberprĂĽfen, ob die Software die Anforderungen erfĂĽllt und keine Fehler enthält
  • â—‹ Den Quellcode zu verschönern
  • â—‹ Die Dokumentation zu erstellen
Tests prüfen: Funktioniert die Software korrekt (funktionale Tests)? Reagiert sie bei falscher Eingabe sinnvoll (Randfälle)? Erfüllt sie die Anforderungen des Szenarios? Tests finden Fehler vor der Auslieferung.
LĂĽckentext #5 15s â–¶ Testen

Ein ___ beschreibt die Struktur der Software (Klassen, Attribute, Methoden, Beziehungen) und dient als Grundlage fĂĽr die Implementierung.

âś“ Antwort: Klassendiagramm
Das Klassendiagramm (UML) ist das zentrale Modellierungswerkzeug: Es zeigt alle Klassen, ihre Attribute und Methoden sowie Beziehungen (Assoziation, Vererbung, Kardinalitäten). Es wird vor dem Programmieren erstellt.
Wahr / Falsch #6 15s â–¶ Testen

Bei einem Softwareprojekt sollte man zuerst den gesamten Code schreiben und dann erst testen.

âś“ Falsch
Falsch. Es ist besser, regelmäßig und frühzeitig zu testen (testgetriebene Entwicklung). So werden Fehler früh entdeckt und das Vertrauen in den Code wächst schrittweise.
Multiple Choice #7 20s â–¶ Testen

Was ist ein häufiger Fehler in Softwareprojekten?

  • â—‹ Zu viel Planung
  • â—Ź Zu wenig Planung und Modellierung — direkt mit dem Programmieren beginnen, ohne die Struktur zu durchdenken
  • â—‹ Zu viel Dokumentation
  • â—‹ Zu viele Tests
Ohne ausreichende Planung und Modellierung entstehen unstrukturierter Code, Inkonsistenzen und Nacharbeit. 'Eine Stunde Planung spart zehn Stunden Programmierung' — gute Modellierung zahlt sich aus.
Mittel
Multiple Choice #1 25s â–¶ Testen

Was versteht man unter einem 'Testfall'?

  • â—‹ Ein Fehler im Programm
  • â—Ź Eine definierte Eingabe mit einer erwarteten Ausgabe, die ĂĽberprĂĽft, ob eine bestimmte Funktionalität korrekt arbeitet
  • â—‹ Ein zufälliger Versuch
  • â—‹ Die erste Version des Programms
Beispiel-Testfall: Eingabe: Mitglied der Sparte Tennis anlegen. Erwartetes Ergebnis: Beitrag wird korrekt berechnet (z. B. 120 Euro/Jahr). Testfälle decken Normalfälle, Randfälle und Fehlerfälle ab.
Wahr / Falsch #2 20s â–¶ Testen

Eine gute Dokumentation erklärt nur, WAS der Code tut, nicht WARUM.

âś“ Falsch
Falsch. Gute Dokumentation erklärt beides: Was tut die Software (Funktionsbeschreibung), wie ist sie aufgebaut (Klassendiagramm, Architektur) und WARUM wurden bestimmte Entscheidungen getroffen (Entwurfsentscheidungen).
Multiple Choice #3 25s â–¶ Testen

Welche Vorteile hat Teamarbeit in Softwareprojekten?

  • â—‹ Keine Vorteile
  • â—Ź Aufgaben werden aufgeteilt, verschiedene Stärken ergänzen sich, mehr Ideen, gegenseitige Qualitätskontrolle (Code-Review)
  • â—‹ Nur schnellere Fertigstellung
  • â—‹ Weniger Dokumentation nötig
Teamarbeit ermöglicht Arbeitsteilung (Parallelisierung), bringt verschiedene Perspektiven zusammen und ermöglicht Code-Reviews (ein Teammitglied überprüft den Code eines anderen). Voraussetzung: gute Kommunikation und klare Absprachen.
Multiple Choice #4 25s â–¶ Testen

Was ist ein 'Pflichtenheft' in der Softwareentwicklung?

  • â—‹ Eine Liste der Programmiersprachen
  • â—Ź Ein Dokument, das die Anforderungen an die Software systematisch beschreibt: Was muss sie können, was ist optional?
  • â—‹ Ein Fehlerbericht
  • â—‹ Der fertige Quellcode
Das Pflichtenheft definiert: Muss-Anforderungen (unbedingt nötig), Soll-Anforderungen (wünschenswert), Kann-Anforderungen (optional). Es ist der Vertrag zwischen Auftraggeber und Entwicklerteam.
LĂĽckentext #5 20s â–¶ Testen

Beim Testen unterscheidet man zwischen ___ (einzelne Methoden/Klassen testen) und Integrationstests (Zusammenspiel der Komponenten testen).

âś“ Antwort: Unit-Tests
Unit-Tests prĂĽfen einzelne Methoden isoliert. Integrationstests prĂĽfen das Zusammenwirken mehrerer Klassen. Systemtests prĂĽfen das Gesamtsystem. Je frĂĽher Fehler gefunden werden, desto gĂĽnstiger die Behebung.
Multiple Choice #6 25s â–¶ Testen

Was gehört zu einer guten Projektdokumentation?

  • â—‹ Nur der Quellcode
  • â—Ź Projektbeschreibung, Anforderungen, Klassendiagramm, Quelltexte mit Kommentaren, Testprotokolle, Bedienungsanleitung
  • â—‹ Nur Screenshots
  • â—‹ Nur das Ergebnis
Vollständige Dokumentation: 1) Was sollte die Software? (Anforderungen), 2) Wie ist sie aufgebaut? (Diagramme), 3) Wie funktioniert der Code? (Kommentare), 4) Wurde sie getestet? (Testprotokolle), 5) Wie bedient man sie? (Anleitung).
Multiple Choice #7 20s â–¶ Testen

Dein Team soll eine bestehende Bibliotheks-App um eine Vormerkfunktion erweitern. Womit beginnt ihr sinnvollerweise?

  • â—‹ Ihr programmiert die App komplett neu, damit alles einheitlich ist.
  • â—Ź Ihr lest das vorhandene Klassendiagramm und sucht die Stelle fĂĽr die Erweiterung.
  • â—‹ Ihr schreibt sofort eine neue Klasse Vormerkung, ohne den alten Code anzusehen.
In der Praxis startet man selten bei null: Man muss bestehende Klassendiagramme, Code und Datenbanken verstehen, um sie anpassen und erweitern zu können. Neu zu programmieren verschwendet Arbeit; wer den alten Code nicht kennt, baut leicht eine Erweiterung, die nicht passt.
LĂĽckentext #8 20s â–¶ Testen

Ein ___ zeigt die Abfolge von Methodenaufrufen zwischen Objekten und hilft, das Kommunikationsverhalten eines Systems zu verstehen.

âś“ Antwort: Sequenzdiagramm
Sequenzdiagramme (UML) zeigen zeitlich geordnete Interaktionen: Welches Objekt ruft welche Methode welches anderen Objekts auf? Sie ergänzen das Klassendiagramm um die dynamische Sicht.