Aufgabenstellung
Ihre Aufgabe ist die Implementierung eines Rubik-Würfels für Smartphones. Der Rubik-Würfel ist ein in den 80er Jahren sehr populäres Denkspiel, für den es mittlerweile eine Reihe von Lösungsalgorithmen gibt, die auf der Gruppentheorie basieren. Ihr Programm soll einen Rubik-Würfel auf einem Handy simulieren und als Hilfestellung für den Spieler einen Lösungsalgorithmus Ihrer Wahl verwenden.
Ihre Anwendung soll in Java für die Android Platform (oder alternativ: für die Java Micro Edition JavaME) entwickelt werden. Für die Visualisierung des Rubik-Würfels kann z.B. das OpenGL ES API verwendet werden.
Sie werden dabei Ihr System nach dem Stand der Softwaretechnik in einem Team mit ca. 5 Teilnehmern entwerfen und realisieren. Dazu müssen Sie insbesondere Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einsetzen, sowie Teamarbeit planen und koordinieren. Eingesetzte Methoden und Tools sind z.B.
- Versionskontrolle mit Tools wie Subversion
- Objektorientierter Entwurf mit UML
- Unit-Tests mit JUnit
- Code-Coverage mit Tools wie EMMA
Fertiggestellte Projekte
Im Sommersemester 2011 wurde eine Gruppe von 5 Studierenden bei der Umsetzung eines Rubik-Würfels betreut. Das Ergebnis ist auf den privaten Websites der Gruppe verfügbar:
Termine
Datum | Ort | Thema |
---|---|---|
19.04.2011, 13:00 Uhr | 024, AVG | Erstes gemeinsames Gruppentreffen |
13.05.2011, 14:00 Uhr | 207, AVG | Kolloquium: Pflichtenheft |
14.06.2011, 10:00 Uhr | 207, AVG | Kolloquium: Entwurf |
15.07.2011, 14:00 Uhr | 207, AVG | Kolloquium: Implementierung |
Unterlagen
Nur aus dem Uni-Netz erreichbar. Verwenden Sie ggf. den VPN-Client des KIT.
Thema | Dokumente |
---|---|
Aufgabenstellung | [PDF] |
Folien aus dem ersten Gruppentreffen | [PDF] |
Einführung OpenGL ES | [PDF] |
OpenGl-Beispielprogramm | [ZIP] |
Auszug: Subversion Commit Policies | [PDF] |
Links
Versionsverwaltung
Als Versionsverwaltung empfehlen wir GIT oder Subversion:- GIT auf unseren Lehrstuhlrechnern
- GIT User's Manual
- Linus Torvalds on git [Video]
- Subversion auf unseren Lehrstuhlrechnern
- SVNBook (sehr ausführlich)
Entwurf
- UML Resource Center
- Buch: Thinking in Patterns
- Buch: Design Patterns: Elements of Reusable Object-Oriented Software
- eUML 2 (kostenloses Tool)
- Visual Paradigm (bietet eine kostenlose Grundversion des Tools an)
- ArgoUML (kostenloses Tool)
- Fujaba (kostenloses Tool)
- UMLet (kostenloses Tool)
- StarUML (kostenloses Tool)
- Eclipse Plugins Fast jedes der oben aufgelisteten Tools existiert auch als Eclipse-Plugin.
Spezifikation
Eine Reihe von Tools bieten werkzeugunterstütztes Testen für JavaME an:Testen
Um die Qualität Ihrer Tests zu bestimmen, werden Sie Tools verwenden, die die Anweisungs- und Zweigüberdeckung Ihrer Tests messen. Einige Tools sind nachfolgend aufgelistet:- Cobertura for J2ME
- Fürs Testen von Java 1.5 und höher sind unter anderem EMMA oder Clover (als 30-tägige Testversion) geeignet.
Programmieren mit Java
Threads und GUI
- JavaME Specifications
- Sun Java Wireless Toolkit
- MIDP GUI Programming
- Beginning J2ME: Building MIDlets
- Java 2 Micro Edition and the Mobile Information Device Profile
Infrastruktur: Auszüge aus dem Wiki des Lehrstuhls
- AFS - PPWiki.pdf
- AFS Rechteverwaltung - PPWiki.pdf
- GIT - PPWiki.pdf
- GIT Aufsetzen - PPWiki.pdf
- Kerberos - PPWiki.pdf
- Modules - PPWiki.pdf
- SSH - PPWiki.pdf
- SVN Aufsetzen - PPWiki.pdf
Veranstalter
Ehemalige Mitarbeiter |
---|
Dr.-Ing. Martin Hecker |
Dipl.-Inform. Denis Lohner |