Modul 226

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche

Linkliste für das Modul 226 Java/OO

Tools und IDEs

  • Maven ist ein Build-Management-Tool der Apache Software Foundation und basiert auf Java. Mit ihm kann man insbesondere Java-Programme standardisiert erstellen und verwalten. Maven versucht, den Grundgedanken „Konvention vor Konfiguration“ (englisch Convention over Configuration) konsequent für den gesamten Zyklus der Softwareerstellung abzubilden. Dabei sollen Software-Entwickler von der Anlage eines Softwareprojekts über das Kompilieren, Testen und „Packen“ bis zum Verteilen der Software auf Anwendungsrechnern so unterstützt werden, dass möglichst viele Schritte automatisiert werden können. Folgt man dabei den von Maven vorgegebenen Standards, braucht man für die meisten Aufgaben des Build-Managements nur sehr wenige Konfigurationseinstellungen zu hinterlegen, um den Lebenszyklus eines Softwareprojekts abzubilden.

UML

  • Softwareentwicklung mit UML von Boris Schäling.

Foren

  • JavaRanch - a friendly place for Java-Greenhorns (der Name sagt eigentlich schon alles....). Das Forum bietet zu jedem Thema Tipps und Hinweise: http://www.javaranch.com]


Literatur

Tipps und Tricks für Mitschüler

Ein par Tipps von Enrico Chatelin, Michael van der Heide und Paolo Stieger für alle, welche dieses Modul durchnehmen.

Zusammenarbeit

Bei der Zusammenarbeit ist es wichtig, dass ihr klare Deadlines definiert und diese einhaltet. Die Kommunikation muss stimmen!

Planung

Übertreibt es nicht mit euren Projekten. Ein Projekt mit 37 Klassen (Ohne Testklassen und TUI) ist Overkill!

Siehe: TTOD2D als Beispiel für ein Overkill-Projekt.

Umagang mit abstrackten Klassen und Interfaces

Wo solltet ihr abstrackte Klassen benutzen, und wo Interfaces?

Benutzt Interfaces, wenn ihr verschiedene Klassen ersetzen wollt. (Z.B. wenn ihr ein Speichersystem je nach OS anders haben wollt)

Umgang mit JUnit Test Suites

Bei einer JUNIT-Test-Suite kann man mehrere Testklassen vereinen, um sie gemeinsam zu testen. Hier wird davon ausgegangen, dass die JUNIT-Testklassen bereits erstellt worden sind. Es wird zuerst eine TestSuite-Klasse erstellt: import org.junit.runner.RunWith; import org.junit.runners.Suite;

@RunWith(Suite.class)

// Hier werden alle zu testenden Klassen angegeben. @Suite.SuiteClasses({

  Test1.class,
  Test2.class,
  Test3.class

})

public class JunitTestSuite { }

Danach erstellt man eine TestRunner-Klasse. Mithilfe dieser kann man die TestSuite ausführen. import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure;

public class TestRunner {

  public static void main(String[] args) {
     Result result = JUnitCore.runClasses(JunitTestSuite.class);
 //Hier werden alle Fehler ausgegeben, die während dem Test aufgetreten sind.
     for (Failure failure : result.getFailures()) {
        System.out.println(failure.toString());
     }
 
//wasSuccessful() ist nur wahr, wenn alle Tests erfolgreich waren. 
     System.out.println(result.wasSuccessful());
  }

}

Mithilfe der TestSuite muss man nur den TestRunner ausführen und sieht sofort ob die Tests erfolgreich waren.