Systemanalyse
- Folien zur Vorlesung für AI/DM im Sommersemester 2004 -
Hans-Jürgen Steffens
(by courtesy of Prof. Dr. Thomas Allweyer)
Fachbereich Informatik und Mikrosystemtechnik
Fachhochschule Kaiserslautern, Standort Zweibrücken
Hans-Jürgen Steffens Systemanalyse SS 04 2
1. Vorlesung
Organisatorisches Warum Systemanalyse? Begriffe: System, Informationssystem, Modell Was ist Systemanalyse? Einordnung in den Software-Entwicklungsprozess Beteiligte und Ergebnisse der Systemanalyse
Hans-Jürgen Steffens Systemanalyse SS 04 3
Zur Person
Prof. Dr. Hans-Jürgen Steffens
• Lehrgebiet: Software-Engineering und Systemanalyse
• Büro: Gebäude H, Raum 234
• Telefon: (06332) 914 – 314
• E-Mail: [email protected]
• Homepage: www.informatik.fh-kl.de\~steffens
• Sprechstunde: Mittwochs Vormittag
Hans-Jürgen Steffens Systemanalyse SS 04 4
Organisatorisches
Systemanalyse:
• Vorlesung AI/DM2, SS 2004
• Seminar AI/DM3, WS 2004/2005 Schriftliche Klausur
• Im Anschluss an das Seminar (ca. Jan/Feb. 2005)
• Inhalte der Klausur:– Grundlagen (aus der Vorlesung)
– Angewandte Aufgaben (wie im Seminar)
Hans-Jürgen Steffens Systemanalyse SS 04 5
Organisatorisches: Seminar (Wintersemester)
Ablauf:• Mehrere Gruppen (ca. 20 Teilnehmer)
• Teams mit ca. 3-4 Mitgliedern führen selbstständig eine Systemanalyse zu vorgegebenem oder frei gewähltem Thema durch
• Zwischenergebnisse werden von jeder Gruppe im Seminar präsentiert und gemeinsam diskutiert
• Teilnahme ist Pflicht!
Benotung:• Ausarbeitungen der Teams
• Einzelnote für Vortrag
• Dies ergibt für jeden eine Vornote, die mit dem Ergebnis der Klausur zu einer Gesamtnote verrechnet wird
• Die Klausur muss aber in jedem Fall bestanden werden
Hinweise u. Themen aus vergangenem Wintersemester unter:www.informatik.fh-kl.de\~steffens
Hans-Jürgen Steffens Systemanalyse SS 04 6
Organisatorisches: Vorlesung
2 Semesterwochenstunden
• Termine: Donnerstag, 11.45-13.15 Uhr, Audimax Unterlagen:
• Folien werden als pdf-Dateien unter www.informatik.fh-kl.de\~steffens
bereitgestellt (in der Regel ein bis zwei Tage vor der jeweiligen Vorlesung)
• Sie dienen zur Unterstützung der Vorlesung– Enthalten nicht den vollständigen Vorlesungsinhalt,
z. T. werden sie in der Vorlesung ergänzt
Hans-Jürgen Steffens Systemanalyse SS 04 7
Organisatorisches: Vorlesung (2)
Ablauf der Vorlesungseinheiten:• Rekapitulation der vergangenen Stunde
– Incl. Klärung offener Fragen
• Neuer Stoff• Zusammenfassung
– Fragen, Diskussion Übungen:
• Keine gesonderte Veranstaltungen für Übungen (ausgen. Seminar)
• Z. T. werden Übungen in die Vorlesung eingebaut– Verständnis-/Wiederholungsfragen– Aufgaben zur Anwendung des behandelten Stoffs– Diese werden jeweils in der Stunde vorher ausgegeben– Bearbeitung zu Hause wird dringend empfohlen
(hohe Prüfungsrelevanz!)
Hans-Jürgen Steffens Systemanalyse SS 04 8
Hinweise
Stellen Sie Fragen!
• Frühzeitig, nicht bis vor der Klausur warten!
• Was Sie nicht verstanden haben, haben andere oft auch nicht verstanden. Ich erkläre es gerne noch einmal.
Versuchen Sie, „am Ball zu bleiben“
• Sie bekommen sonst Probleme im Seminar und vor der Klausur Ich stehe Ihnen gerne zur Verfügung
• Während der Vorlesung und im Anschluss
• In der Sprechstunde (es können auch gesonderte Termine vereinbart werden)
Anregungen, Kritik, Probleme ...
• ... bitte frühzeitig äußern!
• Ich werde versuchen, Ihre Wünsche bzgl. Inhalt und Ablauf – soweit möglich – zu berücksichtigen.
Hans-Jürgen Steffens Systemanalyse SS 04 9
Literatur
Balzert, Heide:
Lehrbuch der Objektmodellierung. Analyse und Entwurf.Spektrum Akademischer Verlag, Heidelberg, Berlin 1999.
Balzert, Helmut:
Lehrbuch der Software-Technik. Software-Entwicklung. 2. Auflage. Spektrum Akademischer Verlag, Heidelberg, Berlin 2000.
Oesterreich, Bernd:
Objektorientierte Softwareentwicklung. Analyse und Design mit der Unified Modeling Language. 5. Auflage.Oldenbourg Verlag, München 2001.
Fowler, Martin; Scott, Kendall:
UML konzentriert. Strukturierte Einführung in die Standard-Objektmodellierungssprache.2. Aktualisierte Auflage. Addison-Wesley, Bonn 2000.
Hans-Jürgen Steffens Systemanalyse SS 04 10
Gliederung der Vorlesung
1. Einführung SystemanalyseSystemanalyse – Was? Warum? Wozu?
2. Objektorientierte Systemanalyse mit UMLVorgehensweise? Methoden und Werkzeuge?
3. Anwendungsfälle (Use Cases)Wer soll was mit dem Informationssystem machen?
4. ObjektorientierungGrundlagen, Begriffe, Konzepte
5. Klassen und Class DiagramsStatische Struktur des Systems
6. Interaction DiagramsZusammenspiel der Objekte
7. Activity DiagramsAbläufe im System
8. Zusammenfassung und AusblickWas gibt es noch? Wie geht es weiter?
Beispiel-Anwendung:PraktischeUmsetzung
Hans-Jürgen Steffens Systemanalyse SS 04 11
Typische Probleme bei der Software-Entwicklung
Unklare Anforderungen Sich ändernde Anforderungen Komplexität Benutzerbedürfnisse nicht ausreichend berücksichtigt
Akzeptanzprobleme Mangelnde Kommunikation zwischen Anwendern und
Entwicklern Mangelnde Kommunikation innerhalb des Entwicklungsteams Qualitätsprobleme Probleme beim Einhalten von Kosten- und Terminzielen
Hans-Jürgen Steffens Systemanalyse SS 04 12
Gründe für Probleme bei der Software-Entwicklung
Mängel bei Projektplanung und –Management Ziele sind nicht klar Anforderungen sind nicht klar definiert Anwender und Entwickler sprechen verschiedene Sprachen Vermischung von Anforderungen und Lösung Vernachlässigung der Anforderungsanalyse zu Gunsten einer
schnellen Umsetzung
• Whiscy-Syndrom: „Why isn‘t Sam coding yet?“
Hans-Jürgen Steffens Systemanalyse SS 04 13
Notwendigkeit einer sorgfältigen Analyse
Herausfinden, was Auftraggeber und Anwender wirklich wollen Sicherstellen, dass Sachverhalte des Anwendungsbereichs
korrekt in die Software umgesetzt werden Probleme werden entdeckt, bevor das System realisiert ist Schaffung eines einheitlichen Verständnisses zwischen
Anwendern und Entwicklern sowie innerhalb des Entwicklungsteams
Beherrschung von Komplexität Anforderungen und Lösung sind klar voneinander getrennt Anforderungen sind klar definiert und dokumentiert
• Grundlage für Design, Implementierung und Test der Software Ermöglicht Priorisierung der Anforderungen und Entscheidung
über ihre Realisierung
Hans-Jürgen Steffens Systemanalyse SS 04 14
Ziel der Systemanalyse
Wünsche und Anforderungen eines Auftraggebers an ein neues Softwaresystem ermitteln und beschreiben
Hans-Jürgen Steffens Systemanalyse SS 04 15
System
System
Umwelt
System-grenze(Rand)
Elemente:-atomar-Subsystem
Schnittstellen
In-/Output:-materiell-Immateriell (Information)
Im Folgenden: Konzentration auf Informationssysteme
Hans-Jürgen Steffens Systemanalyse SS 04 16
Informationssystem
Informationssystem:
• Ein System, dessen Zweck die Beschaffung, Verarbeitung, Speicherung, Übertragung und Bereitstellung von Informationen ist.
• Umfasst Menschen, organisatorische Regelungen und technische Einrichtungen.
Computergestütztes Informationssystem (Anwendungssystem):
• Informationssystem, dessen Informationsverarbeitung teilweise durch Computersysteme automatisiert ist.
Computersystem:
• Besteht aus Anwendungssoftware, Systemsoftware und Hardware.
Hans-Jürgen Steffens Systemanalyse SS 04 17
Informationssystem
Hardware
Systemsoftware
Anwendungs-software
InformationssystemComputersystem
Basis-System
FokusderSystem-analyse
Hans-Jürgen Steffens Systemanalyse SS 04 18
Modell
Original-System Modell (-System)
Zweck
Abbildung
Hans-Jürgen Steffens Systemanalyse SS 04 19
Modell
Vereinfachte Abbildung eines komplexen Systems Je nach Zweck unterschiedliche Modelle
• Das Modell muss die für den Untersuchungszweck relevanten Merkmale des Originals beinhalten
Nutzen von Modellen:• Untersuchungen, die am Original nicht möglich wären• Reduktion von Komplexität
– Nicht relevante Sachverhalte werden weg gelassen
• Kostenersparnis• Modelle, von denen (noch) kein Original existiert
– Erkennen von Risiken– Untersuchung von Alternativen– Grundlage für die Erstellung eines Originals (Bauplan, Blaupause)
Im Folgenden:• Modelle von Informationssystemen
Hans-Jürgen Steffens Systemanalyse SS 04 20
Phasen eines Software-Projektes
Planung Analyse EntwurfImplemen-tierung
Abnahme und Ein-führung
Wartung und Pflege
Produktauswählen
Anforderun-gen grobdefinieren
Machbar-keit unter-suchen
Projekt planen
Projektkalkulieren
Anforde-rungenermitteln
FachlicheLösung modellieren
Software-architekturentwickeln
System-komponen-ten spezifi-zieren
Datenstruk-turen u. Al-gorithmen entwerfen
Programm-code erstel-len
Dokumen-tieren
Testen
Übergabe
Abnahme-test
Installation
Schulung
Inbetrieb-nahme
Fehlerbeheben
Leistungverbessern
Ände-rungen
Erwei-terungen
UnserThema!
Anmerkungen:
- Es gibt verschiedene Vorgehensmodelle- Die Phasen können auch mehrfach durchlaufen
werden- Mehr dazu in der Vorlesung Software-Engineering
Hans-Jürgen Steffens Systemanalyse SS 04 21
Analyse versus Entwurf
Alle Aspekte der Implementierung werden in der Analysephase ausgeklammert
• Es wird eine „perfekte Technik“ unterstellt – Keine Performance- oder Speicherbeschränkungen, keine
Verteilungsproblematik, ...
Klare Trennung zwischen den Anforderungen und ihrer Umsetzung
• Analyse: Nur die Anforderungen betrachtet (Was will der Benutzer/Auftraggeber tatsächlich?)
• Entwurf: Definition, wie die Anforderungen umgesetzt werden sollen
Hans-Jürgen Steffens Systemanalyse SS 04 22
Wer ist an der Analyse beteiligt?
Team aus:
• Systemanalytikern– Kennen die Analyse-Methoden
• Fachexperten– Kennen das Fachgebiet und dessen Regeln
• Zukünftige Benutzer– Kennen die Anforderungen aus Anwendersicht
– Können z. B. Prototypen ausprobieren
Hans-Jürgen Steffens Systemanalyse SS 04 23
Ergebnisse der Systemanalyse
Pflichtenheft
• Textuelle Beschreibung dessen, was das System zu leisten hat
• Grundlage für Modellbildung Analysemodell (Fachkonzept)
• Fachliche Beschreibung des zu realisierenden Systems
• I.d.R. Grafiken (Diagramme) und Text Prototyp der Benutzungsoberfläche
• Falls erforderlich / sinnvoll
Hans-Jürgen Steffens Systemanalyse SS 04 24
Eigenschaften des Analysemodells
Konsistent
• Das Modell muss allen Anforderungen der Ausgangssituation genügen
Vollständig
• Alle fachlichen Funktionen, Objekte, usw. müssen erfasst sein Eindeutig
• Es muss sich um klare Vorgaben für die Entwurfsphase handeln, die nicht verschieden ausgelegt werden können.
Realisierbar
• Das Modell muss in sich widerspruchsfrei sein
• Es muss sich prinzipiell mit heute vorhandener Technologie umsetzen lassen
• Wie diese Umsetzung geschieht, wird jedoch in dieser Phase noch nicht berücksichtigt
Hans-Jürgen Steffens Systemanalyse SS 04 25
Zusammenfassung
Ein Großteil der Probleme bei der Software-Entwicklung beruht darauf, dass die Anforderungen nicht sorgfältig analysiert wurden,
Systemanalyse ist daher eine wichtige Grundlage für die Software-Entwicklung
Sie stellt eine eigene Phase in gängigen Phasenmodellen der Software-Entwicklung dar
Analyse und Entwurfsphase sollten klar getrennt sein Ergebnisse der Systemanalyse, an der Systemanalytiker,
Fachexperten und künftige Benutzer beteiligt sein sollen, sind Pflichtenheft, Analysemodell und ggf. ein Oberflächen-Prototyp
Wichtige Begriffe: System, Informationssystem, Modell
Hans-Jürgen Steffens Systemanalyse SS 04 26
Übungsfragen
Was ist ein System? Welche Eigenschaften hat ein System? Was ist das Ziel der Systemanalyse? Wer sollte an der Systemanalyse beteiligt sein? Was ist ein Modell? Welche Phasen hat ein Software-Projekt? Was unterscheidet Analyse- und Entwurfsphase? In wiefern spielen konkrete Software-Architekturen und
Programmiersprachen eine Rolle in der Systemanalyse? Welche Ergebnisse erarbeitet man in der Systemanalyse? Welche Eigenschaften soll ein Analysemodell haben?