Software Engineering 4) Definitionsphase und Requirements Engineering

Ähnliche Dokumente
Einführung und Motivation

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

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

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

FUTURE NETWORK REQUIREMENTS ENGINEERING

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Requirements Engineering für IT Systeme

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

BSV Ludwigsburg Erstellung einer neuen Internetseite

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

SWE12 Übungen Software-Engineering

Software Engineering in der Praxis

Die Softwareentwicklungsphasen!

UML Diagramme. Aktivitätsdiagramm

Wie Sie als Projektleiter RE&M einsetzen, um Ihren Projektauftraggeber und Ihren Projektauftrag besser zu verstehen...

Requirements Engineering

Übungsklausur vom 7. Dez. 2007

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

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Anforderungsanalyse, Requirements Engineering

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Software Engineering

Prüfung Software Engineering I (IB)

Fragebogen zur Anforderungsanalyse

Software Engineering. 3. Analyse und Anforderungsmanagement

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Internet Explorer Version 6

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

Kundenanforderungen dokumentieren

Requirements Engineering

Fragebogen: Abschlussbefragung

Use Case Beschreibung: <Name (Nummer)>

Requirements Dokumentation Seminar- Requirements Engineering. Manoj Samtani Oliver Frank

Content Management System mit INTREXX 2002.

Klausur Softwaretechnik Feb. 2008

Requirements Engineering (Anforderungstechnik)

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

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

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten


Meine Lernplanung Wie lerne ich?

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

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Lernen durch Feedback aus Inspektionen Dr. Andrea Herrmann

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

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

Requirements Engineering Die Dinge von Anfang an richtig machen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Lehrplan: Business Analyse/ Requirements Engineering (BA- RE)

Konzept Projekt Lisa

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Abschnitt 2 Vier Fragen, jeweils 5 Punkte pro Frage erreichbar (Maximal 20 Punkte)

Digital signierte Rechnungen mit ProSaldo.net

Prüfung Software Engineering I (IB)

Robot Karol für Delphi

Experience. nr.52. ERNI Erfahrungsberichte rund um Management-, Prozess- und Technologiethemen. märz 2012

Projektmanagement durch Scrum-Proxies

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

Online Banking System

DAS VGB REFERENCE DESIGNATION SYSTEM FOR POWER PLANTS RDS-PP

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

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

Verwendung des IDS Backup Systems unter Windows 2000

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Software-Engineering

Grundlagen Software Engineering

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Erstellen von x-y-diagrammen in OpenOffice.calc

OP-LOG

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

RUP Analyse und Design: Überblick

Use Cases. Use Cases

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Erstellen eines Formulars

GRS SIGNUM Product-Lifecycle-Management

Projektmanagement. Requirements Management - Anforderungsverwaltung. Oliver Lietz - Projektmanagement

Ablauf Vorstellungsgespräch

Digitaler*Ausstellungsbegleiter*für*Mobilgeräte ** * * * Alter: Studiengang: Geschlecht: $ $ $ $ Datum: Falls%Ja,%welches? Falls%ja, %welches?

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Übung - Datensicherung und Wiederherstellung in Windows 7

Hochschule Darmstadt Fachbereich Informatik

Vodafone Conferencing Meeting erstellen

Erfolgreiche Realisierung von grossen Softwareprojekten

Basiswissen Requirements Engineering

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Hinweise für das Schreiben einer Bachelor-Arbeit im Fachbereich Wirtschaftspsychologie

Informationswirtschaft II Rational Unified Process (RUP)

Skript Pilotphase für Arbeitsgelegenheiten

Informationswirtschaft II

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

Fragebogen ISONORM 9241/110-S

INTERNET SERVICES ONLINE

Requirements Engineering

Terminologie zwischen normativer Referenz und deskriptiver Dokumentation. Dr. Birte Lönneker-Rodman, Across Systems GmbH

Transkript:

Software Engineering 4) Definitionsphase und Requirements Engineering Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: anja.metzner@hs-augsburg.de Studiengang WiBac 4 (Stand: 15.03.2014), Hochschule Augsburg, 2014

Gliederung 1. Überblick Definitionsphase 2. Pflichtenheft 3. Requirements Engineering 1. Anforderungen 2. Erhebung von Anforderungen 3. Anforderungsanalyse Notationen im Überblick 4. Validation von Anforderungen 5. Anforderungsmanagement 2

1. Überblick Definitionsphase Grundsätzliche Vorgehensweise Definieren der (Produkt-) Anforderungen Modellierung der fachlichen Lösung Anforderungsmanagement vieler Anforderungen iterativ Was ist eine Anforderung? Eine Anforderung spezifiziert die qualitativen und quantitativen Eigenschaften eines Produkts aus Sicht des Auftraggebers Eine Anforderung muss eindeutig und testbar sein Anforderungen sind die Grundlage für die Systemarchitektur 3

