Kategorien
Praxissemester Studium

Unit Testing

In der Softwareentwicklung gibt es, wie in jeder Ingenieursdisziplin, ein Vorgehensmodell wie komplexe Software am Besten erstellt werden sollte. Diese Planung trennt die einzelnen Schritte der Entwicklung in Teilprobleme auf, die dann weniger komplex und somit leichter zu beherrschen sind.

In der Softwareentwicklung gibt es derer fünf:

  1. Planung
  2. Analyse
  3. Design (Entwurf)
  4. Implementierung
  5. Validation und Verifikation

Ich werde hier nur auf den fünften Teil eingehen, für die ersten Teile empfehle ich jetzt nur einfach spontan mal UMLet.

Kategorien
Praxissemester Studium

Refactoring

Refaktorisierung, wie es auf Deutsch heißt, beschreibt eine Methode um Software „schöner“ zu machen. Jetzt fehlt nur noch die Definition von „schöner“ und dieser Post ist fertig 🙂

Das Problem von Improvisierungen ist, dass diese meist länger leben als sie sollten. Jeder hat bestimmt schonmal daheim ein Brett irgendwo untergelegt und wollte das „später“ dann mal ordentlich festschrauben, oder Ähnliches. Sowas gehört zur Kategorie: „Funktioniert, warum also ändern?!“.

Ähnlich ist das bei Software. Wenn ein armer Student als Praktikant plötzlich eine Software für einen Betrieb schreiben muss, dann kann man nur hoffen, dass er was von „Design, Analyse und Implementierung“ gehört hat, das Lasten- und Pflichtenhefte keine Fremdworte sind und dass Code der „ad hoc“ in den PC getrimmert wird, meist nicht das Gelbe vom Ei ist.  Aber selbst wenn man sich viele Gedanken gemacht hat und diese auch wunderbar mittels UML niedergeschrieben hat, jegliche Spezifikation sich aus den Fingern saugt und dann denkt das man „doch an alles gedacht hat“, so wird man doch meist von der Realität eingeholt und muss seine Software umstrukturieren. Hier greift dann die Refaktorisierung.

Natürlich gibt es auch andere Anwendungsgebiete, wie z.B. Anpassung einer Software an ein neues Betriebssystem, Erweiterung der Funktionalitäten oder Sonstiges, dies alles kann zur Refaktorisierung führen. Wichtigste Grundregel für die Faktorisierung ist aber:

Das System muss bereits laufen

Ohne ein laufendes System gibt es auch keine Refaktorisierung. Zweiter wichtiger Punkt ist die Tatsache dass die Funktionalität nicht geändert werden darf. Dies steht nicht im Widerspruch zur obigen Aussage „Erweiterung der Funktionalitäten“, da das Refactoring tatsächlich erstmal das „Aufräumen“ des Codes ist um dann im Nachhinein neue Features einzubauen.

Refaktorisieren ist relativ einfach. Man will eigentlich nur folgende Ziele erreichen (zitiert aus der Wikipedia):

  • Lesbarkeit
  • Übersichtlichkeit
  • Verständlichkeit
  • Erweiterbarkeit
  • Vermeidung von Redundanz
  • Testbarkeit

Wer schon einmal Klassen mit ein, zwei Funktionen gesehen hat, diese aber 170-180 Zeilen Code jeweils ausmachen, der weiss wie schwer es ist sich in diesen Wulst einzulesen. Warum also, wenn man den Code eh schon verstehen muss, den Code nicht auch gleich verständlicher machen?

Die Mittel der Refaktorisierung sind simpel und meist Schritt für Schritt zu erledigen. Einen schönen Katalog dazu hat Martin Fowler (Refactoring. Wie Sie das Design vorhandener Software verbessern. Addison-Wesley Verlag, ISBN 3-8273-1630-8) erstellt, dort wird über mehrere Kapitel genau erläutert wie man Schritt für Schritt Software „schöner“ macht. Ich empfehle jedem Softwaredesigner dieses Buch zumindest mal anzulesen. Ich werde es mir auch erst noch kaufen müssen, da ich bisher nur „auf der Arbeit“ einen Blick reinwerfen konnte.

Man sollte sich dringend in den Wikipedia-Artikel einlesen, auch wenn dieser recht schmalbrüstig ist. Dort sind aber gute (englische) Artikel verlinkt und ausserdem hat sich jemand die Mühe gemacht den oben erwähnten Katalog von Fowler online zu stellen.

Kategorien
Linux Praxissemester Studium USA

3/14

Toller Titel, ist das Datum von heute, nur in der englischen Darstellungsweise. Heute ist ja auch der „Huldigt der Zahl PI“-Tag. Was es alles gibt.

Kommen wir zu der Zusammenfassung der letzten Tage, es ist eine Menge passiert, und meistens kam ich nicht dazu es hier zu veröffentlichen. Deswegen wird dies hiermit und sofort nachgeholt:

  • Inzwischen kann ich Boxen flashen. Was bedeutet: Ich kann den FPGA flashen und danach noch das Bios der Box. Näheres wird nicht erwähnt
  • Tank Gauging aus der Sicht des Marketings ist doch ziemlich interessant. Bisher kannte ich nur die Entwicklersicht, aber mal aus dem eigenen Teller auszusteigen um über einen fremden Tellerrand zu blicken hat durchaus Vorteile.
  • Postsendeanträge die nicht funktionieren sind lästig. Und da Nacharbeit teuer ist, hab ich 40 € und 6h Zeit investiert um ein Formular aus Karlsruhe zu besorgen das für mein Visum unentbehrlich ist. Ärgerlich wenn man Vorbereitungen trifft und diese absagen muss, weil eine „fremde“ Macht einem einen Strich durch die Rechnung macht
  • Refactoring ist ein interessantes Thema. Dazu werde ich noch einen eigenen Artikel schreiben.
  • Das Visum J-1 wurde inzwischen genehmigt (der Termin im US-Konsulat Frankfurt war heute) und wird mir im Laufe der nächsten Woche postalisch zugesandt. Ärgerlich ist es nur wenn man Stunden warten muss, weil sich andere Leute nicht an die Vorschriften halten und den kompletten Sicherheitscheck aufhalten, weil Sie mal nicht eine Stunde auf ihr Handy verzichten können. Auf jeden Fall kann der Flug jetzt gebucht werden.
  • Getoastetes Toast mit Schweinerückensteak und Champignonsahnesoße mit gemischtem italienischem Salat ist unglaublich lecker. Interessanterweise kann man mit Fleischkäse auch ein Cordon Bleu machen und das schmeckt dann sogar.
Kategorien
Praxissemester

Die Post ist da.

Weil ich sackmüde bin, nur die Kurzfassung:

  • Postweiterleitung klappt nur, wenn der Postbote da auch mitspielt. Ansonsten landen wichtige Dokumente in Karlsruhe.
  • spontane Bahnfahrt Maulburg -> Karlsruhe -> Maulburg: 6 Stunden unterwegs, 42 € ärmer und total am Arsch bin ich auch. Gott sei Dank gilt meine Bahncard 50 noch, sonst wären daraus 84 € geworden
  • Pin-Nummer vom Handy vergessen -> Sim-Karte gesperrt. Jetzt versuch mal ohne Telefon deine Eltern anzurufen, dass die dir deine PIN1 sagen können
  • Jacke hat eine Schlaufe zum Aufhängen derselben am Haken. Jetzt nicht mehr
Kategorien
Praxissemester Studium USA

Formalitäten

So, nur für mich selber zur Erinnerung der grobe Plan der nächsten Monate:

  • 11.03. – 25.03. Hoffentlich baldiges Abschliessen meines Visums
  • um den 01.04.: Abflug nach Indianapolis
  • 01.05. Abgabe des Zwischenberichts an meinen Prof.
  • 31.07. Beantragung eines Arbeitszeugnisses von E+H
  • 15.09. – 01.10. Praxisnachbereitung
  • 1. Vorlesungswoche: Abgabe des Arbeits- und Erfahrungsberichtes und des Laufzettels mit Anlagen
Kategorien
Praxissemester

Reflexionen

Bald gehen mir die Überschriften aus …

Also, nachdem ich drei Tage lang keinen Text geblogt habe, wird das jetzt nachgeholt. Ich versuche das einigermassen zu strukturieren

Freitag:

