Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Requirements Engineering Jaroslav Svacina. Plan für die heutige Übung Vorstellung Organisatorisches Zusammenfassung Requirements-Engineering Beispiele.

Ähnliche Präsentationen


Präsentation zum Thema: "Requirements Engineering Jaroslav Svacina. Plan für die heutige Übung Vorstellung Organisatorisches Zusammenfassung Requirements-Engineering Beispiele."—  Präsentation transkript:

1 Requirements Engineering Jaroslav Svacina

2 Plan für die heutige Übung Vorstellung Organisatorisches Zusammenfassung Requirements-Engineering Beispiele Vorstellung Übungsblatt Fragen (Werkzeuge)

3 Organisatorisches

4 Wöchentliche Übung Übungsblätter (ein- oder zweiwöchiger Rhythmus) – Abgabe vor der entsprechenden Übung per Mail fokus.fraunhofer.de – Bearbeitung in Gruppen (2 Personen) – Ca. 8 Stunden pro Woche für die Übungsblätter – Keine Punkte, qualitative Bewertung – Übungsblätter müssen bearbeitet werden Ablauf der Übung – Vorstellung / Zusammenfassung eines Themas aus der Vorlesung (Optional, keine Wiederholung der Vorlesung) – Diskussion des letzten Übungsblattes – Vorstellung des neuen Übungsblattes Fragen, Wünsche

5 Zusammenfassung Requirements-Engineering

6 Motivation Ein gemeinsames Verständnis über ein zu entwickelndes System zwischen Auftragnehmer und Auftraggeber erreichen Beispiele aus der Praxis: – TollCollect und das LKW-Mautsystem – 16 Monate Verspätung, Zahlungsausfälle in Milliardenhöhe – Hartz IV Software – Verspätung, Testphase ausgelassen, Rückgriff auf alte Systeme notwendig – Hochschulstart Verspätung, deutlich höhere Kosten als geplant Z.B. Schnittstellenprobleme: Unterschiedliche Benennung gleicher Fächer

7 Kostenfortpflanzung eines Fehlers Kosten für die Behebung von Fehlern abhängig von ihrer Verweildauer in der Software Fehler möglichst frühzeitig erkennen In allen Phasen aktiv gegen Fehler vorgehen Richtig betriebenes Requirements Engineering ist wirtschaftlich McConnell, Steve (2004). Code Complete (2nd ed.)

8 Definitionen Anforderung nach IEEE Glossar für Software Engineering: Eine Anforderung ist die dokumentierte Darstellung einer Bedingung oder Fähigkeit gemäß 1. oder 2.: 1. Beschaffenheit oder Fähigkeit, die von einem Benutzer zur Lösung eines Problems oder Erreichung eines Ziels benötigt wird. 2. Beschaffenheit oder Fähigkeit, die ein System oder Systemteil erfüllen oder besitzen muss, um einen Vertrag, eine Norm, eine Spezifikation oder andere, formell vorgegebene Dokumente zu erfüllen Anforderungs-Engineering nach SOPHISTen: Anforderungs-Engineering beschreibt einen systematischen Weg von der Projektidee über die Ziele zu einem vollständigen Satz von Anforderungen. Es definiert das Vorgehen und die Qualitätsmerkmale, die jede Anforderung und jede Anforderungsspezifikation erfüllen muss.

9 Definitionen Anforderungsspezifikation (Pohl, Rupp, 2011) – Eine systematisch dargestellte Sammlung von Anforderungen (typischerweise für ein System oder eine Komponente), die vorgegebenen Kriterien genügt. Lastenheft (DIN – 5): – Vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferung und Leistungen eines Auftragnehmers innerhalb eines Auftrags. Pflichtenheft (DIN – 5): – Das vom Auftragnehmer erarbeitete Realisierungs-vorhaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts

10 Einordnung © Hammerschall

11 Aufgaben einer Anforderung Anforderungen sind die Grundlage für: Kommunikation Ausschreibung und Vertragsgestaltung Systemintegration, Wartung und Pflege Systemarchitektur Systemtest Erhöhung der Mitarbeiterzufriedenheit

12 Haupttätigkeiten im Anforderungs-Engineering 1. Erhebung – Interview – Fragebogen 2. Dokumentation – Prosa: Kurze Sätze, ungenaue Adjektive und Adverbien vermeiden (schneller, schöner, circa) – Styleguide – Anwendungsfalldiagramme / Aktivitätsdiagramme / Message Sequence Charts / Temporale Logik etc. 3. Validierung – Review, Inspektion 4. Verwaltung – Änderung von Anforderungen – Grundvoraussetzung: Verfolgbarkeit von Anforderungen – Werkzeugunterstützung unabdingbar