1. Überblick Definitionsphase Aufgabe: Requirements Engineering (Systemanalyse, Anforderungsanalyse) Anforderungen ermitteln Anforderungen analysieren Anforderungen beschreiben Anforderungen als fachliche Lösung modellieren Optional: Anforderungen animieren, simulieren, ausführen Anforderung verabschieden Woher kommen die Anforderungen? Auftraggeber Fachabteilung Benutzer oder Repräsentanten der Endbenutzer Marketingabteilung 4

1. Überblick Definitionsphase Requirements Engineering Prozess Input: Anwenderwissen, Dokumentation, Vorschriften,... Anf. ermitteln Anf. analysieren Anf. dokumentieren Anf. prüfen Output: Pflichtenheft 5

1. Überblick Definitionsphase Beteiligte Auftraggeber Projektleiter und... Schriftliches Ergebnis: Pflichtenheft (Balzert, SE, S.99) 6

2. Pflichtenheft Enthält alle fachlichen Anforderungen, die das SW-Produkt aus Sicht des Auftraggebers enthalten muss Beschreibung des WAS nicht des WIE Ist Vertragsbestandteil = Lieferumfang Gleiche Gliederung wie Lastenheft Unterschiede Lastenheft - Pflichtenheft Lastenheft: Problemspezifikation Sicht des Kunden für den SW-Produzent Pflichtenheft: Anforderungsspezifikation Sicht des SW-Produzent für den Kunden Input 7

2. Pflichtenheft Benutzer Pflichtenheft Anwendungsspezialist / Systemkunden Anforderungen festlegen Überprüfen ob Anforderung Erwartungen entspricht Anforderungsänderungen Projektmanager Erstellen des Angebots Planung des SW-Entwicklungsprozesses SW-Entwickler Aufgrund Anforderungen verstehen was für ein System entwickelt werden soll Systemtester Benutzung der Anforderungen für Validierungstests Wartungspersonal Systemintegration, Wartung, Pflege 8

3. Requirements Engineering 3.1 Anforderungen Inhalt einer Anforderung Fachlicher Inhalt Zusätzlicher Inhalt Die Art des Systems Verwendete Normen und Standards Die Kritikalität des Systems Systemumfang Komplexität der Systemabläufe Beobachtbarkeit der Arbeitsschritte Art der Anforderung Erfahrung im Fachgebiet Detaillierungsgrad der Anforderungen 9

3.1 Anforderungen Anforderungsarten Funktionale Anforderung Beschreibung Dienste die das System leisten soll Aktionen die das System selbstständig ausführen soll Oder allgemeine funktionale Vereinbarungen und Einschränkungen Beispiel: Sende Fehlermeldung XYZ zum Nachbarssystem wenn Ereignis ABC eingetreten ist Lese Datei XYZ in den Hauptspeicher ein 10

3.1 Anforderungen Anforderungsarten Nicht-funktionale Anforderung Beschreibung Technische Anforderungen, Anforderungen an die zu verarbeitenden Informationen, Qualitätsanforderungen... Beispiel: Eingabefelder die Pflicht für den Benutzer sind sollen mit einem Sternchen markiert werden Der Algorithmus XYZ muss in 2 Sec ausführbar sein 11

3.1 Anforderungen 12

3.1 Anforderungen Anforderungsarten Problembereichsanforderung Beschreibung Anforderungen die sich aus dem Anwendungsbereich ergeben Spezielle Bedürfnisse von Systembenutzern Beispiel: Es sollte eine Standardbenutzerschnittstelle zu allen beteiligten Datenbanken geben, die auf dem Z39.50-Standard basiert 13

3.1 Anforderungen Anforderungsarten Benutzeranforderung Beschreibung Anforderungen die das externe Verhalten des Systems betreffen (Ein-, Ausgaben) Anforderungen sollen verständlich für Systembenutzer geschrieben werden Beispiel: Es soll ein Report XYZ ausgedruckt werden, wenn der Button Drucken vom Benutzer gewählt wird 14

3.1 Anforderungen Anforderungsarten Systemanforderung Beschreibung Anforderungen die als genauere Beschreibung der Benutzeranforderungen dienen Beschreiben wie die Benutzeranforderungen umgesetzt werden sollen (nicht zu Verwechseln mit wie es implementiert werden soll!) Beispiel: Das Datenaustauschformat für die zu übertragende Datei der Benutzeranforderung A soll XML sein Das System soll eine Client-Server Architektur besitzen 15

