Softwareprojekt
Welche Phasen umfasst ein typisches Softwareentwicklungsprojekt?
Erklärung: 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.
In der ___phase werden die Anforderungen an die Software gesammelt und ein Projektplan erstellt.
Erklärung: 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?
Bei der arbeitsteiligen Implementierung ist es wichtig, dass alle Teammitglieder sich auf gemeinsame Schnittstellen (Methoden, Parameter) einigen.
Erklärung: 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.
Was ist der Zweck von Softwaretests?
Erklärung: 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.
Was versteht man unter einem 'Testfall'?
Erklärung: 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.
Ein ___ beschreibt die Struktur der Software (Klassen, Attribute, Methoden, Beziehungen) und dient als Grundlage fĂĽr die Implementierung.
Erklärung: 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.
Eine gute Dokumentation erklärt nur, WAS der Code tut, nicht WARUM.
Erklärung: Falsch. Gute Dokumentation erklärt beides: Was tut die Software (Funktionsbeschreibung), wie ist sie aufgebaut (Klassendiagramm, Architektur) und WARUM wurden bestimmte Entscheidungen getroffen (Entwurfsentscheidungen).
Welche Vorteile hat Teamarbeit in Softwareprojekten?
Erklärung: 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.
Was ist ein 'Pflichtenheft' in der Softwareentwicklung?
Erklärung: Das Pflichtenheft definiert: Muss-Anforderungen (unbedingt nötig), Soll-Anforderungen (wünschenswert), Kann-Anforderungen (optional). Es ist der Vertrag zwischen Auftraggeber und Entwicklerteam.
Beim Testen unterscheidet man zwischen ___ (einzelne Methoden/Klassen testen) und Integrationstests (Zusammenspiel der Komponenten testen).
Erklärung: 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.
Bei einem Softwareprojekt sollte man zuerst den gesamten Code schreiben und dann erst testen.
Erklärung: 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.
Was gehört zu einer guten Projektdokumentation?
Erklärung: 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).
Dein Team soll eine bestehende Bibliotheks-App um eine Vormerkfunktion erweitern. Womit beginnt ihr sinnvollerweise?
Erklärung: 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.
Ein ___ zeigt die Abfolge von Methodenaufrufen zwischen Objekten und hilft, das Kommunikationsverhalten eines Systems zu verstehen.
Erklärung: Sequenzdiagramme (UML) zeigen zeitlich geordnete Interaktionen: Welches Objekt ruft welche Methode welches anderen Objekts auf? Sie ergänzen das Klassendiagramm um die dynamische Sicht.
Was ist ein häufiger Fehler in Softwareprojekten?
Erklärung: Ohne ausreichende Planung und Modellierung entstehen unstrukturierter Code, Inkonsistenzen und Nacharbeit. 'Eine Stunde Planung spart zehn Stunden Programmierung' — gute Modellierung zahlt sich aus.