Softwareprojekt - Einführung Danny Götte danny.goette@tu-ilmenau.de
Softwareprojekt - Einführung FG System- und Software-Engineering Prof. Armin Zimmermann Armin.Zimmermann@tu-ilmenau.de
Ablauf Einführung Softwareprojekt Werkzeuge Beispiel Pflichtenheft Entwurf Implementierung Validierung Einführung 3
Einführung: Softwareprojekt Pflichtveranstaltung im 3./4. Fachsemester Ziele 3. Semester = vorbereitend 4. Semester = Durchführung Praktische Anwendung des erlernten Zielbezogen Programmiererfahrung sammeln Durchlaufen aller Phasen der SW-Entwicklung Praxisnahe Projekterfahrung Teamfähigkeit erlernen Präsentationstechniken Einführung 4
Ablauf des Softwareprojekt Einführung 5
Einführung: Vorbereitung Freiwillige Veranstaltung Vorbereitend für Softwareprojekt 4. Semester Vorstellung von nützlichen Werkzeugen Exemplarische Durchführung eines SWP Gemeinsam Kein Ersatz für richtiges SWP Einführung 6
Ablauf Einführung Softwareprojekt Werkzeuge Beispiel Pflichtenheft Entwurf Implementierung Validierung Einführung 7
Werkzeuge Versionsverwaltung Git, Subversion, Mercurial, Dokumentation LaTex, JavaDoc, Doxygen, Collaboration IDE UML Bugzilla, Wiki, dotproject Eclipse, Netbeans, Umbrello, BOUML, ArgoUML,... Einführung 8
Subversion Monolithisch Globale Revisionen des Projekts Verteiltes gemeinsames arbeiten Projekt Lokale Änderungen Unterschiedliche clients Kommandozeile Grafisch TortoiseSVN (Windows) RapidSVN (verschiedene BS) IDE Einführung 9
Subversion Gängige Ordnerstruktur Trunk Aktuelle entwicklung Branches Alternative entwicklung Tags Festhalten von versionen Einführung 10
Subversion: Befehle checkout Projekt laden update Projekt aktualisieren commit Änderungen in das Projekt einpflegen add Datei/Ordner zum Projekt hinzufügen revert lokale Änderungen rückgängig diff lokale Änderungen anzeigen Einführung 11
Subversion: Befehle lock Datei/Ordner sperren unlock Datei/Ordner entsperren delete Datei/Ordner aus Projekt entfernen Blame anzeige: zeile autor revision Propset Datei/Ordnereigenschaften setzen... Zeilenumbrüche Externe projekte Copy, move... Einführung 12
Subversion: Workflows Beginn: checkout Hinzufügen: update diff commit Diff zeigt? : add Update/diff zeigt C : manuelle Konfliktbehebung Update/diff zeigt L : Datei ist geblockt Commit Nachricht - aussagekräftig Löschen Lokale Änderungen: revert Globale Änderungen: diff - delete Lokale Änderungen sind quatsch: revert Datei blockieren: lock unlock Wer ist Schuld: blame Einführung 13
LaTeX Textsatzsystem WYGIWYM WYSIWG Makrosammlung Ausgereift Komplex Plattform unabhängig Einführung 14
LaTeX Eigentlicher text in \begin{document}...\end{document} Auflistung: \begin{itemize} \item listeneintrag \it kursiv, {\bf fett}, \underline{text} Listen generieren (index, abbildungsverzeichnis, ) Zeilenumbruch erzwingen: \\ Backslash: \textbackslash Einführung 15
LaTeX \usepackage{graphicx} + \includegraphics{bild.jpg} Tabellen \begin{tabular}{l c r} Spalte1 & spalte2 & spalte3 \\ \hline Spalte1 & spalte2 & spalte3 \\ & & \\ \end{tabular} spalte1 spalte2 spalte3 spalte1 spalte2 spalte3......... Einführung 16
Ablauf Einführung Softwareprojekt Vorstellung Werkzeuge Beispiel Pflichtenheft Entwurf Implementierung Validierung Einführung 17
Beispielprojekt Kleines Beispielprojekt Anlehnung an reales SWP Realisierung im Seminar Wasserfallmodell Einführung 18
Beispielprojekt: Ablauf 15.12. Pflichtenheft 05.01. Entwurf 12.01 & 19.01. Implementierung 26.01. Validierung 02.02. Präsentation Einführung 19
Seminar Hilfe bei behandelten Themen Eure Fragen Offen für Vorschläge Einführung 20