Software Engineering & IT-Projektmanagement Flashcards
Was ist Software?
Computerprogramme, Verfahren und möglicherweise zugehörige Dokumentation und Daten zur Bedienung eines Computersystems.
Software umfasst alle digitalen Anweisungen, die von einem Computer ausgeführt werden.
Was ist ein Softwaresystem?
Ein System (oder Teilsystem), das aus Software besteht.
Softwaresysteme können Anwendungen, Betriebssysteme oder Datenbankmanagementsysteme umfassen.
Was ist ein Softwareprodukt?
Ein Produkt, das aus Software besteht.
Softwareprodukte können kommerzielle Software, Open-Source-Software oder benutzerdefinierte Software umfassen.
Nenne drei Besonderheiten von Software.
- Software ist immateriell
- Software ist schwer zu vermessen
- Software hat keinen Verschleiß
Diese Eigenschaften unterscheiden Software von physischen Produkten.
Was unterteilt die Softwarequalität?
- Externe und interne Qualität
- Gebrauchsqualität
Diese Unterteilungen helfen, verschiedene Aspekte der Softwarebewertung zu unterscheiden.
Nenne die Unterkategorien der externen und internen Qualität.
- Funktionalität
- Zuverlässigkeit
- Effizienz
- Benutzbarkeit
- Änderbarkeit
- Portierbarkeit
Diese Kriterien sind entscheidend für die Beurteilung der Gesamtqualität einer Software.
Was ist Software Engineering?
Eine technische Disziplin, die sich mit allen Aspekten der Softwareproduktion befasst, von den frühen Phasen der Systemspezifikation bis zur Wartung des Systems.
Software Engineering umfasst Planung, Entwicklung, Testing und Wartung.
Nenne die Phasen des gesamten Lebenszyklus im Software Engineering.
- Spezifikation
- Design
- Entwicklung
- Testen
- Wartung
Diese Phasen sind entscheidend für die erfolgreiche Erstellung von Software.
Was besagt das Spannungsdreieck bei der Produktentwicklung?
- Qualität
- Zeit
- Kosten
Diese drei Faktoren stehen in einem Spannungsfeld, das die Projektplanung beeinflusst.
Was zeigt der Standish Chaos Report (2016)?
- 20% bis 30% der IT Projekte sind erfolgreich
- ca. 50% werden mit reduziertem Funktionsumfang verspätet und/oder über Budget abgeschlossen
- 20% bis 30% schlagen komplett fehl
Der Report analysiert die Erfolgsquoten von IT-Projekten und deren häufigste Probleme.
Was sind die Hauptgründe für das Scheitern von IT-Projekten laut dem Standish Chaos Report?
- 12.8% zu wenig Nutzer Input
- 12.3% unvollständige Anforderungen & Spezifikationen
- 11.8% geänderte Anforderungen & Spezifikationen
Diese Faktoren sind entscheidend für das Verständnis, warum viele IT-Projekte misslingen.
Was sind die Vorteile von Vorgehensmodellen?
- Strukturierung des Projekts
- Phasen und Aktivitäten
- Kommunikation
- Verantwortlichkeiten
- Vollständigkeit
- Vorhersage des Projektergebnisses
- Projektkontrolle und Analyse
- Erfahrungssammlung
Vorgehensmodelle helfen, Projekte systematisch und effizient zu gestalten.
Was sind die Eigenschaften des Wasserfallmodells?
- Alle Schritte werden sequentiell durchgeführt
- Ein Schritt wird abgeschlossen, dann folgt der nächste
- Nach jedem Schritt liegt das Ergebnis der Phase vor
Das Wasserfallmodell ist ein traditionelles Modell, das in vielen Ingenieurprojekten verwendet wird.
Nenne einen Nachteil des Wasserfallmodells.
Änderungen an vorherigen Phasen sind schwierig umzusetzen.
Dies kann zu Problemen führen, wenn sich Anforderungen während des Entwicklungsprozesses ändern.
Was ist das V-Modell?
Eine Erweiterung des Wasserfall-Modells, die die Qualitätssicherung integriert.
Das V-Modell ist besonders in der Softwareentwicklung für sicherheitskritische Systeme verbreitet.
Nenne die Vorteile des Spiral-Modells.
- Explizite und wiederholte Abschätzung von Risiken
- Für große und komplexe Systeme geeignet
Das Spiral-Modell ermöglicht eine iterative Entwicklung und Risikomanagement.
Was sind die Kernelemente von Scrum?
- Iteratives Arbeitsmodell
- Selbstorganisiertes Team
- Kontinuierliche Verbesserung
- Transparente Kommunikation
Scrum ist ein agiles Projektmanagement-Framework, das Flexibilität und Anpassungsfähigkeit fördert.
Was ist das Product Backlog in Scrum?
Das wichtigste Dokument in Scrum, das alle bekannten Anforderungen beschreibt und vom Product Owner verwaltet wird.
Das Product Backlog ist dynamisch und kann jederzeit verändert werden.
Was sind funktionale Anforderungen?
Beschreiben, was das System leisten soll, einschließlich Eingabe, Verarbeitung und Ausgabe.
Funktionale Anforderungen sind entscheidend für die Definition der Systemfunktionalität.
Was sind nicht-funktionale Anforderungen?
Beschreiben, wie das System arbeiten soll, einschließlich Qualitätsanforderungen wie Performance und Zuverlässigkeit.
Diese Anforderungen sind wichtig für die Benutzererfahrung und Systemleistung.
Was ist Anforderungsanalyse?
Der Prozess der Untersuchung der Bedürfnisse von Nutzern, um eine Definition von System-, Hardware- oder Softwareanforderungen zu erlangen.
Anforderungsanalyse ist entscheidend für den Projekterfolg, da sie hilft, Missverständnisse zu vermeiden.
Nenne Methoden zur Ermittlung von Anforderungen.
- Interview
- Focus Group
- Fragebogen
- Prototyping
- Beobachtungen
- Dokumentenanalyse
Diese Methoden helfen, die Bedürfnisse der Stakeholder zu verstehen und zu dokumentieren.
Was ist Traceability in der Softwareentwicklung?
Die Nachvollziehbarkeit von Anforderungen über den gesamten Entwicklungsprozess.
Traceability hilft, Änderungen zu verwalten und Konflikte zu lösen.
Was sind die Abgrenzungskriterien?
Helfen dem Projekt, sich auf das Wichtige zu beschränken.
Abgrenzungskriterien klären, was nicht gemacht wird, um Missverständnisse zu vermeiden.
Was sind Anwendungsfälle (Use Cases)?
Funktionale Zerlegung in Anwendungsfälle und Akteure, die die Anforderungen repräsentieren.
Anwendungsfälle helfen bei der Modellierung des Systems und der Interaktion mit Nutzern.
Definiere den Begriff ‘Akteur’ in einem Anwendungsfall.
Ein Objekt, das mit dem System interagiert, um ein Ziel zu erreichen.
Akteure können Benutzer, andere Systeme oder externe Entitäten sein.
Was ist ein Anwendungsfall?
Abgeschlossene, zusammenhängende Einheit der Funktionalität des Systems, beschreibt ein Vorgehen aus Sicht des Nutzers, hat einen definierten Beginn und ein Ziel
Was beschreibt ein Anwendungsfall?
Was gemacht wird, nicht wie etwas gemacht wird
Was ist ein Akteur?
Objekt, das mit dem System interagiert, im Allgemeinen nicht Bestandteil des Systems, z.B. Personen, externe Geräte oder angebundene Nachbarsysteme
Welche Funktionen haben Akteure im System?
Tauschen mit dem System Nachrichten aus, können Nachrichten senden/empfangen, oft müssen Daten über sie verwaltet werden
Was modellieren Use Case Diagramme?
Die Strukturen und das Verhalten von Software und anderen Systemen
Wie wird ein Use Case Diagramm dargestellt?
In UML-Form als Verhaltensdiagramm
Was stellt ein Use Case Diagramm dar?
Anwendungsfälle und Akteure mit ihren Abhängigkeiten und Beziehungen
Wozu werden Use Case Diagramme genutzt?
Um Anforderungen zu spezifizieren
Was ist kein Bestandteil eines Use Case Diagramms?
Eine Ablaufbeschreibung
Was enthält das Lastenheft?
Die vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers
Was beschreibt das Lastenheft?
Das WAS? und WOFÜR?
Was bildet die Grundlage für das Pflichtenheft?
Das Lastenheft
Was ist eine wichtige Eigenschaft des Lastenhefts?
Es hat ein festes Gliederungsschema
Fill-in-the-blank: Ein Anwendungsfall hat einen definierten _______ und ein Ziel.
Beginn
True or False: Akteure sind immer Bestandteil des Systems.
False
Was sind die Bestandteile eines Use Case Diagramms?
Kommunikationsbeziehung zwischen Akteuren und Anwendungsfällen, Beziehungen zwischen Anwendungsfällen