Gliederung Vorlesung
� Einführung� V-Modell XT� Analyse und Anforderungsmanagement� Benutzungsoberflächen� Architektur� Entwurf� Entwurfsmuster� Persistenz� Implementierung� Konfigurationsmanagement� Testen� Abnahme, Einführung, Wartung und Pflege
Allweyer: Software Engineering
Allweyer: Software Engineering
Pflichtenheft: Muster für Grob-Gliederung
1. Zielbestimmung− Muss-, Wunsch- und Abgrenzungskriterien
2. Produkteinsatz− Anwendungsbereiche, Zielgruppen, Betriebsbedingungen
3. Produktübersicht4. Produktfunktionen
− Inkl. Use Case Diagramm + Beschreibungen
5. Produktdaten− Inkl. Mengengerüste
6. Benutzungsoberfläche − z. B. Style Guides, Zugriffsrechte
7. Nichtfunktionale Anforderungen 8. Rahmenbedingungen9. Entwicklungs- und Produktionsanforderungen10. Produktumgebung
− Software, Hardware, Schnittstellen, Organisatorischer Rahmen
11. Ergänzungen
Arten von Anforderungen
� Funktional● Geben Antwort auf die Frage "Was soll das System machen?"
� Nichtfunktional● Beschreiben Bedingungen, beziehen sich oft auf funktionale
Anforderungen
● Werden häufig vernachlässigt
● Sind nur schwer zu spezifizieren und nachzuweisen
● Sind aber wesentlich für den Erfolg der Systementwicklung
● Die verschiedenen Arten von nichtfunktionalen Anforderungen tauchen in den meisten Projekten auf− Können übernommen und angepasst werden
Allweyer: Software Engineering
Arten nichtfunktionaler Anforderungen
Allweyer: Software Engineering
Quelle:Sommerville,Software Engineering
Aufgaben des Anforderungsmanagements
� Anforderungen● Ermitteln
● Dokumentieren
● Validieren und Verifizieren
● Verwalten
Allweyer: Software Engineering
Anforderungen ändern sich
� Pro Monat zwischen Beginn Systemanalyse und Einsatz des Systems ändern sich 3% aller Anforderungen
● Nach einem Jahr sind 1/3 aller Anforderungen überholt!
� Bei großen Projekten sollte auch die Detail-Analyse inkrementell durchgeführt werden
� Änderungsmanagement erforderlich
Allweyer: Software Engineering
Allweyer: Software Engineering
Der Spezifikationsprozess
� Ziele:● Gewinnung von Anforderungen
● Darstellung von Anforderungen
● Prüfung der Anforderungen
� Vorgehensweise:● iterativ
● ständiger und enger Kontakt mit dem Auftraggeber
Allweyer: Software Engineering
Gewinnung von Anforderungen
� Probleme● Unterschiedliche Vertreter des Kunden haben unterschiedliche
Vorstellungen
● Uneinheitliche Begriffsbildung
● Kunde kann seine Vorstellung nicht formulieren
● Kunde weiß überhaupt nicht so genau, was er will
Allweyer: Software Engineering
Spezifikation von Anforderungen
� Merkmale einer guten formulierten Anforderung● Inhaltlich korrekt und angemessen
● Vollständigkeit
● Verständlichkeit− Auch für Entwickler, die nicht bei der Anforderungsermittlung dabei
waren
● Widerspruchsfreiheit
● Eindeutigkeit, kein Interpretationsspielraum
● Prüfbarkeit
● Kundenorientierung
● Umsetzbar− Zeitlich und von den Kosten her
Formulierung von Anforderungen
� Kurze Sätze� Sätze im Aktiv formulieren� Anforderungen in Hauptsätze formulieren
● Nebensätze nur zur Vervollständigung
� Pro Einzelanforderung ein Satz● Vermeidung von "und" und "oder"● Nicht mehrere Anforderungen in eine Anforderung packen
� Einfaches Vokabular● Insbesondere bei internationalen Projekten
� Eindeutig definierte Begriffe verwenden● Aus Projekt-Glossar
� Nummerierung● damit man in anderen Dokumenten darauf verweisen kann
� Messbare Kennzahlen� Es muss später überprüft werden können, ob die Anforderung erfüllt wurde
● Anforderungsdefinition dient als Grundlage für die Definition von Testfällen● Definition von Abnahmekriterien
Allweyer: Software Engineering
Allweyer: Software Engineering
Prüfung von Anforderungen
� Inhalt● Feststellen der Abweichungen
● Klären von− Fehlern
− Lücken
− Unklarheiten
− Mehrdeutigkeiten
● Validierung: Prüfung auf Adäquatheit, Vollständigkeit, Widerspruchsfreiheit (s.o.)
� Beteiligte● Entwickler
● Vertreter des Kunden
Allweyer: Software Engineering
Prüfung von Anforderungen
� Zeitpunkt● nach Fertigstellung einer ersten Version
● Zwischenprüfungen bei komplexen Spezifikationen
� Verfahren● Reviews
● Simulation
● Prototypen
Management von Anforderungen
� Änderungsmanagement zur Verfolgung von Anforderungsänderungen
� Anforderungsdokumente unterliegen dem Konfigurationsmanagement
� Traceability● Wichtig für Änderungen und die Verfolgung von Anforderungen
● Verbindungen zwischen Anforderungen – welche Anforderungen haben welche anderen (Teil-)Anforderungen zur Folge?
● In welchen weiteren Dokumenten/Modellen/Systemkomponenten wurde die Anforderung umgesetzt?
Allweyer: Software Engineering
� Dokumentation von Anforderungen mit Klassendiagrammen:
Analysemuster
Allweyer: Software Engineering
Allweyer: Software Engineering
Analysemuster
� Muster (Patterns) beschreiben wiederkehrende Problemstellungen und ihre Lösungen
� Unterstützen Wiederverwendung
� Sammlungen von OO-Mustern existieren hauptsächlich für Entwurfs-Modelle, aber auch für Analyse sinnvoll
� Ein Analysemuster umfasst eine Gruppe von Klassen mit fest stehenden Verantwortlichkeiten und Interaktionen
� Typen von Analysemustern:● Anwendungsspezifische (z. B. für Finanzsystemen)
● Allgemeine
� Im folgenden werden einige allgemeine Muster vorgestellt (entnommen aus Heide Balzert: Lehrbuch der Objektmodellierung, teilweise modifiziert)
Allweyer: Software Engineering
Muster Baugruppe
Verwendung derAggregation, dakeine Existenzabhängigkeit
Allweyer: Software Engineering
Muster Stückliste (1)
EinzelneExemplare
Mit dieser Darstellung kann z. B. der konkrete Aufbau eines bestimmten PCs incl. Grafikkarte, Festplatte usw. jeweils mit Seriennummern abgebildet werden (Betrachtung von Exemplaren).
Allweyer: Software Engineering
Muster Stückliste (2)
MaterialnrBezeichnung
Komponententyp
0..1
*
Wert
Menge
Komponenten-Typ,nicht die einzelnen Exemplare
Mit dieser Darstellung kann z. B. beschrieben werden, aus welchen Bestandteilen sich ein bestimmter PC-Typ zusammensetzt (als Vorschrift für den Aufbau konkreter PCs)
Allweyer: Software Engineering
Muster Stückliste (3)
Verwendung der Komposition, da Existenzabhängigkeit: Wird das Verzeichnis gelöscht, wird auch der Inhalt gelöscht.
Allweyer: Software Engineering
Muster Koordinator
Koordinator, hat meist nur wenige Attribute aberviele Assoziationen - merkt sich, wer wen kennt.
Die beiden Darstellungen sind streng genommen nicht gleichwertig. Im rechten Fall könnten mehrere Teilnahmen für die gleiche Kombination von Prüfung, Student und Professor angelegt werden.
Allweyer: Software Engineering
Muster Wechselnde Rollen
Abstrakte Rolle -Zu unterschiedlichen Zeiten nimmt der Arzt unterschiedliche Rollen ein.
Konkrete Rolle -Mit verschiedenen Attributen,daher Spezialisierung.
Allweyer: Software Engineering
Historie
Augenblickliche TätigkeitBei einem Wechsel der Tätigkeit geht die Information über frühere Tätigkeiten verloren
{ Zu jedem Zeitpunkt darf einem Angestellten nur eineTätigkeit zugeordnet sein }
Top Related