Aufgabenstellung
Ihre Aufgabe ist die Implementierung eines Sudoku-Spiels für Smartphones. Sudoku ist ein aus den 80er Jahren stammendes, mittlerweile sehr populäres Logikrätsel, für das es eine ganze Reihe von Lösungsalgorithmen gibt. Ihr Programm soll eine digitale Version des Rätsels sein, welches eine intuitive und komfortable Bedienung sowie einen fortgeschrittenen Lösungsalgorithmus enthält. Weitere Features (z.B. Kandidatenlisten, grafische Zusatzelemente, etc.) des Programms sind von Ihnen frei wählbar.
Ihre Anwendung soll in Java für die Android Plattform entwickelt 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 GIT
- Objektorientierter Entwurf mit UML
- Unit-Tests mit JUnit
- Code-Coverage mit Tools wie EMMA
Stichworte: Sudoku, Android, Branch-and-Bound, Constraint-Saturation, GUI, Touch-Control, Java
Termine
Datum | Ort | Thema |
---|---|---|
Mittwochs, 11:30 Uhr | Raum 024, AVG | Gruppentreffen Gruppe 1 (pseg3) |
Mittwochs, 14:00 Uhr | Raum 024, AVG | Gruppentreffen Gruppe 2 (pseg4) |
Mi, 26.10.2011, 14:00 Uhr | Raum 207, AVG | Erstes gemeinsames Gruppentreffen |
Fr, 18.11.2011, 09:45 Uhr | 207, AVG | Kolloquium: Pflichtenheft |
Fr, 16.12.2011, 09:45 Uhr | 207, AVG | Kolloquium: Entwurf |
Fr, 27.01.2012, 09:45 Uhr | 207, AVG | Kolloquium: Implementierung |
Fr, 24.02.2012, 09:45 Uhr | NN | Kolloquium: Qualitätssicherung |
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] |
Anmerkungen zum Pflichtenheft | [PDF] |
Anmerkungen zum Entwurf | [PDF] |
Anmerkungen zur Implementierung | [PDF] |
Anmerkungen zur Qualitätssicherung | [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.
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:- 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
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
Lehrstuhlinhaber |
---|
Prof. Gregor Snelting |
Ehemalige Mitarbeiter |
---|
Dipl.-Inform. Denis Lohner |