20
Softwareprojekt - Einführung Danny Götte [email protected]

Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

Softwareprojekt - Einführung

Danny Gö[email protected]

Page 2: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

Softwareprojekt - Einführung

FG System- und Software-EngineeringProf. Armin Zimmermann

[email protected]

Page 3: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 3

Ablauf

■ Einführung▸ Softwareprojekt

▸ Werkzeuge

▸ Beispiel

■ Pflichtenheft

■ Entwurf

■ Implementierung

■ Validierung

Page 4: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 4

Einführung: Softwareprojekt

■ Pflichtveranstaltung im 3./4. Fachsemester▸ 3. Semester = vorbereitend

▸ 4. Semester = Durchführung

■ Ziele▸ Praktische Anwendung des erlernten

▸ Zielbezogen Programmiererfahrung sammeln

▸ Durchlaufen aller Phasen der SW-Entwicklung

▸ Praxisnahe Projekterfahrung

▸ Teamfähigkeit erlernen

▸ Präsentationstechniken

Page 5: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 5

Ablauf des Softwareprojekt

Page 6: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 6

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

Page 7: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 7

Ablauf

■ Einführung▸ Softwareprojekt

▸ Werkzeuge

▸ Beispiel

■ Pflichtenheft

■ Entwurf

■ Implementierung

■ Validierung

Page 8: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 8

Werkzeuge

■ Versionsverwaltung▸ Git, Subversion, Mercurial, …

■ Dokumentation▸ LaTex, JavaDoc, Doxygen, …

■ Collaboration▸ Bugzilla, Wiki, dotProject …

■ IDE▸ Eclipse, Netbeans, …

■ UML▸ Umbrello, BOUML, ArgoUML, ...

Page 9: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 9

Subversion

■ Monolithisch

■ Globale Revisionen des Projekts

■ Verteiltes gemeinsames arbeiten

■ Projekt ↔ Lokale Änderungen

■ Unterschiedliche clients▸ Kommandozeile

▸ Grafisch

– TortoiseSVN (Windows)– RapidSVN (verschiedene BS)

▸ IDE

Page 10: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 10

Subversion

■ Gängige Ordnerstruktur▸ Trunk

– Aktuelle entwicklung

▸ Branches

– Alternative entwicklung

▸ Tags

– Festhalten von versionen

Page 11: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 11

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

Page 12: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 12

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 ...

Page 13: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 13

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

Page 14: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 14

LaTeX

■ Textsatzsystem▸ WYGIWYM – WYSIWG

▸ Makrosammlung

▸ Ausgereift

▸ Komplex

▸ Plattform unabhängig

Page 15: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 15

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

Page 16: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 16

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

... ... ...

Page 17: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 17

Ablauf

■ Einführung▸ Softwareprojekt

▸ Vorstellung Werkzeuge

▸ Beispiel

■ Pflichtenheft

■ Entwurf

■ Implementierung

■ Validierung

Page 18: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 18

Beispielprojekt

■ Kleines Beispielprojekt

■ Anlehnung an reales SWP

■ Realisierung im Seminar

■ Wasserfallmodell

Page 19: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 19

Beispielprojekt: Ablauf

■ 15.12. Pflichtenheft

■ 05.01. Entwurf

■ 12.01 & 19.01. Implementierung

■ 26.01. Validierung

■ 02.02. Präsentation

Page 20: Softwareprojekt - Einführung€¦ · UML Umbrello, BOUML, ArgoUML, ... SSE Götte Softwareprojekt Einführung – 9 Subversion Monolithisch Globale Revisionen des Projekts Verteiltes

SoftwareprojektSSE Götte Einführung – 20

Seminar

■ Hilfe bei behandelten Themen

■ Eure Fragen

■ Offen für Vorschläge