Ja, hi, ich bin Detlef, ein paar von euch
kennen mich ja schon aus den SE1-Übungen vom letzten Semester.
Ich werde den praktischen Teil der SE2-Vorlesung übernehmen,
wie ihr an der Formulierung schon erkennen könnt,
wird es dann offensichtlich einen theoretischen Teil und praktischen Teil geben.
Der theoretische Teil wird von Professor Riebisch übernommen und der praktische eben von mir.
Die heutige Vorlesung wird sich im Prinzip in zwei Videos unterteilen,
im ersten werde ich euch mal so ein bisschen zeigen,
wie ihr euch Eclipse einrichtet, wie ihr das Projekt,
mit dem ihr dann eine ganze Zeit lang arbeiten werdet,
Und wie gesagt, noch ein paar Einstellungen vornehmen.
Im zweiten Teil wird es dann ein bisschen um UML-Pfeile gehen,
beziehungsweise um UML-Klassendiagramme und wie man dann am besten mit einer
relativ systematischen Art und Weise dahin kommt, so ein UML-Klassendiagramm zu malen.
Das ist ja Bestandteil der ersten Abgabe und der praktische Teil
der Vorlesung soll halt immer ein bisschen dazu dienen,
dass ihr so ein bisschen es leichter habt mit den Übungen.
Für mich ist die Situation genauso neu wie für euch,
das hat Professor Riebisch ja auch schon betont,
dass wir alle in einer Sondersituation sind. Ich habe irgendwie,
als ich letztes Jahr gefragt wurde von Professor Riebisch und er meinte,
hey, werden Sie bereit, dem praktischen Teil der Vorlesung zu übernehmen,
meinte ich, naja, weiß ich nicht, ob ich mich traue,
so vor 200 Leuten zu reden und er dann so,
ja, es sind 400.
Da dachte ich, okay, alles klar, ja,
dann andererseits total strange jetzt hier vor überhaupt niemandem
zu sitzen und in meinen Kasten zu reden,
ist irgendwie auch sehr merkwürdig
Ich habe meine Kamera seit genau gestern und konnte dann auch mit dem Programm,
mit dem ich gerade aufnehme, nur ein ganz klein bisschen rumexperimentieren.
Ich hoffe, es wird keine zu große Katastrophe.
Und falls doch, seid ihr gnädig mit mir.
Okay, ich habe hier gerade ein Workspace offen.
Da ist was Altes drin oder ein altes Projekt.
Ich will jetzt also quasi einen anderen Workspace wechseln,
aber apropos wechseln,
ich werde jetzt als allererstes mal das Bild wegmachen,
damit man den komischen Kerl nicht mehr sieht,
sondern hält nur noch
den Code
Um in einen anderen Workspace zu wechseln, gehe ich auf Pfeil.
Switch Workspace. Und würde mir,
wenn ich einen schon benutzt habe, hier einen aussuchen können.
Ansonsten gehe ich auf Other. Browser. Das ist bei
mir auf dem Death Desktop und der SE2. Vorlesung.
Vorlesungs-Workspace. Also ein Workspace ist nichts anderes als ein Ordner,
den ihr euch irgendwann mal angelegt habt
In dem Eclipse dann eure Dateien ablegt. Ich sage,
okay, und Lounge, und jetzt geht es kurz weg
und kommt wieder. Okay, da sind wir.
Ich würde jetzt mit euch im Prinzip das Projekt importieren,
dazu gehen wir auf Pfeil-Import
General. Und ihr habt ja so einen Sipp-Pfeil gekriegt,
also würde man jetzt normalerweise denken, okay,
wir nehmen Archive-File, nehmen wir aber nicht,
weil wir wollen ein bereits existierendes Projekt,
was in diesem Sipp-Pfeil drin ist, in den Workspace importieren.
Also klicken wir hier drauf, sagen next,
suchen uns jetzt ein Archiv-Pfeil aus, klicken also hier drauf,
gehen auf Brows und bei mir liegt das Ganze wieder hier unter SE2
Und Vorlesung. Hier habe ich Mediathek Vorlage, klicke da drauf,
sage, okay, und Finish. Und da sind wir,
wir haben hier dann im Prinzip im Package Explorer,
da stehen eben die ganzen Projekte drin,
die man jetzt gerade da offen hat.
Können wir draufklicken, wir gehen auf Source,
Default Package und sehen hier sämtliche Klassen,
die in dem Package
drin sind
Und jetzt würde ich mit euch noch ein paar Einstellungen vornehmen wollen, die ich immer ganz witzig fand, ein paar davon stehen auch auf dem Aufgabenzettel mit drauf. Das erste wäre die Zeichenkodierung,
ich gehe dazu auf Window, Preferences, wieder General oder Generals bereits ausgewählt,
klicke hier drauf und habe hier Workspace und habe Hier unten habe ich die Zeichenkodierung,
Zeichenkodierung erinnert ihr euch wahrscheinlich noch ans letzte Semester,
beziehungsweise wenn ihr Herr S hattet,
oder RSB heißt es ja seit letztem Semester,
Zeichen werden für den Rechner als Zahlen abgebildet und es gibt Tabellen,
die diese Zeichen irgendwie, in denen ablesbar ist,
was diese Zeichen denn als Zahlen bedeuten,
das Einfachste ist Eski, ASC, EI,
UTF8 ist schon mit ein deutlich mehr Zeichen,
das wollen wir auch nehmen, wir klicken hier auf Other,
UTF 8 ist da schon vorausgewählt,
war es irgendwie bei mir als Default auch,
aber ihr sollt das ja so machen.
Also machen wir das so, sagen Apply and close und
schon haben wir diesen Zeichensatz eingestellt. Als nächstes,
wir haben ja Format bzw. bzw. Quelltextkonventionen und ihr könnt eine XML-Datei laden,
die euch bei dem Einhalten dieser Quelltextkonventionen hilft.
Die habt ihr bestimmt schon runtergeladen oder wenn nicht,
dann tut ihr das,
packt sie in irgendeinen Ordner rein und damit sie jetzt hier verfügbar ist,
Gehen wir wieder auf Window, Preferences, Java.
Code-Style, Formetta und können hier auf Import klicken.
Dann geht wieder so ein Fensterchen auf. Ich habe das
ganze Ding bei mir unter SE2. Ich klicke hier auf Format und sage,
okay, Dann habe ich das hier drin und sage dann wieder,
apply and close und dann ist das Ding geschlossen.
Was das Ganze bewirkt, ist, das sage ich mal hier, an irgendeiner Klasse.
Unsere Quelltext-Konvention sagt, wenn wir zum Beispiel bei einer Methode eine öffnende,
geschweifte Klammer haben für den Methodenrumpf, dann steht das Ding in einer neuen Zeile.
Diese Quelltext-Konvention gibt es bei uns und in einer Firma,
die von zwei Dozenten an dieser Uni Gegründet wurde.
Normalerweise sagt die Createx-Konvention von San Microsystems, diejenigen,
die Ava mal gemacht haben, genau das aus.
Wenn ich das jetzt aber so nicht will,
sondern unsere Creatics-Konventionen nehmen möchte, die Wort nehmen wollen solltet,
weil ihr sonst keine Abnahme kriegt,
dann könnte ich jetzt ganz einfach mit Steuerung Shift F für Format,
die in die neue Zeile kriegen. Das heißt,
logischerweise hätte ich es auch von Hand in die neue Zeile kriegen können,
aber wenn ich jetzt ganz viele solche Methoden erstellt hätte und
an unterschiedlichen Arten vielleicht noch anderes Code vom Matting verwendet hätte,
dann könnte ich mit Steuerung Shift F dieses Formatieren ändern,
weil ich mir diese XML-Datei reingelegt habe.
Es gibt noch eine Möglichkeit, das Ganze noch ein bisschen
bequemer zu machen, und zwar indem man dafür sorgt,
dass bei jedem Speichern diese Umformatierung passiert.
Ich mache das nochmal vor,
wenn ich jetzt hier die Klammer in der falschen Zeile habe und Klick auf Speichern,
passiert erstmal nichts, damit dann was passiert,
gehen wir wieder auf Window Preferences.
Wieder Java, diesmal auf Editor. Safe Actions klicken hier oben an,
performen wir selected Actions on safe und klicken an Format Source Code.
Wenn wir jetzt wieder sagen, Apply and Close,
sind wir wieder da, wenn ich jetzt hier oben,
dazu müsste sich irgendwas geändert haben, damit die speichern kann.
Ich mache hier nochmal so ein Leerzeichen.
Wenn ich jetzt hier oben auf safe klicke,
dann macht er die Klammer automatisch in die richtige Zeile.
Eine andere Einstellung, die man noch vornehmen kann,
die ich für mich ganz gerne vornehme,
ich mag dieses helle nicht so besonders gern.
Das ist ganz sicher Geschmackssache, um das Dark-Team einzustellen.
Ich mache das jetzt einfach mal und ihr könnt euch ja melden,
wenn ihr sagt, das ist ganz fürchterlich und ihr könnt dann gar nichts mehr lesen, dann ist alles blöd.
Dann klicke ich hier auf Window Wieder Preferences,
also ich hätte logischerweise in Preferences Fans auch gleich bleiben können,
aber wer weiß, wann ihr dieser Einstellung,
vielleicht wollt ihr nicht alle Einstellungen gleichzeitig vornehmen und damit ihr dann immer den Weg mal einmal gesehen habt,
das gehe ich immer von vorne durch.
Wir gehen wieder auf General, ich mache das hier mal zu General,
dann habe ich hier Appearance und hier oben steht gleich das Theme.
Und da bin ich im Moment auf Light,
da gehe ich auf Dark,
appliant close
Und dann sind wir in einem Theme,
das meiner Ansicht nach schon ein Stückchen besser lesbar ist.
Als letztes haben wir noch, oder erzählst du,
das konnte ich hier noch sehen,
dass hier immer so eine Rechtsschreibprüfung drin ist.
Wenn ich hier im Code was falsch mache, ich schreibe Return,
anstatt mit N mit M, dann macht er mir das rot.
Das finde ich gut, weil er mir nämlich sagt,
hey, Letlef, du hast einen Fehler gemacht,
das Schlüsselwort kenne ich überhaupt nicht.
Dementsprechend hat dieses rote unterklingelte für mich auch eine bestimmte Bedeutung,
nämlich Fehler im Code.
Wenn er jetzt in jedem Schnittstellenkommentar die Rechtschreibung prüft,
dann geht mir das irgendwann ziemlich auf den Zeiger.
Damit er das nicht mehr macht, damit die IDI das
nicht mehr macht, können wir das auch abstellen.
Wen wundert es? Ist es unter Window Preferences?
General und dann Editors. Dann gehen wir auf Text-Editors.
Spelling und nehmen hier oben den Haken raus.
Und schon... Ach ja, Appliant Close logischerweise,
damit das
auch tatsächlich tut
Und schon sieht man hier nichts mehr so eklig,
rot unterkringelt, sodass dann im Prinzip, wir wissen,
wenn irgendwas rot unterkringelt ist,
dann findet der Rechner irgendwas blöd,
was wir gemacht haben vom Code her.
So, jetzt würde ich hier noch ein bisschen auf das Fenster an sich eingehen.
Ich habe hier für mich relativ ungewohnte niedrige Einstellung eingestellt.
Das kommt mir alles sehr, sehr klein, sehr,
sehr groß gerade vor.
Die wichtigsten Fenster, diese Tag-Task-Lists, nehme ich hier
mal raus
Die wichtigsten Fenster sind hier erstmal der Package-Explorer. Da habe ich
ja vorhin schon erzählt, da sieht man die einzelnen Klassen oder Interfaces.
Und wenn man dann da doppelt draufklickt,
dann kommt hier in dem Editor-Fenster, was eigentlich das,
euer Hauptarbeitsfenster ist.
Ich mache das mal deswegen ein bisschen größer.
Und die... Ja. Jetzt, genau.
Und die Schrift vielleicht da drinnen ein bisschen kleiner mit minus
Dann erscheint, wenn ich auf die Klasse geklickt habe,
hier drin im Prinzip der Quelltext zu der Klasse und hier drin arbeiten wir eigentlich.
Und dann haben wir hier noch die Outline-View.
Die Outline-View ist auch irgendwie noch Teil der Teil des Übungsplatzs.
Ihr solltet so ein bisschen erzählen, was man da so sieht.
Ich erzähle jetzt ein ganz klein bisschen, wie man das,
was heißt, wie man das so rausfindet.
Ich füge einfach mal eine weitere Exemplarvariable ein,
die ist private, vom Typ Int und heißt, my Int,
da müsst ihr euch gewöhnen, ich bin unfassbar fantasielos, was Namen betrifft.
Bei mir heißen, bei meinen privaten Projekten relativ viel radiablen,
bla und blub, weil ich die Programmierideen nicht verlieren will,
während ich über Namen nachdenke, das dauert bei mir ziemlich lange,
deswegen nenne ich sie dann so,
aber natürlich benenne ich sie dann hinterher wichtig.
Genau. Und schon sehen wir hier drin,
Es ist was mit Unterstrich erschienen. Dahinter steht in,
das Ding heißt My Int und wir haben hier so ein rotes Symbol davor.
Nur mal so aus Spaß. Wenn ich daraus jetzt ein String machen würde,
dann würden wir hier in der Outline-View einen String erkennen.
Ich sollte String wahrscheinlich groß schreiben. Genau,
und dann würden wir da einen String erkennen
Und sollte ich, was man mit Exemplar war,
Jablin nicht machen sollte, das Ding public machen.
Dann könnt ihr, ich nehme mal die Markierung weg,
dann könnt ihr hier erkennen,
dass da auf einmal kein rotes Symbol mehr ist.
Also habt ihr dann ja schon mal so eine gewisse Vorstellung,
ohne das Blatt jetzt zu sehr spoilern zu wollen,
eine gewisse Vorstellung, was, was, was bewirkt in dieser Outline-View.
Ich finde die eigentlich ganz nützlich,
weil Quelltext wird manchmal sehr,
sehr lang
Und wenn ich dann hier in dem Editor nach irgendeiner Methode suchen muss,
dann wird das manchmal einigermaßen anstrengend. Vor allen Dingen,
wenn hier in den Methoden Rümpfen einiges drinsteht,
dann ist es natürlich leichter, einfach hier nur an den Namen
zur richtigen Methode zu springen und nicht durch den ganzen Quelltext scrollen zu müssen.
Wenn ich hier jetzt draufklicke, dann seht ihr was,
was... Ja, was fällt uns auf?
Unsere Klasse heißt DVD
Die Methode heißt DVD. Jede andere Methode hat hier ein Rückgabetyp.
Entweder wenn sie tatsächlich was zurückgibt. String in irgendeine Klasse
oder so. Und dann werden sie nicht zurückgebeut.
Hier steht nichts dergleichen. Wenn ich euch das so erzähle,
ich nehme mal wieder diese Markierung einfach weg,
damit man das besser erkennen kann.
Wenn ich euch das so erzähle, dann könnt ihr euch
ja mal überlegen, was dieses kleine C hier bedeutet.
Ich glaube, das war auch noch ein Teil der Frage
auf dem Aufgabenblatt
Okay, das sind eigentlich die Einstellungen, die ich so vornehmen würde.
Ihr könnt auch noch ein bisschen rumspielen. Entschuldigung,
ein bisschen rumspielen hier mit den Preferences, was ihr da für Einstellungen wollt.
Ihr könnt diese Fenster auch irgendwie frei verschieben.
Ich könnte auch diese Fenster frei verschieben und sage,
okay, ich will das jetzt lieber danach haben.
Ich kann hier auch zweimal draufklicken und mache das groß
und habe weder Outline-View noch Package an sich,
klicke nochmal zweimal drauf und habe das wieder da.
Das sind alles so,
ja,
praktische Dinge
Mit denen, ja, mit denen ihr dann umgehen könnt. Das,
was von mir im ersten Video zu dem Teil Workspace einrichten,
ein bisschen erklären, was die einzelnen bisschen erklären, was die einzelnen Dinge da tun.
Okay, jetzt sieht man mich hoffentlich auch wieder,
oder leider, je nachdem, wie ihr das so seht,
zweiten Video wird es, wie gesagt, darum gehen,
dass ich ein bisschen die UML-Pfeile bezogen aufs UML-Klassendiagramm erkläre,
eine Systematik, wie man dann so vorgeht.
Und am liebsten, wenn dann noch Zeit ist,
würde ich ganz gerne anhand von Code aus diesem Projekt so
ein paar wirkliche absolute Basics zu dem SE1-Stoff wiederholen.
Ihr dürft euch auf gar keinen Fall darauf verlassen,
dass in SE1 Klausur, in SE2 Klausur, Entschuldigung,
nur SE2-Stoff abgefragt wird,
als ich SE2 geschrieben habe,
war auch einiges aus SE1 dabei
Außerdem ist es sowieso grundlegend und ihr müsst es sowieso für
eure späteres Programmiererin leben, wissen und dementsprechend, ja,
werde ich das, wenn noch Zeit ist, wiederholen.
Ich habe im Moment so ein bisschen meine Zweifel,
ich gucke immer so zur Seite, weil ich eine Uhr mitlaufen habe.
Aber wenn wir nicht dazu kommen,
es sind ja an jedem Tag von Montag bis Freitag
ist eine Fragerunde und da könnt ihr dann ja auch immer
kommen und Fragen stellen zu irgendwas und logischerweise auch zu dem SE1-Stoff.
So, das war es erstmal von mir und
wir sehen uns im zweiten Video