Diverse Grundlagen Dr. Karsten Tolle
Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development J.W.G-Universität Frankfurt a.m. Folie 2
Vorgehensmodelle im Software Engineering J.W.G-Universität Frankfurt a.m. Folie 3
Dokumentation in und für Softwareprojekte! Definitionsversuch: Dokumentation ist die, geordnete Zusammenstellung und Nutzbarmachung von Informationen. Wichtig beim Erstellen der Dokumentation: Wer soll/wird es lesen? J.W.G-Universität Frankfurt a.m. Folie 4
Begriffe Geregelt z.b. nach DIN-Normen oder VDI- Richtlinien nach DIN-Norm 69901 Ein Projekt ist nach DIN 69 901 ein "Vorhaben, das im wesentlichen durch die Einmaligkeit der Bedingungen in ihrer Gesamtheit gekennzeichnet ist, wie z.b. Zielvorgabe, zeitliche, finanzielle, personelle und andere Begrenzungen Abgrenzung gegenüber anderen Vorhaben projektspezifische Organisation." Meilensteine sind definierte Zeitpunkte mit einem im Projektplan festgelegtem Zielerreichungsniveau. Weitere Begriff-Definitionen unter: http://innovationsmanagement.de/projektmanagement/begriffe.html J.W.G-Universität Frankfurt a.m. Folie 5
Was soll dokumentiert werden? Was soll getan werden und was gehört nicht dazu? (Spezifikation Pflichtenheft, Lastenheft) Wie soll es umgesetzt werden? (Systemdesign / Entwurf) Was wurde getan? (Implementierungsdokumentation) Wie überprüfen? (Testdokumentation) Wie am Laufen halten? (Wartungsdokumentation) Wie ist es zu nutzen? (Benutzerdokumentation) J.W.G-Universität Frankfurt a.m. Folie 6
Spezifikation (Pflichten-/Lastenheft) Wer sein Ziel nicht kennt, kann es auch nicht erreichen. Beschreibt, was das Programm leisten soll und welche Vorgaben der Auftraggeber macht: Leistungsumfang Zeit- und Funktionsvorgaben für die Leistungen (Transaktionen/sec,...) Schnittstellen zu anderen Softwarepaketen (Betriebssystem, Standard-Utilities, etc.) Zur Vervollständigung sollte gegebenenfalls erwähnt werden, was das Programm nicht leistet. J.W.G-Universität Frankfurt a.m. Folie 7
Spezifikation (Pflichten-/Lastenheft) Lastenheft wird vom Auftraggeber erstellt. Bildet die Grundlage z.b. von Ausschreibungen. Pflichtenheft wird vom Auftragnehmer erstellt als Antwort auf ein gegebenes Lastenheft. Es beschreibt, wie man die Anforderungen im Lastenheft lösen möchte. J.W.G-Universität Frankfurt a.m. Folie 8
Systemdesign / Entwurf Beschreibt die gewählte Umsetzung und alle zur Weiterentwicklung notwendigen Informationen. Wie soll es umgesetzt werden? Warum wurde gerade diese Art der Implementierung gewählt? Welche Alternativen wurden erwogen? Weshalb wurden sie verworfen oder zurückgestellt? J.W.G-Universität Frankfurt a.m. Folie 9
Implementierungsdokumentation Endzustand der Modellierung, aktuelles System Wie wird die Funktion XY realisiert? Wie und in welchem Kontext (Funktionskontext, Parameter) wird sie aufgerufen,... usw.? Angabe der benutzten Algorithmen, Schnittstellen, Programmkonventionen, Implementierungsrestriktionen, Geräte- und betriebssystemspezifische Einschränkungen, etc. Programminterne Dokumentation (Programmkommentare) JAVA: /** javadoc-system /*.. */ Kommentar im Text //... Kommentar auf Zeile J.W.G-Universität Frankfurt a.m. Folie 10
Benutzerdokumentation Was sieht der ahnungslose Laie? Was wird von ihm erwartet? Bedieneroberfläche Funktionen des Systems für die Bedienung Testdokumentation Wie messe ich, dass das Programm tut, was es soll? Testprogramme, Testdaten etc.: Erfüllung der Spezifikation! Auftretende Fehler lokalisieren und beheben Wartungsdokumentation Was muss von Zeit zu Zeit getan werden? Wie werden Updates eingespielt? Versionierung? J.W.G-Universität Frankfurt a.m. Folie 11
Dokumentation in der Praxis Extreme Vorgehensweisen: 0 100% Dokumentation 0 100% Aktualität in der Implementierungsdokumentation Meist gibt es firmeninterne Regelungen zur Dokumentation! J.W.G-Universität Frankfurt a.m. Folie 12
Dokumentation im Praktikum JavaDoc sollte immer genutzt werden! Im Code sollen nach Bedarf Kommentare eingefügt werden. Man beachte für die Gruppenphase: Jeder Teilnehmer sollte Code-Fragmente auch von anderen Gruppen-Kollegen erklären können Ob weitere Dokumentation nötig ist, wird in den jeweiligen Aufgabenstellungen angegeben. J.W.G-Universität Frankfurt a.m. Folie 13
Immer beachten: Wer soll/wird es lesen? Ende! J.W.G-Universität Frankfurt a.m. Folie 14