Zum Inhalt springen

  • Beiträge
    72
  • Kommentare
    239
  • Aufrufe
    12.658

Modul: Softwaretechnik 3


kurtchen

690 Aufrufe

Das Modul Softwaretechnik 3 (SWT3) ist verpflichtend für Studierende im Studiengang Web- und Medieninformatik und wird dort dem großen Studienbereich "Softwaretechnik" zugerechnet. Für Studierende im Studiengang Wirtschaftsinformatik ist es nicht verpflichtend. Soweit ich es verstanden habe, kann es von ihnen nicht einmal als Vertiefungskurs belegt werden. Laut Studienplan sollte man SWT3 im 6. Semester belegen. Es ist also als eines der letzten Module vor der Bachelor-Arbeit vorgesehen.

 

Voraussetzungen

 

Die Liste der Module, die als inhaltliche Voraussetzung genannt werden ist lang: Man benötigt GdI1 und GdI2, weil man solide Kenntnisse objektorientierter Konzepte sowie gute Java-Kenntnisse braucht. GdI3 ist wichtig, weil die Interaktionen zwischen den Schichten GUI, Fachkonzept und Datenhaltung eine wesentliche Rolle spielen. SWT1 ist unter anderem nötig, weil man sich mit den verschiedenen UML-Diagrammen gut auskennen sollte. Wozu man Software-Management braucht, erschließt sich mir nicht. Ich hatte diese Grundlage nicht und habe sie auch an keiner Stelle des Kurses vermisst. Dafür denke ich, dass das Modul "Nicht-sequentielle Programmierung" (NSP) eine sinnvolle Vorbereitung wäre, denn verteilte Anwendungen spielen eine große Rolle und es ist sehr hilfreich, zumindest schon einmal Erfahrungen mit RMI (Remote Methode Invocation) gesammelt zu haben. Das Modul SWT3 ist außerdem ein Pflichtmodul für das Hochschulzertifikat "Software-Architekt". Kein Wunder, denn Software-Architektur ist ein roter Faden dieses Kurses.

 

Das Lehrbuch

 

Grundlage für den Kurs ist das "Lehrbuch der Softwaretechnik - Entwurt, Implementierung, Installation und Betrieb" von Helmut Balzert. Es ist der Folgeband zum "Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering" vom gleichen Autor. Während sich der Inhalt des ersten Bandes auf 2 Module verteilte, muss man für SWT3 tatsächlich die kompletten 580 Seiten durchackern. Und die haben es in sich. Wie schon im ersten Band legt Herr Balzert großen Wert auf eine präzise Definition der Begriffe. Viele Diagramme (vor allem UML-Diagramme) und Code-Beispiele (meist in Java) ergänzen den Kurstext.

 

Die Themen

 

Eine der ersten Einsendeaufgaben behandelte Verteilungsdiagramme. Mit diesen stellt man dar, wie die Komponenten eines verteilten Softwaresystems auf verschiedene physische Rechner oder auf verschiedene Ausführungsumgebungen an verschiedenen Standorten verteilt sind, und über welche Protokolle die Interaktion zwischen den Knoten abläuft. Konkret sollte man für die Aufgabe die sprachliche Beschreibung eines verteilten Systems in ein Diagramm umsetzen. Hier hatte ich Schwierigkeiten, mir das System und das Zusammenwirken seiner Teile vorzustellen. Ich brauchte mehrere Anläufe und viele Rückmeldungen meines Tutors, um diese Aufgabe befriedigend lösen zu können. Leider ist dieses Thema eine meiner Achillesfersen geblieben. Die Verteilungsdiagramme spielten auch in der Klausur eine Rolle und gerade mit dieser Aufgabe habe ich mich sehr schwer getan.

 

Leichter fiel mir der große Themenbereich der Entwurfsmuster. Hier zielten die Einsendeaufgaben darauf ab, verschiedene Entwurfsmuster in Java auszuprogrammieren. Zu meiner Überraschung ist SWT3 ein Modul, in dem das Schreiben von Code wieder eine größere Rolle spielt. Eine schöne Nebenwirkung dieses Moduls ist, dass ich nun viel besser mit Netbeans umgehen kann. (Eigentlich nicht vorgesehen, ich hätte ich das Modul mit Eclipse bearbeiten sollen.) Wichtige Themen sind: Callback, Schichten-Muster, Beobachter-Muster, MVC-Muster, Fassaden-Muster, Kommando-Muster, Proxy-Muster, Fabrikmethoden-Muster, Strategie-Muster und Brücken-Muster.

 