3.1 Anforderungen Qualitätsmerkmale für Anforderungen Vollständigkeit Korrektheit Klassifizierbarkeit Konsistenz Prüfbar Eindeutigkeit Verständlichkeit Aktualität Realisierbarkeit Notwendigkeit Verfolgbarkeit Bewertbarkeit Redundanzfrei (nach Rupp et al. Requirment Engineering und Management, S. 21, 2004) 16

3.1 Anforderungen Sprache bei Anforderungen Natürlich sprachliche Anforderungen Methoden Standardformulare Vorlagen Beispiele Word/Excel Vorlagen Probleme Vorlagen oft zu wenig Strukturiert Mangel an Genauigkeit Verwirrung bei Anforderungen Verschmelzung von Anforderungen 17

3.1 Anforderungen Sprache bei Anforderungen Natürlich sprachliche Anforderungen Vollständige Schablone mit Bedingungen Wann? Unter welcher Bedingung? MUSS SOLL KANN DAS SYSTEM <wem> DIE MÖGLICHKEIT BIETEN FÄHIG SEIN <Objekt & Ergänzung des Objekts> <Prozesswort> (Rupp, RE, S.492) Beispiel: Das System A muss dem Administrator die Möglichkeit bieten, eine Fehlermeldung auf dem Netzwerkdrucker zu drucken 18

3.1 Anforderungen Sprache bei Anforderungen Anforderungen in strukturierter Sprache Methode Ähnlich wie Programmiersprache Definition eines Befehlssatzes Beispiele PDLs (engl. Program Description Languages) Eigenkreationen Pseudocode Probleme Befehlssatz nicht ausreichend / genau genug Nur für SW-Entwickler verständlich Anforderungen können für einen Entwurf gehalten werden 19

3.1 Anforderungen Sprache bei Anforderungen Anforderungen in graphischer Notation Methode Graphische Sprache Ergänzt durch Kommentare und Anwendungsfallbeschreibungen Beispiele SA (Structured Analysis) UML: Use-Case Diagramm Probleme Manchmal sagen Worte mehr als Bilder Kommentare werden oft zu spärlich eingesetzt Nur für SW-Designer/SW-Entwickler verständlich 20

3.1 Anforderungen Probleme bei der Anforderungsanalyse Unklare Zielvorstellungen Hohe Komplexität Sprachbarrieren Veränderliche Anforderungen Schlechte Qualität der Anforderungen Beschreibung unnötiger Merkmale Ungenaue Planung und Verfolgung des Projekts 21

3.2 Erhebung von Anforderungen Einige Ermittlungstechniken Kreativitätstechniken Brainstorming Ereignisse sammeln Methode 6-3-5 6 Teilnehmer entwickeln je 3 Ideen und geben diese auf je einem Kärtchen dem jeweiligen Nachbarn, der diese dann kommentiert. Karten weitergeben bis jeder Teilnehmer jede Karte besessen hat (5-mal) Beobachtungstechniken Feldbeobachtung Systemanalytiker beobachtet die Arbeitsabläufe von Stakeholdern während ihrer täglichen Arbeit Apprenticing ( in die Lehre gehen ) Systemanalytiker erlernt die Arbeitsabläufe der Stakeholder unter deren Anleitung 22

3.2 Erhebung von Anforderungen Einige Ermittlungstechniken Befragungstechniken Fragebogen Multiple-Choice Fragen, offene Fragen an Stakeholder Interview Systemanalytiker stellt Stakeholder mündliche Fragen On-Site Customer Ein Stakeholder ist als Vertreter beim SW-Entwickler vor Ort Vergangenheitsorientiert Techniken Systemarchäologie Analoge existierende Systeme und die dazugehörigen Dokumente werden beobachtet bzw. gelesen Reuse Anforderungen eines ähnlichen Systems werden wiederverwendet und abgeändert 23

3.2 Erhebung von Anforderungen Anwendbarkeit von Ermittlungstechniken (Rupp et al., RE, S.84) 24

3.3 Anforderungsanalyse Notationen im Überblick Use-Case Diagramm (Anwendungsfalldiagramm) UML-Diagrammtyp (engl. Unified Modelling Language) Eine Use-Case Diagramm eines Systems besteht aus Systemrahmen: Systemgrenzen Akteuren: Personen, Fremdsysteme Assoziationen: Wer tut was Use-Cases: Funktionen Verfeinerung durch andere Diagrammtypen aus UML 25

3.3 Anforderungsanalyse Notationen im Überblick Use-Case Diagramm Notationselemente Akteur Assoziation Use-Case (Beschreibung: Hauptwort + Verb!) Systemgrenze Wichtig: Alles wird beschriftet! 26

3.3 Anforderungsanalyse Notationen im Überblick Use-Case Diagramm Beispiel 27

