Softwarepraktikum

SS98




  • Plenum
    Termin : DO 14-18
    Ort: HS
    Erster Termin : 16.04.
    Weitere Termine : n.V.
  • Praktikum A B C
    Termin : DO 14-18
    Ort: SR 039 / SR 044 / SR 051 / SR 053
    Beginn : 16.04.

Inhalt : Arbeitsteilige Entwicklung eines größeren Programmsystems. Die Veranstaltung dient der Vertiefung der in ALP I-III erworbenen Programmierkenntnisse. Sie führt in die Entwicklung größerer Programmsysteme ein und wird in Projektform durchgeführt. Das Praktikum findet in drei parallelen Gruppen statt.

Als Programmiersprache wird Java verwendet. Aufgabe wird die Implementierung eines Web-Browsers sein. Das heißt, es sollen Darstellen und Verwalten von HTML-Dokumenten programmiert werden.

Voraussetzung:
  • VL Algorithmen und Programmierung I-III
  • Gute Java-Kenntnisse :
    Der Besuch der Lehrveranstaltung "Java-Kurs" , einem zweiwöchigem Kurs vor Semesterbeginn, wird empfohlen.



Tutoren
Die Tutoren gehhören zur Gruppe swp .


Planung SWP

Im SWP werden Definitionsphase und Entwurfsphase im Rahmen von OOA&D miteinander verzahnt. Das Ergebnis wird im SWP als Entwurf bezeichnet.

Plenum Praktikum
16.04. Aufgabenstellung
Die Software-Engineering-Phasen
OOA&D mit UML Unified Modelling Language
23.04. Objektorientierung vs. Objektbasierung
Java vs. MODULA2
Analyse und Design
30.04. Das neue AWT-Event-Modell
Zeichnen mit AWT-Komponenten
07.05.
14.05. Markus Dahm :
Java-Entwicklung mit Emacs
21.05.
28.05. Präsentation der Entwürfe
Raum 005
04.06. Implemtierungsphase - Details Implementierung
11.06.
18.06.
25.06.
02.07.
09.07. Abnahme der Programme Nachbearbeitung
Gesamtdokumentation
16.07. Präsentation der Programme Nachbesprechung

Der SWP-Entwurf besteht aus : Alle verbalen Teile des Entwurfs werden als HTML-Dateien verfaßt und über das Netz veröffentlicht.

Anmerkungen zu den Terminen:
Am 21.05. fallen Plenum/Praktikum wegen Feiertag (Himmelfahrt) aus. Die Gruppen haben sich auf folgende Ersatztermine geeinigt : Am 28.05. ist der Hörsaal belegt. Das Plenum, also die Präsentation der Entwürfe, findet deshalb im Raum 005 statt. Das Plenum ist an diesem Tag öffentlich.

Scheinkriterien
Scheinkriterien sind aktive Teilnahme und Mitarbeit im Praktikum, insbesondere bei der Erstellung der folgenden Dokumente :

Programmiersprache Java

Voraussetzung für die Teilnahme am Softwarepraktikum sind gute Java-Kenntnisse. Der Besuch der Lehrveranstaltung Java-Kurs bei Sven Behnke und Bernhard Frötschl wird dringend empfohlen. Ein wichtiger Java-Link ist die Java-Home-Page.

Während der Implementierungsphase werden folgende Web-Dokumente zum Arbeiten benötigt: Die Schnittstellenbeschreibung wird von dem Tool javadoc unterstützt (siehe : Tools Reference Pages). Das Tool benötigt die Bilder in folgendem Verzeichnis:
/opt/htdocs/lehre/SS98/SWP/javadoc/images
Das javadoc-Tool erwartet diese Bilder in dem Verzeichnis der generierten HTML-Dateien in einem Unterverzeichnis images. Downloads : Weitere Java-Tutorials :

Programmbeispiele Java

Die wichtigsten Dokumente zum Arbeiten sind während der Implementierungsphase das API Package Index und das SUN Java Tutorial (s.o.).

Zur Ergänzung finden Sie in diesem Abschnitt Beispielprogramme zu verschiedener Funktionalität, die zur Implementierung des Web-Browser benötigt wird (URL/Bilder laden, Scrollpane, etc.).

Java Foundation Classes "Swing"

Zur Programmierung des GUI können optional die "Swing"-Klassen benutzt werden.

Links :