Angenehm am Modul ist auch, dass sich eher theoretische und sehr praktische Kapitel abwechseln. Nach einem recht theoretischen Kapitel über nicht-funktionale Anforderungen geht es also wieder recht praktisch weiter mit Globalisierung und Internationalisierung von Software, mit Authentifizierung und Autorisierung am Beispiel JAAS und mit Transaktionen am Beispiel JTA. Ergänzend zur vorherrschenden Java-Perspektive gibt es immer wieder kleinere Ausflüge, wie die verschiedenen Konzepte des Kurses in .NET umgesetzt werden.

 

Ein nächster großer Block sind Arten der Netzkommunikation bei verteilten Anwendungen. Hier lernt man in rascher Folge die Kommunikation mit Sockets, mit Remote Method Invocation (RMI), mit CORBA, mit XML-RPC, mit SOAP und REST. Hierzu gibt es auch wieder mehrere Programmieraufgaben. In diesem Zusammenhang lernt man auch weitere Entwurfsmuster kennen, z.B. Wert-Objekte, Fabrik-Dienste und Fassaden.

 

Es folgt ein Kapitel über softwaretechnische Infrastrukturen. Hier geht vor allem um Java EE und um .NET. Das Kapitel über eingebettete Systeme und Architekturmuster für diese fällt aus meiner Sicht recht knapp aus. Wichtiger scheint mir das Kapitel über Persistenz. Hier gibt es Einsendeaufgaben zur objektrelationalen Abbildung (ORM) und zur Java Persistence API (JPA). ORM war ja auch schon im Modul "SQL und relationale Datenbanken" Thema, aber ich finde es nicht schlecht, dass dieses Thema hier noch einmal auftaucht. Bei der objektrelationalen Abbildung geht es darum, Klassen, Assoziationen und Vererbungsstrukturen eines per OOA erstellen Fachkonzepts in sinnvoller Weise auf Tabellen einer relationalen Datenbank abzubilden. Hierfür gibt es mehrere Möglichkeiten, die je eigene Vorzüge und Nachteile haben.

 

Die restlichen Kapitel über GUI-Entwurfsmuster, den Entwurfsprozess, Qualitätssicherung der Architektur, Implementierung, Verteilung und Installation, Betrieb und Reverse Engineering werden nur noch durch Tests abgedeckt. Aufgrund des Umfangs des Moduls gibt es sehr viele Tests. Ich habe auch den Eindruck, dass im Abschlusstest breit geprüft wird.

 

Mein Tutor war der gleiche wie in SWT1, SWT2, Mobile Computing und Web-Design. Die Rückmeldungen zu meinen Einsendeaufgaben kamen meist schon am nächsten Tag. Besonders interessant war es natürlich, wenn meine Lösung nicht gestimmt hatte. Durch die schnelle Antwortzeit, konnte ich gut Rückfragen stellen und meine eingereichten Lösungen zum Teil in mehreren Schritten verbessern. Das war wieder sehr hilfreich für die Klausurvorbereitung.

 

Online- und Präsenzklausur

 

Bei der Online-Klausur kamen Themen dran, mit denen ich nicht unbedingt gerechnet hätte. Aufgrund der Gewichtung der Einsendeaufgaben erschienen mir, Entwurfsmuster, Arten der Netzkommunikation und Persistenz als die Kernthemen des Moduls, die man gründlich vorbereiten sollte. Aber hier kamen auch Aufgaben zu kleineren Themen. Wer Bonuspunkte will, sollte also den gesamten Kurs ernst nehmen.

 

In der Präsenzklausur kamen große Punktebringer dann schon aus den oben genannten Kernthemen. Es gab aber auch mehrere kleinere Aufgaben, die mit Wissensfragen Inhalte aus dem gesamten Modul abdeckten. Schon eine clever konstruierte Prüfung, wenn man checken will, ob die Studierenden wirklich alles bearbeitet und verstanden haben. Leider kamen auch die von mir nicht geliebten Verteilungsdiagramme wieder dran.

 

Fazit und Ausblick

 

