Praktikum aus Software Engineering

339.002 Mössenböck + Assistenten Vorbesprechung am 9.3.2009, 15:15, HF9905

Ziele

Ziel dieses Praktikums ist es, ein größeres Softwareprojekt während eines Semesters eigenständig zu bearbeiten und durch alle Phasen (Anforderungserhebung, Entwurf, Implementierung, Test, Dokumentation) zu begleiten. Das Projekt sollte in Teams zu jeweils 2 Personen bearbeitet werden und ist am Ende des Semesters in einem Vortrag zu präsentieren.

Bereits vergebene Themen

  • Command Line Interpreter für Plux.NET
    Rainer Pichler, Mario Mlinaric
    Ein Befehlszeileninterpreter (engl. command line interpreter - CLI) liest Texteingaben von einer Befehlszeile (Konsole), interpretiert diesen Text und führt in als Befehl aus. In dieser Arbeit soll ein CLI für die Plugin-Plattform Plux.NET (http://ase.jku.at/plux) entwickelt werden.
    Plux.NET Plugins haben Stecker (Plugs) die in Steckplätze (Slots) anderer Plugins eingesteckt werden. Die Laufzeitumgebung von Plux.NET setzt aus einem Vorrat von Plugins durch Zusammenstecken von Slots und Plugs Programme zusammen. Plux.NET Programme lassen sich auch während sie laufen umkonfigurieren, indem Plugins an-, ab- oder umgesteckt werden. Das CLI soll diese Komposition steuern. Typische Befehle wären etwa "list plugs (Name=='Startup') um alle Stecker für einen Steckplatz anzuzeigen, "plug extension x into slot y" um ein Plugin einzustecken, oder "close slot x" um einen Steckplatz zu schließen. Das CLI soll Befehle entweder interaktiv oder aus Skripten ausführen.
    Im Rahmen des Praktikums sollen der Interpreter und das Konsolenprogramm mit C# und Windows Forms 2.0 entwickelt werden. Für die ersten Experimente in der Einarbeitungsphase steht ein umfangreicher Prototyp des CLI zur Verfügung.
    Betreuer: Mag. Wolfinger

  • Verwaltung der SSW-Institutsbibliothek mittels RFID-Chips
    Reinhard Umgeher, Franz Rechberger
    Florian Hirschbichler, Gregor Auer
    Mit diesem Projekt soll die Inventur unserer Bibliothek vereinfacht werden. Derzeit prüft der Benutzer mit einer Buchliste ob alle Bücher vorhanden sind und an der richtigen Stelle stehen. Dieser Ablauf soll mit RFIDs vereinfacht werden. Folgende Aufgaben sind zu erledigen:
    - Testen verschiedener RFID-Etiketten
    - Entwickeln der Client-Software (Auslesen der RFIDs)
    - Erweitern der vorhanden Server-Software (Speichern der RFID)
    Betreuer: DI Löberbauer

  • Komponenten für die Prozeßvisualisierung in JavaFX und Microsoft WPF/Silverlight
    Andreas Hackl, Gerald Paintner
    JavaFX ist eine neue Produktfamilie von Sun Microsystems. JavaFX basiert auf der Java-Platform und soll die Realisierung von Rich Internet Applications unterstützten. Mit WPF/Silverlight verfolgt Microsoft ähnliche Ziele. Obwohl technologisch sehr unterschiedlich kann man bei beiden ähnliche Ideen und Konzepte finden.
    In diesem Projekt soll anhand einer Aufgabenstellung die beiden Technologien evaluiert und verglichen werden. Aufgabenstellung ist dabei die Realisierung eines Frameworks und einer Komponentenbibliothek für Prozeßvisualisierungen, ein Anwendungsgebiet für das beide Technologien gut geeignete Konzepte bieten.
    Betreuer: Dr. Prähofer

Noch offene Themen

  • Ein Source Code Profiler für C# 3.0
    Im Rahmen einer Diplomarbeit (Klaus Lehner) wurde 2004 am SSW ein Profiler namens ProfIT für C# 1.0 entwickelt (siehe Homepage von ProfIT). ProfIT instrumentiert Quellcode, indem er an gewissen Stellen Zähler einfügt, die zur Laufzeit erhöht und durch einen separaten Prozess ausgewertet werden. Auf diese Weise kann man die Ausführungshäufigkeiten aller Anweisungen des instrumentierten Programms mit Hilfe einer interaktiven Benutzeroberfläche erkunden, was für die Fehlersuche und Optimierung von Programmen äußerst nützlich ist.
    Im Rahmen des Praktikums aus Software Engineering soll ProfIT auf C# 3.0 angepasst und unter .NET 3.5 zum Laufen gebracht werden. Zur Instrumentierung soll der Compilergenerator Coco/R verwendet werden (eine Grammatik für C# 3.0 liegt vor). Für die grafische Oberfläche wurden eigene User Controls verwendet, die eventuell gegen aktuelle Controls von .NET 3.5 ausgetauscht werden sollen.
    Die Arbeit ist idealerweise für ein Team von 2 Personen gedacht, kann aber auch von einer einzelnen Person gewählt werden. Betreuer: Prof. Mössenböck

  • Visual Studio Integration für Plux.NET
    Plux.NET ist eine Plugin-Platform für Microsoft .NET (http://ase.jku.at/plux). Das Entwickeln von Plux.NET Programmen mit Visual Studio soll durch integrierte Werkzeuge komfortabler gemacht werden. Plux.NET setzt Programme aus Plugins und Extensions zusammen. Extensions bieten selbst Funktionalität über Stecker (Plugs) an oder binden andere Extensions über Steckplätze (Slots) ein. Die Laufzeitumgebung von Plux.NET setzt Programme zusammen, indem sie Plugs in Slots einsteckt.
    Zur komfortablen Entwicklung von Plux.NET Plugins sollen vier in Visual Studio integrierte Werkzeuge entwickelt werden: (i) Projektvorlagen für Plugin- und Contract-Assemblies, (ii) ein Browser zum Anzeigen und Suchen aller Extensions und Slots in einem Plugin-Repository, (iii) einen Generator der für Extensions, Slots oder Plugs ein Grundgerüst erzeugt, und (iv) ein in MSBuild integriertes Analysewerkzeug das prüft ob die spezifzierten Plugs den Anforderungen der zugehörigen Slots entsprechen.
    Im Rahmen des Praktikums sollen die vier genannten Werkzeuge mit C# 2.0 für Visual Studio 2005 und 2008 entwickelt werden.
    Betreuer: Mag. Wolfinger

  • Realisierung eines Modellierungssystems mit Visual Studio DSL Tools
    Die DSL Tools von MS Visual Studio bieten eine Werkzeugkette für die Entwicklung von domänenspezifischen Modellierungssprachen. Im Zuge dieses Projektes soll diese Werkzeugkette verwendet werden, um einen Prototypen einer komponentenbasierten Modellierungssprache zu realisieren. Der Prototyp soll enthalten:
    - Die Definition der Modellierungssprache
    - Die Realisierung eines graphischen Konfigurationssystems
    - Die Codegenierung
    Beachten Sie bitte, dass es zu diesem Thema im SS'09 eine Lehrveranstaltung am SSW gibt: Design and Implementation of Domain-specific Languages.
    Betreuer: Dr. Prähofer

  • JavaFX und NetBeans
    JavaFX ist eine neue Produktfamilie von Sun Microsystems. JavaFX basiert auf der Java-Platform und soll die Realisierung von Rich Internet Applications unterstützten. NetBeans ist eine Java Entwicklungsumgebung. Die NetBeans Visual Library ist eine Java Bibliothek, die insbesonders für die Darstellung von Graphen geeignet ist.
    In diesem Projekt sollen die Möglichkeiten der Integration von JavaFX in einer NetBeans Anwendung getestet werden. Aufgabenstellung ist dabei die Realisierung eines Frameworks, das es erleichtert eine JavaFX-Anwendung in NetBeans einzubinden. Zusätzlich soll JavaFX mit der NetBeans Visual Library verglichen werden, sowie Möglichkeiten gesucht werden, bestehende Funktionalität der NetBeans Visual Library nach JavaFX zu portieren. Als Demonstrationsbeispiel sollte eine solche Portierung für die Graph-Anzeige des Analyse-Werkzeugs IdealGraphVisualizer durchgeführt werden.
    Betreuer: DI Würthinger

Falls Sie an einem der noch offenen Themen interessiert sind, setzen Sie sich bitte möglichst bald mit Prof. Mössenböck in Verbindung. Ideal wäre es, wenn Sie auch bereits einen Teampartner (eine Teampartnerin) mitbringen.

Benotung

Die Note wird aus der Qualität der erstellten Software (Benutzerfreundlichkeit, Robustheit, Klarheit der Architektur, Klarheit des Programmierstils, Dokumentation) ermittelt. Am Semesterende ist das Ergebnis in einem kurzen Vortrag zu präsentieren. Der Vortrag sowie der persönliche Einsatz während des Projekts fließen auch in die Note ein.

Abschlussvortrag

Termin:
Raum: