MSE


Roger Kral
Diese Lernkarten bieten einen umfassenden Überblick über moderne Softwareentwicklung auf Universitätsniveau. Sie behandeln zentrale Themen wie Anforderungsmanagement, Use Cases, User Stories und verschiedene Arten von Anforderungen, einschließlich funktionaler und nichtfunktionaler Spezifikationen. Die Karteikarten erläutern auch agile Methoden wie Scrum, einschließlich der Rollen im Team und der Abläufe innerhalb eines Sprints. Ideal für Studierende und Entwickler, die ihre Kenntnisse in der Softwareentwicklung vertiefen und professionelle Projektmanagementpraktiken anwenden möchten.
Flashcards
18
Students
0
Language
German
Category
Computer Science
Level
University
Created / Updated
13.01.2014 / 13.01.2014

Flashcards

4 Merkmale "Guter" Software

  • Wartbarkeit: Impelementation von Software so, dass auch veränderte

              Kundenbedürfnisse eine Anpassung der Software ermöglichen

  • Zuverlässigkeit: Vermeiden von körperlichen und wirtschaftlichen Schäden durch den

             Einsatz der Software (darunter fallen: Verlässlichkeit, Zugriffsschutz, Betriebssicherheit etc.)

  • Effizienz: Effiziente Nutzung der Systemressourcen z.B. Auswirkungen auf Verarbeitungszeit, Reaktionszeit usw.
  • Benutzerfreundlichkeit: Softwareprodukt ohne unangemessene Anstrengungen des Nutzers

               verwendbar. Hierzu zählt auch eine ausreichende Dokumentation der Bedienoberfläche.

Risikomanagements

  • Risikoanalyse: Abwägung der Risiken hinsichtlich ihrer Wahrscheinlichkeiten und Auswirkungen. Ergebnis ist eine tabellarische Aufstellung der gefundenen Risiken und ihrer Bewertung
  • Risikoplanung:
    • Vermeidungsstrategie: Auftreten des Risikos minimieren
    • Minimierungsstrategie: Auswirkungen des Risikos minimieren
    • Notfallpläne: Einstellen auf das schlimmste Szenario und planen wie mit diesem umzugehen ist
  • Risikoüberwachung:
    • regelmäßige Überwachung (fortlaufender Prozess) der erkannten Risiken
    • haben sich die Wahrscheinlichkeiten der Risiken verändert?
    • haben sich die Auswirkungen der Risiken verändert?
    • sind neue Risiken hinzugekommen?

Welche Phasen sind im Spiralmodell enthalten und wie oft werden diese durchlaufen?

4 Phasen, die zyklisch durchlaufen werden:

 

  • Festlegung der Ziele
    • Ziele und Anforderungen an das (Teil-)Produkt
    • Lösungsvarianten
    • Nebenbedingungen und Einschränkungen
  • Beurteilung von Alternativen, Risikoanalyse
    • Erarbeitung und Beurteilung von Lösungsvarianten
    • Erkennen und beseitigen von Risiken
  • Entwicklung und Testen
    • Entwicklung und Validierung des Produkts der nächsten Stufe
  • Planung des nächsten Zyklus
    • Einverständnis über nächsten Zyklus herstellen

Welche Inhalte haben die 9 Teile des V-Modells-XT in Ihren Worten*** 1-4

  • Grundlagen des V-Modells: Dieser Teil führt in die zentralen Grundkonzepte des V-Modells ein und beschreibt das Zusammenspiel unterschiedlicher V-Modell-Projekte. Ferner werden Anwendungsrichtlinien eingeführt, welche die Umsetzung des V-Modells in konkreten Projekten regeln.
  • Eine Tour durch das V-Modell: Zeigt in Ausschnitten, wie das V-Modell im Rahmen eines konkreten Beispielprojektes angewendet wird.
  • V-Modell-Referenz Tailoring: Beschreibt die Projekttypen, Projektvarianten und Projektmerkmale, mittels derer ein für das jeweilige Projekt spezifisches Anwendungsprofil erstellt wird. Ferner stellt sie die wesentlichen Inhalte der mit dem V-Modell möglichen Projektdurchführungsstrategien und Vorgehensbausteine dar. Darüber hinaus werden die im V-Modell verfügbaren Entscheidungspunkte vorgestellt.
  • V-Modell-Referenz Rollen: Vermittelt einen Überblick über alle im V-Modell vorgesehenen Rollen. Neben einer detaillierten Rollenbeschreibung wird für jede einzelne Rolle festgehalten, für welche Produkte und Aktivitäten die Rolle verantwortlich ist und wo sie mitwirkt.

