Die Systemanalyse ist ein fundamentaler Prozess in der Softwareentwicklung, der darauf abzielt, ein tiefgreifendes Verständnis für das aktuelle System und seine Anforderungen zu entwickeln. Sie dient als Grundlage für die Systemgestaltung und -implementierung. Der Fokus liegt auf der Erfassung, Analyse und Spezifikation der funktionalen und nicht-funktionalen Anforderungen des Systems. Die Systemanalyse ist somit ein kritischer Schritt, um sicherzustellen, dass das endgültige Produkt den Bedürfnissen der Benutzer entspricht und in der Lage ist, die festgelegten Geschäftsziele zu erreichen.
Die Systemanalyse setzt sich aus mehreren Teilaufgaben zusammen, die zusammenwirken, um ein vollständiges Bild des zu entwickelnden oder zu verbessernden Systems zu erhalten:
Bedarfsermittlung: Identifikation und Priorisierung der Anforderungen der Stakeholder, um die Ziele und den Umfang des Projekts zu definieren.
Ist-Analyse: Untersuchung des aktuellen Systems (falls vorhanden) zur Identifizierung von Stärken, Schwächen und Verbesserungspotenzialen. Dies umfasst die Bewertung der vorhandenen Infrastruktur, Software, Arbeitsabläufe und Daten.
Soll-Konzept: Entwicklung eines Zielmodells des Systems, das auf den ermittelten Anforderungen und der Ist-Analyse basiert. Dies beinhaltet die Definition der Systemarchitektur, Technologieauswahl und die Planung von Systemfunktionen.
Feasibility-Studie (Machbarkeitsstudie): Bewertung der technischen, wirtschaftlichen und rechtlichen Machbarkeit des Soll-Konzepts. Dazu gehört die Analyse von Risiken, Kosten, Zeitrahmen und Ressourcenbedarf.
Anforderungsspezifikation: Detaillierte Beschreibung der Systemanforderungen, inklusive funktionaler und nicht-funktionaler Anforderungen. Dies dient als Grundlage für die Systementwicklung und -testung.
Modellierung: Entwicklung von Modellen, wie z.B. Datenflussdiagrammen oder UML-Diagrammen, um die Anforderungen und das Design des Systems visuell darzustellen.
Die Systemanalyse ist ein iterativer Prozess, der Anpassungen und Verfeinerungen erfordert, um den sich ändernden Anforderungen und Rahmenbedingungen gerecht zu werden. Durch die gründliche Ausführung dieser Teilaufgaben wird die Wahrscheinlichkeit erhöht, dass das entwickelte System den Anforderungen entspricht und erfolgreich implementiert werden kann.
Die Bedarfsermittlung ist ein zentraler Bestandteil der Systemanalyse, bei dem die Anforderungen der Stakeholder identifiziert und priorisiert werden, um die Ziele und den Umfang des Projekts klar zu definieren. Dieser Prozess ist entscheidend, um sicherzustellen, dass das zu entwickelnde System oder die Lösung den tatsächlichen Bedürfnissen der Nutzer entspricht und einen Mehrwert für die Organisation bietet.
Die Identifikation der Anforderungen beginnt mit der umfassenden Sammlung aller Bedürfnisse, Wünsche und Erwartungen der Stakeholder bezüglich des neuen Systems. Stakeholder können dabei interne und externe Personen oder Gruppen sein, die direkt oder indirekt von dem Projekt betroffen sind, wie z.B. Endnutzer, Kunden, Projektmanager, IT-Personal und andere relevante Parteien. Methoden zur Sammlung dieser Informationen können Interviews, Umfragen, Workshops und Beobachtungen umfassen.
Schritte der Identifikation:
Nach der Sammlung der Anforderungen ist es notwendig, diese zu analysieren und zu priorisieren. Nicht alle gesammelten Anforderungen haben die gleiche Wichtigkeit oder sind unmittelbar umsetzbar. Die Priorisierung hilft dabei, den Fokus auf die kritischen Anforderungen zu legen, die für den Erfolg des Projekts entscheidend sind.
Methoden der Priorisierung:
Die klar definierten und priorisierten Anforderungen bilden die Grundlage für die Festlegung der Projektziele und den Umfang des Systems. Diese Phase umfasst die Festlegung dessen, was das Projekt erreichen soll (Ziele) und welche Funktionen und Prozesse das endgültige System umfassen wird (Umfang).
Schritte zur Definition:
Die Bedarfsermittlung ist ein kritischer Schritt innerhalb der Systemanalyse, der die Weichen für den Erfolg des Projekts stellt. Durch eine gründliche Identifikation und Priorisierung der Anforderungen können Teams sicherstellen, dass sie ein System entwickeln, das den Bedürfnissen der Stakeholder gerecht wird und die festgelegten Ziele erreicht.
Die Ist-Analyse ist ein wesentlicher Schritt in der Phase der Systemanalyse, der sich auf die gründliche Untersuchung des bestehenden Systems konzentriert, sofern eines vorhanden ist. Ziel ist es, ein tiefgreifendes Verständnis für die aktuellen Prozesse, die verwendete Technologie, die Infrastruktur und die Datenflüsse zu gewinnen. Dies ermöglicht es, Stärken, Schwächen und Verbesserungspotenziale zu identifizieren, die als Grundlage für die Entwicklung oder Verbesserung des neuen Systems dienen.
Die Untersuchung der bestehenden IT-Infrastruktur umfasst Hardware, Netzwerke, Server und Sicherheitssysteme. Dabei wird bewertet, inwiefern diese Komponenten den aktuellen Anforderungen gerecht werden und welche Limitationen vorliegen.
Zu berücksichtigende Aspekte:
Die Analyse der eingesetzten Softwarelösungen beinhaltet die Bewertung von Betriebssystemen, Anwendungen und Datenbankmanagementsystemen. Ziel ist es, die Eignung der Software für die Unterstützung der Geschäftsprozesse zu bestimmen.
Zu berücksichtigende Aspekte:
Die Analyse der Arbeitsabläufe und Prozesse ist entscheidend, um Effizienz und potenzielle Engpässe im aktuellen System zu identifizieren. Dies umfasst die Untersuchung, wie Aufgaben ausgeführt werden, welche Abteilungen beteiligt sind und wie Informationen zwischen den Prozessschritten fließen.
Zu berücksichtigende Aspekte:
Die Überprüfung der Daten umfasst die Analyse der Datenspeicherung, -verarbeitung und -nutzung. Es wird bewertet, wie Daten gesammelt, gespeichert, verarbeitet und genutzt werden, um Geschäftsentscheidungen zu treffen.
Zu berücksichtigende Aspekte:
Die Ist-Analyse liefert wertvolle Einblicke in das bestehende System und ist grundlegend für die Identifizierung von Verbesserungspotenzialen. Durch die detaillierte Untersuchung der Infrastruktur, Software, Arbeitsabläufe und Daten können Schwachstellen erkannt und adressiert werden, um die Basis für die Entwicklung eines verbesserten oder neuen Systems zu schaffen.
Nach der sorgfältigen Durchführung der Ist-Analyse und der Ermittlung der Anforderungen schließt sich die Entwicklung des Soll-Konzepts an. Das Soll-Konzept beschreibt ein Zielmodell des zu entwickelnden oder zu verbessernden Systems. Es basiert auf den zuvor identifizierten Anforderungen und den Erkenntnissen aus der Ist-Analyse. Ziel ist es, ein detailliertes Bild des angestrebten Endzustands zu skizzieren, einschließlich der Systemarchitektur, der Technologieauswahl und der geplanten Systemfunktionen.
Die Systemarchitektur umfasst die strukturelle Gestaltung des Systems, einschließlich seiner Hauptkomponenten und deren Interaktion. Sie dient als Blaupause für die Entwicklung und Implementierung.
Zu berücksichtigende Aspekte:
Die Auswahl der Technologien ist ein kritischer Schritt, der die Leistungsfähigkeit, Flexibilität und Zukunftsfähigkeit des Systems maßgeblich beeinflusst.
Zu berücksichtigende Aspekte:
Die Planung der Systemfunktionen basiert auf den gesammelten Anforderungen und zielt darauf ab, die Funktionalität des Systems detailliert zu beschreiben.
Zu berücksichtigende Aspekte:
Das Soll-Konzept stellt einen umfassenden Plan für das zukünftige System dar und bildet die Grundlage für die nachfolgenden Phasen der Systementwicklung. Durch die detaillierte Ausarbeitung der Systemarchitektur, der sorgfältigen Auswahl der Technologien und der präzisen Planung der Systemfunktionen wird sichergestellt, dass das Endprodukt den Anforderungen der Stakeholder entspricht und einen echten Mehrwert bietet.
Die Feasibility-Studie, auch Machbarkeitsstudie genannt, ist ein entscheidender Schritt nach der Entwicklung des Soll-Konzepts. Sie dient dazu, die technische, wirtschaftliche und rechtliche Machbarkeit des geplanten Systems umfassend zu bewerten. Ziel ist es, sicherzustellen, dass das Projekt realisierbar ist, bevor umfangreiche Ressourcen für die Entwicklung bereitgestellt werden. Die Studie umfasst die Analyse von Risiken, Kosten, Zeitrahmen und Ressourcenbedarf.
Die technische Machbarkeit konzentriert sich auf die Bewertung, ob die geplante technische Lösung mit den vorhandenen Technologien und Ressourcen realisiert werden kann.
Zu berücksichtigende Aspekte:
Die wirtschaftliche Machbarkeit beurteilt, ob das Projekt aus finanzieller Sicht sinnvoll ist und einen positiven Return on Investment (ROI) erwarten lässt.
Zu berücksichtigende Aspekte:
Die rechtliche Machbarkeit prüft, ob das Projekt alle relevanten gesetzlichen und regulatorischen Anforderungen erfüllt.
Zu berücksichtigende Aspekte:
Die Risikoanalyse identifiziert potenzielle Hindernisse und Herausforderungen, die das Projekt gefährden könnten, und schlägt Maßnahmen zur Risikominderung vor.
Zu berücksichtigende Aspekte:
Die Feasibility-Studie ist ein umfassender Prozess, der entscheidend für die Validierung des Soll-Konzepts ist. Durch die gründliche Bewertung der Machbarkeit in technischer, wirtschaftlicher und rechtlicher Hinsicht sowie die sorgfältige Risikoanalyse können Entscheidungsträger fundierte Entscheidungen treffen und das Projekt mit größerer Sicherheit vorantreiben.
Die Anforderungsspezifikation ist ein kritischer Schritt in der Systementwicklung, der eine detaillierte und präzise Beschreibung aller Systemanforderungen umfasst. Sie dient als zentrale Grundlage für die Entwicklung, das Design und die Testung des Systems. Eine gut definierte Anforderungsspezifikation stellt sicher, dass alle Projektbeteiligten ein einheitliches Verständnis der Ziele und Erwartungen haben und reduziert das Risiko von Missverständnissen und Fehlentwicklungen.
Funktionale Anforderungen beschreiben die spezifischen Funktionen und Verhaltensweisen, die das System ausführen soll. Sie definieren, was das System tun muss, um die Bedürfnisse der Benutzer und Stakeholder zu erfüllen.
Beispiele für funktionale Anforderungen:
Nicht-funktionale Anforderungen spezifizieren Kriterien, die verwendet werden können, um die Operation des Systems zu bewerten, aber nicht dessen spezifisches Verhalten. Sie beziehen sich auf die Qualität und die Rahmenbedingungen des Systems.
Beispiele für nicht-funktionale Anforderungen:
Die Erstellung der Anforderungsspezifikation umfasst mehrere Schritte:
Die Anforderungsspezifikation ist ein wesentliches Dokument, das als verbindliche Vereinbarung zwischen allen Projektbeteiligten dient. Sie legt die Grundlage für die nachfolgenden Phasen der Systementwicklung und -testung fest und ist entscheidend für die erfolgreiche Realisierung des Projekts. Durch die sorgfältige Definition und Dokumentation der Anforderungen können Entwickler und Tester ihre Arbeit effektiv ausrichten und ein System liefern, das den Erwartungen entspricht.
Die Modellierung dient dazu die Anforderungen und das Design des Systems visuell darzustellen. Durch den Einsatz von Modellen wie Datenflussdiagrammen, UML-Diagrammen und anderen grafischen Werkzeugen können komplexe Systemstrukturen, Prozesse und Interaktionen verständlich gemacht werden. Diese visuelle Darstellung erleichtert die Kommunikation zwischen den Projektbeteiligten, unterstützt die Analyse und das Design des Systems und dient als Grundlage für die weitere Entwicklung und Testung.
Datenflussdiagramme visualisieren den Fluss von Informationen durch das System. Sie zeigen, wie Daten zwischen Prozessen, Datenspeichern und externen Entitäten bewegt werden.
UML ist eine standardisierte Modellierungssprache, die eine Reihe von Diagrammtypen bietet, um verschiedene Aspekte eines Systems darzustellen:
Die Modellierung ist ein unverzichtbarer Schritt in der Systementwicklung, der nicht nur die Planung und Analyse erleichtert, sondern auch eine solide Grundlage für die Implementierung und Testung des Systems bildet. Durch die visuelle Darstellung der Anforderungen und des Systemdesigns tragen Modelle entscheidend zum Erfolg des Entwicklungsprozesses bei.
Nachdem Sie die Anforderungen für die Entwicklung einer Website für Bürgeranfragen gesammelt und spezifiziert haben, sollen Sie nun eine vereinfachte Systemanalyse durchführen. Das Ziel ist es, ein grundlegendes Verständnis für die Systemarchitektur und die notwendigen Technologien zu entwickeln, die für die Implementierung des Projekts erforderlich sind.
Diese Aufgabe ist so gestaltet, dass sie praktische Einblicke in die Systemanalyse bietet, ohne dass tiefergehende technische Details oder eine vollständige Implementierung erforderlich sind. Sie baut auf den Ergebnissen der Anforderungsanalyse auf und erweitert das Verständnis der Teilnehmer für die nächsten Schritte in der Systementwicklung.
Systemarchitektur-Skizze:
UML-Anwendungsfalldiagramm:
Die Gruppe präsentiert die Skizze der Systemarchitektur, erläutert die Auswahl der Technologien und zeigt das erstellte UML-Anwendungsfalldiagramm. Die Präsentation sollte die Entscheidungsgründe für die Technologieauswahl und die Bedeutung der verschiedenen Anwendungsfälle im Diagramm hervorheben.
Diese Musterlösung dient als Orientierung für die Teilnehmer, wie sie die Aufgabe der Systemanalyse strukturiert angehen können. Es ist wichtig, dass die Teilnehmer verstehen, dass diese Lösung nur ein Beispiel ist und ihre eigene Analyse auf den spezifischen Anforderungen und Gegebenheiten ihres Projekts basieren sollte.