Anforderungsanalyse. Übersicht. Wozu? - Relative Kosten von Fehlern. Wozu? - Relative Kosten von Fehlern. Echtzeitsysteme 2 Vorlesung/Übung



Ähnliche Dokumente
Anforderungsanalyse. Echtzeitsystemlabor Vorlesung/Übung. Fabian Scheler Peter Ulbrich Wolfgang Schröder-Preikschat

Wozu? Relative Fehlerbehebungskosten. Überblick. Anforderungen Lasten und Pflichten Aggegiert in verschiedenen Dokumenten

Anforderungsanalyse. Echtzeitsysteme 2 Vorlesung/Übung. Fabian Scheler Michael Stilkerich Wolfgang Schröder-Preikschat

Anforderungsanalyse. Übersicht. Wozu? - Relative Kosten von Fehlern. Wozu? - Relative Kosten von Fehlern. Echtzeitsysteme 2 Vorlesung/Übung

Softwaretechnik. Fomuso Ekellem WS 2011/12

Requirements Engineering

Requirements Engineering für IT Systeme

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Software Engineering. 3. Analyse und Anforderungsmanagement

Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Virtuelle Forschungsumgebungen Dozent: Prof. Dr. phil.

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Einführung und Motivation

FUTURE NETWORK REQUIREMENTS ENGINEERING

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Übungsklausur vom 7. Dez. 2007

Requirements Engineering (Anforderungstechnik)

Fragebogen zur Anforderungsanalyse

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Some Software Engineering Principles

Requirements Dokumentation Seminar- Requirements Engineering. Manoj Samtani Oliver Frank

Abschnitt 16: Objektorientiertes Design

Projektmanagement PPSAP WS 03/04. Inhaltsverzeichnis : 1. Projektmanagement

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Anforderungsanalyse, Requirements Engineering

Pflichtenheft. Software Engineering I WS 2011/2012. Dr.-Ing. Ina Schaefer 1. Software Systems Engineering TU Braunschweig

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Projektmanagement durch Scrum-Proxies

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Anforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht!

RUP Analyse und Design: Überblick

Anforderungen an die HIS

Die Softwareentwicklungsphasen!

I n f o r m a t i o n s s i c h e r h e i t i n G e m e i n d e n B e v ö l k e r u n g s z a h l < 6 000

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Use Cases. Use Cases

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

Informationssystemanalyse Grundlagen 1 1

Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus

Qualitätsmanagement. Grundlagen

Software Engineering in der Praxis

SPI-Seminar : Interview mit einem Softwaremanager

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Grundbegriffe der Informatik

How to do? Projekte - Zeiterfassung

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!


Techniken der Projektentwicklungen

Informationen zur CPRE-Prüfung zum Certified Professional for Requirements Engineering Foundation Level

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Anforderungen klar kommunizieren

Requirements Engineering Die Dinge von Anfang an richtig machen

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Praktikum Grundlagen der Programmierung. Dokumentation. Dr. Karsten Tolle

Requirements-Engineering Requirements-Engineering

Realisierung der Anbindung an den Handelsplatz Koeln.de Leitfaden zur Projektplanung bei Lieferanten

1 Mathematische Grundlagen

Expertenfrühstück Requirements Management. Bedeutung von Anforderungen und Systematischer Produktentwicklung

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Data Mining: Einige Grundlagen aus der Stochastik

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Fragebogen: Abschlussbefragung

Requirements-Management Ein praktisches Beispiel

Klausur Software Engineering für WI (EuI)

Exkurs: Formatvorlage für Anforderungsanalyse-Dokument

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Rahmenbedingungen und Integrationsvoraussetzungen

Kapitel 2: Der Software-Entwicklungsprozess

Klausur Software-Engineering SS 2005 Iwanowski

Was ist zu beachten, damit Jugendliche unter 18 Jahren zu Ausbildungszwecken zum Steuern von Flurförderzeugen beauftragt werden dürfen?

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

Qualifikationsbereich: Application Engineering Zeit:

POCKET POWER. Projektmanagement. 3. Auflage

6. Programmentwicklung

T1 - Fundamentaler Testprozess

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Ontologiebasierte Entwicklung von Anforderungsspezifikationen im Automotive-Umfeld Mathias Schraps,

Grundlagen Software Engineering

Barrierefreie Webseiten erstellen mit TYPO3

