=Paper=
{{Paper
|id=None
|storemode=property
|title=Software-Engineering Projekte in der Ausbildung an Hochschulen - Konzept, Erfahrungen und Ideen
|pdfUrl=https://ceur-ws.org/Vol-956/S1_Paper3.pdf
|volume=Vol-956
|dblpUrl=https://dblp.org/rec/conf/seuh/Liebehenschel13
}}
==Software-Engineering Projekte in der Ausbildung an Hochschulen - Konzept, Erfahrungen und Ideen==
Software-Engineering Projekte in der Ausbildung an Hochschulen – Konzept, Erfahrungen und Ideen Dr. Jens Liebehenschel, metio GmbH, Liederbach Jens.Liebehenschel@metio.de Überblick Für das Projekt existieren zwei entsprechende Mo- In vielen Studiengängen wurden gegen Ende des delle, außerdem drei unterschiedliche Sätze von Studiums Entwicklungs-Projekte in den Studien- Evaluationsboards mit automotive Controllern plan aufgenommen. unterschiedlicher Leistungsklassen. Bilder der Mo- delle sind unter (metio Webseite, 2012) zu finden. Der Autor beobachtete vor mehreren Jahren zwei Dinge: Für viele Absolvierende von Ingenieur- und Das Projekt deckt die typischen Schritte in der Em- Informatik-Studiengängen sind wesentliche Schrit- bedded-Software-Entwicklung von der Anforde- te im Entwicklungsprozess und deren Zusammen- rungsanalyse mit dem Kunden bis hin zur Imple- hänge nicht klar. Trotz oft detaillierter Vorgaben in mentierung in C++ und zum Test ab (Hruschka, den Firmen müssen noch immer viele Aspekte der 2002; Automotive SPICE, 2007). Software-Entwicklung ausgestaltet werden. Durch Abgaben und Präsentationen sowie die Ar- Basierend darauf wurde ein Projekt mit starkem beit in Entwicklungsteams samt Planung der Ar- Praxisbezug konzipiert und seit 2007 sieben Mal an beitspakete wird die Realität von Projekten bereits der FH Frankfurt und der TH Mittelhessen durch- in der Hochschulausbildung vermittelt. Insbeson- geführt und kontinuierlich verbessert. Die Studie- dere die Praxisnähe macht das Projekt für Studie- renden sollen die Möglichkeit haben, in einem „ge- rende interessant. schützten Raum“ eigene Erfahrungen zu machen, Alle Teilnehmer müssen mindestens zwei Mal die da Erfahrung im Rahmen einer Vorlesung schwer selbst erarbeiteten Abgaben vor der Gruppe prä- weitergegeben werden kann. sentieren. Das Ziel des Papers ist eine ausführliche Beschrei- Jedes Team ist für die rechtzeitige Abgabe mindes- bung der einzelnen Aspekte des Konzepts und eine tens der folgenden Arbeitsprodukte verantwortlich: Diskussion der Erfahrungen. Des Weiteren wird • Planung des Projekts ein kurzer Ausblick zu angedachten Erweite- • Anforderungsanalyse rungsmöglichkeiten gegeben und am Ende werden • Architektur und Design die wesentlichen Punkte zusammengefasst. • Dokumentierte Implementierung • Testkonzept Beschreibung des Projekts • Testfälle Das Projekt Objektorientierte Softwareentwicklung für • Lessons Learned Steuergeräte wurde für Studierende in Informatik- Darüber hinaus gibt es optionale Arbeitspakete mit Studiengängen am Ende ihrer Hochschulausbil- entsprechenden Abgaben, zum Beispiel dung konzipiert. Eines der wichtigsten Kriterien • die erneute Anforderungsanalyse und die Über- bei der Konzeption war die Praxisnähe. arbeitung von Architektur und Design, wenn Drei Entwicklungsteams mit jeweils vier Personen eine Anforderungsänderung in das Projekt kam, arbeiten im Projekt an der gleichen Aufgabe, die • die Erstellung einer Testsuite, mit deren Hilfe Benotung erfolgt individuell. In den Teams ist eine der Compiler der zur Verfügung stehenden Steuerung von Ampeln an einer Kreuzung oder Entwicklungsumgebung auf die Güte der C++- eine Aufzugsteuerung zu entwickeln. Unterstützung untersucht wird oder A. Spillner, H. Lichter (Hrsg.): SEUH 13 27 • die Erstellung einer Simulation der Hardware wicklung eingebetteter Systeme benötigt. Das Pro- wegen der Verzögerung ihrer Verfügbarkeit. jekt zielt darauf ab, bei den Studierenden Begeiste- Diese zusätzlichen Abgaben erlauben die Variation rung für dieses interessante Themengebiet zu we- des Projekts und die Anpassung an unterschiedli- cken. Die Begeisterung resultiert auch aus dem zu che Studiengänge mit unterschiedlichem zeitlichem entwickelnden Endprodukt: Die Ampeln leuchten Umfang für die Studierenden. Neben unterschied- und lassen sich durch Knöpfe beeinflussen und der lichen Arbeitspaketen wird die Lehrveranstaltung Aufzug bewegt sich. abgewandelt durch die Verwendung von verschie- Am Ende der Hochschulausbildung ist es notwen- denen Controllern oder durch abgewandelte An- dig, den Einstieg der Studierenden in die Praxis zu forderungen an das System. erleichtern. Dazu gibt es in vielen Informatik- Innerhalb der Teams erfolgen zu zwei Zeitpunkten Studiengängen Projekte oder Praktika. Die im Lau- gegenseitige Bewertungen. Diese sind nur dem fe des Studiums erlernten Bausteine werden indi- Dozenten bekannt. Außerdem finden in dem Rah- viduell bei Bedarf vertieft. Insbesondere müssen sie men kurze Einzelgespräche mit allen Teilnehmern aber kombiniert werden, um die Abhängigkeiten statt. Natürlich ist dies bei Bedarf auch zu anderen und den Nutzen besser zu verstehen. Dies unter- Zeitpunkten möglich. stützt die Einordnung der späteren Tätigkeit in den gesamten Entwicklungsprozess und damit auch das Verständnis für das Zusammenwirken aller Ziele des Projekts notwendigen Schritte in der Produktentwicklung. Das Projekt hat mehrere Ziele, die im Anschluss Neben der fachlichen Weiterentwicklung wird detaillierter beleuchtet werden: auch im Rahmen der Möglichkeiten an geeigneten • Verständnis der Besonderheiten eingebetteter Stellen an der persönlichen Weiterentwicklung der Systeme bei den Studierenden Studierenden gearbeitet (Vigenschow, 2007). Im • Begeisterung für die Welt eingebetteter Systeme Projekt treten immer wieder schwierige Situationen • Fachliche Weiterentwicklung der Studierenden wie beispielsweise Konflikte auf. Es werden bei durch einen Schritt von der Hochschulausbil- Bedarf erste Lösungsansätze vermittelt und die dung hin zur Praxis Umsetzung in der Praxis diskutiert. Außerdem • Persönliche Weiterentwicklung der Studieren- wird den Studierenden das Verständnis Ihrer Ei- den durch Übernahme von Eigenverantwortung genverantwortung näher gebracht. • Spaß am Lernen und an der Wissensvermittlung Bei vielen Studierenden konnte eine große Weiter- Eingebettete Systeme und deren Entwicklung ha- entwicklung der praxisrelevanten Fähigkeiten beo- ben viele Gemeinsamkeiten mit nicht eingebetteten bachtet werden – sicherlich unterstützt durch die Systemen, aber auch einige Unterschiede. In erster große Freude an der Projektarbeit. Nicht zuletzt Linie sind es oft harte Echtzeit-Anforderungen, wird das zeitaufwändige Projekt immer wieder begrenzte Ressourcen und eine starke Nähe zur durchgeführt, weil die Wissensvermittlung sehr Hardware (Barr, 1999; Kienzle, 2009). Die Entwick- viel Spaß macht. lung orientiert sich meist stark an den Qualitäts- merkmalen Verfügbarkeit, Sicherheit (Betriebssi- Konzept und Erfahrungen cherheit und Angriffssicherheit), Kosten und Ma- nagement der Varianten- und Versionenvielfalt. In In diesem Kapitel werden die im Projekt verwende- der Realisierung kommen häufig zeitgesteuerte ten didaktischen Konzepte vorgestellt. Mehrere Systeme zur Anwendung und die erstellte Software Punkte entsprechen den Rahmenbedingungen aus läuft nicht auf dem Computer, auf dem sie entwi- (Kleuker, 2011). ckelt wurde. Diese Unterschiede und deren Aus- Praxisnähe wirkungen für die Entwicklung sind insbesondere Ein wesentlicher Aspekt des Konzeptes ist die Fo- Studierenden der Informatik häufig nicht bewusst. kussierung auf die Praxisnähe. In der Umsetzung Das Projekt schafft dieses Bewusstsein. wird die zur Verfügung stehende Zeit weniger für In der Praxis werden im Zeitalter einer immer hö- ein schwierig zu erstellendes System verwendet. heren Durchdringung der Welt mit Computern Vielmehr soll ein Verständnis für die Phasen im (Mattern, 2012) noch mehr Personen für die Ent- Projekt, die notwendigen Arbeitsprodukte und Ihre 28 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Abhängigkeiten geschaffen werden. Am Anfang den Studierenden wichtige Aspekte im Gedächtnis des Studiums liegt der Fokus eher auf einzelnen zu verankern, weil sie diese nicht nur erzählt be- Bausteinen, am Ende des Studiums sollten sie ge- kommen, sondern selbst erleben. Dies geschieht eignet zusammengesetzt werden. Das zu lösende zum Beispiel durch starke Übertreibung, bewusste Problem und die Implementierung sind wenig Fehlinterpretationen oder das „Vorhalten eines komplex, aber doch nicht trivial. Dies zeigt sich Spiegels“. sowohl bei der Anforderungsanalyse als auch im Bei der Anforderungsanalyse gibt sich der Kunde weiteren Projektverlauf, wenn im Team festgestellt (der Autor) zunächst bewusst unkooperativ und wird, dass die Anforderungen doch nicht eindeutig dreht den Studierenden das Wort im Mund herum oder komplett waren. oder ignoriert Ihre Fragen. So merken die Studie- Wie schon eingangs beschrieben werden die typi- renden, dass die Ermittlung von Anforderungen schen Schritte in der Embedded-Software- schwierig ist. Nachdem dieses Verhalten des Kun- Entwicklung von der Anforderungsanalyse mit den beleuchtet wurde, gibt sich der Kunde koope- dem Kunden bis hin zur Implementierung und rativer, damit die Studierenden ihrem Ziel nach zum Test abgedeckt. Realistische Projektsituationen eindeutigen und vollständigen Anforderungen werden partiell durchlebt. Dazu müssen entspre- näher kommen können. chende Arbeitspakete bearbeitet und vor der Ab- Wie zuvor angesprochen ist ein weiterer wichtiger gabe durch die Studierenden aus dem Team einem Aspekt die Vermittlung von Wissen über den Zu- Review unterzogen werden. Dies dient dem Ver- sammenhang der Arbeitsprodukte im Software ständnis des Inhalts von Arbeitsprodukten und Engineering. Beispielsweise basiert das Design auf zeigt den Studierenden den Zusammenhang der in Entscheidungen, diese wiederum auf Anforderun- Entwicklungsprojekten benötigten Dokumentation. gen. Diese Zusammenhänge verstehen die Studie- Die Ergebnisse müssen durch die Ersteller vor allen renden durch ihre Abgaben. Meistens wird in das Gruppen präsentiert werden. Dabei ist nicht unbe- Projekt mindestens eine Anforderungsänderung dingt das Ziel, aus den Abgaben Folien zu erstellen, eingebaut. Das Ziel ist es, den Studierenden Konse- sondern die Präsentation basierend auf den abge- quenzen dieser in der Praxis üblichen Situation zu gebenen Arbeitsprodukten zu gestalten. So werden zeigen. Es soll das Bewusstsein geschärft werden, die Anforderungen anhand eines Textdokuments dass in solchen Situationen verschiedenste Arbeits- oder die Architektur anhand von Architektursich- produkte zu überarbeiten sind. ten in Architektur-Werkzeugen oder in anderen Oft ist bei Studierenden der genaue Anteil der Im- Dokumenten vorgestellt. In der Praxis werden plementierung am Gesamtumfang des Projektes Themen oft anhand der Arbeitsprodukte bespro- nicht bekannt. Die Studierenden werden der Reihe chen, ohne aufwändige Präsentationen zu erstellen. nach gefragt, wie hoch sie den Anteil schätzen. Am An diesen Stellen werden die Studierenden immer Ende nennt der Autor einen Anteil von 10-15%. wieder angeleitet, Dokumentation im sinnvollen Natürlich hängt dies stark vom Umfang des Pro- Umfang anzufertigen. Sie soll der Kommunikation jekts, der Domäne und der Entwicklungsansätze dienen und verständlich sein. ab. Da meist die Schätzungen deutlich darüber Schließlich ist für die Projekte in der Praxis gegen- liegen, wird der Aufwand für andere Aufgaben wie über den kleinen Projekten im Studium an den beispielsweise Anforderungsanalyse oder Ände- Hochschulen die Teamarbeit sehr viel wichtiger. rungsmanagement erläutert. Dies wird den Studierenden nahe gebracht, in dem Insbesondere für Studierende ohne vorherigen einerseits die Aufteilung der Arbeit in parallel zu Kontakt mit der Entwicklung eingebetteter Systeme erstellende Arbeitspakete notwendig ist, anderer- ist die Erfahrung interessant, dass die Arbeit mit seits aber die Arbeitspakete auch voneinander ab- Evaluationsboards sehr zeitraubend sein kann. Die hängen, so dass Abhängigkeiten der verschiedenen Ausführungsumgebung für die Programme ist auf Mitglieder in den Teams bestehen und eine gute einem vom Entwicklungs-PC getrennten Compu- Zusammenarbeit unerlässlich ist. ter, der in Betrieb genommen werden muss. Au- Überraschendes ßerdem muss die Software geladen werden, und darüber hinaus ist die Dokumentation oft unvoll- Ein weiterer wichtiger Baustein ist das Erzeugen ständig oder fehlerhaft. von Aha-Effekten. Dabei wird das Ziel verfolgt, bei A. Spillner, H. Lichter (Hrsg.): SEUH 13 29 Rollenspiele einzelnen Spezialfall ganz feingranular zu be- Das Projekt lebt von Rollenspielen. Der Dozent schreiben. Daher sind die an der Entwicklung be- schlüpft wie im vorherigen Abschnitt beschrieben teiligten Personen immer wieder in der Situation, beispielsweise in die Rolle des Kunden, erläutert eigenverantwortlich die richtigen Entscheidungen immer zu geeigneten Zeitpunkten was gerade pas- zu treffen. Das Vorgehen muss pragmatisch sein. siert ist und gibt Lösungsmöglichkeiten vor, die Einerseits muss im Sinne der Vorgaben gearbeitet dann im weiteren Verlauf erprobt werden können. werden, andererseits sollte der Aufwand in einem Eine wichtige Erfahrung bei den Rollenwechseln vertretbaren Maß bleiben. Diese Abwägung ist in ist, den Studierenden jederzeit klar zu machen, in der Praxis sehr wichtig. welcher Rolle man sich gerade befindet, da es sonst Die Studierenden machen eine Projektplanung, verwirrend ist. ohne dass zunächst detaillierte Vorgaben zu den Gerade in der Rolle eines Kunden kann bewusst erforderlichen Schritten – wie die zu erstellenden eine ganz andere „Sprache“ verwendet werden. und abzugebenden Arbeitsprodukte – vorhanden Damit kann den Studierenden aufgezeigt werden, sind. Auch zu zeitlichen Zusammenhängen im dass es oft nicht möglich ist, sich mit Kunden über Projekt ist ihnen außer den Präsenzterminen und das System mit den technischen Begriffen der Ent- dem nächsten Abgabetermin nichts bekannt. Nach wickler zu unterhalten, sondern die Unterhaltung der ersten Abgabe erhalten sie alle weiteren Abga- in der Sprache des Kunden geführt werden muss. betermine mit den Arbeitsprodukten. Die manch- mal dadurch notwendige Überarbeitung der Pla- Ein Erlebnis des Autors war die Bemerkung einiger nung wird zusammen mit den anderen Arbeits- Studierender, dass das Verhalten in der Rolle des produkten nach der Anforderungsänderung abge- Kunden während der Anforderungsanalyse absurd geben. sei. Dies wurde vom Autor abgeschwächt – natür- lich hatte er aus didaktischen Gründen übertrieben. Durch die geforderte Planung der Arbeitspakete ist Erstaunlicherweise berichteten andere Studierende eine intensive Beschäftigung mit Inhalt und Dauer mit bereits vorhandener Praxiserfahrung, dass ge- der erforderlichen Schritte und deren Abhängigkei- nau solche Situationen so oder so ähnlich wirklich ten unerlässlich. Diese Herangehensweise erscheint in der Praxis vorkommen. vielen Studierenden zunächst sehr herausfordernd, weil die Freiheitsgrade in vorherigen Studienab- In einem Projekt gab es in einem Team sehr große schnitten eher gering sind. Durch diese Herausfor- Probleme, so dass diese trotz mehrerer Gespräche derungen haben die Studierenden die Möglichkeit mit einzelnen Personen und im Team nicht gelöst der Weiterentwicklung ihres Verständnisses der werden konnten. In diesem Fall musste der Autor Software-Entwicklung, sie werden spezifisch ge- eingreifen, um den Projekterfolg nicht zu gefähr- fördert. den und allen Beteiligten realistische Noten geben zu können. Der Dozent schlüpfte dazu in die Rolle Nicht nur das Management des Projektes mit As- des Managers und unterteilte das Team. Zwei neue pekten wie Zeitplanung und Verteilung von Ar- Teams mussten nur noch einen Teil der Aufgaben beitspaketen liegt komplett in der Hand der Studie- bearbeiten. Die Kommunikation-Schnittstelle wur- renden. Auch viele technische Aspekte wie geeig- de auf das absolut notwendige Maß reduziert. nete Ablage der entstehenden Arbeitsprodukte in einer Versionsverwaltung und verwendete Werk- Eigenverantwortung zeuge und Inhalte der einzelnen Arbeitsprodukte In vielen Firmen existieren für System- und Soft- werden durch die Studierenden eigenverantwort- ware-Entwicklungs-Projekte sehr detaillierte Rege- lich gestaltet. Zum Beispiel werden für die Doku- lungen und andere Vorgaben, welche Arbeitspro- mentation der Architektur keine Sprachen wie dukte wie aussehen, welche Inhalte vorhanden sein UML (UML, 2012) oder SysML (SysML, 2012) vor- müssen, wie sie ineinandergreifen, usw. Dennoch gegeben. Und wenn ein Team sich für eine dieser ist es oft nicht klar, wie genau ein zu erstellendes Modellierungssprachen entscheidet, dann muss es Arbeitsprodukt aussieht oder wie an die Erstellung außerdem ein geeignetes Werkzeug auswählen und eines Arbeitsprodukts herangegangen werden entscheiden, welche Sichten auf das System vor- kann. Es ist in der Praxis nicht sinnvoll – wenn handen sind und wie sie ausgestaltet werden (Zör- nicht sogar unmöglich – das Vorgehen in jedem ner, 2012). 30 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Erfahrungsgemäß fällt es den Studierenden schwer, in die richtige Richtung leiten. Wenn die Studie- ein Testkonzept zu erstellen. Es scheint zunächst renden gute Fragen zu stellen, erhalten sie vom schwierig zu sein, die Inhalte eines Testkonzeptes Dozenten immer mehr Information. Dies ist auch zu erfassen. Nach Diskussion über das Thema ver- ein Lernziel, Fragen zu stellen, wenn Dinge nicht stehen die Studierenden, dass es nichts anderes ist, komplett verstanden sind. als das Vorgehen in den Testphasen zu beschreiben Vertiefung spezieller Themen bei Bedarf und die Art der Tests samt Hintergründen zu er- läutern. Bei Bedarf werden im Projekt spezielle Themen vertieft, zum Beispiel bei Fragen der Studierenden Der Weg ist das Ziel oder durch den Dozenten erkannten Unklarheiten. Gerade die genaue Ausgestaltung von Arbeitspro- Die Erfahrung zeigt, dass manche Themen in jedem dukten ist auch in der Praxis oft ein Problem, wie Projekt diskutiert werden müssen. Dies liegt zum am Anfang des letzten Abschnitts angesprochen. Teil an speziellen Eigenschaften von eingebetteten Daher wird im Projekt als Aufgabenstellung ein Systemen, aber auch zu allgemeinen Begriffen der Ziel vorgegeben, jedoch nicht der Weg dorthin. Informatik besteht oft Klärungsbedarf. Dies wird den Studierenden am Anfang der Veran- Beispielsweise werden meistens die Begriffe Archi- staltung auch mitgeteilt, damit sie von Anfang an tektur und Design (Goll, 2011; Starke, 2008), Safety Klarheit über den Ablauf des Projektes haben. und Security (Löw, 2010), synchrone und asyn- Den Studierenden werden immer wieder – auch chrone Kommunikation (Bengel, 2008), Nebenläu- angeregt durch Abgaben oder Fragen – Denkanstö- figkeit und Synchronisation (Vogt, 2012) und kriti- ße zum Weg der Problemlösung gegeben. Einige scher Pfad (Wikipedia: Kritischer Pfad, 2012) an- Beispiele dazu sind im nächsten Abschnitt zu fin- hand von Beispielen diskutiert, um ein besseres den. Durch Hinterfragen der gegangenen Schritte Verständnis bei allen Studierenden zu erreichen. werden die Studierenden an strukturierte Heran- Oft werden verschiede Entwicklungsansätze, vom gehensweisen an Probleme herangeführt. Sie erhal- Wasserfallmodell bis hin zu agilen Ansätzen ten Anregungen für mögliche Lösungswege. Diese (Summerville, 2007; Vliet, 2008) mit ihren Eigen- können im Projekt zu einem späteren Zeitpunkt schaften erläutert und Einsatzbereiche diskutiert. noch genutzt werden, zum Beispiel bei der Überar- Meistens besteht bei den Studierenden kein Wissen beitung der Arbeitsprodukte nach einer Anforde- über unterschiedliche Klassen von Anforderungen rungsänderung. Den Studierenden werden auf (Pohl, 2007). Funktionale Anforderungen sind die- diese Weise immer wieder Anregungen zur Selbst- jenigen, die vom System komplett erfüllt werden reflektion gegeben, um Vorgehen und Verhalten zu müssen. Qualitätsanforderungen (oder oft auch analysieren und zu verbessern. nicht-funktionale Anforderungen genannt) werden In der Praxis werden Arbeitsergebnisse immer immer zu einem gewissen Grad erfüllt. Wichtig für wieder Reviews unterzogen. Auch dies wird im (Architektur-)Entscheidungen sind die Qualitätsan- Projekt geübt. Zu jeder Abgabe ist vom gesamten forderungen (Bass, 2003). Dies kann anhand des Team ein Review durchzuführen. Neben den Ab- folgenden Beispiels veranschaulicht werden. gaben sind zusätzlich die im Review gefundenen Es ist ein System zum Sortieren von Daten zu ent- Aspekte mit abzugeben. Damit kann frühzeitig wickeln (funktionale Anforderung). Dabei ist die geübt werden, von anderen Personen erstellte Ar- mittlere Laufzeit wichtiger als der Speicherplatzbe- beitsprodukte zu verstehen und Fehler aufzude- darf (Qualitätsanforderung). Die Bewertung sieht cken. Auch wird klar, dass ein Review auf das wie folgt aus: Aufdecken von Fehlern zielt und nicht etwa den Ablauf oder Inhalt der Arbeitsprodukte beschreibt. Mittlere Laufzeit Speicher (Stack) Bei der Kurzpräsentation der einzelnen abzuge- Bubblesort – + benden Arbeitsprodukte durch den Dozenten erge- Quicksort + – ben sich bei den Studierenden Fragen. Es werden nicht direkt Antworten gegeben, welche Schritte in Tabelle 1: Alternativen und Bewertung welcher Reihenfolge durchgeführt werden müssen. Nur mit der Qualitätsanforderung kann eine Ent- Jedoch merken sie schnell, dass die Antworten sie scheidung für eine Alternative getroffen werden: A. Spillner, H. Lichter (Hrsg.): SEUH 13 31 Quicksort, weil die Laufzeit wichtiger als der Spei- Präsentationen ausfüllen, und spätestens ab dem cherplatzbedarf ist. vierten Präsenztermin reagiert der Dozent nur Die bei den meisten eingebetteten Systemen vor- noch, bringt aber von sich aus keine weiteren The- handene zeitgesteuerte Ausführung (Kienzle, 2009) men ein. ist vielen Studierenden nicht bekannt. Es werden in Wie eingangs beschrieben, müssen die Teams re- der Praxis übliche Lösungen diskutiert, die Hinter- gelmäßig Arbeitspakete abgeben. Diese werden gründe der Ansätze beleuchtet und mit anderen nach der Abgabe bewertet und müssen zu einem Ausführungsparadigmen verglichen. Präsenztermin, der wenige Tage nach der Abgabe Alle diese technischen Diskussionen werden gene- stattfindet, vorgestellt werden. Abgaben und Prä- rell mit allen Studierenden gemeinsam geführt. senztermine finden in Abhängigkeit des Aufga- Wenn möglich erklären die Studierenden die Sach- benumfangs alle zwei bis vier Wochen im Umfang verhalte, oder sie werden zumindest angehalten, von vier Vorlesungsstunden statt. zur Diskussion beizutragen. Am Ende der Diskus- Als Teamgröße wird vier festgesetzt. Drei Personen sion wird durch Rückfragen geklärt, ob die Inhalte pro Team wäre auch möglich. Bei weniger Perso- verstanden worden sind. nen ist der Arbeitsaufwand der Einzelnen zu hoch, Die Dauer der Diskussionen richtet sich nach dem bei mehr Personen wird die Aufteilung der Ar- Inhalt – von wenigen Minuten bis zu einer Stunde. beitspakete schwierig. Eine durchgängige Mitarbeit Natürlich können manche Themen nicht erschöp- jedes Teammitglieds könnte nicht sichergestellt fend erörtert werden, aber das Verständnis oder werden. Problembewusstsein kann deutlich erhöht werden. Ein weiterer wichtiger Aspekt ist die individuelle Auch nicht-technische Aspekte werden bei Bedarf Benotung jedes Teilnehmers. Natürlich geht in die aufgegriffen. Wenn beispielsweise bei der Präsenta- Benotung zum kleinen Teil das Teamergebnis mit tion von Ergebnissen Aspekte verbessert werden ein, aber wesentlich sind die Beteiligung und die können, werden nach Rücksprache mit den Vortra- erstellten Arbeitsergebnisse. Validiert wird die genden diese Themen in den Veranstaltungen an- Fairness der individuellen Benotung durch eine gesprochen. Dies können zum Beispiel Hinweise gegenseitige Bewertung der Teammitglieder, die zur Gestaltung der präsentierten Unterlagen oder zwei Mal durchgeführt wird, in der Mitte und am verwendeten Tools sein. Aber auch Tipps zur Ver- Ende der Lehrveranstaltung. Diese liefert dem Au- besserung der Präsentationsfähigkeiten, zum Bei- tor fast immer eine Bestätigung, dass die Sicht im spiel der Rhetorik, werden gegeben. Team auf die Leistungen der einzelnen Mitglieder sich mit seiner deckt. Oft gehen mehrere Personen eines Teams gemein- sam vor die Gruppe, um Ihre Ergebnisse vorzustel- Der Lernerfolg kann nur dann sichergestellt wer- len. Jede Person weiß genau, welchen Teil sie vor- den, wenn die Studierenden die Aufgaben selbst stellen wird, jedoch ist nicht klar, wer eine kurze bearbeiten und dadurch ihre eigenen Erfahrungen Einführung gibt oder wer beginnt. Das wird vor machen. Da oft Arbeitsergebnisse in der Studieren- der Gruppe besprochen. Dieses häufiger beobachte- denschaft weitergegeben werden, ist es erforder- te Phänomen wird abgestellt, nachdem die Studie- lich, jedes Semester Änderungen am Projekt zu renden darauf hingewiesen werden. Dadurch wer- machen. Diese Änderungen sind zum einen unter- den zukünftige Vorträge – sei es an der Hochschule schiedliche Themen, aber auch für jedes Thema oder in Unternehmen – professioneller. unterschiedliche Anforderungen und immer wie- der andere abzugebende Arbeitsergebnisse. Die Organisatorisches Variationsmöglichkeiten wurden eingangs bereits Am Anfang der Lehrveranstaltung ist es notwen- beschrieben. dig, den Studierenden das Handwerkszeug aus Das komplette Material für die Veranstaltung er- verschiedenen Themengebieten mitzugeben, um halten die Studierenden nach dem ersten und zwei- die Aufgaben im Projekt meistern zu können. Dazu ten Präsenztermin, das Evaluationsboard gegebe- findet ein ganztägiger Präsenztermin vor dem Be- nenfalls später – je nach Ausgestaltung des Projek- ginn der Vorlesungszeit statt. Jedoch werden schon tes. Literaturverweise gibt der Autor ausschließlich ab dem zweiten Präsenztermin die Studierenden nach Bedarf aus. immer mehr der zur Verfügung stehenden Zeit mit 32 A. Spillner, H. Lichter (Hrsg.): SEUH 13 Schließlich soll ein Punkt nicht unerwähnt bleiben. • Die Anforderungsänderung war gut, die Aus- Der Dozent führt die Lehrveranstaltung mit viel wirkungen auf das Design wurden klar. Freude durch. Auch bei den Studierenden soll der • Die Arbeit an der Architektur war gut; ein Mit- Spaß an der Arbeit nicht zu kurz kommen. Aber telweg zwischen zu viel und zu wenig Architek- trotz eines guten Arbeitsklimas und einem freund- tur musste gefunden werden. schaftlichem Umgang ist die Wahrung der not- Anhand des Feedbacks und vor allem der Diskus- wendigen Distanz wichtig – dies ist immer wieder sionen mit den Studierenden erhält der Dozent den eine Gradwanderung. Eindruck, dass der Ansatz zielführend ist. Die Stu- Feedback der Studierenden dierenden können die im Studium gelernten Inhal- te kombinieren, lernen etwas über deren Abhän- Letztendlich ist es nicht nur notwendig, dass die gigkeiten und erhalten so einen Einblick in die Pra- richtigen Dinge vermittelt werden, sondern auch xis. Außerdem kann aus dem großen Engagement eine möglichst große Nachhaltigkeit erreicht wird. vieler Studierender geschlossen werden, dass auch Das Projekt soll den Studierenden den Einstieg ins die Begeisterung für die Welt eingebetteter Systeme Berufsleben vereinfachen. Dies ist nur möglich, gelungen ist. wenn die Studierenden meinen, etwas aus der Ver- anstaltung „mitzunehmen“. Daher wird regelmä- Ein letzter Punkt soll nicht unerwähnt bleiben. Das ßig im Projekt um Feedback gebeten – auch nach Projekt ist erfahrungsgemäß sehr schnell ausge- der Bekanntgabe der Endnote, um ein möglichst bucht. Dies gibt dem Autor das gute Gefühl, mit ehrliches Feedback zu erhalten. dem Projekt auf dem richtigen Weg zu sein. Die Teilnehmenden entscheiden sich aktiv für das Pro- Die folgenden Äußerungen von Studierenden wer- jekt, um mehr über eingebettete Systeme zu lernen, den sinngemäß und verkürzt wiedergegeben. Zu- und bringen daher auch eine hohe Motivation für nächst eher allgemeine Punkte zum Projekt und im das Themengebiet mit. Auch diese Tatsache kann Anschluss ein paar Punkte zu inhaltlichen Aspek- ein Grund für das positive Feedback sein. ten. Einige der ehemaligen Teilnehmer durfte und darf • Das Projekt hatte einen hohen Praxisbezug – das der Autor weiter begleiten. Ein paar Details werden gab es sonst im Studium nicht. dazu im nächsten Abschnitt vorgestellt. • Es war gut, ein komplettes Projekt von Anfang bis Ende zu machen. Ehemalige Projektteilnehmer • Es war gut, dass keine Prozessanforderungen Immer wieder haben Studierende aus den Projek- vorgegeben waren. ten die Möglichkeit, in der Firma des Autors oder • Die Arbeit im Team mit der eigenen Teamorga- bei ihren Kunden Praktika abzuleisten, ihre Ab- nisation war gut. schlussarbeiten anzufertigen, oder als Angestellte • Das Ziel war klar, aber der Weg nicht. Dennoch in herausfordernden Kundenprojekten zu arbeiten. gab es viel Unterstützung beim Finden des rich- In der Zusammenarbeit zeigt sich das erlernte Ver- tigen Wegs. ständnis für die in der Entwicklung zu erstellenden • Oft wurden nicht alle Informationen gegeben, Arbeitsprodukte. Ein Beispiel ist die Entwicklung aber am Ende war doch alles rechtzeitig da. von kleinen Werkzeugen. Zunächst wird am Ver- • Die Praxisnähe war größer als bei allen Veran- ständnis der Anforderungen gearbeitet, danach staltungen vor dem Projekt. werden grundsätzliche Designüberlegungen ge- • Es ist schwierig, vom Kunden gute Anforderun- macht. Erst dann wird mit der Umsetzung begon- gen zu erhalten. nen. • Die Rollenspiele waren sehr interessant, zum Beispiel die andere Sprache des Kunden. Auch an einer anderen Stelle zeigt sich eine struk- • Die Einstiegsschwelle in das Thema war niedrig, turierte Vorgehensweise. An vielen Stellen müssen weil das System einfach ist und keine komple- Entscheidungen getroffen werden. Dies kann die xen Anforderungen besitzt. Auswahl eines Werkzeuges oder eines Frameworks • Inhaltlich war das Thema gut: Zunächst einfach sein, oder auch Designentscheidungen bei der Er- und später kamen dann doch noch viele Details stellung von Software. Alternativen werden bewer- und Unklarheiten zu Tage. tet und die Entscheidung wird dokumentiert – sie entsteht nicht einfach so und ist nachvollziehbar. A. Spillner, H. Lichter (Hrsg.): SEUH 13 33 Eine weitere Beobachtung hat der Autor gemacht. Auch wenn die Mitarbeiter sehr selbstständig ar- Literatur beiten, bitten sie an wichtigen Stellen in den Projek- Automotive SPICE Prozessassessment (2007), ten von sich aus um Reviews, damit sie eine höhere http://www.automotivespice.com/AutomotiveS Sicherheit erhalten, sich auf dem richtigen Weg zu PICE_PAM_v23_DE.pdf befinden. Barr, M. (1999): Programming Embedded Systems in C and C++ Ideen für die Zukunft Bass, L. et al. (2003): Software Architecture in Prac- Das Projekt hat sich über die Jahre immer weiter tice, 2nd edition entwickelt. Drei kombinierbare Ideen für die zu- Bengel, G. et al. (2008): Masterkurs Parallele und künftige Entwicklung werden kurz aufgelistet: Verteilte Systeme • Ein Roboter ist anzusteuern, dies erfordert in Goll, J. (2011): Methoden und Architekturen der der Software gegebenenfalls ein Umweltmodell. Softwaretechnik • Die Steuerung erfolgt über eine ebenfalls zu erstellende App. Dazu würden neue Controller Hruschka, P. et al. (2002): Agile Softwareentwick- mit entsprechenden Schnittstellen benötigt. lung für Embedded Real-Time Systems mit der • Der Teambuilding-Aspekt wird in das Projekt UML eingebracht, angelehnt an (Schmedding, 2011). Kienzle, E. et al. (2009): Programmierung von Echt- zeitsystemen Checkliste als Zusammenfassung Kleuker, S. et al. (2011): Vier Jahre Software- Das Ziel dieser Arbeit ist es, die Konzepte hinter Engineering-Projekte im Bachelor – ein Status- dem mehrfach durchgeführten und verbesserten bericht, SEUH 2011 Projekt offen zu legen und von den Erfahrungen zu Löw, P. et al. (2010): Funktionale Sicherheit in der berichten. Daher werden als Zusammenfassung Praxis abschließend die aus Sicht des Autors wesentlichen Mattern, F., GI Webseite (2012) http://www.gi.de/ Erfolgsfaktoren aufgelistet, um Projekte mit gutem service/informatiklexikon/detailansicht/article/ Lernerfolg für die Studierenden durchzuführen. pervasiveubiquitous-computing.html Ist das zu lösende Problem nicht zu komplex? metio Webseite mit Bildern der Modelle (2012): Werden essentielle Schritte der Software- Ampel: http://www.metio.de/ger/ampel.html, Entwicklung „im Kleinen“ erlebt? Aufzug: http://www.metio.de/ger/aufzug.html Sind die Ziele und nicht die Wege vorgegeben? Pohl, K. (2007): Requirements Engineering Werden die Studierenden beim Finden guter Schmedding, D. (2011): Teamentwicklung in stu- Wege hinreichend unterstützt? dentischen Projekten, SEUH 2011 Präsentieren die Studierenden ihre Ergebnisse? Sommerville, I. (2007): Software Engineering Gibt es eingeplante „Fallstricke“? Starke, G. (2008): Effektive Software-Architekturen Werden elementare Aspekte durch Konzepte SysML (2012), http://www.omg.org/spec/SysML/ wie Rollenspiele nachhaltig vermittelt? UML (2012), http://www.omg.org/spec/UML/ Werden die Studierenden angeregt, über ihr Vigenschow U. et al. (2007): Soft Skills für Soft- Vorgehen nachzudenken? wareentwickler Sind die Dozierenden für notwendige Unter- Vliet, H. van (2008): Software Engineering stützung gut erreichbar? Vogt, C. (2012): Nebenläufige Programmierung Besteht ein Team aus drei oder vier Personen? Wikipedia: Kritischer Pfad (2012), http://de.wikipe Müssen die Teams das Projekt im Wesentlichen dia.org/wiki/Methode_des_kritischen_Pfades eigenverantwortlich durchführen? Zörner, S. (2012): Software-Architekturen Doku- Erfolgt die Benotung individuell? mentieren und Kommunizieren Macht die Veranstaltung allen Spaß? 34 A. Spillner, H. Lichter (Hrsg.): SEUH 13