Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur
Prozessorientierte Software-Entwicklung
Hoher „Bildungswert“ (Vermittlung von Kernkompetenzen):
• Technologien im Team gestalten
• Systematische Projektarbeit („Ingenieursarbeit“)
• Authentische Anwendung von Modellierungsmethoden
Unterrichtsthema „Software-Entwicklung“
20.05.2015 2 Dr. Hanno Schauer
Herausforderungen in Praxis und Unterricht
1. Software-Entwicklung:
„Ein Schüler benötigt 45 Minuten, um eine Ampelschaltung zu programmieren. Wie lange benötigen 100 Schüler, um das Verkehrsleitsystem einer Stadt mit 80 Ampeln zu planen und zu implementieren?“
Eine „Kapitänsaufgabe“ als Problemaufriss
20.05.2015 4 Dr. Hanno Schauer
Große Projekte erfordern ein anderes Vorgehen zur Planung und Durchführung als kleine. !
Herausforderungen:
• Softwareprojekte betreffen die IT und die (Anwendungs-) Domäne
• Beteiligte mit unterschiedlichem Hintergrund: Auftraggeber, Anwender, Entwickler, …
(Zentrale) Erfolgsfaktoren:
• sorgfältige Analyse des Problemgegenstands
• methodengestützte Softwareplanung
• dediziertes Projektmanagement
Große Softwareprojekte
20.05.2015 5 Dr. Hanno Schauer
Das Programmieren von Software wird in der Praxis häufig nicht als Herausforderung begriffen.
!
• Komplexität realer Projekte erlebbar machen
• Betonung früher Phasen (Analyse + Entwurf)
• Überforderung von Schüler(inne)n vorbauen (insb. bei Schwächen in Programmierung)
• Zeitliches „Zerfransen“ der Reihe vermeiden
Herausforderungen für den Unterricht:
20.05.2015 6 Dr. Hanno Schauer Es bedarf wohl überlegter Unterrichtskonzepte … !
Prozessorientierte Software-Entwicklung an einem Beispiel
2. Fallstudie „Häck-Eck“ (Ausschnitt)
Der Computerladen „Häck-Eck“ vertreibt u. a. kundenspezifisch konfigurierte Computersysteme über zwei Ladengeschäfte und einen Online-Shop.
Seit der Vergrößerung der Belegschaft (auf 20 Personen) häufen sich Reklamationen bezüglich zu langer Lieferzeiten und Falschlieferungen bei konfigurierten Systemen.
Fallstudie „Häck-Eck“: Ausgangssituation:
20.05.2015 8 Dr. Hanno Schauer
Der Geschäftsführer bittet die Computer-AG des örtlichen Gymnasiums um Hilfe. !
Die Computer AG modelliert den Geschäfts-Prozess der Bestellabwicklung als BPMN …
!
Ist-Prozess (in BPMN) „Bestellabwicklung konfigurierter PC“
20.05.2015 9 Dr. Hanno Schauer
Prozessmodelle sind für Nicht-Informatiker intuitiv verständlich: Kommunikationsinstrument. !
Prozessmodellierungssprache Business Process Modelling Notation (BPMN)
20.05.2015 10 Dr. Hanno Schauer
Gateway (Verzweigung)
Kontrollfluss
Aktivität / Aufgabe
Ereignis
„Sprechende“ Piktogramme (z.B. händischer Prozess)
Prozessmodellierungssprache Business Process Modelling Notation (BPMN)
20.05.2015 11 Dr. Hanno Schauer
Gateway (Verzweigung)
Kontrollfluss
Aktivität / Aufgabe
Ereignis
„Sprechende“ Piktogramme (z.B. händischer Prozess)
Was unterscheidet die BPMN von Ablauf- oder Interaktionsbeschreibungssprachen der Informatik?
?
Modellierung automatisierter und menschlicher Tätigkeiten
Möglichkeit, unscharf bzw. unvollständig zu modellieren
!
… zurück zu unserem Beispiel …
Analyse-Phase: Analyse des Ist-Prozesses
20.05.2015 12 Dr. Hanno Schauer
Viele händische Tätigkeiten
Papiergebundene Datenhaltung und
-übermittlung
Keine Information über Teileverfügbarkeit.
Fertigungsplanung erst bei Teileverfügbarkeit
Lieferzeiten können nicht zugesagt werden
Die „Produktidee“
20.05.2015 13 Dr. Hanno Schauer Was bedeutet dies für die Organisation „Häck-Eck“? ?
Software verändert die Domäne, in der sie eingesetzt wird.
Bspw. im betrieblichen Umfeld:
• Arbeitsabläufe und (Geschäfts-) prozesse
• Anzahl Arbeitskräfte
• Benötigte Fertigkeiten und Fähigkeiten der Mitarbeiter
• Neu- / andersartige Dienstleistungen und Produkte
• Sogar: Neue Branchen
Technologiefolgen
20.05.2015 14 Dr. Hanno Schauer
Technologiefolgen müssen (mit-) geplant werden. !
Entwurfs-Phase 1 – Prozessorganisation: Reorganisierter (Geschäfts-) Prozess
20.05.2015 15 Dr. Hanno Schauer
Es gibt viele denkbare Lösungen! (Tipp: Schülerlösungen „diskursiv“ vergleichen!)
!
Entwurfs-Phase 2 – Domänenmodell: BPMN erweitert um ein Klassendiagramm
20.05.2015 Dr. Hanno Schauer 16
Benötigte Informationen (i. W. Attribute) und Services
(Methoden) ableiten:
Entwurfs-Phase 2 – Implementierungsmodell:
20.05.2015 17 Dr. Hanno Schauer Ergänzung weiterer Konzepte (Klassen / Module), die für den Betrieb der Software notwendig sind.
Eine Software-Entwicklungsmethode für den Unterricht
3. ProKlaMation : Prozesse – Klassen – Automation
ProKlaMation: Modelle der Analyse- und Design-Phase
20.05.2015 19 Dr. Hanno Schauer
Modellgetriebene Softwareentwicklung Klar abgegrenzte Meilensteine
!
Tipp: „Debugging-Aufgaben“
• Zentrale Sichtweise in Technik und Organisation (Berufsleben)
• Fokus auf Analyse und Entwurf
• Gut verständlich (auch für Schüler(innen) mit Schwächen in der Programmierung)
• Alleinstellungsmerkmal der (Schul-) Informatik (Bildungskanon)
Fazit 1: Prozesse als Unterrichtsgegenstand
20.05.2015 20 Dr. Hanno Schauer
• Authentisch – Orientierung an Informatik-Praxis
– Prototypisch auch für Methoden anderer Ingenieursberufe
• „Gestaltungsorientiert“ – Planung und Modellierung im Vordergrund
– Explizite Berücksichtigung organisationaler Veränderungen
• Systematisch: Klar abgegrenzte Phasen und Meilenstein-Ergebnisse – Unterrichtsreihen gut strukturierbar
– Keine durchgängigen Beispiele erforderlich
Fazit 2: Die Methode „ProKlaMation“
20.05.2015 21 Dr. Hanno Schauer
Fragen? Vielen Dank!
Bildungsserver Rheinland-Pfalz
bildung-rp.de/
Suchbegriff: „Prozessorientierte Softwareentwicklung“
infodaktik.de (ab Herbst 2015)
Unterrichtsmaterialien
Modellierungswerkzeuge
• Microsoft Visio (BPMN,
Klassendiagramme)
• yEd (BPMN,
Klassendiagramme)
• Violet UML Editor (Klassendiagramme)
Modellierungswerkzeuge +Entwicklungsumgebung (nur Klassendiagramme)
• BlueJ
• JavaEditor
• AmaterasUML/Eclipse
Tools für Analyse und Design
20.05.2015 24 Dr. Hanno Schauer