Requirements Engineering I. Der Spezifikationsprozess!

Projektmanagement. Requirements Management - Anforderungsverwaltung. Oliver Lietz - Projektmanagement

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Transkript:

Anforderungsanalyse Echtzeitsysteme 2 Vorlesung/Übung Fabian Scheler Michael Stilkerich Wolfgang Schröder-Preikschat Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme Friedrich-Alexander Universität Erlangen-Nürnberg http://www4.cs.fau.de/~{scheler,mike,wosch} {scheler,mike,wosch}@cs.fau.de Übersicht Einleitung Aufgabenfelder Darstellungsmethoden Zusammenfassung 1 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 2 Wozu? - Relative Kosten von Fehlern Wozu? - Relative Kosten von Fehlern ca. 65 % der schwerwiegenden Programmierfehler sind auf Analysefehler zurückzuführen {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 3 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 4

Analyse der Problemstellung Anforderungen Lasten & Pflichten methodisch gestütztes Aufstellen von Anforderungen Anforderung (engl. requirements) Aussage über eine zu erbringende Leistung Lastenheft (Anforderungsspezifikation) beschreibt unmittelbare Anfoderungen, Erwartungen, Wünsche legt fest, was und wofür etwas gemacht werden soll - eines Produkts oder eines Systems eine Eigenschaft, die erfüllt sein muss, - damit ein bestimmter Vorgang gelingen kann ein Leistungsmerkmal (nicht nur) von Software Zusammenfassung im Lasten-/Pflichtenheft als Bestandteil eines zu erstellenden Anforderungsdokuments, das - die durch das System zu lösende Aufgabe beschreibt - die im Projekt zu erreichenden Ziele definiert - den Benutzerkreis des zu entwickelnden Systems festlegt... in Zusammenarbeit mit dem Kunden Pflichtenheft (Sollkonzept, Fachfeinkonzept, fachliche Spezifikation) detaillierte Beschreibung einer zu erfüllenden Leistung - liegt am Ende als schwarzer Kasten (engl. Black Box) vor - enthält i.d.r. nicht die Problemlösung (keine Implementierung) - präzise, vollständig, nachvollziehbare Inhalte gibt an, wie und womit etwas realisiert werden soll - verknüpft mit techn. Festlegungen der Betriebs-/Wartungsumgebung {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 5 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 6 Anforderungen Lasten & Pflichten Gliederung: Lasten- & Pflichtenheft Lastenheft (Anforderungsspezifikation) beschreibt unmittelbare Anfoderungen, Erwartungen, Wünsche legt fest, was und wofür etwas gemacht werden soll Pflichtenheft (Sollkonzept, Fachfeinkonzept, fachliche Spezifikation) detaillierte Beschreibung einer zu erfüllenden Leistung - liegt am Ende als schwarzer Kasten (engl. Black Box) vor - enthält i.d.r. nicht die Problemlösung (keine Implementierung) - präzise, vollständig, nachvollziehbare Inhalte gibt an, wie und womit etwas realisiert werden soll - verknüpft mit techn. Festlegungen der Betriebs-/Wartungsumgebung Nach DIN 69905 enthält das Pflichtenheft die vom Auftragnehmer erarbeiteten Realisierungsvorgaben, die sich aus der Umsetzung des vom Auftraggeber vorgegebenen Lastenheftes ergeben haben. 1. Allgemeines 1. Einführung 2.Referenzen 2. Systembeschreibung 1.Funktionelles Zusammenwirken 2.Funktionelle Arbeitsweise 3.Aufteilung in Hard-/Software 3. Softwareanforderung 1.Daten: Name, Typ, Struktur, Wertevorrat, Dimension, Genauigkeit,Zeitbedingungen, Bedeutung 2.Funktionen: Ergebnis, Bedingungen, Initialisierung, Sonderfälle, Wiederholfrequenz/Durchlaufzeit, Bedeutung 4. Sonstiges: Programmiersprache, Verfahrensvorschriften {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 7 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 8

Anforderungsanalyse Anforderungsdefinition Abgrenzung: RE vs. RM Anforderungstechnik (engl. req. engineering, RE) wichtige Voraussetzung zur Ermittlung von Anforderungen - Interessenvertreter identifizieren - d.h. die richtigen zu befragenden Institutionen/Personen... oft auch als Synonym zu Anforderungsanalyse Anforderungspflege (engl. req. managment, RE) umfasst die Anforderungsanalyse und geht darüber hinaus - Maßnahmen zur Anforderungssteuerung, -kontrolle und -verwaltung - d.h. Risiko-, Änderungs- und Umsetzungsmanagement elementare Prozess der Software- und Systemreifegrad-Modelle - CMMI Capability Maturity Model Integration - SPICE Software Process Improvement and Capability Determination auch bekannt als Software Requirements Specification (SRS) Req. Engineering Erfassung Analyse Prüfung Abstimmung Req. Management Strukturierung Bewertung Verfolgung Berichtswesen {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 9 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 10 Abgrenzung: RE vs. RM Qualitätsmerkmale von Anforderungen Req. Engineering Erfassung Analyse Prüfung Abstimmung Generierung von Anforderungen Req. Management Strukturierung Bewertung Verfolgung Berichtswesen Verwaltung von Anforderungen Adäquatheit beschreiben, was der Auftraggeber fordert, was benötigt wird Vollständigkeit alles beschreiben, was der Auftraggeber fordert, was benötigt wird Widerspruchsfreiheit ansonsten ist die Spezifikation nicht realisierbar Verständlichkeit für den Auftraggeber und den Auftragnehmer Eindeutigkeit um Fehler durch Fehlinterpretationen zu vermeiden Prüfbarkeit feststellen könne, ob das erstellte System den Anforderungen entspricht {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 11 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 12

Einzelschritte 1. Anforderungserhebung Kriterien zur Aufnahme von Anforderungen - vollständig, eindeutig definiert/abgegrenzt, verständlich - atomar, identifizierbar, dokumentiert, notwendig - nachprüfbar, rück- und vorwärtsverfolgbar abschließende Erfassung der Anforderungen im Lastenheft 2. Anforderungsdefinition Kriterien zur Strukturierung der Anforderung - abhängig, zusammengehörig, rollenbezogen - funktional/nichtfunktional, fachlich/technisch motiviert abschließende Abstimmung zwischen Kunde und Entwickler 3. Anforderungsbewertung Prüfung und Bewertung Qualitätssicherung der Anforderungen - korrekt, machbar, notwendig, priorisiert, nutzbar, benutzerfreundlich Einzelschritte Sommerville & Sawyer Nuseiheh & Easterbrook Ergebnis dieses Schritss ist Basis für das Pflichtenheft {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 14 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 13 14 Prozess der Anforderungsanalyse Typen von Anforderungen (nach SRS) 1. funktionale Anforderungen Beschreibung des kompletten, deterministischen Systemverhaltens 2. externe Schnittstellen 3. Performanz (statisch/dynamisch) 4. logische Datenbasis Nutzungsfrequenz, Zugriffsfähigkeiten, Daten inkl. Beziehungen 5. Entwurfseinschränkungen Einhalten von Normen, Systemattributen (von Software) 6. Systemattribute von Software Zuverlässigkeit, Verfügbarkeit, Sicherheit, Wartbarkeit, Übertragbarkeit Anforderungen 2. - 6. gelten als nicht funktional {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 15 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 16

Typen von Anforderungen - Beispiele Herausfinden Name des Elements/Postens Gegenstandsbeschreibung Quelle der Eingabe und Ziel der Ausgabe Gültigkeitsbereich, Genauigkeit, Abweichung Maßeinheit Zeitvorgabe Beziehung zu anderen Ein-/Ausgaben Bildschirmformate/-organisation Fensterformate/-organisation Daten- und Befehlsformate... was der Kunde will bzw. was machbar ist Erhebung (engl. elicitation) Identifizierung von Anforderungen, Auflagen und Einschränkungen - Fragebögen, offene Interviews, Besprechungen Wiederverwendung von Anforderungen aus früheren Projekten Abstimmung (engl. negotiation) Auflösung bestehender Konflikte... - zwischen Fähigkeiten und Einschränkungen - zwischen Anforderungen und Betriebsmitteln (Ressourcen) - wegen inkompatibler Merkmale verschiedener Interessenvertreter Verhandlung mit den Interessenvertretern (Auftraggebern) - Konsensfindung, Kompromisswege/-lösungen herausarbeiten {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 17 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 18 Formulieren Organisieren... des Problems und ggf. auch einer Lösungsidee... um die Problemkomplexität zu beherrschen Analyse (engl. analysis) Grenze des Systems und Interaktion mit der Umgebung erläutern - ggf. verschiedene Sichten (engl. viewpoint) einnehmen - z.b. unterschiedliche Entwicklerrollen oder Beschreibungstechniken widersprüchliche Anforderungen identifizieren und ggf. auflösen Spezifikation (engl. specification) vollständige Menge zusammenhängender Anforderungen gestalten Subsysteme/Komponenten definieren und Anforderungen zuordnen Modellierung (engl. modelling) Systemeigenschaften durch konzeptionelle Modelle untersuchen - Daten-/Kontrollfluss-, Zustands-, Objekt-, Anwendungsfallmodelle die operative Umgebung samt Daten und Kommunikation verstehen Dokumentation (engl. documenting) Anforderungsdok. die Menge aller beschriebenen Anforderungen zusammenstellen Lastenheft erzeugen, das später ins Pflichtenheft überführt wird Strukturierung (engl. structuring) Anforderungen nach versch. Kriterien klassifizieren - Gruppierung nach z.b. Priorität (bei der Erfüllung der Gesamtziele), Herkunft, Gültigkeitsbereich, Stabilität usw. vornehmen - in funktional und nicht-funktionale Anforderungen einstufen Attribute für jede Anforderung festlegen - Beschreibung, Grund, Urheber, Status, Akzeptanzkriterien, Implikationen, Abhängigkeiten,... - dient u.a. auch der weiteren Gruppierung (s.o.) den Anforderungen eindeutige Bezeichner zuordnen {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 19 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 20

Hinterfragen Vorbereiten... ob das Problem richtig verstanden wurde... für die Phasen der Systementwicklung danach Validierung (engl. validating) sicherstellen, dass das beschriebene System die ursprüngliche Intention (des Auftraggebers) adäquat wiedergibt - ein sich zu verschiedenen Prozesszeitpunkten wiederholender Vorgang das Anforderungsdokument untersuchen, in Form von Inspektionen oder formalen Besprechungen durch Gutachtergruppen - Fehler, irrtümliche Annahmen, unklar bestimmte Begriffe, Abweichungen von üblichen Vorgehensweisen identifizieren - Gutachter sind u.a. auch Beauftragte der Benutzer des Systems ggf. einen Prototypen zeigen, um die ursprüngliche Intention (s.o.) mit der eigenen Interpretation des Systems zu konfrontieren - manchmal genügen bereits einfache Papierskizzen weder RE noch RM Entwurf (engl. design) - überlegen, wie die Anforderungen umgesetzt werden können Implementierung (engl. implementation) und Integration - es tun, d.h. die Anforderungen umsetzen Verifikation (engl. verification) und Testen - das Ergebnis mit dem ursprünglichen Plan vergleichen Einführen (engl. rollout) - das Produkt auslieferen {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 21 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 22 Spezifikationstechniken Natürliche Sprache allgemeine Klassifikation bzw. Ansätze formal (engl. formal) rigorose, mathematische Grundlage formale Notation informell (engl. informal) wenn die Transkription ( Umkodierung ) in eine formale Notation mit zugeordneten Regeln nur eingeschränkt möglich ist - z.b. ein Ablaufdiagramm (engl. flowchart) bestenfalls werden Anforderungsverletzungen/-konflikte sichtbar halbförmlich (engl. semiformal) Ansätze, die formale und informelle Züge zeigen, z.b. UML: - das Zustandsdiagramm (engl. statechart) ist formal - andere Konzepte sind jedoch eher pseudomathematischer Natur weit verbreitete Technik Strukturierung durch Nummerierungs- und Gliederungsschemata Qualitätsverbesserung durch linguistische Methoden Sätze mit Standardstruktur kein Passiv beschränkte Mengen von Verben mit festen Bedeutungen Echtzeitsysteme (mit strikt einzuhaltenden Anforderungen) erfordern eine formale Begründung der Leistungscharakteristiken von Anforderungen {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 23 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 24

Natürliche Sprache weit verbreitete Technik Strukturierung durch Nummerierungs- und Gliederungsschemata Qualitätsverbesserung durch linguistische Methoden Sätze mit Standardstruktur kein Passiv beschränkte Mengen von Verben mit festen Bedeutungen Datenmodellierung Grundlage ist der Entity-Relationship-Ansatz modelliert werden Ausschnitte der Realität durch... Gegenstandstypen (engl. entity types) Beziehungstypen (engl. relation types) Attribute (engl. attributes) leicht zu lesen/schreiben, ausdrucksmächtig unübersichtlich, fehleranfällig, mehrdeutig ungeeignet als alleiniges Beschreibungsmittel {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 25 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 26 Datenmodellierung Grundlage ist der Entity-Relationship-Ansatz modelliert werden Ausschnitte der Realität durch... Gegenstandstypen (engl. entity types) Beziehungstypen (engl. relation types) Attribute (engl. attributes) Strukturierte Analyse Grundlage bilden Datenflussdiagramme Modellierung von Systemfunktionalität Beschreibung des Systemkontextes Interaktion Ein-/Ausgabe vergleichsweise einfach und klar, ideal für Datenbanken weder Funktionalität noch Verhalten von Systemen, keine Mittel zur Dekomposition bzw. Datenkapselung {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 27 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 28

Strukturierte Analyse Objektorientierte Spezifikation Grundlage bilden Datenflussdiagramme Modellierung von Systemfunktionalität Beschreibung des Systemkontextes Interaktion Ein-/Ausgabe Modellierung der statischen Struktur eines Systems unter Verwendung von Objekt- und Klassendiagrammen Objekte/Klassen beschreiben Daten, Funktionen und zeitliches Verhalten vergleichsweise anschaulich, Dekomposition keine Lokalität von Daten, begrenzte Kapselungsfähigkeit, nicht-funktionale Eigenschaften nicht adäquat beschreibbar, Strukturbruch : Spezifikation Implementierung {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 29 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 30 Objektorientierte Spezifikation Modellierung der statischen Struktur eines Systems unter Verwendung von Objekt- und Klassendiagrammen Objekte/Klassen beschreiben Daten, Funktionen und zeitliches Verhalten Beschreibung der Systemstruktur, unterstützt Lokalität von Daten und Kapselung, motiviert strukturähnliche Implementierungen, Dekomposition nicht-funktionale Anforderungen nicht adäquat beschreibbar Szenarien und Anwendungsfälle Modellierung der Interaktion zwischen System und Umwelt d.h. Akteure Interaktionssequenzen entsprechen Szenarien Anwendungsfall engl. use case {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 31 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 32

Szenarien und Anwendungsfälle Formale Methoden Modellierung der Interaktion zwischen System und Umwelt d.h. Akteure Interaktionssequenzen entsprechen Szenarien Anwendungsfall engl. use case Grundlage bilden mathematische Formalismen formal definierte Syntax und Semantik große theoretische Vorteile, praktisch selten zu finden punktueller Einsatz: sicherheitskritische Systeme leicht versteh- und prüfbar, modelliert Funktionalität aus Benutzersicht, Abgrenzung des Systems vom Kontext, Dekomposition keine Erfassung von Zusammenhängen/Abhängigkeiten von Szenarien, statische Struktur, keine Datenmodellierung {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 33 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 34 Formale Methoden Grundlage bilden mathematische Formalismen formal definierte Syntax und Semantik große theoretische Vorteile, praktisch selten zu finden punktueller Einsatz: sicherheitskritische Systeme Eindeutigkeit (formal definierte Semantik), Widerspruchsfreiheit, formal prüfbar, Nachweisbarkeit der Erfüllung von Anforderungen, Lösungsneutralität aufwendige Erstellung, Prüfung der Adäquatheit schwierig, umfangreiche Spezifikation auch für Fachleute schwer verständlich Zusammenfassung Einleitung Anforderung, Qualitätsmerkmal, Typen von Anforderungen Anforderungsanalyse (-technik) vs. Anforderungspflege Einzelschritte bzw. Prozess der Anforderungsanalyse Anforderungsspezifikation: Lasten- und Pflichtenheft Aufgabenfelder herausfinden, formulieren, organisieren, hinterfragen Erhebung, Abstimmung Analyse, Spezifikation, Modellierung Dokumentation, Strukturierung Validiederung Darstellungsmethoden formal, informell, halbförmliche Spezifikationstechniken natürliche Sprachen, Datenmodellierung, strukturierte Analyse, objektorientierte Spezifikation, Anwendungsfälle. formale Methoden {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 35 {scheler,mike,wosch}@cs.fau.de - EZS2 (SS 2007) 36