Welche Inhalte haben die 9 Teile des V-Modells-XT in Ihren Worten*** 5-9

  • V-Modell-Referenz Produkte: Beinhaltet dem hierarchischen Produktmodell entsprechend alle Disziplinen, Produkte und Themen des V-Modells. Dabei werden explizit auch die Zusammenhänge zwischen den einzelnen Produkten durch sogenannte Produktabhängigkeiten beschrieben.
  • V-Modell-Referenz Aktivitäten: Beinhaltet dem hierarchischen Aktivitätenmodell entsprechendalle Aktivitäten und Arbeitsschritte des V-Modells. Dabei wird insbesondere die Abwicklung dereinzelnen Arbeitsschritte im Rahmen einer Aktivität beschrieben
  • V-Modell-Referenz Konventionsabbildungen: Als Basis organisationsweiter Entwicklungsprozesse muss das V-Modell kompatibel mit aktuellen (Quasi-)Standards, Normen und Vorschriften sein, wie zum Beispiel zur ISO 9001:2000, zur ISO/IEC 15288 und zum CMMI. Für jede dieser Konventionen enthält die V-Modell-Referenz Konventionsabbildungen eine Abbildung der Begriffe aus der entsprechenden Konvention in die Begriffswelt des V-Modells
  • Anhang: Beinhaltet eine Reihe von Verzeichnissen und Nachschlagewerken, wie zum Beispiel Methodenreferenzen, Werkzeugreferenzen, Glossar, Abkürzungsverzeichnis und Literaturangaben.
  • Vorlagen: Beinhaltet Vorlagen für die einzelnen Produkte in Form von RTF-Dokumenten. Diese Vorlagen können im Rahmen eines Projektes direkt eingesetzt oder gegebenenfalls zuvor angepasst und dann eingesetzt werden.

Wofür steht „Extreme Tailoring“ beim V-Modell-XT und nennen Sie Beispiele.

Extrem Tailoring steht für projektspezifische Anpassung des V-Modells. Das Tailoring beschränkt sich auf:

  • die Auswahl eines Projekttyps und in Anschluss
  • der Auswahl einer der möglichen Projekttypvarianten und
  • der Belegung mit Werten der dazugehörigen Projektmerkmale

 

Man unterscheidet dabei zwischen

  • Statischen Tailoring: Das Anwendungsprofil wird am Anfang eines Projektes definiert und bleibt während der Projektlaufzeit stabil.
  • Dynamisches Tailoring: Bestimmte Projektmerkmale ändern sich während der Projektlaufzeit

z.B. können in einem Projekt, das zunächst auf reine SW-Entwicklung ausgelegt war, im Projektverlauf noch HW-Anteile identifiziert werden. Auch die Abläufe in der Projektdurchführungsstrategie können angepasst werden

Scrum– Artefakte

Scrum– Artefakte

  • Vision (Idee)
  • ProductBacklog: Alle noch zu liefernden Funktionalitäten (eine vom ProductOwner nach Geschäftswert geordnete Liste von Produktanforderungen)
  • ProductBacklog Item: Die zu liefernden Funktionalitäten, die in einem ProductBacklog aufgelistet sind
  • Sprint Goal: Ziel des Sprints (festgelegt von Team und ProductOwner)
  • Selected ProductBacklog: Für diesen Sprint ausgewählte Backlog Items (entsteht im Sprint Planning Meeting 1)
  • Aufgaben: alles was getan werden muss, um das Ziel des Sprints zu erreichen
  • Sprint Backlog: Täglich aktualisierte Liste von offenen Backlog Items des akt. Sprints (entsteht im Sprint Planning Meeting 2)
  • Releaseplan: Übersichtsplan (informativ) der Backlog Items und Ihrer zugehörigen Sprints (zeigt, in welchem Sprint welches Backlog Item vom Team geliefert werden kann)
  • ImpedimentBacklog: Liste aller Blockaden, die ausgeräumt werden müssen

Scrum – Das Team

  • Forming: Das Team kommt zusammen und die Mitglieder des Teams kennen sich noch nicht
  • Storming: Erste Ideen werden gemeinsam entwickelt und auch die eine oder andere Sackgasse beschritten. Hierbei lernt das Team sich kennen
  • Norming: Die ersten Regeln innerhalb des Teams werden vereinbart. Die vom Team übernommen Verantwortung nimmt zu.
  • Performing: Das Team beginnt auf einem intuitiven Level miteinander zu arbeiten. Die Fähigkeiten der Teammitglieder werden nun voll genutzt.

