Ein Projekt zum Kennenlernen des Software-Engineering
Unterrichtsvoraussetzungen:
Die Schülerinnen kennen große Programmsysteme (nicht notwendig objektorientiert, aber besser ist es ...) und sie kennen Elemente von Bedienoberflächen, möglichst bereits GUI
Problemanalyse
Einstieg:
- Rollenspiel: Arzt als Auftraggeber, Gesprächsleiter, Expertenrunde
- Anforderungsdefinition entwerfen, ggf. Prüfen einer Vorlage [Spolwig 2002] auf Brauchbarkeit
- Bedienoberfläche skizzieren
Einschub:
- Grundzüge des Software-Engineering (SLC)
OOA
- Objekte und Methoden aus der Anforderungsdef. und der Bedienoberfläche ablesen, auflisten
- Gruppieren, zusammenfassen, ggf. Vergleich mit vorgegebenem Klassen-Diagrammentwurf; (Unterrichtsergebnis: OOA (pdf - 29 KB))
OOD
- Klassenhierarchie (pdf - 14 KB) vorlegen, unvollständig:
- Vergleich mit OOA-Diagramm, ggf. erst hier Zerlegungs- bzw. Gruppierungskriterien erkennen
- Beziehungen zwischen den Klassen bzw. Objekten formulieren (ugs.)
- Formgerechte Beziehungen herstellen (UML-Klassen-Hierarchie (pdf - 12 KB))
- Methoden analysieren:
- Fachkonzept-Methoden, Beispiel für die allgemeine Liste
- GUI-Methoden-Beispiel
- Beispielspezifikation vorlegen (z.B. Methode "Knopf_Liste_vor"):
- Aufbau einer Spezifikation kennenlernen
- weitere (GUI-Methoden-) Spezifikationen erstellen, z.B. arbeitsteilig
- Schnittstellen der Klassen formulieren: ... benutzt ...
- Vergleich von GUI-Methoden vs. Fachkonzeptmethoden, z.B. "Knopf_Liste_vor" vs. "Liste.Next"
- MVC-Prinzip erläutern, Konsequenzen
Implementierung Python
- Beispielimplementation vorlegen, z.B. "TZahl":
- Aufbau, Syntax
- eigene Klassen implementieren, z.B. "TAdresse", "TPerson" und "TPatient"
- Beispiel für die Spezifikation einer fertigen Patienten-Klasse
- Listenalgorithmen bzw. -implementierungen vorlegen:
- Spezifikation der fertigen Listen-Klasse
- Aufbau, Eigenschaften, Rückgabewert
- eigene weitere Listenmethoden: Algorithmus/Implementation
- Zusammenhang PatListe / Liste:
- Liste allgemein gültig?
- spezifische Ergänzungen für die PatListe
- Spezifikation der fertigen Patienten-Listen-Klasse
- Zusammenhang PatGUI, PatListe, TPatient:
- Steuerung im GUI
- Maskenaktualisierung
- M-VC-Schnittstelle
- ist das GUI vom Fachkonzept unabhängig implementierbar?
- Klassentestmethoden:
- Beispieltestprogramme vorlegen, z.B. test_adresse, test0_person:
- Tests unabhängig von anderen Modulen planen
- Testumgebung gestalten, Testwerte, Test
- Service:
- Eine Beispielimplementation des Fachkonzepts als ZIP
- Ein Blick auf das GUI (neuestes Beispiel) gewünscht?
- Damit das funktioniert, benötigt man allerdings auch das GUI-Modul tkmodule
- Wenn Sie ein paar Übungsaufgaben bearbeiten möchten ...
Redaktionell verantwortlich: André Koch, LIBRA
Der Bildungsserver Berlin-Brandenburg ist ein Service des Landesinstituts Brandenburg für Schule und Lehrkräftebildung im Auftrag der Senatsverwaltung für Bildung, Jugend und Familie (Berlin) und des Ministeriums für Bildung, Jugend und Sport Land Brandenburg.