Manche der vorgestellten Architektur-Muster waren recht komplex. Zum Teil habe ich bei diesem Modul gespürt, dass ich an die Grenzen meiner Abstraktionsfähigkeit komme. Man merkt deutlich, dass es ein Modul für fortgeschrittene Semester ist. Gut gefallen hat mir, dass hier die Umsetzung der Entwürfe in Code wieder eine größere Rolle spielt. SWT3 bildet eine gute Brücke zwischen den Modulen der Softwaretechnik und den Programmiermodulen. Ich finde insgesamt die Studienbereiche GdI und SWT gut aufeinander abgestimmt. Der Kurs hat mir wieder sehr viel Spaß gemacht, war aber für mich auch herausfordernd. Während ich bei anderen Modulen oft noch Wünsche formulieren konnte, was ich gerne noch alles gelernt hätte, war ich nach SWT3 endlich einmal "satt". Das kommt bei mir eher selten vor.

 

Ein Klausurergebnis habe ich noch nicht, aber ich hoffe sehr, dass die Mühe sich gelohnt hat und ich diesen anstrengenden Teil meines Studiums nun auch wirklich hinter mir lassen kann. Den "dicken Brocken" Softwaretechnik habe ich damit aber noch nicht geschafft. Auf mich warten noch immer die Module "Software-Management 1" und "Software testen". Ich brauche nun aber tatsächlich einen Themenwechsel, um nicht ständig von der gleichen geistigen Ressource zu zehren. Darum möchte ich nun endlich einmal das bislang von mir vernachlässigte Thema BWL angehen, um das auch Studierende der Web- und Medieninformatik nicht herumkommen. In den nächsten Wochen wird mich also das interne und externe Rechnungswesen beschäftigen. Nicht gerade eine Entwicklungsaufgabe, auf die ich mich freue, aber nachdem ich in den letzten Wochen sehr viel vor dem Bildschirm gesessen habe, wird es zumindest eine Abwechslung sein.

4 Kommentare


Empfohlene Kommentare

Christ Himmelfahrt steht vor der Tür und das Studienbüro von Springer Campus in Dortmund ist diesen Freitag nicht besetzt. Vielleicht ein verlängertes Wochenende? Warum nicht. Machen viele meiner Kolleginnen heuer auch. Ich war dieses Mal leider nicht unter den Glücklichen. Jedenfalls hatte ich deswegen nicht mehr damit gerechnet, noch vor dem langen Wochenende mein Klausrergebnis zu Softwaretechnik 3 zu erfahren. Und dann kam kurz vor halb 3 doch noch die ersehnte E-Mail.

 

Mit dem Ergebnis bin ich sehr zufrieden. Ich hatte schon vermutet, dass ich bei den Entwurfsmustern und den Wissensfragen ganz ordentliche Arbeit geleistet hatte. Ein bisschen unsicher war ich mir, weil eine relativ große Aufgabe zu Verteilungsdiagrammen dabei war. Dieses Thema war mir in der Bearbeitung des Modul schwer gefallen. Bei der Einsendeaufgabe hatte ich mehrere Anläufe gebraucht, um mit den Rückmeldungen meines Tutors eine vernünftige Lösung zu finden. Ich vermute, dass ich bei dieser Aufgabe auch in der Klausur "geschwächelt" habe. Letzte Gewissheit könnte natürlich nur eine Klausureinsicht bringen. Aber anscheinend hat es sich gelohnt, an dieser Einsendeaufgabe zu feilen, bis sie gepasst hat. Allzu viele Punkte kann ich hier nicht verschenkt haben. Das ist wieder ein Moment, wo ich mich über meinen sehr guten Tutor in den Softwaretechnik-Modulen freue. Es ist toll, beim Lernprozess Rückmeldungen zu bekommen, und zwar gerade dann, wenn das, was man eingereicht hat, noch nicht den Ansprüchen genügt.

 

Da ich mir noch ein paar Bonuspunkte erarbeiten konnte, ist die Endnote sogar noch ein bisschen besser als das ohnehin schon schöne Klausurergebnis. Das ist ein wirklich schöner Abschluss dieses Tages. Auf der Arbeit war es heute nämlich ziemlich chaotisch und ich habe den morgigen Feiertag herbeigesehnt. Jetzt kann ich ihn umso mehr genießen. Ich habe mir eine schöne Flasche Scheurebe Spätlese und ein Kilo frische Erdbeeren gegönnt. So hat meine Partnerin auch etwas von meinem Erfolg.

 

