Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Implementierung Umsetzung OO Konzepte in JAVA Projekt Bezeichnung Termin Projekt() Auftraggeber FirmenName Ort beauftragt() storniert() Beauftragt 0..*

Ähnliche Präsentationen


Präsentation zum Thema: "Implementierung Umsetzung OO Konzepte in JAVA Projekt Bezeichnung Termin Projekt() Auftraggeber FirmenName Ort beauftragt() storniert() Beauftragt 0..*"—  Präsentation transkript:

1 Implementierung Umsetzung OO Konzepte in JAVA Projekt Bezeichnung Termin Projekt() Auftraggeber FirmenName Ort beauftragt() storniert() Beauftragt 0..* 1 JAVA *.java C++ public class Projekt { private String Bezeichnung; private Date Termin; public Projekt(String bez, Date ter) { } } public class Auftraggeber { private String FirmenName; private String Ort; private Hashtable BeauftragteProjekte;... leer Aggregation

2 Implementierung der Methoden in JAVA JAVA *.java C++ public class Auftraggeber { private String FirmenName; private String Ort; private Hashtable BeauftragteProjekte; public Projekt beauftragt(String bez, Date term) { Projekt neuPrj = new Projekt(bez, term); BeauftragteProjekte.put(bez, neuPrj); return neuPrj; }...

3 Tätigkeiten der Implementierung "Programmieren im Kleinen" Konzeption von Datenstrukturen und Algorithmen Verfeinerung Dokumentation der Problemlösung Zeit- und Speicherkomplexität bestimmen Test oder Verifikation

4 Ergebnisse der Implementierung.java C++ public class Projekt { private String Bezeichnung; private Date Termin;.classC doc C++ Testcase 123: Zeitnachweis erfassen Vorbedingung: Quellcode Objektcode Testprotokoll, Testplan

5 Programmierfehler Eine Klassifikation Programmierfehler Schnitzer Irrtümer überindividuell (Denkfallen) überindividuell (Denkfallen) individuell angeborenes Verhalten erlerntes Verhalten Begabung Ausbildung Quelle: Grams 90, S.19

6 Prinzipien der Implementierung Verbalisierung Schrittweise Verfeinerung Integrierte Dokumentation Problemadäquate Datentypen

7 Verbalisierung Aussagekräftige Namensgebung C++ // wenig aussagekräftige Bezeichner Feld1, Liste, Zähler // besser Messreihe1, BestellPositionen, AnzahlAnZeichen problemfreie, technische Bezeichner problemfreie, technische Bezeichner problembezogene Bezeichner problembezogene Bezeichner

8 Verbalisierung Aussagekräftige Namensgebung C++ // Berechnung einer Prämie P = G1 + Z * D; // besser Prämie = Grundprämie1 + Zulage * Dienstjahre; Ohne Aussagekraft, zu kurz Ohne Aussagekraft, zu kurz klar

9 Verbalisierung Symbolische Konstanten C++ // Konstante Prämie = * Dienstjahre; // besser final float Grundprämie = 50.0; final float Zulage = 10.0; Prämie = Grundprämie + Zulage * Dienstjahre; unverständliche Konstante klar

10 Verbalisierung integrierte Kommentare C++ // i um eins erhöhen i = i + 1; // besser Menge = Menge + 1; sagt bereits der Programmcode dokumentierender Programmcode

11 Integrierte Dokumentation Programmkopf C++ /** * class Kunde * Auftraggeber in der Projektverwaltung * Daniela Worel V1.0 IT Kompaktkurs * state akzeptiert */ class Kunde...

12 Problemadäquate Datentypen z.B. Aufzählungstyp C++ // schlecht int stand; // 1=ledig, 2=verheiratet,… // besser enum Familienstand {ledig,verheiratet,geschieden,verwitwet}; Familienstand stand; // noch besser class Familienstand { public boolean isLedig() {}...

13 Abstrakte Datentypen z.B. Familienstand C++ // enumeration class class Familienstand { private int Stand; public boolean isLedig() {} public boolean isVerheiratet() {} public void setVerheiratet() {} public void setGeschieden() {}... }

14 Entwurfsmuster Beobachter Familienstand isVerheiratet() isGeschieden() setVerheiratet()... Observer from java.util View- Familienstand Observable from java.util update () addObserver() deleteObserver() notifyObservers() * hat > 1

15 Implementierung des Beobachtermusters in JAVA C++ class Familienstand extends Observable { public void setVerheiratet() {... notifyObservers(); }... } class ViewFamilienstand implements Observer {...


Herunterladen ppt "Implementierung Umsetzung OO Konzepte in JAVA Projekt Bezeichnung Termin Projekt() Auftraggeber FirmenName Ort beauftragt() storniert() Beauftragt 0..*"

Ähnliche Präsentationen


Google-Anzeigen