Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase) Prof. Dr. Rolf Dornberger Software-Engineering: 7 Implementierungsphase 27.04.2006 1
7 Implementierungsphase (Programming Phase) 7 Implementierungsphase 7.1 Einführung und Überblick 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 7.3 Konfigurationsmanagement und Versionierung 27.04.2006 2
7 Implementierungsphase (Programming Phase) Kompetenzhaus der Software-Technik bzw. des Software- Engineering nach Balzert [Helmut Balzert; Lehrbuch der Software- Technik: Software-Entwicklung; Band 1, 2. Auflage; Spektrum Akademischer Verlag, Heidelberg 2001.] In der Software- Entwicklung gibt es die Phasen Planung, Definition, Entwurf, Implementierung, Abnahme und Einführung, Wartung und Pflege. In der Implementierungsphase findet die eigentliche Programmierung der Software statt. 1 Grundlagen II SW-Management 1Grundlagen 2Planung 3Organisation LE 3 4 4Personal 5Leitung 6Kontrolle LE 6 7 1 Prinzipien & Methoden LE 20 Legend e : LE 1 LE 2 LE 5 LE 8 8LE 2 Ei n f üh r u n g u nd Üb er bl i ck LE 1 V Un ternehm ensm od ellierung 2 Objektorientierte Unternehm ensm odellierung LE 24 ISW-Entwicklung 1DiePlanungsphase 2 Die Definitionsphase 3 Die Entwurfsphase 4 Die Implementierungsphase LE 33 5 Die Abnahme- und Einführungsphase LE 2 3 LE 4 22 LE 23 32 LE 34 6DieWartungs-& Pflegephase LE 34 33 LE IV Qu ersch nitt e un d A usblick e 3 Wiederverwendung LE 21 LE 22 = Übergabe von Teilprodukten = Informationsaustausch = Unterstützung = Einfluß LE = Lehreinheit (für jeweils 1 U nterichtsdoppelstunde) LE 25 2LE II I SW -Q u al i tät s - man agem ent 1 Grundlagen LE 9 2 Qualitätssicherung LE 10 3 M anue lle Prüfmethoden LE 11 4 Prozeßqualität LE 12 1 3 5 Produktqualität Komponenten LE 14 17 6 Produktqualität System e LE 18 19 11 LE 4 Sanierung LE 23 4LE 27.04.2006 3
7 Implementierungsphase (Programming Phase) In der Implementierungsphase werden die Spezifikationen, die ausreichend modelliert vorliegen müssen, in einer vordefinierten Software-Architektur programmiert. Soft ware- Architekt ur Spezifikation der Systemkomponenten Produkt-Entwurf Pri nzipien Verbalisierung problemadäquate Datentypen Verfeinerung integrierte Dokumentation Regelkatalog Fehlerbuch Prog rammi errichtlinien Implementieren des Produkts Produkt-Implementierung Quellprogramme einschl. Dokumentation Objektprogramme Testplanung und Testprotokoll bzw. Verifikationsdokumentation Proj ektleiter Entwerfer Impl emen - ti erer Leg end e: Aktivität Modell (Artef akt) Rol le Dokument (Artefakt) [Quelle: Helmut Balzert; Lehrbuch der Software-Technik: Software-Entwicklung; Band 1, 2. Auflage; Spektrum Akademischer Verlag, Heidelberg 2001. 27.04.2006 4
7 Implementierungsphase (Programming Phase) Die Aktivitäten in der Implementierungsphase sind Konzeption und Programmierung der Datenstrukturen Konzeption und Programmierung der Algorithmen Strukturierung des Programms durch geeignete Verfeinerungsebenen Dokumentation der Problemlösung und der Implementierungsentscheidungen Umsetzung der Konzepte in die Konstrukte der verwendeten Programmiersprache Angaben zur Zeit- und Speicherkomplexität Test oder Verifikation des Programms einschl. Testplanung und Testfallerstellung 27.04.2006 5
7 Implementierungsphase (Programming Phase) Je nach Programmierparadigma (strukturiert/funktional, objektorientiert, logisch...) stehen verschiedenen Programmiersprachen zur Auswahl: 27.04.2006 6
7.1 Einführung und Überblick 7.1 Einführung und Überblick Einschub: Folien SWE07_1_ImplementierungphaseAllgemeines.ppt 27.04.2006 7
7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Einschub: Folien SWE07_2_Programmentwicklung.ppt 27.04.2006 8
7.3 Konfigurationsmanagement und Versionierung 7.3 Konfigurationsmanagement und Versionierung Einschub: Folien SWE07_3_ Konfigurationsmanagement.ppt 27.04.2006 9
Lernziele Die Aufgaben der Implementierungsphase kennen. Prinzipien der Programmierung kennen und damit Programmierfehler schneller finden bzw. vermeiden können. IDE und CASE-Tools kennen und einsetzen können und damit einfacher, schneller und qualitativ besser programmieren können. Konfigurationsmanagement und Versionierung kennen und damit eine bessere Versionsverwaltung bei der Programmierung gerade mit mehreren Programmentwicklern und -entwicklerinnen durchführen können. 27.04.2006 10