SoftwareProjektfhrung siehe gesonderte Vorlesung Projektplanung Definition der Ziele

  • Slides: 16
Download presentation
Software-Projektführung • siehe gesonderte Vorlesung • Projektplanung: – – – Definition der Ziele und

Software-Projektführung • siehe gesonderte Vorlesung • Projektplanung: – – – Definition der Ziele und der benötigten Mittel Festlegung des Vorgehensmodells Festlegung der Organisationsstruktur Bestimmung der Anzahl der Personen Planung des Einsatzes der Mitarbeiter Aufstellen des Terminplanes Aufstellung des Kostenplanes Festlegung der zu erstellenden Dokumente Konfigurationsmanagement Qualitätsmanagement Risikomanagement Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 1

Software-Projektführung • Dokument: Projektplan • Antwort auf die sechs W-Fragen: – – – WARUM:

Software-Projektführung • Dokument: Projektplan • Antwort auf die sechs W-Fragen: – – – WARUM: Veranlassung und Projektziele WAS: die zu liefernden Resultate WANN: geplante Termine durch WEN: Personen und Verantwortlichkeiten WOMIT: Ressourcen(management) WIE: Vorgehensweise, Maßnahmen zur Sicherstellung des Projekterfolges Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 2

Software-Projektführung Start eines unternehmensinternen Projektes Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens

Software-Projektführung Start eines unternehmensinternen Projektes Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 3

Software-Projektführung Start eines externen Auftragprojektes Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens

Software-Projektführung Start eines externen Auftragprojektes Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 4

Software-Projektführung Start eines Produktentwicklungsprojektes für Software Prof. Dr. Gerhard Schmidt pres. by H. -J.

Software-Projektführung Start eines Produktentwicklungsprojektes für Software Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 5

Software-Projektführung • Teambildung: • demokratisches Team: • Hierarchisch organisiertes Team: Prof. Dr. Gerhard Schmidt

Software-Projektführung • Teambildung: • demokratisches Team: • Hierarchisch organisiertes Team: Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 6

Konfigurationsmanagement • Konfigurationsmanagement: Verfahren zur Herbeiführung und ständiger Sicherstellung der Übereinstimmung der Leistungs- und

Konfigurationsmanagement • Konfigurationsmanagement: Verfahren zur Herbeiführung und ständiger Sicherstellung der Übereinstimmung der Leistungs- und Funktionscharakteristika eines Produktes mit den dazu gehörigen Anforderungen, den Ausführungsunterlagen und den für den Betrieb erforderlichen Informationen während des gesamten Lebenszyklus des Produktes • Dokumentation: Konfigurationsmanagement-Plan Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 7

Konfigurationsmanagement • Konfigurationsmanagement-Plan – Projektinfo • • • Projekt: Name des Projektes Autor: verantwortlicher

Konfigurationsmanagement • Konfigurationsmanagement-Plan – Projektinfo • • • Projekt: Name des Projektes Autor: verantwortlicher Mitarbeiter Version: Versionsnummer und eindeutige Identifizierungsnummer des Dokumentes Letzte Änderung: Datum, an dem das Dokument zuletzt geändert wurde Dateiablage: Rechner, Pfad, Dateiname – Versionsverwaltung: Beschreibung, in welcher Art und Weise die Objekte des Systems (Quellcode, Dokumente, ausführbare Dateien, . . . ) und das Gesamtsystem versioniert werden. – Namenskonventionen (z. B. strukturierte Dateinamen) Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 8

Konfigurationsmanagement – Verzeichnisstruktur – Entwicklungsumgebung • • • Compiler Linker Datenbank zugekaufte Klassenbibliotheken Konfiguration

Konfigurationsmanagement – Verzeichnisstruktur – Entwicklungsumgebung • • • Compiler Linker Datenbank zugekaufte Klassenbibliotheken Konfiguration der Komponenten – Testumgebung • • Komponenten Hardware Software Betriebssystem Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 9

Konfigurationsmanagement – Produktivumgebung • Komponenten, die benötigt werden, um das Produkt einsetzen zu können

Konfigurationsmanagement – Produktivumgebung • Komponenten, die benötigt werden, um das Produkt einsetzen zu können • Installationsvorgaben – Änderungsübersicht • • Version Datum Bearbeiter Beschreibung Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 10

Änderungsmanagement • Änderungen sind natürlich und unvermeidlich – Änderungen im Umfeld, z. B. •

Änderungsmanagement • Änderungen sind natürlich und unvermeidlich – Änderungen im Umfeld, z. B. • • Gesetzesänderungen Geänderte externe Schnittstellen Neue Anforderungen Neue Betriebsumgebung (z. B. geänderte Datenbankversion) – Entdeckte Fehler / Probleme im Produkt • Änderungen kontrolliert einbringen • Mittel: Änderungsmanagement Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 11

Änderungsmanagement Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009

Änderungsmanagement Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 12

Änderungsmanagement • Änderungsstatusliste – Die Änderungsstatusliste enthält für alle Änderungsanträge / Problemmeldung • •

Änderungsmanagement • Änderungsstatusliste – Die Änderungsstatusliste enthält für alle Änderungsanträge / Problemmeldung • • • Bezeichnung Eindeutige Nummer Melder Klassifikation Status Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 13

CVS – Concurrent Versioning System • Open Source Versionsverwaltungssystem – Sehr weite Verbreitung, insbesondere

CVS – Concurrent Versioning System • Open Source Versionsverwaltungssystem – Sehr weite Verbreitung, insbesondere auch bei der Open Source-Entwicklung – Für alle gängigen Betriebssysteme verfügbar • Architektur: – Client-/Server – Zentrales Repository, in dem die gemeinsamen, zu kontrollierenden Dateien gespeichert sind – Die Entwickler nutzen den CVS Client • Kommandozeile • GUI • Integration in Entwicklungsumgebung (IDE), wie Eclipse – Die Entwickler laden die zu bearbeitenden Dateien runter (check out) und die geänderten Dateien wieder hoch (commit) Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 14

CVS – Concurrent Versioning System • Eigenschaften – Speicherung • CVS kümmert sich automatisch

CVS – Concurrent Versioning System • Eigenschaften – Speicherung • CVS kümmert sich automatisch um die richtigen Versionsnummern • CVS speichert nicht die gesamten Dateien, sondern nur die Änderungen zur Vorgängerversion (Diff) • Man kann beliebige frühere Versionsstände ermitteln – Konflikte: • Ausgecheckte Dateien werden nicht gesperrt • Es ist daher möglich, dass zwei Entwickler dieselbe Datei bearbeiten und wieder einchecken • CVS weist in einem solchen Fall auf den Konflikt hin • Es ermöglicht, die Dateien zu vergleichen und die Änderungen zu konsolidieren (d. h. die beiden Dateien zu „mergen“) – Konfigurationen: • Konfigurationen werden mit Hilfe so genannter „tags“ gekennzeichnet. Ein tag verweist auf die jeweils zu der Konfiguration zugehörigen Versionen der Software-Elemente Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 15

CVS – Concurrent Versioning System • Varianten (Branching) – Branching wird ebenfalls unterstützt –

CVS – Concurrent Versioning System • Varianten (Branching) – Branching wird ebenfalls unterstützt – Entwicklungen verschiedener Zweige können durch Mergen wieder zusammengeführt werden Prof. Dr. Gerhard Schmidt pres. by H. -J. Steffens Software Engineering SS 2009 16