Woche 3: Anforderungsmangement Flashcards
Weshalb macht man Anforderungsmanagement?
Es ist bei der Planung bzw. Entwicklung von Informationssystemen, ob Individual- oder Standardsoftware, äusserst wichtig, die späteren Nutzer und deren Interaktion mit dem Anwendungssystem zu berücksichtigen bzw. zu analysieren.
Systementwicklung
Die Aktivitäten, die bei der Erstellung eines neuen Informationssystems für ein Problem eines Unternehmens oder für eine Geschäftsmöglichkeit eine Rolle spielen, werden als «Systementwicklung» oder «Software Engineering» bezeichnet.
Die Systementwicklung ist eine strukturierte Art der Problemlösung mit klaren Aktivitäten, welche sich in Systemanalyse, Systementwurf, Programmierung, Test, Migration bzw. Produktivschaltung sowie Produktion und Wartung einteilen lassen
Traditionelle Systementwicklung:
Wasserfallmodell
In der traditionellen Systementwicklung sollen, gemäss dem sogenannten Wasserfallmodell, die Aktivitäten Analyse, Entwurf, Programmierung, Test, etc. jeweils beendet werden, bevor mit der nächsten Aktivität begonnen wird. Dieses Entwicklungsmodell wird insbesondere für mittlere bis grosse, komplexe Systementwicklungsprojekte eingesetzt .
Systementwicklung
agile Entwicklung
Bei der Entwicklung kleiner Informationssysteme die traditionelle Systementwicklung oftmals eher ungeeignet. Für den Erfolg der Systementwicklung ist hier in erster Linie die Gestaltung der Benutzerinteraktion mit dem Anwendungssystem entscheidend. Für die Systementwicklung wird in solchen Fällen oftmals eine agile Entwicklung, inklusive Prototyping, vorgeschlagen. Prototyping besteht darin, schnell und kostengünstig ein experimentelles System aufzubauen, das die Benutzer ausprobieren können. Durch die Arbeit mit dem Prototyp erhalten die Benutzer eine bessere Vorstellung von ihren Anforderungen. Der Prototyping – Prozess kann beispielsweise ausfolgenden Schritten bestehen, wobei die Schritte 3 und 4 wiederholt werden, bis der Benutzer zufriedengestellt ist.
- Identifizierung der grundlegenden Anforderungen des Benutzers
- Entwicklung eines anfänglichen Prototyps durch Systementwickler
- Einsatz des Prototyps und Verbesserungsvorschläge des Benutzers
- Überarbeitung und Erweiterung des Prototyps durch Systementwickler
Systemanalyse
Unter Systemanalyse wird die Analyse eines Problems verstanden, welches das Unternehmen mithilfe eines Informationssystems lösen will.
Eine schwierige Aufgabe ist es dabei insbesondere, die spezifischen Anforderungen zu ermitteln, die von einem angestrebten Informationssystem erfüllt werden müssen. («Anforderungsmanagement», «Requirements Engineering»).
Anforderung
funktional vs. nicht funktional
Eine Anforderung (engl. «Requirement») ist eine Aussage über eine zu erfüllende Eigenschaft oder zu erbringende Leistung eines Produktes, Systems oder Prozesses. Anforderungen werden in der Anforderungserhebung aufgenommen, analysiert, spezifiziert und verifiziert.
Anforderungen können beispielsweise in einem Dokument (z. B. Lastenheft) dokumentiert werden.
Funktionale Anforderungen beschreiben konkret, welche Funktionen ein System bereitstellen muss («Wird Bestellung gewählt, öffnet sich das Formular für die Auswahl des Zahlungsmittels»).
Nicht funktionale Anforderungen legen die Eigenschaften eines Systems fest -> Randbedingungen und Qualitätseigenschaften -> («Die Seite muss innerhalb von 0.3 Sekunden angezeigt werden»).
Systemanalyse
- Personas
Eine «Persona» ist ein Modell aus dem Bereich der Mensch-Computer-Interaktion. Die «Persona» stellt einen Prototyp für eine Gruppe von Nutzern dar, mit konkret ausgeprägten Eigenschaften und einem konkreten Nutzungsverhalten.
Anhand von Beobachtungen an realen Menschen werden einige fiktive Personen geschaffen, die stellvertretend für den grössten Teil der späteren tatsächlichen Anwender stehen sollen.
Wichtig zu betonen ist, dass «Personas» einer fundierten Datenbasis entsprechen müssen. Diese Datenbasis wird aus einem mehrstufigen Prozess aus quantitativen und vor allem qualitativen Umfragen, Beobachtungen und Nutzerinterviews erhoben
- fixkitver Namen
- Persönliche Attribute
- Kontext
- Ziele
- Aufgaben
- Frustpunkte
Systemanalyse
- Nutzungszenario
Ein Nutzungsszenario ist eine textuelle Beschreibung der Interaktion mit einem interaktiven System. Nutzungsszenarien dienen der Beschreibung von Arbeitsabläufen und Nutzungskontext der Benutzer. Ähnlich wie Use Cases beschreiben sie die einzelnen Schritte, die ein Anwender unternimmt, um seine Aufgabe zu erledigen bzw. sein Ziel zu erreichen. Sie stellen die Handlungen der Nutzer im Überblick dar, ohne die technischen Details zu beschreiben.
Sie dienen der Kommunikation innerhalb des EntwicklungsTeams und sorgen für ein gemeinsames Verständnis. Oft werden die Szenarien nicht neutral formuliert, sondern beispielsweise Personas als handelnde Personen dargestellt.
Systemanalyse
- Daten vs. Informationen
Daten bzw. Informationen sind zentrale Komponenten in Informationssystemen.
Daten
(Roh-) Daten die Ereignisse in Unternehmen oder deren physischem Umfeld repräsentieren und noch nicht strukturiert oder in eine für Menschen verständliche und verwendbare Form gebracht wurden. Sie lassen sich als Fakten beschreiben, die diskrete, objektive Ereignisse – typischerweise alle Arten von Transaktionen – in Unternehmen oder aus deren Umfeld repräsentieren.
Informationen
Informationen bestehen aus Daten, die in eine Form gebracht wurden, welche für Menschen bedeutungsvoll und nützlich ist. An andere Stelle heisst es: Informationen sind geordnete, strukturierte und systematisierte Daten.
Beispiel Unterschied Daten und Informationen
Gemäss Kroenke & Boyle (2017, S. 54) wird Information von jedem Menschen individuell geschaffen und die Wahrnehmung von Information aus Daten wird bestimmt von den jeweiligen kognitiven Fähigkeiten. Das wiederum bedeutet, dass verschiedene Menschen aus denselben Daten unterschiedliche Informationen ziehen.
Zusammenspiel der fünf Komponenten («Fünf-Komponenten-Modell»)
Zusammenspiel der fünf Komponenten («Fünf-Komponenten-Modell») Hardware, Software, Daten, Prozeduren und Menschen in einem Informationssystem
Systemanalyse vs. Systementwurf
Die Systemanalyse beschreibt, was ein System erledigen soll, um die Anforderungen zu erfüllen.
Der Systementwurf zeigt hingegen, wie das System dieses Ziel realisiert.
Systementwurf
- Use Case
Anwendungsfälle (engl. Use Cases) dokumentieren die Funktionalität eines geplanten oder existierenden Systems auf Basis von einfachen Modellen. In einem Use Case wird das nach aussen sichtbare Verhalten eines Systems aus Sicht der Nutzer beschrieben. Ein Nutzer kann hierbei eine Person, eine Rolle oder ein anderes System sein. Dieser Nutzer tritt als Akteur mit dem System in Interaktion, um ein bestimmtes Ziel zu erreichen.
-> typischerweise wie das Ziel aus Sicht des Akteurs benannt (Auto zurückgeben)
**Ein Anwendungsfall (engl. Use Case) **bündelt alle möglichen Szenarien, die eintreten können, wenn ein Akteur versucht, mit Hilfe des betrachteten Systems ein bestimmtes fachliches Ziel zu erreichen. Er beschreibt, was inhaltlich beim Versuch der Zielerreichung passieren kann und abstrahiert von konkreten technischen Lösungen. Das Ergebnis des Anwendungsfalls kann ein Erfolg oder Fehlschlag/Abbruch sein.
-> Ein Anwendungsfall beschreibt die Interaktionen zwischen Nutzer und System, die notwendig sind, um ein fachliches Ziel des Nutzers zu verwirklichen. Dabei dürfen die beschriebenen Abläufe nicht zu komplex werden.
Anwendungsfälle vs. Geschäftsprozesse
Unterschiedliche Perspektive
- Anwendungsfälle beschreiben, was die Umwelt vom System erwartet.
- Ein Geschäftsprozess beschreibt eine Folge von Einzeltätigkeiten, die schrittweise ausgeführt werden, um ein geschäftliches oder betriebliches Ziel zu erreichen.
Prototyp vs Vorführmodell (“Mockup”)
Ein Prototyp ist eine funktionierende Version eines Informationssystems oder eines Teils des Systems, stellt aber nur ein vorläufiges Modell dar.
Ein Vorführmodell («Mockup») hingegen muss nicht einmal eine funktionierende Version eines Informationssystems darstellen, sondern nur eine Attrappe, die genutzt wird, um Design und/oder (Teil-)Funktionen eines geplanten oder bereits eingeführten Produktes zu demonstrieren. «Mockups» werden häufig bei der Entwicklung von (grafischen) Benutzeroberflächen (engl. User Interface) verwendet
Systemanalyse
- Auswahl von (Standard-) Softwarepaketen
Wenn ein System unter Verwendung einer Standardanwendungssoftware entwickelt wird, beinhaltet die Systemanalyse auch die Auswahl eines Pakets.
Der Bewertungsprozess für das Paket basiert häufig auf einer Ausschreibung (RFP, Request for Proposal), wobei es sich um eine detaillierte Liste mit Fragen handelt, die verschiedenen Anbietern von Paketsoftware unterbreitet wird.
Lastenheft
Das Lastenheft beschreibt die Gesamtheit der Forderungen des Auftraggebers an die Lieferungen und Leistungen eines Auftragnehmers. Das Lastenheft kann der Auftraggeber in einer Ausschreibung verwenden und an mehrere mögliche Auftragnehmer verschicken.
Im Rahmen eines Werkvertrages und der dazu gehörenden formellen Abnahme beschreibt das Lastenheft präzise die nachprüfbaren Leistungen und Lieferungen.
Pflichtenheft
Mögliche Auftragnehmer erstellen auf Grundlage des Lastenheftes ein Pflichtenheft, welches in konkreterer Form beschreibt, wie der Auftragnehmer die Anforderungen im Lastenheft zu lösen gedenkt. Der Auftraggeber wählt dann aus den Vorschlägen den für ihn geeignetsten aus.
Änderungen der Arbeitsweise auf Grund von (Standard-) Softwarepaketen
-> Wer passt sich wem an?
Statt den Systementwurf direkt auf die Anforderungen der Benutzer zuzuschneiden, besteht der Entwurf darin zu versuchen, die Benutzeranforderungen so anzupassen, dass sie den Funktionsmerkmalen des Pakets und den Möglichkeiten der benutzerdefinierten Anpassungen entsprechen. Falls die Anforderungen des Unternehmens in Konflikt mit der Arbeitsweise des Pakets stehen und das Paket nicht angepasst werden kann, muss sich das Unternehmen dem Paket anpassen und seine Prozeduren ändern.
-> ystematische Evaluation wird oft eine Nutzwertanalyse (NWA)
Systementwicklung («Individualsoftware»)
Vorgehensweise
- Systemanalyse
- Systementwurf
* Vorführmodell («Mockup»)
* Prototyp - Realisierung
* Programmierung
* Testen
* Migration - Produktion und Wartung
* Betrieb
* Anpassung
Systementwicklung («Individualsoftware»)
-> Systemanalyse
- Systemanalyse
Geschäftsprozessanalyse und –design (inkl. Automatisierungsentscheide für Aufgaben)
Persona
Nutzungsszenario
Use Cases
Anforderungen («Requirements») und kritische Erfolgsfaktoren (KEF)
Daten und Informationen