Übliches Schaffen, bissle Vorfreude aufs Wochenende, bissle Schiss vor dem Interview im Konsulat in Frankfurt am Montag. Der Tag verläuft unspektakulär, so um kurz vor sieben bin ich dann in die Bahn nachHolzgerlingen um dort dann doch net direkt anzukommen. Da kam mir nämlich eine viel bessere Idee die der eisdiele hatte (komisch mit dem Umlaut so): Ab in den Kellerklub und erstmal ne Runde abhotten. Da hat auch gleich ne Live-Band gespielt, die hießen .. the killerqueens oder so ähnlich. Indie-Punk war das wohl, ich fands net so überragend. Ansonsten verlief der Abend gemütlich bis ca. 3:30 und dann gings heim zum Schlafen.

Samstag:

Am nächsten Morgen dann „relativ“ früh aufgestanden, nämlich schon um 10:00. Mit meiner Mutter zur Fahrradbörse, damit die ein neues Fahrrad kriegt. Fahrräder beeinflussen mich zur Zeit irgendwie extrem. Egal, hin, 70€ gezahlt, Fahrrad in Kofferraum und wieder heim. Hat keine 30min gedauert. So muss das laufen. Danach dann in den „Vorbereitungsstress“ für die Geburtstagsfeier am Abend, alles sehr entspannt, da meine Mutter rastlos schon 95% vorbereitet hatte. Es waren keine 100%, ich musste noch die Deko, da Essen und mich zum Ort des Geschehens bringen 🙂

Der Abend war dann herrlich, (besonders das Piñata schlagen), am Ende dann noch besonders toll, da ich endlich mal wieder ein Lagerfeuer geniessen konnte. Und natürlich das Feiern bis der Arzt kommt 🙂 Um 6:00 morgens war die Hütte dann geputzt und geräumt, ich wurde noch freundlicherweise heimgefahren und gerade mal 6 Stunden später war ich dann auch schon wieder wach. Notgedrungen. Die Hütte musste ja noch abgenommen werden, das ging auch relativ fix, bis auf die Tatsache das ich den Hüttenschlüssel daheim hab liegen lassen. Neben Fahrrädern scheinen Schlüssel (und das Vergessen derselben) mein neues Steckenpferd zu werden.

Ansonsten um 16:15 auf die Bahn und schon nach 4h war ich dann wieder in Schopfheim. Total erschlagen bin ich dann einfach direkt ins Bett und hab eigentlich nur noch „Die Fantastischen 4“ auf Pro7 angeguggt. Ich find den Film ganz nett. Wobei das Ende eher langweilig ist.

Montag:

Hier gibt es zwei Handlungsstränge: Der erste erzählt die Geschichte wie sie hätte laufen sollen und der zweite rückt das ganze an die Wahrheit ran.

Da ich ja bereits am Sonntag abend in Frankfurt angekommen bin, hab ich ruhig und gemütlich in meinem Hotelzimmer den Blockbuster des Abends geniessen können. Leider hab ich „Equilibrium“ schon gekannt, aber das macht ja nichts. Der Weckdienst des Hotels hat mich dann um 7:30 geweckt und ich bin erstmal genüsslich frühstücken gegangen. Besonders die Buttercroissants haben es mir angetan.

Um 9:15 stand ich dann im Wartezimmer des amerikanischen Konsulats, legte meine 342301 Dokumente vor (inkl. des DS 2019, das ich am Samstag mit der Post gekriegt habe) und durfte nach 7,5 min dann wieder gehen. Herrlich, so muss das laufen. In Frankfurt bin ich dann noch geschwind an die Börse und hab Aktien mit einem Gewinn von ca. 1265% wieder verkauft. Exzellent.

Kategorien
Praxissemester

Und am vierten Tag erschuf Gott den Himmel ..

Weil ich aber nicht Gott bin, hab ich heute nur Test-Reports erschaffen. Genauer gesagt zwei Stück. Danach war dann Teammeeting (diesmal nur projektbezogenes Teammeeting, im Gegensatz zum Meeting am Montag, das war abteilungsweit). Dann hab ich angefangen mir aufzuschreiben wie so eine Workbench-Station aufgebaut ist (3 Kabel hier, 2 Stecker da, 8 Klemmen dort, …), da ich so ein Ding ja auch selber zusammenschrauben können muss. Irgendwie war damit dann auch der Tag komplett ausgefüllt, obwohl sich das so wenig anhört.

