IP Umrechnung(Hauptseite)
Aus IT074-Wiki
Hauptseite zum Projekt
- Hier werden alle Infos gesammelt, also was wie miteinander funktioniert.
- Fragen und Anregungen zur Projektbeschreibung bitte auf die diese Diskussionsseite
- Fragen und Anregungen zu den einzelnen Modulen bitte auf die entsprechenden Diskussionseiten
oder
- eine Mail an unsere Mailingliste (Authorisierung erforderlich)
- Eine kleine schnelle Hilfe für alle die, die noch nicht jede einzelne Funktion von Java kennen: Sun Java 1.6 API Doc
- Eine Übersicht über alle Module bietet die Kategorie IP Umrechnung(Java)
Inhaltsverzeichnis |
Allgemeines
Bitte achtet bei der Programmierung eurer Klassen auf ein paar kleine Details, welche dem Programmierer der Main.java das Leben etwas erleichtern sollten.
- Mir fehlen noch Klassen.
- Bitte nachziehen.
- Benennt eure Klassen nach Anspruch Herrn Schmidtkes nach eurem Arbeitsplatz und kommentiert eure Klassen mit
/*
* <Inhalt der Klasse?>
* @author ...
*/- Eure Klassen sollten Methoden enthalten die außerhalb eurer Main Methode (welche ihr selbst verständlich für die **Tests** eurer Kreation benötigt) definiert sind, d.h nicht nur die Main Methode.
- Schreibt bitte die Namen eurer Methoden und die elementaren Typen, welche diesen übergeben werden müssen.
- Ich habe teilweise schon in euren Sourcen rumgespielt --> wenns euch nicht passt: ändern - aber teilt es mir mit.
Die während der Schulzeit entstandenen Werke, sind bis auf ein paar funktionstüchtige Ausnahmen wohl noch nicht ganz ausgereift. Ich habe entsprechende Seiten mit dem Quellcode jeder Gruppe angelegt. Schaut bitte zeitnah nochmal rein und korrigiert entsprechende Abschnitte.
Definition
Laut Lehrkörper sollen folgende Sachen umgesetzt werden und gelten demnach als Richtlinien:
Aufgabe
- Abgabe: 05.06.09
- Zeichenkette IP-Adresse umwandeln in die Zahlensystem Binär, Oktal und Hexa
- Ausgabe des Ergebnis als Zeichenkette
- Fehlerbehandlung mit aussagekräftigen Meldungen
- Erstellen eines Satzes von 10 Testdaten (10 richtige / 10 falsche IPs)
- Zerlegen des Problems in Module
- Zeichnen des Struktogramms zum Modul
- Verwendung der ungarischen Notation
mögliche Fehler
- Buchstaben und Sonderzeichen
- zu wenig Oktette
- zu viele Oktette
- Oktette liegen nicht im Bereich von 0 bis 255
- leere Eingabe
- falsche Trennzeichen
Module
- splittenIP (strIP: String) // Rückgabe Array, String, 4 Elemente + Fehlerbehandlung
- umwandeln (strOktetten [4]: String) // Rückgabe intOktetten [4] + Fehlerbehandlung
- dezToBin (intOktett: int) // Rückgabe String strBinOktett
- dezToHex (intOktett: int) // Rückgabe String strHexOktett
- dezToOkt (intOktett: int) // Rückgabe String strOktOktett
- ausgabenFehler (iFehler: int) // Rückgabe String strFehler
errorHandler
- Behandelt nicht die Exceptions, sondern dient nach meinem Verständnis, lediglich der Übersetzung/Erweiterung der durch Java bereits geworfenen Ausnahmen, als Datenbank.
- Jede einzelne Klasse muss auch dann weiterlaufen, d.h. der Main einen Rückgabewert liefern, selbst wenn eine Exception geworfen wird, bis ein entsprechendes Ergebnis erreicht wurde. Das Programm müsste sonst neu gestartet werden.
- Jede Klasse sollte der Main den entsprechenden Fehler in einem String - strError und einen entsprechenden Code iFehler im Wertebereich von 0 -255 übergeben. Die Fehlermeldung erhaltet ihr nachdem die Exception instantiiert habt im catch Zweig.
catch ( Exception ex ) { System.out.println(ex.getMessage()); iFehler=200; /*Ich weiss noch nicht wie ein alternativer return aussieht. KOMMT ABER NOCH !!! Wahrscheinlich einfach nur:*/ return iFehler; System.out.println( "Hier steht dann die Fehlermeldung! "); /* Wenn im eHandler dann mit "//" auskommentieren.*/ }
- Die Fehler sollten entweder gleich über das Wiki errorHandler ergänzt oder dem Programmierer in die Hände spielen werden.
Subversion
Allgemeines
- Das gesamte Projekt ist auch an zenraler Stelle versionskontrolliert verfügbar.
- Die Adresse dazu lautet http://svn.it074.de/projects/ip_conversion
- in trunk liegt immer der aktuelle Entwicklungsstand
- in tags kann man einzelne Zwischenstände auslagern
- in branches kommen dann die lauffähigen Versionen hinein.
- Ihr könnt sogut wie alles mit den einzelnen Dateien anstellen außer einer Sache:
Niemals die Buchstaben von groß nach klein (oder umgekehrt) ändern (case sensitive), wenn die Kombination der Buchstaben keine andere ist.
Zugang (Client Programme)
- entweder über einen Konsolenprogramm (die jenigen kennen sich ja bereits aus)
Linux
- (py)svn-workbench (in Python geschriebene GUI)
- nautilussvn (Nautilus 2.26 Erweiterung)
- subcommander
- esvn (QT GUI)
- kdesvn (QT GUI)
- kdesvn-kio-plugins (Ünterstützung für KIO-Slaves)
Windows
Mac OS
Cross Platform
- RapipSVN
- benötigt wxWidgets >= 2.6.2
Check-In/Check-Out
Als erstes muss man dem svn Client mitteilen mit welchem Repository man sich verbinden will, in dem Fall http://svn,it074.de/projects/ip_conversion . Dann muss das Repository heruntergeladen werden (Check-Out). Nun hat man in dem ebenfalls angegebene lokalen Ordner eine sogenannte working copy, mit dieser lässt sich dann der Code anpassen. Ist man damit fertig, wird die working copy wieder hochgeladen (Check-In).
Das war's nun ist für alle anderen die aktuelle Version abrufbar.
Zusammenarbeit mit dem Wiki
- ist bisher nur als Test verfügbar
- funktioniert über die Angabe eines <include> Tags und der Angabe der svn url.