Scrum – Der Sprint

  • Estimation Meeting
  • Sprint Planung, Sprint Goal
    • Spezifisch
    • Messbar
    • Attraktiv
    • Realistisch
    • Termin
  • Sprint Planning 2 – Design
  • Daily Scrum
    • Was habe ich erreicht?
    • Was will ich erreichen?
    • Was steht mir dabei im Weg?
  • Sprint Review

Anforderungsanalyse – Anforderungen (allgemein)***

  • Benutzeranforderungen: Spezifikationen in natürlicher Sprache und Diagrammen, zur Beschreibung der Funktionen des Softwaresystems und der Rahmenbedingungen in denen es betrieben werden soll
  • Systemanforderungen: Funktionen und Einschränkungen detaillierter festgelegt. Hieraus lässt sich z.B. das Pflichtenheft erstellen
  • Spezifikation des Softwareentwurfs: Abstrakte Beschreibung des Softwareentwurfs. Grundlage für exakten Entwurf, mit Details für Spezifikation des Softwareentwurfs.

Beispiele:

  • Benutzeranforderung: Die Software muss über Mittel zur Darstellung externer, von anderen Werkzeugen erzeugten Dateien verfügen und auf sie zugreifen können
  • Systemanforderungen:
    • Benutzer sollte über Möglichkeiten zur Definition externer Datentypen verfügen
    • Jeder externe Datentyp kann eine damit verknüpfte Anwendung besitzen, mit der die Datei bearbeitet wird
    • Jeder externe Dateityp kann als best. Symbol auf dem Bildschirm des Anwenders dargestellt werden

Funktionale Anforderungen***

Funktionale Anforderungen sind Anforderungen, die sich direkt auf die Funktion(en) des Systems beziehen.

Beispiele:

  • Der Benutzer soll die gesamte anfängliche Menge der Datenbank durchsuchen oder eine Teilmenge davon auswählen können
  • Das System soll geeignete Betrachtungswerkzeuge bieten, damit der Benutzer Dokumente aus dem Dokumentenspeicher lesen kann
  • Jeder Bestellung soll ein eindeutiger Bezeichner zugeordnet werden und der Benutzer soll diesen in den permanenten Speicher seines Kontos kopieren können

Arten Nichtfunktionaler Anforderungen***

  • Produktanforderungen: Anforderungen an das Verhalten des Produkts (z.B. Leistungsanforderungen, Zuverlässigkeitsanforderungen usw.)
  • Unternehmensanforderungen: Anforderungen aus dem Unternehmen heraus an das Produkt (z.B. Vorschriften für die Entwicklung, Entwurfsmethode, Anforderungen an Doku)
  • Externe Anforderungen: Alle Anforderungen außerhalb des Systems und des Entwicklungsprozesses (z.B. Kompatibilitätsanforderungen, gesetzliche Anforderungen)

Beispiele:

  • Produktanforderungen: Es soll möglich sein, dass die gesamte nötige Kommunikation zwischen den Applikationen und dem Benutzer durch den ADA-Standardzeichensatz ausgedrückt wird
  • Unternehmensanforderungen: Der Systementwicklungsprozess und lieferbare Dokumente sollen dem Vorgehen und den Ergebnissen entsprechen, die in XYSCo-SP-STAN-95 definiert sind
  • Externe Anforderungen: Das System soll den Benutzer des Systems keine persönlichen Informationen über den Kunden preisgeben, abgesehen vom Namen und der Referenznummer

User-Stories***

In Alltagssprache formulierte Systemanforderungen

Beispiele:

  • Als Betreiber der Software möchte ich jedem Besucher Werbung einblenden, um Geld zu verdienen
  • Als Datenschutzbeauftragter möchte ich, dass die gespeicherten Daten anonymisiert werden
  • Als Admin möchte ich, dass die IP-Adressen vor der Speicherung anonymisiert werden, um den Anforderungen des Datenschutzbeauftragen gerecht zu werden

