Prof. Dr.-Ing. Dagmar Meyer Software Engineering 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG



Ähnliche Dokumente
Requirements Engineering für IT Systeme

Einführung und Motivation

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

FUTURE NETWORK REQUIREMENTS ENGINEERING


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

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Fragebogen zur Anforderungsanalyse

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

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

Anforderungen an die HIS

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

Qualifikationsbereich: Application Engineering Zeit:

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

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

Integrierte IT Portfolioplanung

.. für Ihre Business-Lösung

GPP Projekte gemeinsam zum Erfolg führen

Requirements Engineering Die Dinge von Anfang an richtig machen

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

Fragebogen ISONORM 9241/110-S

PLATTFORM PERSONALMANAGEMENT

Projektmanagement. Vorlesung von Thomas Patzelt 5. Vorlesung

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

WollCo Wolfgang Kohl Consulting. Nachhaltige Projektumsetzung nicht nur in der Verantwortung von Geschäftsführen / Unternehmern

Content Management System mit INTREXX 2002.

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Regeln für das Qualitäts-Siegel

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

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

BFE Studio und Medien Systeme GmbH.

Softwareanforderungsanalyse

Softwaretechnik. Fomuso Ekellem WS 2011/12

Erfolgreiche Realisierung von grossen Softwareprojekten

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

Code of Conduct (CoC)

BSV Ludwigsburg Erstellung einer neuen Internetseite

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Requirements-Management Ein praktisches Beispiel

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

PLATTFORM PERSONALMANAGEMENT

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

teischl.com Software Design & Services e.u. office@teischl.com

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

Agile Enterprise Development. Sind Sie bereit für den nächsten Schritt?

Übungsklausur vom 7. Dez. 2007

Tag des Datenschutzes

SEP 114. Design by Contract

Was versteht man unter Softwaredokumentation?

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen

D i e n s t e D r i t t e r a u f We b s i t e s

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise

Was meinen die Leute eigentlich mit: Grexit?

Die Invaliden-Versicherung ändert sich

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Leitfaden zu Jameica Hibiscus

Nicht über uns ohne uns

COMOS FEED Knowledge Base

Übung - Konfigurieren einer Windows Vista-Firewall

Projekt- Management. Landesverband der Mütterzentren NRW. oder warum Horst bei uns Helga heißt

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Impulse Inklusion Selbst-bestimmtes Wohnen und Nachbarschaft

Informationssicherheit als Outsourcing Kandidat

Effektstärken-Check: Wichtigste Projektkategorien

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Software Engineering. Dokumentation! Kapitel 21

Ringvorlesung: SW- Entwicklung in der industriellen Praxis ( )

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

DER SELBST-CHECK FÜR IHR PROJEKT

Dokumentinformationen

ERP / IT Strategieleitfaden Vorgehensmodell zur Entwicklung einer ERP / IT-Strategie

macs Support Ticket System

Erfolgsfaktoren im Projektmanagement

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

DATENSCHUTZ UND AGILE SOFTWAREENTWICKLUNG. Erfahrungen und Vorgehen in der Praxis

Online Newsletter III

Software-Validierung im Testsystem

Der Schutz von Patientendaten

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Einkaufsführer Hausverwaltung Was Sie bei Suche und Auswahl Ihres passenden Verwalters beachten sollten

Neues Modul für individuelle Anlagen. Änderung bei den Postleitzahl-Mutationen

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Damit auch Sie den richtigen Weg nehmen können die 8 wichtigsten Punkte, die Sie bei der Beantragung Ihrer Krankenversicherung beachten sollten:

Requirements Engineering WS 11/12

Teambildung. 1 Einleitung. 2 Messen der Produktivität

Projektmanagement durch Scrum-Proxies

Erfahrungen mit Hartz IV- Empfängern

Deutliche Mehrheit der Bevölkerung für aktive Sterbehilfe

Zimmertypen. Zimmertypen anlegen

Beschreibung des MAP-Tools

SharePoint Demonstration

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Mitarbeiterbefragung als PE- und OE-Instrument

Toolgestütztes Redesign der SAP HCM Zeitwirtschaft mit dem Schemenanalyzer Zeitwirtschaft. LM CONSULTING GMBH im AdManus Beratungsnetzwerk

Transkript:

2 ANFORDERUNGSANALYSE UND -MODELLIERUNG

"If you don't know where you are going, you are unlikely to end up there." Forrest Gump 2

Anforderungen bilden die Grundlage für jedes (Software-)Projekt sind die Vorgabe für den Entwurf und die Entwicklung und andererseits auch die Basis für die Validierung und Verifikation des Ergebnisses der Entwicklung sind in der Praxis oft - ungenau - unzureichend dokumentiert - widersprüchlich - wenig stabil über die Projektlaufzeit gesehen 3

