Softwarepraktikum nach dem Wintersemester 2008/09
Veranstalter: Prof. Dr. Markus Müller-Olm, Peter Lammich, Jörg-Stefan Praßni
Eintrag für das Softwarepraktikum im kommentierten VorlesungsverzeichnisInhalt
Das Softwarepraktikum dient einerseits dazu, die in den ersten Semestern erworbenen Programmierkenntnisse zu vertiefen. Andererseits sollen die Teilnehmer Erfahrungen mit einem objektorientierten Softwareentwicklungsprozess und mit der Arbeit in Gruppen sammeln. Dazu wird ein größeres Softwareprojekt in Gruppenarbeit realisiert. Das Softwarepraktikum findet im Anschluss an das Wintersemester als mehrwöchiges Blockpraktikum statt.
Wenn Sie am Softwarepraktikum teilnehmen (wollen), besuchen Sie bitte diese Seite regelmäßig, da hier alle Informationen dazu bekannt gegeben werden.
Aktuelle Hinweise:
- Bitte werfen Sie den Fragebogen zum Softwarepraktikum und den Fragebogen zu den Kleingruppen bis Donnerstag, 19.3.2009, in den Kasten 190 gegenüber dem M4. Vielen Dank!
- Zeitplan und Informationen für die Präsentation und Einzelvorführungen.
- Die nächste Vorlesung ist am Dienstag, dem 24.2.09 um 10:15 Uhr im M2. Aus gegebenenm Anlass weisen wir darauf hin, dass die Teilnahme an der Vorlesung integraler Bestandteil des Softwarepraktikums ist!
- Am Rosenmontag ist das Mathegebäude geschlossen. Deshalb stehen die Arbeitsräume am Rosenmontag nicht zur Verfügung.
- [19/02/09] Spielregeln für die Abgabe der Warmup-Aufgabe.
- [19/02/09] Die SVN-Repositories sind nun freigeschaltet. Mehr Informationen
- [18/02/09] Um 14:15 ist das erste Gruppentreffen im Gruppenraum und um 16:00 die Vorstellung der Teambildungsaufgabe im M3. Die nächste Vorlesung ist am Donnerstag, dem 19.02.09 um 10:15 Uhr im M2.
- [18/02/09] Die Vorlesungsfolien stehen unten auf dieser Seite zum Download bereit.
- [18/02/09] Gruppeneinteilung
- [18/02/09] Aufgabenstellung
- [17/02/09] Bitte beachten Sie die Buchsammlung im Semesterapparat in der Fachbereichsbibliothek.
- [17/02/09] Das Buch von Brügge/Dutoit über objektorientierte Softwaretechnick ist derzeit leider nur als e-book lieferbar.
- [06/02/09] Das Softwarepraktikum beginnt am Mittwoch, dem 18.2.09, um 11:15 Uhr im M3.
Anwesenheit bei der Einführungsveranstaltung ist Voraussetzung für die Teilnahme. Falls Sie verhindert sein sollten, melden Sie sich bitte rechtzeitig bei einem der Organisatoren. - [06/10/08] Die wärend des Praktikums notwendigen Arbeiten am Rechner dürfen auch im Gruppenarbeitsraum auf eigenen Laptops durchgeführt werden. Alternativ stehen dafür die Rechnerpools des Fachbereichs zur Verfügung. Da die Arbeiten im Gruppenarbeitsraum erfahrungsgemäß konzentrierter durchgeführt werden können, bitten wir alle Teilnehmer ihre Laptops (sofern vorhanden) mitzubringen.
- [06/10/08] Die Anmeldung zum Softwarepraktikum ist ab sofort möglich. Sie erfolgt online über das Kursbuchungssystem. Anmeldeschluss ist der 21.11.2008.
Hinweis: Melden Sie sich für eine der freien Gruppen (1-12) an. Die Gruppeneinteilung ist vorläufig; wir werden aber versuchen die Gruppenzuordnung so weit wie möglich beizubehalten.
Die Anmeldung über das Kursbuchungssystem ersetzt nicht die Anmeldung im QISPOS. Diese ist von Studierenden von Bachelorstudiengängen zusätzlich in der für das Wintersemester geltenden Frist durchzuführen.
Termin
Das Praktikum findet in der vorlesungsfreien Zeit nach dem WS 2008/09 ganztägig vom 18.02.2009 bis 20.03.2009 statt. Die Einführungsveranstaltung beginnt am 18.02.2009 um 11:15 Uhr im M3.
Vorkenntnisse
- Grundvorlesungen Informatik oder vergleichbare Kenntnisse.
- Vorlesung Software-Engineering.
- Java-Kenntnisse sind unabdingbar.
Tutoren Sebastian Albers, Mathias Brink, Benjamin Risse, Magnus Schauer, Christian Schulte zu Berge, Michel Steuwer
Vorlesungsfolien
- Folien vom 18.02.2009 (inklusive Ergänzungsfolien zu Vorgehensmodellen und UML)
- Folien vom 19.02.2009
- Folien vom 20.02.2009
- Folien vom 24.02.2009
- Folien vom 25.02.2009
Empfohlene Software
- Kooperationsplattform/Groupware: BSCW: Startseite, direkt zum Login
- Zeichnen von UML-Diagrammen: Dia
- Für Sequenzdiagramme: Quick Sequence Diagram Editor
- Plattform: JDK 6
- IDE: Netbeans 6
- Versionskontrolle: Subversion (Howto für das SOPRA)
- Testframework: JUnit 4
Literatur
Einige der folgenden Bücher sind sowohl in Englisch als auch in Deutsch erhältlich. Leider muss man den deutschen Versionen zum Teil mit einer gewissen Vorsicht begegnen, da einige sehr schlecht übersetzt sind. Uns sind schon Buchstellen begegnet, an denen sich der Sinn nur durch Vergleich mit dem englischsprachigen Original (oder viel Fantasie) erschließen lässt...
Die Vorlesung und das Vorgehensmodell basieren hauptsächlich auf:- [Brügge/Dutoit, 2004]
Bernd Brügge und Allen H. Dutoit, Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java. Prentice Hall (Pearson Studium), 2004.
- [Larmann, 2004]
Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Markt und Technik, 3. Auflage, 2004.
- [Fowler, 2003]
Martin Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling Languange. Addison-Wesley, 3rd edition, 2003.
- [Oesterreich, 2005]
Bernd Oesterreich, Analyse und Design mit UML 2: Objektorientierte Softwareentwicklung. Oldenbourg Wissenschaftsverlag, München, 7.Aufl., 2005.
- [Stevens/Pooley, 2001]
Perdita Stevens und Rob Pooley, UML: Softwareentwicklung mit Objekten und Komponenten. Addison-Wesley (Pearson Studium), 2001.
- [Kecher, 2006]
Christoph Kecher, UML 2.0: Das umfassende Handbuch. Galileo Press, 2. Auflage, Bonn 2006.
- [Pilone, 2006]
Dan Pilone mit Neil Pitman, UML 2.0 in a Nutshell. O'Reilly, 2006.
- [Störrle, 2005]
Harald Störrle, UML 2 für Studenten. Pearson Studium, 2005.
- [Balzert, 2001]
Helmut Balzert, Lehrbuch der Software-Technik. Spektrum Akademischer Verlag, Heidelberg-Berlin, 2 Bände, 1999 & 2001.
- [Sommerville, 2004]
Ian Sommerville, Software Engineering. Addison Wesley, 7th edition, 2004.
- [Ludewig, 2007] Jochen Ludewig, Horst Lichter,
Software Engineering. dpunkt-Verlag, 2007.
- [Gamma, 1995]
Erich Gamma, Richard Helm, Ralph E. Johnson, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
-
[Freeman, 2004]
Eric Freeman, Elisabeth Freeman und Kathy Sierra.
Head First Design Patterns.
O'Reilly, 2004.
- [Krüger/Stark]
Guido Krüger, Thomas Stark. Handbuch der Java-Programmierung. Verschiedene Auflagen. Addison-Wesley. - [Ullenboom]
Christian Ullenboom. Java ist auch eine Insel. Verschiedene Auflagen. Galileo Press.
Links
Tools und Bibliotheken
Groupware (BSCW)
UML
- Dia (Wir empfehlen Dia zum Zeichnen von UML-Diagrammen)
- Quick Sequence Diagram Editor
- ArgoUML
IDEs (Umgebungen zur Programmentwicklung)
Versionskontrolle
- Subversion Homepage (Wir empfehlen die Benutzung von Subversion. Wir stellen einen Subversion-Server zur Verfügung. Subversion Howto für das SOPRA)
- Subclipse Homepage Subversion Plugin für Eclipse
- CVS Homepage Auf Linux/U*ix-Systemen ist cvs standardmässig installiert
- WinCvs und gCvs Graphische Benutzeroberfläche für CVS (Tipp: Besser CVS-Plugin von Netbeans/Eclipse (in Standard-Installation bereits enthalten) benutzen!)
Javadoc
- Javadoc homepage Homepage des javadoc Werkzeugs. Enthät Referenzen auf Dokumentation, etc.
- Howto: @pre und @post tags in Javadoc Kurze Anleitung, wie man in javadoc die Tags @pre und @post definieren kann, und das Ganze aus netbeans/eclipse heraus benutzen kann.
Java
- Java-Homepage
- Download JDK (Ihr braucht "JDK 6", evtl. direkt im Bündel mit Netbeans) Java in der Version 5.0 oder 6.0 sollte auf vielen Systemen bereits installiert sein.
Testen
Persistenz
- XStream Bibliothek zum Serialisieren von Java-Objekten nach XML. Empfehlenswerte Alternative zu Serialize oder XMLEncoder.
- Hibernate Bibliothek zum Speichern von Java-Objekten in relationalen Datenbanken
- HSQL-DB (Lightweight 100% Java SQL Database Engine) (Sehr einfach zu installieren, wird in den Hibernate-Tutorials benutzt)
- MySql (The world's most popular open source database) (Die Standard-Datenbank, eigentlich Overkill für's SOPRA)
GUI-Builder
- In Netbeans ist bereits ein sehr guter GUI-Builder für Swing integriert.
- Visual editor WYSIWYG GUI-Builder für Eclipse, unterstützt Swing und SWT.
Dokumentation und Tutorials
UML
Java und Swing
- Java ist auch eine Insel - online Version
- Handbuch der Java-Programmierung - online Version
- Java 6.0 core API specification (javadoc)
- Swing Tutorial
- A visual index to swing components (Sehr empfehlenswert)
- A visual guide to layout managers (Sehr empfehlenswert)
Persistenz
Testen
- Aktuelles
-
- Wochenplan
- Stellen FB10
- Stellen extern
- Studieren:
- Prüfungsamt
- Studiengänge
- Studien- und Prüfungsordnungen (fachwissenschaftliche Studiengänge)
- Studien- und Prüfungsordnungen (Lehramt)
- Fachstudienberatung
- HIS-LSF / Vorlesungen
- Kursbuchungen / Anmeldesystem
- Semestertermine
- Arbeitsgruppen am Institut
- Effiziente Algorithmen und Algorithm Engineering
- Computer Vision and Pattern Recognition
- Parallele und Verteilte Systeme (PVS)
- Softcomputing
- Softwareentwicklung und Verifikation
- Visualisierung und Computergrafik
- ... und an anderen Instituten
- Datenbanken¸ Informationssysteme und Workflow-Management
- Didaktik der Informatik
