Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad
Misc
Library
Seminars
Gallery
Links
Search
Webmaster
|
Übungsteil zu objektorientierten Programmiersprachen
Ziel
Sammeln von Erfahrungen mit einem rein objektorientierten Softwareentwicklungsstil.
Methode
Einarbeitung in Smalltalk als Beispiel für eine rein objektorientierte Sprache.
Aufgabe
Entwickeln Sie ein einfaches Zeichenprogramm für Linien.
Eine genaue Spezifikation der Aufgabe wird hier mit Absicht nicht angegeben. Es bleibt Ihnen überlassen, wie viel an Funktion Sie in das Programm aufnehmen. Ihre Lösung sollte aber zumindest die folgenden Funktionen aufweisen:
- In einem Fenster sollen mit der Maus (z.B. durch Klicken und Ziehen) Linien gezeichnet werden können.
- Neue Linien werden zur bisherigen Zeichnung hinzugefügt.
- Die jeweils letzte Linie soll mit einem Undo-Knopf entfernt werden können.
- Mit einem Clear-Knopf kann man die gesamte Zeichnung löschen.
Die grafische Darstellung muss nicht ästhetisch ansprechend sein oder eine besonders tolle und bequeme Benutzerschnittstelle aufweisen. Es reicht, wenn das Programm grundsätzlich funktioniert. Viel wichtiger im Sinne der Übung ist, dass Sie versuchen, die Aufgaben in einem typischen Smalltalk-Stil zu lösen. Sie sollten sich dabei mit den folgenden Themen auseinandersetzen:
- Implementieren eines Modells für die Linienzeichnung
- Anzeige der Linien
- Behandeln von Maus-Klicks
- Knöpfe zum Auslösen von Aktionen (Undo, Clear)
Entwicklungsumgebung
Squeak ist eine Open-Source-Smalltalk-Umgebung, die u.a. für Windows, Mac
und diverse Unix-Versionen zur Verfügung steht.
Nähere Informationen, Tutorials und Beispiele zu Squeak und Smalltalk finden Sie
auf der Dokumentationsseite von Squeak.org.
Erwartete Ergebnisse
Bei der Besprechung Ihrer Ergebnisse wird von Ihnen eine kritische Reflexion über Ihre Implementierung erwartet. Welche Spracheigenschaften von Smalltalk haben Sie besonders genutzt? Welche waren hilfreich, welche hinderlich bei der Entwicklung? In welchen Aspekten würde Ihre Lösung anders aussehen, wenn sie z.B. in Java entwickelt worden wäre?
Bei der Übungsbesprechung müssen Sie auch mit Fragen zu den Standardklassen von Smalltalk rechnen. Machen Sie sich daher während der Entwicklung mit den verfügbaren Klassen der Smalltalk-Klassenbibliothek vertraut. Sie sollten begründen können, warum Sie sich für oder gegen den Einsatz bestimmter Klassen entschieden haben.
Das Projekt ist am Ende des Semesters (18. Jänner 2012) persönlich abzugeben. Beginnen Sie mit dem Projekt jedoch nicht erst am Ende des Semesters, sondern betrachten Sie es als begleitende Übung während des Semesters.
Die Abgabe erfolgt im 10-Minuten-Takt im Zimmer HF 327 (Hochschulfonds-Gebäude, 3. Stock) nach der folgenden Einteilung:
| 08:30: Stephan Leitner |
| 08:40: Franz Markus Simader |
| 08:50: Martin Preinfalk |
| 09:00: Daniel Neidhart |
| 09:10: Daniela Lettner |
| 09:20: Johannes Pieringer |
| 09:30: Philipp Mitterer |
| 09:40: Christine Atzmüller |
| 09:50: -- |
| 10:00: Michael Jakubec |
| 10:10: Franz Schickermüller |
| 10:20: Martin Wolfmayr |
| 10:30: Daniel Müller |
| 10:40: Markus Riedl-Ehrenleitner |
| 10:50: Stefan Fischer |
| 11:00: -- |
| 11:10: Benedikt Aumayr |
| 11:20: Gerald Heilmann |
| 11:30: Christoph Wiesner |
| 11:40: Evelyn Nicole Haslinger |
| 11:50: Sebastian Schubert |
| 12:00: Alexander Ritt |
| 12:10: Stefan Neuhuber |
| 12:20: Sebastian Wilms |
| 12:30: Florian Angerer |
| 12:40: Andreas Greilinger |
| 12:50: Konstantin Bina |
| 13:00: Klaus Mayer |
| 13:10: Martin Lettner |
| 13:20: Johannes Zarl |
| 13:30: -- |
| 13:40: -- |
| 13:50: -- |
| 14:00: -- |
| 14:10: -- |
| 14:20: -- |
| 14:30: -- |
| 14:40: -- |
| 14:50: -- |
| 15:00: Florian Kölbleitner |
| 15:10: Seyed Omid Saberi Fathi |
| 15:20: Manuela Pollak |
| 15:30: Michael Herceg |
| 15:40: Mathias Pinecker |
| 15:50: Gregor Gaisbauer |
|