3.3 Anforderungsanalyse Notationen im Überblick Use- Case Diagramm Beschreibung eines Use-Cases Use Case: Partner suchen 28

3.3 Anforderungsanalyse Notationen im Überblick Use-Case Diagramm Vorteile Möglichkeit zur Abbildung komplexer Systeme Leicht erlernbar Funktionale Anforderungen aus Sicht des Anwenders gut darstellbar Übersichtlichkeit durch Top-Down Vorgehen Durch Beschreibungen für natürliche Sprache geeignet Gut geeignet für OO SW-Entwicklung Nachteile Zeitliche Reihenfolge der Ereignisse nicht festgelegt Schwer lesbar für Nicht-Informatiker Nicht-funktionale Anforderungen nicht darstellbar 29

3.3 Anforderungsanalyse Notationen im Überblick (J.D. Schulz: Requirements-based Unified Modeling Language, A Borland White Paper, 2003) 30

3.3 Anforderungsanalyse Notationen im Überblick (J.D. Schulz: Requirements-based Unified Modeling Language, A Borland White Paper, 2003) 31

3.3 Anforderungsanalyse Notationen im Überblick (J.D. Schulz: Requirements-based Unified Modeling Language, A Borland White Paper, 2003) 32

3.4 Validation von Anforderungen Ziele guter Anforderungen Syntaktisch Verfolgbarkeit, Redundanzfreiheit, gute Struktur, angemessener Umfang, Eindeutigkeit, Notwendigkeit, rechtliche Verbindlichkeit Semantisch (inhaltlich fachliche Aspekte) Korrektheit, Gültigkeit, Vollständigkeit Weiterverwendung Realisierbarkeit, Bewertbarkeit, Verständlichkeit 33

3.4 Validation von Anforderungen Prüfung von Anforderungen Ziele Qualitätskriterien für die Anforderung erfüllen Aufdecken von Fehlern und Schwächen Fehlende Informationen (Lücken), Widersprüche, Redundanzen, Fehlerhaftes Systemverhalten Vorgehen Zeitpunkt: Nach Definition, vor Implementation Prüfer identifizieren Prüftechnik festlegen Prüfung durchführen 34

3.4 Validation von Anforderungen Prüfung von Anforderungen Potentielle Prüfer (Rupp et al., RE, S.293) 35

3.4 Validation von Anforderungen Prüftechniken Stellungnahmen von Stakeholdern Prototyp/Simulationsmodell Verhalten des Prototypen testen Analysemodell z.b. Mengengerüste für Daten aufstellen Reviews, Inspektion, Walkthrough Gemeinsames Verständnis aller Beteiligten suchen Manchmal: Kickoff-, Follow-up- und Exit-Meetings Sprachliche Schablonen prüfen Abnahmekriterien aufstellen und prüfen 36

3.4 Validation von Anforderungen Beispiel für Abnahmekriterien Aufbau von Entscheidungstabellen Abnahmekriterium AN3 Nutzer Kunde Neue Daten Alter: [0-17] nein Fehler auf-getreten semantisch syntaktisch n.a. - A1: Fehlermeldung Keine passenden Partner vorhanden X - - - Abnahmekriterium Nr Ergebnis Datum/ Uhrzeit Tester AN3: Fehlermeldung zu A1 OK 01.01.08 Schz 37

3.5Anforderungsmanagement Gruppierung von Anforderungen...Ordung ist das halbe Leben......Wer suchet der findet... Nach Anforderungsart Nach Merkmalen Beispiele: Zuverlässigkeit, Benutzbarkeit, Effizienz,... Nach Detailebenen des System Nach Priorität Nach Kritikalität Nach rechtlicher Verbindlichkeit: Muss, Kann,... 38

3.5 Anforderungsmanagement Requirement Management Tools Beispiele (Rupp et al., RE, S.391) (Auszug aus Wikipedia, http://de.wikipedia.org/wiki/anforderungsmanagement-software, 03/2014) 39

Lernziel 1. Was ist Requirements Engineering? Requirements Engineering umfasst die Anforderungsanalyse und das Anforderungs-management mit ingenieurmäßigem Vorgehen 2. Welche Eigenschaften haben gute Anforderungen? Vollständig, korrekt, klassifizierbar, konsistent, prüfbar, eindeutig, verständlich, aktuell, realisierbar, hat Notwendigkeit, verfolgbar, bewertbar 3. Wie findet man Anforderungen? Durch Kreativität, Beobachten (Vergangenheit oder aktuelles Vorgehen), Befragen und nutzen unterstützender Techniken 4. Wie testet man Anforderungen? Zeitpunkt: Nach Definition, vor Implementation, Prüfer identifizieren, Prüftechnik festlegen, Prüfung durchführen 40