Deswegen erzähl ich noch bissle was zu gestern abend. Heute morgen war meine Motivation einen riesigen Eintrag zu schreiben eher gering, deshalb hole ich das jetzt nach. Um 13:30 hat das ja angefangen, zuerst mit einer Führung durch das Werksgelände. Dort hab ich dann die Füllstandsmessungsensoren, Druckmessungsensoren, die jeweiligen Fabriken dafür, das Testcenter, die „Folterkammer“ (dort wird z.B. so ein Sensor einfach mal stundenlang mit Wasser beschossen um zu schauen ob der auch dicht ist), die Elektronikfertigung und die Maschinenbauwerkstatt inkl. Werkzeugfertigung. Riesiges Gelände.

Danach kam dann ein Mann aus der Marketingabteilung und hab darüber referiert inwiefern wo und was Endress+Hauser eigentlich macht, wie Herr Endress und Herr Hauser angefangen haben, wo sie momentan stehen, wo sie hinwollen, wieso sie so im Markt positioniert sind, wie sie es halt sind und so weiter und so fort. Marketing halt 🙂 Danach durfte sich dann jeder Praktikant einmal vorstellen, da die Unternehmenssprache Englisch ist, haben die meisten auch ihren Vortrag auf Englisch gehalten. Ebenso wie ich. Unvorbereitet, da ich den nur auf Deutsch durchgespielt hatte, aber ging ja um nix und ich bin auch ganz gut damit fertig geworden.