Begriffe: Anforderung Definition 1 - Eine Bedingung oder Eigenschaft, die ein System oder eine Person benötigt, um ein Problem zu lösen oder ein Ziel zu erreichen. - Eine Bedingung oder Eigenschaft, die ein System oder eine Systemkomponente aufweisen muss, um einen Vertrag zu erfüllen oder einem Standard, einer Spezifikation oder einem anderen formell auferlegten Dokument zu genügen. - Eine dokumentierte Repräsentation einer Bedingung oder Eigenschaft wie in 1. oder 2. definiert. Anforderungen beschreiben somit die Bedürfnisse von Benutzern an ein System, aber auch Eigenschaften, die durch Rahmenbedingungen, z. B. gesetzliche Regelungen, definiert sind. Aus Position 3 der Definition folgt, dass sowohl nicht dokumentierte Bedingungen und Eigenschaften im Sinne von Position 1 und 2 als auch deren dokumentierte Form als Anforderung bezeichnet werden. 1 K. Pohl: Requirements Engineering. dpunkt.verlag, Heidelberg, 1. Auflage 2007 4

Stakeholder als Anforderungsquellen Ein Stakeholder ist nach PMBOK 1 - eine Person oder eine Organisation - die ein begründetes Interesse am Projekt-Erfolg und/oder am Projektnutzen hat - welche aktiv am Projekt beteiligt ist oder durch den Projektverlauf oder das Projektergebnis beeinflusst wird, respektive ihn beeinflussen kann Stakeholder sind wichtige Anforderungsquellen - Frühzeitige Integration aller Gruppen von Stakeholdern bereits in der Analysephase eines Projekts minimiert das Risiko später (und somit teurer) Änderungen am System Probleme - Interessenskonflikte Priorisierung von Anforderungen - Interessen von Stakeholdern ändern sich während der Projektlaufzeit Anforderungsmanagement notwendig 1 Der Guide to the Project Management Body of Knowledge (PMBOK Guide) ist ein weit verbreiteter Projektmanagement-Standard und zentrale Referenz des US-amerikanischen Project Management Institute, von dem er auch herausgegeben und unterhalten wird. 5

Quelle: http://edge.papercutpm.com/the-5-p%e2%80%99s-of-managing-a-stubborn-stakeholder/ 6

Stakeholder in einem mittelgroßen Softwareprojekt Kunde/Auftraggeber Geschäftsführung/Abteilungsleiter (Auftraggeber- und Auftragnehmerseite) Promotor Legacy Owner (Besitzer des Altsystems oder der Altdaten) Betreiber/Entwickler von Schnittstellensystemen (Systemen, mit denen integriert wird) Benutzer/Benutzervertreter (pro Benutzergruppe) Projektleiter Projektsteuergruppe Systemarchitekten/IT-Stratege Softwareentwickler Qualitätssicherung und Test Betrieb Wartung Frühzeitige Beteiligung reduziert notwendige Anpassungen bei Inbetriebnahme 7

Weitere Anforderungsquellen Standards und Normen Datenschutz Gesetze Anforderungen und Funktionsweisen von alternativen Systemen (z. B. von Konkurrenzanbietern oder Altsysteme) Verdeckte Regeln - Tabus - Macht - Werte - Einstellungen - Status - 8

Anforderungsvolatilität Anforderungen ändern sich ständig Notwendigkeit, auf Anforderungsänderungen zu reagieren und später im Softwareprojekt Änderungen mit geringen Kosten durchführen zu können Strategisches Vorgehen Unterteilung der Anforderungen in zwei Klassen - Stabile Anforderungen Anforderungen, die sich voraussichtlich nicht oder nur geringfügig ändern werden - Volatile Anforderungen Anforderungen, die sich voraussichtlich während der Anforderungsanalyse oder während des Betriebes des Systems ändern werden Direkte Auswirkung auf das Systemdesign - Stabile Anforderungen können mit einfachen Designs bzw. "hard-wired" implementiert werden - Umsetzung volatiler Anforderungen erfordert ein adaptives Systemdesign ("softwired") - Stabile Anforderungen können früher und detaillierter dokumentiert bzw. modelliert werden - Stabile Anforderungen können früher im Entwicklungsprozess realisiert werden 9

Klassifikation von Anforderungen Funktionale Anforderungen - Beschreibung der Funktionen/Services, die das System zur Verfügung stellen soll - Klärung, wie das System auf bestimmte Eingaben und spezielle Situationen reagieren soll Nichtfunktionale Anforderungen - Anforderungen an die Funktionen/Services, die nicht deren Verhalten, sondern Vorgaben z. B. an Qualitätseigenschaften, den Entwicklungsprozess, einzuhaltende Standards und Normen und gesetzliche Rahmenbedingungen beschreiben Fachliche Anforderungen (Domänenanforderungen 1 ) - Funktionale oder nichtfunktionale Anforderungen, die von der Domäne des Systems definiert werden und die besonderen Eigenschaften/Einschränkungen dieses Gebietes darstellen Domänenanforderungen sind oft inhärent und nicht explizit pro Projekt definiert. 1 Eine Domäne bezeichnet im Systems Engineering und in der Softwaretechnik ein abgrenzbares Problemfeld oder einen bestimmten Einsatzbereich für Computersysteme oder Software. 10

