Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses

Slides:



Advertisements
Ähnliche Präsentationen
Mikrocomputertechnik
Advertisements

Blue J.
Mediator Lehrgang zum Umgang mit dem Multimedia-Werkzeug Med8or 8.
Konzepte des Anfangsunterrichts Informatik in der 11.1
OStR Dipl. Ing. Carsten Kraft
Vorgehensmodell - Wasserfallmodell
Apache - PHP - MySQL Apache-PHP-MySQL.
Seminar Internet-Technologie (Skriptsprachen)
Einführung in die Programmierung Zusammenfassung
Seminar Stochastik im WS 02/03
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Vorstellung von PaderWAVE Generierung von Web-Anwendungen aus visuellen Spezifikationen, SS04 Projektgruppe der AG Kastens.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Gliederung des Inhalts
Java: Objektorientierte Programmierung
FOR Anweisung.
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
1. Übung ERP-Systeme Grundlagen und einfache ABAP-Programme.
Automatisches Testen und Bewerten von Java-Klassen
Ergänzung zur Bedeutung von SW-Engineering
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Marcus Haller & René Schulze
Struktogramme IF-ELSE FOR – Schleife
UML Begleitdokumentation des Projekts
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Objektorientierte Modellierung
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Datenbank.
Proseminar Programmiersprachen Python
Kommentierung & Dokumentation SE Programmierstil, Wind Markus, Überblick/Kommentierung Kommentierung Self-documenting code Arten von Kommentaren.
Strukturierter Entwurf (und Realisierung)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Phasen der Softwareentwicklung
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Wasserfallmodell und Einzelbegriffe
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Grundlagen - Computermodell
Grundlagen wissenschaftlichen Arbeitens
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Daten- und Ablaufmodellierung
J. Pichler Praktikum Software Engineering Werkzeug für Familien- und Stammbaumforschung Dienstag, 08:30 – 11:45, KHG02 Josef Pichler.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Auf ins Web!. Das World Wide Web 1990 in Genf am Hochenergieforschungszentrum CERN Ziele: neuer wissenschaftlicher Informationsaustausch über das Internet.
Software Engineering Grundlagen
SFZ FN Sj. 13/14 Python 2 Turtle Inf K1/2 Sj 13/14 GZG FN W.Seyboldt.
Testvorbereitungen, Unit Test
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Algorithmen und Datenstrukturen 1 SS 2002
LOW-COST 3D-Printer Rapid Prototyping.
PHP:: Hypertext Preprocessor Einführung Praxis. PHP:: Hypertext Preprocessor Jetzt mal von der anderen Seite © All rights reversed2 PHP:: Hypertext Preprocessor.
2 Grundlagen In diesem Abschnitt werden die Grundbegriffe und Methoden der Theorie der formalen Sprachen und der Automaten wiederholt, soweit diese ben.
Team 8 Eva Reinl, Markus Leimbach
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Modellierung: MATLAB – Simulink - Stateflow
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Modul Datenmodelle entwickeln
Objektorientierte (OO) Programmierung
Continuous Integration
Actionscript 3.0 Philipp Oberweger Erstellt von: Philipp Oberweger
Software-Entwicklung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
IK Entwicklung von Web- Anwendungen Kurt Rosivatz.
Excel-Tool: Beschwerdeanalyse  Folie 1 von Bitte Makros aktivieren Das Excel-Tool funktioniert nur mit eingeschalteten Makros. Eventuell erhalten.
Lukas Kerecz - Edits1 Edits Lukas Kerecz. Lukas Kerecz - Edits2 Gliederung  Einführung  Edits – warum und wofür?  Edits – Definiton  einleitende Beispiele.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
 Präsentation transkript:

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