Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Konzepte und praktische Arbeiten zur Diplomarbeit: „Eignet sich die Skriptsprache Python für schnelle Entwicklungen im Softwareentwicklungsprozess?“ Ingo Linkweiler, 26. Juni 2002
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Inhalt: 1.) Vorstellung praktischer Arbeiten: Struktogrammeditor „PyNassi“ Umsetzung der Einführung „Von Stiften & Mäusen“ 2.) Konzepte der geplanten Diplomarbeit: Python für schnelle Softwareentwicklung Einsatz in der Ausbildung
Projekt 1: Struktogrammeditor PyNassi Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Projekt 1: Struktogrammeditor PyNassi Pynassi ermöglicht... grafische Erstellung von Struktogrammen. (Nassi-Shneiderman) direkte Eingabe von Python-Anweisungen. Python-Quelltext aus dem Struktogramm erzeugen. den Ablauf am Struktogramm und Quelltext zu beobachten.
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Beispiel...[PyNassi.py]
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses 1.2 Von Stiften und Mäusen
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Von Stiften und Mäusen from sum import * # Objekte erzeugen bild = Bildschirm() stift = Stift(bild) # Mit Stift ein Diagramm zeichnen stift.bewegeBis(10,10) stift.schreibe("Funktionsplotter") stift.zeichneLinie(0,200, 639,200) stift.zeichneLinie(320,0, 320,399) for x in range(-20,20): stift.zeichneLinie( x*10+320,198, x*10+320,202) for y in range(-20,20): stift.zeichneLinie(318,y*10+200, 322,y*10+200) # Funktion einlesen print "Funktion eingeben:" funktion = raw_input("f(x)=") # Funktion zeichnen for x in range(-20, 20): y = eval(funktion) print "f(" , x, ")=" ,y stift.bewegeBis( x*10+320,200-y*10) stift.runter() bild.GibFrei()
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Von Stiften und Mäusen SuM erweitert um: Sprites Konzeptfehler gefunden: Beziehung zwischen Stift+Bildschirm hergestellt Beispiel: Funktionsplotter
Die Skriptsprache Python im Kontext Konzept der Diplomarbeit des Softwareentwicklungsprozesses Konzept der Diplomarbeit Ziel: Untersuchung der Programmiersprache Python auf Eignung für: Schnelle Softwareentwicklung (Rapid Prototyping) Einsatz als Programmiersprache in der Ausbildung
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Vorstellung von Python: Objektorientierte Skriptsprache Historische Einordnung Open Source Quellen: www.python.org
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Konzepte der schnellen Softwareentwicklung (Rapid) Prototyping Code & Fix Extreme Programming Pair Programming Eigenschaften von Skriptsprachen Interpreter Fehlertoleranz, einfacher Test Leicht erlernbar
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Zu untersuchen bezüglich schneller Softwareentwicklung Komplexität (weniger Code schnellere Entwicklung) ++ Portabilität ++ GUI-Entwurf ++ und Werkzeuge + Automatische Quelltexterzeugung + und Modellierungs-Werkzeuge + Syntax und Semantik ++ Wiederverwertbarkeit ++ Dokumentation ++ Softwaretest ++ Fehlersuche ++ Bibliotheken ++ Datenbanken + Besonderheiten (pickling)
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Beispiele aus der Syntax Viele interne Basisdatentypen: Listen, Tupel, Hashes liste=[1,2,3,4] print liste[2:4] Blockbildung durch Einrücken: gut lesbar, keine Anweisungen nötig if x<0: print “negativ“ else: print “positiv“ Standard-Parameter, offene und benannte Parameterlisten def erhoehe_um(a,b=1): return a+b Dynamische Typisierung, volle Polymorphie Integrierte Speicherverwaltung und Gargabe Collection , Keine Pointer Python.exe
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Python aus fachdidaktischer Sicht Ziel: Lernen der Modellierung und Problemlösung Paradigmen und Lösungsansätze: prozedural und obj.-orientiert ++, funktional +, logisch - Analyse der Lesbarkeit (statistisch, Umfragen) ++ Eingabewerkzeuge und integrierte Entwicklungsumgebungen ++ Verzicht auf Unnötiges ++ Orthogonalität: Frei von Widersprüchen + Konzepte und Lernziele (in Arbeit) Tutorials und Lernhilfen ++
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Einleitung Grundlagen Kriterien Analyse RP Analyse FD Praxis Python im praktischen Einsatz Umfrage & Statistik Meinungen von Entwicklern und Ausbildern, die Python einsetzen oder erproben: Überwiegend sehr positives Feedback Probleme allenfalls im Detail Fazit: Positiver Eindruck auch in der Praxis vielfach bestätigt Python ist gut lesbar und schnell erlernbar Bestens geeignet für schnelle Softwareentwicklung
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Umfrage: „Lesbarkeit“ des Quelltextes
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses Diskussion Ingo Linkweiler, i.linkweiler@gmx.de www.ingo-linkweiler.de/diplom