13 Arten von Anforderungen Funktionale Anforderungen Technische Anforderungen (Hardware, Programmiersprache) Anforderungen an die Benutzerschnittstelle Qualitätsanforderungen (Zuverlässigkeit, Sicherheit, Effizienz) Anforderungen an sonstige Lieferbestandteile (Handbuch) Anforderungen an durchzuführende Tätigkeiten (Vorgehensweise, Tools) Rechtlich-vertragliche Anforderungen (Zahlungsmeilensteine, Vertragsstrafen, Änderungen)

14 Qualitätskriterien für eine Anforderung Anforderungen sollen u.a. folgende Kriterien erfüllen: – Vollständig – Verständlich – Korrekt – Widerspruchsfrei – Eindeutig – Prüfbar

15 Prinzipien des Requirements Engineering Die Betroffenen kennen: Alle Betroffenen (stakeholders) kennen und berücksichtigen Ziele identifizieren: Wenige klar formulierte und überprüfbare Ziele sind wichtiger als eine Fülle von Detailanforderungen Randbedingungen erheben: Eine Systementwicklung kann an nicht erkannten Randbedingungen scheitern Den Wert berücksichtigen: Kosten und Nutzen der Realisierung einer Anforderung Adäquat spezifizieren: Die Anforderungsspezifikation dokumentiert genau das, was die Betroffenen wollen/brauchen Anforderungen messbar spezifizieren: Nur dann sind sie wirklich nützlich Konsens finden: Verschiedene Betroffene haben unterschiedliche Vorstellungen und Bedürfnisse Validieren und Verifizieren: Das Richtige spezifiziert? Richtig spezifiziert?

16 Zusammenfassung Je früher ein Fehler entdeckt wird, desto kostengünstiger ist seine Beseitigung. Ziel ist es, qualitativ hochwertige Anforderungen zu schreiben. Auch die Anforderungsspezifikation muss diesem Anspruch genügen. Viele Qualitätsstandards unterstreichen die Bedeutung des Anforderungs-Engineerings. Sie geben allerdings selten konkrete Handlungsanweisungen, sondern beschreiben Ziele und Richtlinien. Jedes zeitgemäße Vorgehensmodell zur SW-Entwicklung beinhaltet Praktiken zum Anforderungs-Engineering

17 Forschung Automatische Formalisierung der in Prosa formulierten Anforderungen Domänenspezifische Formalismen zur Erfassung von Anforderungen …

18 Beispiele

19 Lastenheft Türsteuergerät Beschreibung der Komponente TSG Anforderungen auf unterschiedlichen Ebenen – Einbau des TSG sowie dessen Schnittstellen – Kommunikation des TSG über den CAN–Bus – Anforderungen an die Komponente aus physikalischer Sicht (z.B. elektromagnetische Verträglichkeit, Umwelteinflüsse) Definition von Prüfungen, die die Komponente bestehen muss

20 Übungsblatt

21 Übungsblatt - Pedelec Informationen z.B. unter – 2 Aspekte für das Übungsblatt – Funktionsweise eines einzelnen Pedelecs (Motorsteuerung, Batteriemanagement, etc.) – Verleihstation (Positionierung, Kommunikation, Verwaltung, etc.)

22 Werkzeuge

23 Übersicht Word/Excel CaliberRM von Borland CaseComplete von Serlio Software DOORS von IBM/Rational Teamcenter Requirements Management von Siemens HP Requirements Management von Hewlett-Packard in-Step RED von microTOOL Jama von Jama Software Polarion Requirements von Polarion PTC Integrity von PTC ReVantage von TZM (Steinbeis Transferzentrum Mikroelektronik) unter der Ägide von Eclipse gibt es das RMF (Requirements Modeling Framework) mit der Anwender-Oberfläche ProR TestTrack RM von Seapine Software Serena Requirements Manager TopTeam Analyst von Techno Solutions TOSCA Testsuite von TRICENTIS Visure Requirements von Visure

24 Polarion

25 Jaroslav Svacina Fraunhofer FOKUS Kaiserin-Augusta Allee Berlin, Germany Tel Contact


Herunterladen ppt "Requirements Engineering Jaroslav Svacina. Plan für die heutige Übung Vorstellung Organisatorisches Zusammenfassung Requirements-Engineering Beispiele."

Ähnliche Präsentationen


Google-Anzeigen