Was sind gute Anforderungen? Theorie - Vollständigkeit - Konsistenz Probleme in der Praxis - Verständlichkeit Jede Domäne hat ihre eigene "Sprache" wird von Softwareingenieuren häufig nicht verstanden - Selbstverständlichkeit Domänen-Spezialisten sind mit der Domäne so vertraut, dass sie bestimmte Anforderungen als selbstverständlich ansehen und nicht explizit kommunizieren - Unzureichende Präzision Präzise Definition von Anforderungen ist schwierig, ohne die Lesbarkeit zu beeinträchtigen - Vermischung Funktionale und nichtfunktionale Anforderungen werden häufig vermischt - Zusammenführung Verschiedene Anforderungen werden gemeinsam beschrieben, ohne diese genau voneinander abzugrenzen - Mehrdeutigkeit Spezifikationen in natürlicher Sprache sind oft mehrdeutig 11

Qualitätsattribute von Anforderungen (1) Vollständig - Explizite Beschreibung aller Anforderungen - Keine impliziten Annahmen der Stakeholder über das zu entwickelnde System Eindeutig definiert/abgegrenzt - Präzise Definitionen helfen, Missverständnisse zwischen Stakeholdern zu vermeiden Verständlich beschrieben - Stakeholder müssen die gesamte Anforderung unter vertretbarem Aufwand lesen und verstehen können Identifizierbar - Eindeutige Identifizierbarkeit jeder Anforderung (z. B. über Anforderungs-ID) Atomar - Nur eine Anforderung pro Anforderungs-ID 12

Qualitätsattribute von Anforderungen (2) Einheitlich dokumentiert - Ein Dokument mit allen Anforderungen, gleiche Struktur für alle Beschreibungen Notwendig - Klärung, ob alle Anforderungen unabdingbar sind Nachprüfbar - Verknüpfung der Anforderungen mit Abnahmetestfällen, damit bei der Abnahme geprüft werden kann, ob alle Anforderungen erfüllt wurden Vorwärts- und Rückwärtsverfolgbarkeit - Erkennbar, ob jede Anforderung vollständig erfüllt wurde - Für jede implementierte Funktion ist ersichtlich, aus welcher Anforderung sie resultiert keine überflüssigen Systemeigenschaften Priorisiert - Berücksichtigung der Priorität im Entwicklungsprozess (z. B. durch die Reihenfolge der Realisierung) 13

Was sonst noch zu klären ist Nach der ersten Erhebung der Anforderungen stellen sich evtl. zwei entscheidende Fragen: - Muss man "das Rad nochmals erfinden" oder können (Teil-)Systeme fertig gekauft werden?? - Ist das Projekt überhaupt realisierbar bzw. Erfolg versprechend oder sollte es rechtzeitig bevor es richtig begonnen hat gestoppt werden? 14

Make or Buy Wichtige Fragestellung in Softwareprojekten - Individuelle Entwicklung der technischen Komponenten (make) oder - Einsatz von COTS- (Commercial of the Shelf-) Systemen (buy) Entscheidung beeinflusst die weitere Analyse, den Entwicklungsprozess, die Wartung Wichtige zu berücksichtigende Aspekte - Abdeckung des aktuellen und des antizipierten Projekt-Scopes - Entwicklungskosten - Lizenzkosten (Anschaffung und laufender Betrieb) - Anpassungsmöglichkeiten und Anpassungsaufwand - Schulungsaufwand für Entwickler und Betreiber - Hardwareanforderungen - Support und Wartung - Nutzung von offenen oder proprietären Protokollen oder Formaten - Herstellerabhängigkeit (Vendor Lock-In) - Besitzverhältnisse - Weitere strategische Elemente, z. B. Weiterverkaufsmöglichkeit einer Neuentwicklung 15

Machbarkeit und Machbarkeitsstudie Umsetzbarkeit des Vorhabens muss ggf. geprüft werden, wenn es technisch oder organisatorisch sehr neuartig ist In diesen Fällen: Machbarkeitsstudie - Analytisch oder - Prototypische Umsetzung kritischer Systemteile - Inhalte einer Machbarkeitsstudie können sein: Identifikation des Inventionsanteils Identifikation von ähnlichen Systemen Technische Modellierung Technische Prototypen Rechtliche Prüfung Akzeptanzanalyse bei den zukünftigen Benutzern Identifizierung der wesentlichen Kostentreiber Kostenanalyse Ergebnis: Go / No-Go-Entscheidung 16