Aufbau eines Use Case***

  • Name und Identifier: Eindeutiger Name und Identifikationsnummer
  • Beschreibung: Kurze Beschreibung, was im Case passiert, 2-3 Zeilen
  • Beteiligte Akteure: Beteiligte Personen oder Systeme, z.B. Anwender, Kunde, System etc.
  • Status: Status der Bearbeitung des Use Case, in Arbeit / bereit zum Review / im Review / abgelehnt / abgenommen
  • Verwendete Use Case: Greift der Case Use auf andere Case Use zurück werden diese hier aufgeführt
  • Auslöser: Fachlicher Grund dafür, das dieser Use Case ausgeführt wird
  • Vorbedingungen: Bedingungen, die vor der Ausführung diese Cases erfüllt sein müssen
  • Nachbedingungen / Ergebnis: Zustand, der nach einem erfolgreichen Durchlauf des Use Case erwartet wird
  • Invarianten: Bedingungen, innerhalb und durch den Use Case nicht verändert werden dürfen
  • Standardablauf: Typisches Szenario. Am Ende steht das Ziel des Use Case durch den Akteur. Nummerierung der Schritte. Beschreibung in strukturierter Sprache. Bei UML: Aktivitätsdiagramme oder Sequenzdiagrammen
  • Alternativer Ablauf: Szenarien außerhalb des Standardablaufs. Am Ende steht Misserfolg, Zielerreichung des Akteurs oder Rückkehr zum Standardablauf
  • Hinweis: Kurze Erklärungen zum besseren Verständnis. Hinweise zu Nebeneffekten, etc.
  • Änderungsgeschichte: Versionierung, Name des Autors, Datum

Prüfungen für Anforderungen im Pflichtenheft***

  • Gültigkeitsprüfung: Sind alle Funktionen enthalten? Haben sich aus den Anforderungen heraus neue Funktionen ergeben? Sind einzelne Anforderungen zu streichen, weil sie nicht von genügend Nutzern benötigt werden?
  • Konsistenzprüfung: Sind die Anforderungen im Dokument Widerspruchsfrei?
  • Vollständigkeitsprüfung: Sind alle durch den Systembenutzer erwarteten Funktionen und Einschränkungen im Anforderungsdokument enthalten?
  • Realisierbarkeitsprüfung: Ist das Zielsystem mit der aktuellen Technologie innerhalb der Budget- und Zeiteinschränkungen realisierbar?
  • Verifizierbarkeitsprüfung: Sind die Anforderungen aus dem (Vertrags-) Dokument konkret verifizierbar im Zielsystem?

Methoden zur Anforderungsvalidierung***

  • Anforderung-Review: Team von Gutachtern analysieren systematisch die Anforderungen
  • Prototypen: Der Endbenutzer/Kunde überprüft die geforderten Anforderungen an einem funktionsfähigen Prototyp.
  • Testfallerzeugung: Für die Überprüfung der Anforderungen im Zielsystem wird ein Testfall erarbeitet, um die korrekte Umsetzung zu überprüfen
  • Automatische Konsistenzprüfung: Werden die Anforderungen in einer formalen Notation ausgedrückt, so können sie mittels CASE-Werkzeugen automatisch auf Konsistenz geprüft werden.

Anforderungs-Reviews***

  • Verifizierbarkeit: Ist die Anforderung überprüfbar?
  • Verständlichkeit: Wurde die Anforderung richtig verstanden bei der Beschreibung durch den Endbenutzer / Kunden?
  • Nachvollziehbarkeit: Ist der Ursprung einer Anforderung und die auf sie aufbauenden Anforderungen klar erkennbar? Wichtig für die Abschätzung von Folgen einer Änderung.
  • Anpassungsfähigkeit: Kann die Anforderung ohne große Auswirkungen auf neue Systemanforderungen hin geändert werden?

Anforderungsmanagement***

  • Anforderungsidentifikation: Eindeutige Identifikation der betroffenen Anwendung
  • Ablauf des Änderungsmanagements: Aufgaben und Auswirkungen (Kosten / Zeitplanänderungen etc.), die sich aus der Änderung ergeben
  • Richtlinien zur Nachvollziehbarkeit: Definieren Verbindungen zwischen Anforderungen untereinander und zwischen Anforderungen und dem Systementwurf
  • Unterstützung durch CASE-Werkzeuge: Im Anforderungsmanagement treten große Informationsmengen auf, diese können mit verschiedenen Werkzeugen verwaltet werden. Von speziellen Systemen, bis hin zum einfachen Texteditor / Tabellenkalkulationsprogramm

Management für Anforderungsänderungen

Study