Die Klausur zum Modul "Softwaretechnik 3" war mir die wichtigste unter den vieren, die ich am letzten Prüfungswochenende geschrieben habe. Das Modul hatte mir Spaß gemacht, die Inhalte fand ich spannend und relevant, das Lehrbuch und den Kurs gut aufgebaut. Da wollte ich auch gerne gut abschneiden. Ein bisschen Sorge hatte ich, dass ich es mir "versaut" haben könnte, weil ich mir für das Prüfungswochenende zu viel vorgenommen hatte. Das hätte mich - gerade bei diesem Modul - schon geärgert. Glück gehabt! Das werde ich heute Abend ein bisschen feiern.

 

Aktuell bearbeite ich das Modul "XML", das mir großen Spaß macht. XML ist ein recht formales Thema und solche Sachen mag ich gern. Am Anfang habe ich mir das Leben ein bisschen schwer gemacht, weil ich mir keinen gescheiten XML-Editor kaufen wollte. Ich habe nun eine kostenlose Studenten-Testlizenz für OxygenXML, die immerhin 31 Tage läuft. Seitdem geht es viel schneller voran. Gutes Werkzeug ist schon wichtig.

 

Parallel bearbeite ich BWL1. Das ist bislang das Modul im Studium, das mir am schwersten fällt. Ich habe hier zum ersten Mal das Gefühl, mich mit etwas beschäftigen zu müssen, für das ich keinen Funken Begabung habe. Hoffen wir, dass es wenigstens charakterbildend ist, sich dieses Thema erkämpfen zu müssen.

 

Aber heute kann ich mich gut damit abfinden, internes und externes Rechnungswesen büffeln zu müssen.

Bearbeitet von kurtchen
Link zu diesem Kommentar

Was macht BWL für dich so schwierig bzw. wo meinst du keine Begabung für zu haben?

 

Ich fand BWL vor allem recht viel auswendig lernen, mitunter auch mal ein bisschen rechnen.

Link zu diesem Kommentar

Ich glaube, ich bin einfach kein "kaufmännischer" Typ. Es fängt damit an, dass ich das ganze wirklich unglaublich langweilig finde. Nach 1-2 Seiten habe ich das Gefühl, ich schlafe gleich ein. Dann fällt es mir schwer, Sachen, die ich eigentlich begriffen habe, auch im Gedächtnis zu behalten. Vermutlich auch wieder, weil es mich nicht interessiert.

 

Natürlich mache ich mir bewusst, dass das ein Teil meines Studiums ist, dass ich die Klausur bestehen muss, dass BWL Auswirkungen auf meine Abschlussnote hat. Und es sind ja auch keine lebensfernen Themen. Alles Fakten, die unterstreichen sollten, dass BWL ein relevantes Thema ist. Und natürlich gehört es zu einem Studium, sich auch mal mit Themen auseinander zu setzen, die einen nicht so interessieren. Mit so etwas muss man sonst im Leben ja auch fertig werden und das kann man ja auch. Ich versuche also, mir eine halbwegs offene und positive Haltung einzureden. Aber in der direkten Auseinandersetzung mit dem Stoff ist die Langeweile schnell wieder sehr dominierend. Ich würde jederzeit lieber zusätzliche Mathe-Module belegen, wenn ich dafür der BWL entkommen könnte. Wenn ich eine Rangliste sämtlicher Studiengänge aufstellen müsste, geordnet nach meinem Interesse am Stoff, so wäre BWL vermutlich auf dem letzten Platz. Biologie, Soziologie, Politik, Maschinenbau, Philosophie, Religionswissenschaft, Literaturwissenschaft, Eurythmie, Finnougristik, so ziemlich alles würde mich mehr interessieren als BWL.

 

Aber davon werde ich mich nicht kleinkriegen lassen.

 

Es gibt 3 Pflichtmodule, die etwas mit BWL zu tun haben:

- BWL1: Je ein Lehrbuch zum externen und internen Rechnungswesen

- BWL2: Je ein Lehrbuch zu Ökonomie und Unternehmensführung

- Geschäftsprozess-Management

 

Ich wurschtel mich da schon irgendwie durch. Und wenn ich die Module mit 'ner 4 abschließe, wegen BWL werd' ich nicht zum Studienabbrecher.

Bearbeitet von kurtchen
Link zu diesem Kommentar

Danke für deine Erläuterungen. Es ist sehr deutlich geworden, dass du dich mit diesem Fach eigentlich gar nicht beschäftigen möchtest ;).

 

Da hilft dann wohl nur, sich durchzukämpfen und vielleicht auch parallel wenn du in BWL was getan hast dich mit interessanteren Themen aus anderen Modulen zu belohnen.

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


×
  • Neu erstellen...