Arbeitsmaterial
Weiterführendes Material :
  • HTML-Kurzreferenz : ältere Fassung des HTML-Kompendiums (lokal) Browser-Testdaten :

    Testdaten für die Browser liegen in folgendem Verzeichnis :
    /home/jefe/draheim/public_html/TESTDATEN
    Das Ausgangsdokument ist die Seite test.html. Von dieser Seite aus können Testseiten zu den unterschiedlichen Features der Browser erreicht werden.
    Testdaten (DOWNLOAD)



    SWP-Parser

    Die Subsystem SWP-Parser besteht aus zwei Java-Packages :
    • package parser
    • package parsetree
    Dokumentation : Die Dokumentation liegt als Package-Index vor.

    Die Dokumentation der wichtigsten Klassen sind : Der aktuelle Byte-Code befindet sich in den Verzeichnissen:
    • ~draheim/SWP/classes/parser
    • ~draheim/SWP/classes/proto/parsetree
    Parser-Applikation : Sie können den Parser ausprobieren und Ihre Testdaten auf korrekte Syntax kontrollieren, indem Sie ~draheim/SWP/classes und ~draheim/SWP/classes/proto/ in Ihren Java-Klassenpfad aufnehmen (z.B. : setenv CLASSPATH /home/jefe/draheim/SWP/classes:$CLASSPATH ). Dann können Sie Parser.java im parser-package als Applikation nutzen, die einen Input-Stream als Eingabe erwartet, diesen als HTML-Text in einen Parsetree übersetzt und ausgibt:

    java parser.Parser < MEINETESTDATEN
    Eine Reihe von Testdaten finden Sie unter :
    /opt/htdocs/lehre/SS98/SWP/src/parser/TESTDATEN

    Fehler des Parsers teilen Sie mir bitte mit !

    Implementierungsphase : Während der Implementierungsphase werden Sie die parsetree-Klassen Ihrem Software-Entwurf entsprechend ändern und erweitern. Zu diesem Zweck gibt es die parsetree-Klassen als Download (Sie müssen dann ~draheim/SWP/classes/proto/ wieder aus Ihrem Klassenpfad entfernen).
    Bitte beachten Sie, daß der DOWNLOAD vor der Implementierungsphase noch aktualisiert wird. Wenn Sie am Source-Code interessiert sind, können Sie auch den ANSICHT-Link nutzen.

    Parse-Algorithmus:Der Parser übersetzt streng nur HTML-Dokumente, die genau der im SWP vereinbarten HTML-Teilsprache entsprechen. Damit auch andere Dokumente angesehen werden können, wird Ende des Semesters ein tolerierender Parser als Download zur Verfügung gestellt.

    Parser-Source-Code: Wenn Sie an der Implementierung des Parsers interessiert sind, nutzen Sie bitte folgende Links :
    Tolerierender Parser: Es gibt einen weiteren Parser, der "toleranter" ist. Zum Beispiel toleriert er HTML-Texte mit "fremden" HTML-Tags, beliebigen Sonderzeichen, andersartigen Grundgerüsten, "fremden" Attributen und Kommentaren. Der Parser liefert wie gewohnt den SWP-parsetree. Beide Parser implementieren dasselbe Interface ! Bitte nutzen Sie diesen Parser aus softwaretechnischen Gründen erst, wenn Ihr Browser mit dem "strengen" Parser ausgetestet ist.

    MoreParser-JJ-File(ANSICHT)

    Der Source-Code befindet sich mit dem anderen Parser zusammen im Package parser in folgendem Verzeichnis :

    /home/jefe/draheim/SWP/src/parser
    parser-Klassen (DOWNLOAD)



    Literatur

    Flanagan,D.:
    Java in a Nutshell : A Desktop Quick Reference, Second Edition,
    O'Reilly & Associates,1997

    Die folgende Literatur bildet "begrifflich" die Grundlage der Lehrveranstaltung. Als Lektüre ist sie als weiterführend zu betrachten !

    Helmut Balzert:
    Lehrbuch der Software-Technik : Software-Entwicklung
    Spektrum Akademischer Verlag, 1996

    Gamma,E.,Helm,R.,Johnson,R.,Vlissides,J.:
    Design Patterns : Elements of Reusable Object-Oriented Software
    Addison Wesley,1997

    Martin Flower:
    UML-Distilled : Applying the Standard Object Modelling Language
    Addison-Wesley


      Anmeldung
    Softwarepraktikum
    SS98
    Vorname:
    Nachname:
    e-mail:
    Matrikel-Nr.: Semesteranzahl:
    Anmeldung: Wenn Sie an der Lehrveranstaltung teilnehmen möchten, melden sie sich bitte an, indem Sie das Formular vollständig ausfüllen und abschicken.