Weiter ging die Abendplanung mit Kegeln in Höllsteinen. Dort hab ich dann Billard gespielt, da die Kegelbahn total überfüllt war mit den anderen Praktikanten. Danach gabs dann noch Essen, Tomatencremesuppe mit Croutons, kleiner gemischter Salat, Hänchenbrust mit Kroketten, Pommes, Spätzle, Brokoli, Blumenkohl (heißt auf norwegisch übrigens „Bloomkol“ und auf Englisch „Cauliflower“ und Karotten. Als Nachtisch gabs dann noch Eis mit Meringe und einen Cappucino. Das war bestimmt kein billiger Abend für E+H 🙂

Der Abend ist dann nach ein paar Gesprächen gegen 23:00 ausgelaufen, da wir ja alle wieder morgens um 8 auf der Matte stehen müssten (manche schon früher), so dass ich ca. 30min später in meiner Wohnung war und ca. ne Stunde danach auch endlich eingeschlafen bin.

Heute abend werd ich noch ein paar WG-Leute motivieren was zu unternehmen und auf meinen Geburtstag (der ja bekanntlich heute ist) anstossen. Helau. Alaaf. Feierabend!

NACHTRAG: Heute ist die Bestätigung gekommen, dass mein DS 2o19 (das Vorformular für das J-1 Visum) endlich da ist und mir sogleich zugeschickt wird. Exzellent. Wenn die das heute wegschicken ist das hoffentlich morgen schon da. Sonst wird das ECHT schwierig.

Kategorien
Praxissemester

And the story continues …

Sodala. Ein weiterer Tag bricht an und ich muss noch schnell die Ereignisse des letzten Tages preisgeben.

Ich hab die besagte Diplomarbeit bereits durchgelesen und nehme mir jetzt die nächste vor, dasselbe Thema, nur ein anderes System das untersucht wurde. Ich durfte auch dem Diplomarbeit-Auditorium (da wo dann die Note entsteht) beiwohnen und hab so noch ein paar mehr Einblicke in die Diplomarbeit gekriegt. Bis zum Mittagessen habe ich dann versucht meinen ersten Test-Master durchzuführen, ist erstmal daran gescheitert das ich eine Option in der Weboberfläche des Gerätes nicht auswählen konnte. Spontan wusste keiner warum das nicht geht, aber für mich war es dann eh Zeit für den offiziellen Praktikantennachmittag.

Dieser began um 13:30 und endete (als bezahlte Arbeitszeit) um 18:10, wobei alle (knapp 35 Praktikanten/Diplomanten) dann noch ne Runde Kegeln gegangen sind im Nachbardorf. Dort habe ich mich dann mit zwei Japanern (beide männlich), zwei Südafrikanern (männlich/weiblich)  und einem Norweger unterhalten. Anstregend so eine Konversation komplett auf Englisch. Aber ich hab ein neues Wort gelernt (bzw. erstmal nur dieses behalten): „hoppy“. Was nichts anderes bedeutet als „schmeckt nach Hopfen“. Das war der Kommentar des Südafrikaners zum hellen Weizenbier 🙂 Als weiteren internationalen Gast gabs dann noch einen Marokkaner, der konnte aber sehr gut Deutsch.

Dann noch mit dem Marketingmanager unterhalten und gegen Mitternacht war dann Schicht im Schacht und ich bin totmüde ins Bett gefallen. Eigentlich hätte ich gestern noch auf dem neuen Server was machen sollen .. Asche auf mein Haupt.

Kategorien
Praxissemester USA

Der zweite Tag

Nachdem jetzt auch der letzte meiner Komolitonen sich einen Blog angelegt hat (natürlich _nur_ zur Erinnerung, damit der Praxissemesterbericht nachher leichter von statten geht), muss ich ja geradezu meinen heutigen Tag kommentieren.

Diesmal machen wir das andersrum, von jetzt nach heute morgen. Jetzt habe ich nämlich gerade ein Zimmer in Frankfurt beim Hotel Alleenhof bestellt, da ich ja am Montag meinen Konsulatstermin habe und ich keinerlei Bock habe morgens um 4:00 aufzustehen um rechtzeitig um 9 Uhr im Konsulat zu sein. Und jetzt so als Großverdiener fallen die 55,-€ auch nicht so ins Gewicht 🙂

Ansonsten verlief der Tag recht unspektakulär, ich hab die restlichen Use-Cases durchgelesen, Mittag gegessen (Hünchen-Hawaii mit Kroketten. Es waren übrigens genau fünf Stück) und endich meine Zutrittskarte erhalten. Die kann gleich drei Dinge auf einmal: Zutritt verschaffen, Zeit abstempeln und Geld aufladen. Wahnsinn, gell? 🙂

Desweiteren wurde mir dann nochmal erörtert was ich eigentlich so ungefähr alles machen darf, ums gleich zu verewigen, werde ich es hier breittreten:

Softwaretests

Ja, genau so spektakulär 🙂 Als allererstes hab ich eine knapp 100seitige Diplomarbeit zum Thema „Wirksamkeit von Softwaretests bei eingebetteten Systemen“ in die Hand gedrückt gekriegt, das wird jetzt die Abendlektüre. Ansonsten bin ich die nächsten vier Wochen damit beschäftigt, die Use-Cases zu verstehen, die Systemarchitektur zu verinnerlichen, mit den Use-Cases zu arbeiten, anhand dieser Use-Cases Tests zu machen und evtl. auch eigene Tests zu erstellen und natürlich noch ein bißchen Handwerkszeug, sprich Kabel verlegen, Kabelkanal benutzen, Aderendhülsen anbringen und den Rack für das System das ich betreue aufbauen. Das übliche halt 🙂

Dann sollten die vier Wochen auch irgendwie rum sein (sind ja nur 20 Arbeitstage) und ich darf in die USA. Vorrausgesetzt das mit dem Visum wird was, da mir mein Legal Sponsor erst am Donnerstag sagen kann, ob ich das Vorformular fürs Visum (DS 2019) in den Händen halten darf oder nicht. In den USA darf ich dann das System aufbauen, verkabeln, flashen, konfigurieren, minimaltesten und danach dann richtig testen.

Sinn der Sache ist nämlich, die Fehler in dem System schon frühzeitig zu erkennen und nicht erst Wochen vor dem eigentlichen Release oder sogar erst beim Kunden. Früherkennung wird großgeschrieben. Verständlich.

So, das wars dann auch schon für heute, man spricht sich dann wieder morgen 🙂 Achso: Das Wetter von heute morgen hat sich gott sein Dank nicht bis heute Abend gehalten und ich konnte im Trockenen nach Hause radeln…

Kategorien
Praxissemester

Moin

Temperaturen um die 0°C, Schneeregen und trübes Wetter. Auf in den zweiten Tag!