FRAUNHOFER-institut für produktionstechnologie IPT projektgruppe entwurfstechnik mechatronik Requirements Engineering
Assembly Technology Ovidemporion porum quiae nemporro cone venderferia coris dio officia voluptiur, utat minctemque eatecust ent eostem enime lamendandunt odi ad et volesero incipsa ntiuntiunt, sitat. Requirements Engineering als Basis des Entwicklungsprozesses Nach der Produktidee sind Anforderungen an das Produkt das erste Erzeugnis eines jeden Entwicklungsprozesses. Auf diesen Anforderungen basieren alle weiteren Entwicklungsschritte, wie der initiale Systementwurf, die Konkretisierung und Ausarbeitung in verschiedenen Fachdisziplinen, die Systemintegration sowie die Testphasen. Das Requirements Engineering bezeichnet die ingenieurmäßige und systematische Erhebung, Dokumentation, Prüfung und Verwaltung von Anforderungen. Damit ein sinnvolles Produkt gemäß Kundenwünschen entwickelt wird, müssen die Anforderungen bestimmte Qualitätseigenschaften wie Korrektheit, Widerspruchsfreiheit oder Vollständigkeit aufweisen. Denn wenn während der kritischen Phase des Requirements Engineerings zu Beginn des Entwicklungsprozesses Fehler auftreten (vgl. Abb. 1), dann wirken sich diese Fehler entweder sehr spät aus und verursachen damit hohe Kosten oder es wird im schlimmsten Fall gar kein sinnvolles Produkt entwickelt. So lässt sich ein Großteil aller schwerwiegenden Fehler in technischen Systemen auf Unzulänglichkeiten im Requirements Engineering zurückführen. Eine Erhöhung des eingesetzten Aufwands im Requirements Engineering um nur wenige Prozent sorgt hingegen für eine starke Senkung der Kosten gerechnet auf den Gesamtlebenszyklus (vgl. Abb. 2). Mit unserer Expertise entwickeln wir für Ihre Bedürfnisse passende Techniken für die Dokumentation, die Prüfung und die auf der Nachverfolgbarkeit basierende Verwaltung von Anforderungen. Eine systematische und gegebenfalls formale Dokumentation von Anforderungen ermöglicht den Einsatz von (teil-) automatischen Verfahren zur Unterstützung der Anforderungsprüfung und -verwaltung. Solche Verfahren reduzieren zeitintensive und fehleranfällige manuelle Schritte, was letztendlich zu einer Kostenersparnis führt. Anforderungen Systementwurf Eigenschaftsabsicherung Domänenspezifischer Entwurf Maschinenbau Elektrotechnik Informationstechnik Modellbildung und -analyse Systemintegration Produkt 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Veränderung Ausgangslage Eingesetzter Aufwand im Requirements Engineering Entwicklungskosten Gesamtlebenszyklus Abbildung 1: Anforderungen als Basis des Entwicklungsprozesses Abbildung 2: Korrelation zwischen Aufwand im Requirements Engineering und Entwicklungskosten im Gesamtlebenszyklus
QUALITATIV HOCHWERTIGE ANFORDERUNGEN SICHERSTELLEN Anforderungen werden heute hauptsächlich in freier, natürlicher Sprache verfasst. Zum einen können in so formulierten Spezifikationen leicht Fehler und Inkonsistenzen auftreten. Zum anderen erschwert dies den Einsatz von automatisierten Verfahren, um qualitativ hochwertige Anforderungen sicherzustellen. Eine Erhöhung des Formalitätsgrads hilft bei der Konzipierung und Einführung von Maßnahmen zur Qualitätssteigerung von Anforderungen. Prozessanalyse Requirements Engineering Wir analysieren Ihren Prozess für das Requirements Engineering. Dabei erfassen wir Stärken und Schwächen, identifizieren Optimierungspotenziale und leiten mit Ihnen Maßnahmen ab, deren Implementierung wir gerne unterstützen. Einschränkung freier Prosa, semiformale Modelle basierend auf UML/SysML, formale Modellierungssprachen) und unterstützen Sie bei deren Einführung in Ihr Unternehmen. Werkzeugunterstützung bei der Dokumentation von Anforderungen Qualitätsmaßnahmen für informelle Anforderungen Vollständige und eindeutige Anforderungsspezifikationen reduzieren Abstimmungsaufwände und teure Iterationsschleifen. Um auch für in freier, natürlicher Sprache formulierte, informelle Anforderungen die Vollständigkeit und Präzision zu erhöhen, erstellen wir für Sie Dokumentvorlagen (»Templates«) für gesamte Anforderungsspezifikationen sowie Formulierungsrichtlinien (»Anforderungsschablonen«) für einzelne Anforderungen (vgl. Abb. 3). Formalisierung von Anforderungen Ein höherer Formalitätsgrad von Anforderungsspezifikationen steigert deren Präzision bis hin zur Eindeutigkeit und erlaubt darüber hinaus verschiedene Arten der automatischen Verarbeitung (vgl. Abb. 3), die letztendlich Geld spart. Wir konzipieren maßgeschneidert für Ihre Prozesse (semi-)formale Beschreibungsmittel für Anforderungen (z.b. Satzmuster zur Eine adäquate Werkzeugunterstützung vermeidet Fehler bereits während der Anforderungsdokumentation und erhöht deren Effizienz. Basierend auf dem Formalitätsgrad und den eingesetzten Beschreibungsmitteln, entwickeln und adaptieren wir Werkzeuge, die Sie bei der Dokumentation z.b. durch Autovervollständigung von Texten unterstützen (vgl. Abb. 3). Automatische Prüfung von Anforderungen Werkzeugunterstützung für die Prüfung von Anforderungen ermöglicht Ihnen eine effiziente und zuverlässige Suche von Fehlern in Anforderungsspezifikationen und reduziert manuelle und somit aufwändige Prüfungen wie Reviews, bei denen darüber hinaus Fehler übersehen werden können. Basierend auf dem Formalitätsgrad und der Art der eingesetzten Beschreibungsmittel für Anforderungen, konzipieren wir für Sie automatische Analyseverfahren, z. B. auf konsistente Namensgebung, Widerspruchsfreiheit oder Realisierbarkeit, (vgl. Abb. 3) und setzen diese prototypisch um.
Formalitätsgrad Mittel zur Dokumentation von Anforderungen Anwendbare Verfahren zur automatischen Unterstützung bei Dokumentation, Prüfung und Verwaltung von Anforderungen Freie, natürliche Sprache (z. B. Dokumentvorlagen, Formulierungsrichtlinien) Unterstützung bei Anforderungsverwaltung (z.b. Vollständigkeit der Nachverfolgbarkeit, Auswirkungsanalysen) Semiformale Beschreibungsmittel (z. B. Satzmuster, UML/SysML,...) Zusätzliche Unterstützung bei: Anforderungsdokumentation (z. B. Autovervollständigung von Texten) Anforderungsprüfung (z. B. konsistente Namensgebung) Anforderungsverwaltung (z. B. Übergang und Nachverfolgbarkeit zu Modellen) Formale Beschreibungsmittel (z. B. Modal Sequence Diagrams, B,...) Zusätzliche Unterstützung bei: Anforderungsprüfung (z. B. Widerspruchsfreiheit, Realisierbarkeit) Leistungsfähigkeit automatischer Verfahren Abbildung 3: Zusammenhang zwischen Formalitätsgrad von eingesetzten Beschreibungsmitteln zur Anforderungsspezifikation und Leistungsfähigkeit automatischer Verfahren Abbildung 4: (Semi-)Formale Anforderungsspezifikationen ermöglichen den Einsatz von automatischen Verfahren für die Dokumentation, Prüfung und Verwaltung von Anforderungen und unterstützen die Kommunikation mit den Stakeholdern
Nachverfolgbarkeit UND ÜBERGANG ZU MODELLEN Die Nachverfolgbarkeit (»Traceability«) zwischen verschiedenen Anforderungen und dem Produktentwurf bietet eine Orientierungshilfe bei der Erkennung der Zusammenhänge im Entwicklungsprozess und stellt die Grundlage der Anforderungsverwaltung dar. Während Anforderungen hauptsächlich natürlichsprachlich vorliegen, werden im Produktentwurf häufig Modelle eingesetzt. Die Nachverfolgbarkeit zwischen Anforderungsspezifikationen und Entwurfsmodellen wird dabei meistens manuell hergestellt und gewartet. Des Weiteren werden typischerweise Informationen aus den Anforderungsspezifikationen ebenfalls manuell in die Modelle übertragen. Durch die hohe Anzahl an Anforderungen nehmen diese Schritte einen großen Anteil der Entwicklungszeit ein und sind fehleranfällig sowie verlustbehaftet. Eine geeignete Werkzeugunterstützung kann diese Schritte beschleunigen und zuverlässiger gestalten. Nachverfolgbarkeit (Traceability) über verschiedene Entwicklungsschritte und Werkzeuge hinweg Eine durchgängige Nachverfolgbarkeit von Anforderungen entlang der gesamten Entwicklung erlaubt die Kontrolle zum Beispiel des Projektfortschritts, der Umsetzung der Anforderungen im Entwurf oder ihrer Absicherung durch Tests. Zudem wird die Nachverfolgbarkeit von vielen gängigen Entwicklungsstandards gefordert. Wir unterstützen Sie bei der Herstellung und Wartung der Nachverfolgbarkeit über verschiedene Entwicklungsschritte und Werkzeuge hinweg. Insbesondere integrieren wir automatische Verfahren in Ihre Werkzeugkette, die den abhängig von der Produktkomplexität hohen manuellen Aufwand bei der Herstellung und Pflege der Nachverfolgbarkeit reduzieren. Auswirkungsanalysen (Impact-Analysen) Auswirkungsanalysen (»Impact-Analysen«) erlauben auf Basis der Nachverfolgbarkeit eine gezielte Erkennung von durch Anforderungsänderungen betroffenen Produktkomponenten. Indem direkt die Anteile von Entwurfsmodellen oder beispielsweise korrespondierende Testfälle identifiziert werden, welche eine geänderte Anforderung betreffen, kann der für die Durchführung der Änderungen entstehende Aufwand besser abgeschätzt werden. Umgekehrt kann ebenso ermittelt werden, welche Anforderungen von Änderungen des Produktentwurfs betroffen wären. Wir konzipieren und realisieren für Sie Verfahren, die solche Auswirkungsanalysen auf Basis der Nachverfolgbarkeit automatisch durchführen, damit Sie besonders bei komplexen Produkten den Überblick behalten. Übergang zu Modellen Eine Werkzeugunterstützung zum Übergang von Anforderungen zu Modellen reduziert manuelle und somit aufwändige sowie verlustbehaftete Schritte zur Übertragung von Informationen zwischen diesen Dokumentationsformen. Basierend auf dem Formalitätsgrad und der Art der eingesetzten Beschreibungsmittel für Anforderungen (vgl. Abb. 3), entwickeln wir für Sie automatische Verfahren für den Übergang von Anforderungsspezifikationen zu Modellen, zum Beispiel in SysML, sowie für deren Konsistenzerhaltung.
Fraunhofer-Institut für Produktionstechnologie IPT Projektgruppe Entwurfstechnik Mechatronik Zukunftsmeile 1 33102 Paderborn Telefon +49 5251 5465-101 Fax +49 5251 5465-102 mechatronik@ipt.fraunhofer.de www.ipt.fraunhofer.de/mechatronik Ansprechpartner Dr. Matthias Meyer Telefon +49 5251 5465-122 matthias.meyer@ipt.fraunhofer.de Prof. Dr. Wilhelm Schäfer Telefon +49 5251 603313 wilhelm.schaefer@ipt.fraunhofer.de