iteration++ - MediaArchiv
Transcription
iteration++ - MediaArchiv
ITERATION++ Projektperiodikum Medien- und Kommunikationsinformatik Hochschule Reutlingen Ausgabe Juni 2009 ITERATION++ 1 Vorwort Uwe Kloos Im Sommer 2009 endet die siebte Iteration des Bachelorprojektes und es erscheint die 4. Auflage des zugehörigen Journals, nun zum zweiten Mal unter dem Namen Iteration++. Das Projekt hat seine Anfangshürden längst überwunden und sich seit Beginn erkennbar weiterentwickelt. Mittlerweile sind drei virtuelle Firmen gegründet worden, welche sich die unterschiedlichen Aufgaben im Projekt aufteilen – Trésor, als Auftraggeber und Serviceanbieter; ITer@, die Softwareentwicklungsfirma und ServIT, der Anbieter der technischen Infrastruktur. Diese Umstrukturierung brachte besondere Herausforderungen für die Projektorganisation und die Kommunikation. In den letzten beiden Semestern des Bachelorstudiengangs Medien- und Kommunikationsinformatik nehmen alle Studierenden dieser Semester an einem rollenbasierten Planspiel teil, bei dem die Softwareentwicklung in einem Unternehmensumfeld simuliert wird. Dabei werden die verschiedenen Rollen wie Projektmanager, Auftraggeber, Softwareentwickler, Tester, Qualitätssicherung, Marketing und Weitere durch die Studierenden besetzt. Die Neueinsteiger aus dem Anfangssemester werden von ihren erfahren Kommilitonen aus dem Ab- schlusssemester in die Rollen eingeführt und angeleitet. Durch die Einführung von drei Firmen erfolgte eine stärkere Bindung der Personen innerhalb der Firmen auf Kosten der Kommunikation und Abstimmung zwischen den Firmen. Hierdurch wurden ähnlich Arbeiten teilweise mehrfach durchgeführt. Im Fokus dieser nun seit über drei Jahren stattfindenden Lehrveranstaltung stehen das Ausfüllen der Rollen und der Umgang miteinander, wodurch neben den technischen Befähigungen Kommunikation, Teamfähigkeit, Zeitmanagement und das Präsentieren praktisch gefördert werden. In den beiden Projektsemestern wird klar, dass Softwareentwicklung weit mehr ist als Programmierung. Planungen und Ergebnisse werden regelmäßig in verschiedenen Foren diskutiert und präsentiert. Neben den internen Besprechungen gibt es Reviews zu festen Terminen und klar geregelten Entwicklungsstufen, bei denen die Ergebnisse vorgestellt und zur Diskussion gestellt werden. In Arbeitsgesprächen werden dedizierte Themen von der Geschäftsleitung vertieft betrachtet und besprochen. Die Geschäftsleitung wird durch ein Professorenteam gebildet, welches die Leistungen der Firmenmitarbeiter bewertet, die Nachhaltigkeit sicherstellen soll und die langfristige Strategie vorgibt. Eine Aufgabe, die durch die Einführung der drei Firmen nicht leichter, aber durchaus reizvoller geworden ist. Mit der zweiten Ausgabe von Iteration++ haben Sie ein Fachjournal in der Hand, bei dem die Studierenden ein zu ihrer Rolle passendes Fachthema herausgegriffen und vertiefend analysiert und beschrieben haben. Ein Redaktionsteam steuerte die Erstellung der Artikel, bei denen neben der fachlichen Thematik auch der Schreibstil kritisch geprüft wurde. Das Ergebnis von zwei Semestern Projekterfahrung liegt nun vor Ihnen und ich wünsche Ihnen eine anregende Lektüre. Den Studierenden der siebten Iteration wünsche ich eine erfolgreiche Zukunft und dass sie sich im Berufsleben an die eine oder andere Projekterfahrung erinnern. Ihr Prof. Dr. Uwe Kloos Juni 2009 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 2 ITERATION++ Inhaltsverzeichnis Allgemein Das Spiel zum Berufserfolg?........................................................................................................................................................................................4 Planspiele in der Wirtschaft - Samet Keser Ein Projektteam lernt die Benutzer kennen.........................................................................................................................................................7 Fiktive Personen in einem Softwareprojekt - Patrick Gaßner Projektorganisation Achtung, Risiko!..............................................................................................................................................................................................................11 Mit der Einführung eines Risikomanagement im SOP zum Erfolg. - Manuela Di Laudo Der Schritt zur Matrix‐Projektorganisation.......................................................................................................................................................14 Oder: „Wie bekommen wir die Mitarbeiter wieder zum Arbeiten?“ - Denis Merkle Der beste Mann für diesen Job ist eine Frau......................................................................................................................................................17 Die Herausforderung der Frau im Softwareprojekt - Silke Link Kostenschätzung im SOP............................................................................................................................................................................................20 Neue Methoden zur verbesserten Planung - Dominic Schwörer Langzeitarchivierung Im Kampf gegen das digitale Vergessen.............................................................................................................................................................24 Anforderungen und Strategien an ein Langzeitarchivierungssystem im SOP - Gerold Lacher Kommunikation Ein gutes Gespräch........................................................................................................................................................................................................27 Kommunikation im Softwareprojekt - Markus Jülich Kommunikation zwischen Unsichtbaren............................................................................................................................................................29 Lösungsansätze für die Probleme in der internen Unternehmenskommunikation - Fabian Liedtke Infrastruktur Virtuelle Serverlandschaft.........................................................................................................................................................................................32 Die Vorteile eines Servers mit VMware ESX - Christian Kubat LDAP und Typo3, passt das wirklich?....................................................................................................................................................................35 LDAP-Anbindung für jeden Projektteilnehmer - Dennis Riekert Programmierung 1001 Funktion führen zur Entwicklerfrustration!...........................................................................................................................................38 Welche Funktionen benötigt ein Entwickler wirklich? - Simon Hänel Eclipse-RAP – sinnloser Sprechgesang oder Hilfe im SOP ?.......................................................................................................................42 Wie man dem Web-Client neues Leben einhauchen könnte… - Marco Bischof Eclipse RCP auf dem Vormarsch!.............................................................................................................................................................................45 Auch für den Einsatz im SOP geeignet? - Matthias Huber SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ITERATION++ 3 Programmierung Java Sicherheit.................................................................................................................................................................................................................48 Warum behauptet wird, Java sei sicher und wie Java versucht, dieses Ziel zu erreichen - Torsten Lutz GUI Toolkits für Java......................................................................................................................................................................................................51 Ein Vergleich - Thomas Staiger Objekte im Winterschlaf..............................................................................................................................................................................................54 Wie kann Hibernate erfolgreich eingesetzt werden? - Eduard Tudenhöfner Test Von der „Friday Night Pizza Party“ zum automatisierten Lasttest.........................................................................................................58 Vererbung mal anders – Wie man erfolgreich Anforderungen des Kunden über Iterationen ignoriert - Mario Schwarz Effektive Organisation des Abnahmetests..........................................................................................................................................................62 Die Rolle des Abnahmetests in einem iterativen Softwareentwicklungsprozess - Natalia Zyleva Qualitätssicherung Qualität erzeugen, nicht erprüfen!.........................................................................................................................................................................64 Audits im SOP - Durchführung und Notwendigkeit - Sarah Letzgus Zertifizierung im Softwareprojekt.........................................................................................................................................................................68 Der lange Weg bis zur Zertifizierung! - Flavia Di Laudo Marketing Guerilla Marketing.........................................................................................................................................................................................................72 Raffinierte Marketingstrategie oder geschmacklose Werbetreiberei? - Stephanie Höhn Gestaltung User Interfaces und Ergonomie...............................................................................................................................................................................74 Mensch und Maschine ‐ Symbiose oder Kampf? - Jaroslaw Zawadzki Wunsch nach einem neuen Zeichen?....................................................................................................................................................................77 Hier lernen Sie das erfolgreiche Logo kennen! - Zehra Türkkan Logo kommt nicht von Logik....................................................................................................................................................................................76 Die kritische Auseinandersetzung mit der Entwicklung eines Logos innerhalb des Softwareprojekts - Daniel Wenhardt Web Welche Anforderungen sind für einen effektiven High-Fi-Prototypen erforderlich?....................................................................82 Eine Auseinandersetzung - Konstantin Adler Content managen, aber sicher!................................................................................................................................................................................85 Typo3-Sicherheit für den SOP-Webauftritt - Wilfried Irßlinger E-Learning im Softwareprojekt...............................................................................................................................................................................88 Sind die Rational-Werkzeuge noch zu retten? - Jochen Budzinski SOP JOURNAL HOCHSCHULE REUTLINGEN R6 4 ITERATION++ Das Spiel zum Berufserfolg? Planspiele in der Wirtschaft Samet Keser Für das Studium der Medien- und Kommunikationsinformatik (MKI) an der Hochschule Reutlingen spielt ein bestimmtes Projekt eine wichtige Rolle – das SOP. Unter praxisnahen Bedingungen simulieren Studenten des 5. und 6. Semesters die Softwareentwicklung in einem Systemhaus. Hierbei sollen Motivation, Leistung und Arbeitsqualität der Studenten und Mitarbeiter gefördert werden. Auch die Steigerung der kommunikativen Kompetenz steht bei diesem Projekt an hoher Stelle. Die Akteure sollen sich hierbei auf das spätere Berufsleben vorbereiten. Was genau ist SOP? Erstmals wurde das SOP (Kürzel steht für Softwareprojekt) im Wintersemester 2005/06, des erst 2003 entstandenen Studienganges, von Professor Dr. Wolfgang Keller ins Leben gerufen. Zusammen mit Professor Dr. Uwe Kloos simuliert er auch die Geschäftsleitung des Projekts. Bestehend aus drei Firmen, die später vorgestellt werden, ist das Projekt iterativ aufgebaut. Das heißt Lösungen zu bestehenden oder zu erwarSOP JOURNAL HOCHSCHULE REUTLINGEN R6 tenden Problemen sollen schrittweise, aber zielgerecht angenähert werden. Der Entwicklungszyklus eines Produkts (hier eine Langzeitarchivierungssoftware namens „tréstore“) sollte dabei möglichst vollständig aufgebaut sein. Um dem zu entsprechen, werden die Studenten des 5. Semesters von ihren Vorgängern des 6. Semester eingearbeitet. Der Übergang erfolgt anschließend durch eine Abnahme und eine Betriebseinführung. Zu den leitenden drei Firmen zählen die ITer@ Group, ein mittelständisches Softwareentwicklungsunternehmen, welches in sechs Abteilungen unterteilt ist. Neben dem Projektmanagement, der Softwareentwicklung, Testing und Qualitätsmanagement, besteht die Firma auch noch aus jeweils einer Marketing und IT-Management Abteilung. Die Firma trésor Secure Systems, Softwareanbieter des Produkts „tréstore“, besteht aus dem Management, dem Marketing und dem IT-Management. Vor einem Jahr stieß die dritte Firma ServIT dazu. Der große Zeitverlust der Server-Neuinstallationen in jedem neuen Semester brachte die Geschäftsleitung dazu, dieses neue Unternehmen im SOP zu gründen. ServIT ist Be- treiber und gleichzeitig Anbieter des Hosting-Service für die einzelnen Firmen des SOP. Sie besteht aus den Bereichen des Projektmanagements, des Marketings und des Softwareund Systemmanagements und wurde aktuell um eine weitere Abteilung des Webdesigns erweitert. Planspiele aus der Praxis Sei es während der Ausbildung, in der Schule oder wie in unserem Fall an einer Hochschule: Planspiele werden in den verschiedensten Bereichen eingesetzt und genutzt. Am meisten verbreitet sind sie bei den betrieblichen Aus-, Fort- und Weiterbildungen in den Bereichen Wirtschaft und Politik. Ein erfolgreiches Beispiel ist der „Deutsche Gründerpreis für Schüler“ (vgl. [1]), das bundesweit größte Existenzgründer-Planspiel für Jugendliche. Dabei soll über vier Monate hinweg ein Geschäftskonzept entwickelt werden. Das Ganze geschieht, wie auch im SOP, im Rahmen einer fiktiven Unternehmensgründung. Den Schülern wird nicht nur ein Einblick in die Anforderungen der freien Wirtschaft gewährt, das Planspiel zahlt sich wirklich aus und lockt gleichzeitig mit hohen Geldpreisen. Hier wird jedoch nicht wie im SOP ITERATION++ darauf Wert gelegt, miteinander nach Lösungen für ein bestimmtes Ziel zu suchen. Die teilnehmenden Firmen (jeweils zwischen 2-6 Personen) treten viel mehr in einem Konkurrenz- funktioniert nicht. Nur gemeinsam in Form von Absprachen, Meetings und Einholung von Informationen über das Unternehmen ist Erfolg zu erwarten – so auch im SOP. „Kreativität und Selbstständigkeit fallen nicht vom Himmel, Verhaltensweisen müssen gelernt sein.“ Samet Keser, Marketing kampf um einen möglichst hohen Rang an. Ein ähnliches Vorgehen spielt sich auch bei „Planspiel Börse“ (vgl. [2]) ab. Bereits seit dem Jahre 1983 (mittlerweile auch im europäischen Ausland) dürfen Schüler, Studenten und auch Auszubildende jährlich an einem Börsenplanspiel der deutschen Sparkassen teilnehmen. Es werden zu Beginn eigene Teams gebildet. Jedem Team wird ein Depot mit 50.000 Euro fiktivem Startkapital zur Verfügung gestellt. Das Ziel dabei ist, mit den richtigen Anlagestrategien so viel Geld wie möglich zu verdienen. Aufgrund der turbulenten Zeiten an der Börse, ist es hierbei nicht immer einfach, die richtige Strategie zu finden. Um Börsenerfahrung zu sammeln und gleichzeitig Teamgeist zu fördern, müssen, wie in der Wirklichkeit, Streitigkeiten gelöst, Überzeugungen geleistet und Absprachen eingehalten werden. Alleine Entscheidungen zu treffen, welche Aktien verkauft oder gekauft werden, Was spricht für Planspiele und was dagegen? Es leuchtet ein, warum Planspiele in den betrieblichen Weiterbildungen so beliebt sind. Kreativität und Selbstständigkeit der Teilnehmer fallen nicht vom Himmel, Verhaltensweisen müssen gelernt sein, die uns erlauben, selbstständig und kreativ zu handeln. Ein Planspiel wie das SOP, liefert dafür bereits gute Ansätze. Sei es die Marketing-Abteilung (MA), die beispielsweise Kreativität bei entsprechenden Corporate Identities (vgl. [3]) und Webseiten für ihre Firmen aufbringen muss, oder die Projektmanager (PM), die selbstständig für operative Planung und Steuerung des gesamten Projekts verantwortlich sind. Auch die Förderung von sozialem Umgang (Teamarbeit) spricht für dieses Simulationsverfahren und wird im SOP groß geschrieben. „Teams scheinen der Garant für Spitzenleistungen zu sein, da einerseits Motivation, Leistung 5 und Arbeitsqualität ganz allgemein steigen sollen, (…)“ (vgl. [4], S. 9). In den erwähnten Praxisbeispielen ist die Beurteilung und Bewertung der einzelnen Teilnehmer durch die Gruppenarbeit schwierig. Gäbe es im SOP die sogenannten Reviews nicht, bei der jeder Teilnehmer seine geleistete Arbeit präsentiert, wäre es schwerer zu kontrollieren wer sich im Endeffekt wirklich bemüht und sich produktiv an einem solchen Projekt beteiligt hat. Das SOP ist aber nicht perfekt, das wohl größte Problem sind gerade diese organisatorischen Anforderungen, die das Planspiel in ihrer Durchführung benachteiligen. Vor allem im sechsten Semester besteht neben der Bachelor-Thesis ein enormer Zeitdruck. Zu erfüllende Aufgaben werden von den Teilnehmern mit geringerer Priorität eingestuft und auf die Schnelle kurz vor den Reviews erledigt. Da hauptsächlich das eigene Auftreten, sowie das Präsentieren bewertet werden, bleibt das eigentliche Engagement für die Simulation gegen Ende größtenteils auf der Strecke. Es ist daher auch sinnvoll das SOP auf den Wochenplan gerecht abzustimmen, um eventuelle Terminkollisionen, wie mit der Bachelor-Thesis, zu vermeiden. Desweiteren besteht bei einer zu großen Gruppe die Gefahr, dass der Lerneffekt sinkt. Ein passendes Beispiel dazu ist aus der aktuellen SOP-Iteration zu entnehmen. Das Unternehmen ServIT besteht seit dem Sommersemester 2009 zusätzlich aus einer Webdesign-Abteilung. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 6 ITERATION++ Grund für die Erweiterung war nicht nur das Präsentieren der Firmen nach außen hin, durch entsprechend qualifizierte Webdesigner, sondern auch die stetige Steigerung der teilnehmenden Studenten am Projekt. Die Webseiten hätten im Grunde auch von den Marketing-Abteilungen erstellt werden können, so war es anfangs zumindest auch geplant. ders und wenig mit Planspielprojekten an Hochschulen zu vergleichen, bieten die meisten Unternehmen, wie das erwähnte Kreissparkassenprojekt, lukrative Preisgelder für die Gewinner an. Spielen Spaß und der Reizfaktor des Gewinns eine größere Rolle, als die Teilnahme und die Sammlung von Berufserfahrungen? Zuletzt stellt sich die Frage, wie es mit Fehlern in Simulationsspielen aussieht. Kann aus diesen ohne wirklich schmerzende Folgen gelernt werden? Können daraus Konsequenzen erkannt werden? Zumindest wirkt das Bachelorprojekt durch die Bewertung in Notenform und als Pflichtprojekt im Studium, als eine mehr ernst zunehmende Vor-Berufserfahrung. An- Quellen [1] http://www.dgp-schueler.de/toplevel/ [4] Willy Christian Kriz, Brigitta Nöbauer: Teamkompetenz - Konzepte, Trainingsmethoden, Praxis, 2006 [5] Willy Christian Kriz: Systemkompetenz - Planspiele als Trainingsmethode, 2000 [6] Heinz Klippert: Planspiele - 10 Spielvorlagen zum sozialen, politischen und methodischen lernen in Gruppen, 2008 [7] Ulrich Blötz: Planspiele in der beruflichen Bildung, 2002 [2] http://www.planspiel-boerse.com /toplevel/index.htm [3] http://de.wikipedia.org/wiki/ Corporate_identity »Es gibt drei Möglichkeiten, eine Firma zu ruinieren: mit Frauen, das ist das Angenehmste; mit Spielen, das ist das Schnellste; mit Computern, das ist das Sicherste.« Oswald Dreyer-Eimbcke, Unternehmer SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ITERATION++ 7 Ein Projektteam lernt die Benutzer kennen Fiktive Personen in einem Softwareprojekt Patrick Gaßner Den Benutzer schon vor dem Entwickeln einer Anwendung zu kennen ist ein wichtiger Faktor um gute Software entwickeln zu können. Schließlich ist er es, der diese später kaufen soll und damit arbeiten muss. Deshalb gibt es in der Softwareentwicklung Methoden, die auf die Definition der Zielgruppe und ihre Anforderungen zielen. Eine dieser Methoden sind fiktive Personen, sog. Personas. Dieser Artikel verschafft einen Überblick über dieses mächtige Werkzeug und seine vielfältigen Einsatzbereiche und bewertet die Eignung im Softwareprojekt-Planspiel der Hochschule Reutlingen. „Der 31-jährige Franz ist Personalchef einer Softwareentwicklungsfirma in Berlin. Er ist ledig und hat keine Kinder. (…) Sein Auftreten innerhalb des Unternehmens ist immer sehr professionell und seriös. (…) Auf der Suche nach neuen Talenten besucht er regelmäßig die Webseiten von zahlreichen Universitäten und Ausbildungsstellen.“ (vgl. [1]) Was sich auf den ersten Blick wie eine Personenbeschreibung eines echten Berliner Personalchefs anhört, ist in Wirklichkeit die Beschreibung eines fiktiven Besuchers der SOP-Webseite. Franz gibt es nicht. Er ist erfunden. Franz ist ein Beispiel für ein mächtiges Hilfsmittel in der Softwareentwicklung: die Personas. wicklern von Software und Benutzerschnittstellen einen wertvollen Einblick in die Sichtweise des Anwenders. Fiktive Personen in der Informatik Um die Anforderungen an eine Anwendung genau definieren zu können, muss eine Persona in erster Linie wirklichkeitsnah sein und die Benutzergruppe möglichst realistisch abbilden. Demzufolge werden sie auf Basis von Benutzerstudien, z.B. Interviews oder Umfragen erstellt. Aus den Daten können Benutzergruppen abgeleitet werden, deren Eigenschaften als Grundlage für die Persona dienen und durch eigene Ideen der Entwickler vervollständigt werden. Personabeschreibungen beinhalten Angaben über Name, Geschlecht, Alter, Familienstand, Beruf, Sprach- und Fachkenntnisse, Interessen, Charakter, Erfahrung und Probleme im Umgang mit Computern sowie Erwartungen und Ziele, die an die Anwendung geknüpft sind. Ergänzende Zitate lassen sie noch glaubhafter erscheinen (vgl. [4], S. 72). Solange die eigenen Ideen nicht den Benutzerdaten widersprechen, sind der Kreativität hierbei keine Grenzen gesetzt. Der Erfolg von Computerprogrammen hängt neben der Funktionalität auch von einer benutzerfreundlichen Bedienung ab. Für die Entwicklung eines Benutzerkonzepts oder einer Benutzerschnittstelle, die optimal auf die Bedürfnisse der späteren Nutzer der Anwendung ausgerichtet sind, muss dem Entwickler schon vor dem Design der Schnittstellen bewusst sein, wie der zukünftige Anwender aussehen wird. Um diese Zielgruppen zu charakterisieren, bedient man sich diverser Werkzeuge und Methoden, wie Benutzerrollen, Benutzerprofile oder Marktsegmente. Seit ihrer Einführung 1999 durch Alan Cooper setzt man bei der Anforderungsanalyse häufig auch Personas ein (vgl. [2], S. 123 ff.). Sie beschreiben detailliert den Charakter, die Kenntnisse und Fertigkeiten der Benutzer und ihre Erwartungen und Ziele, die sie an eine Anwendung haben (vgl. [3]). Durch den Einsatz von Personas gewährt man den Ent- Grundlagen der Entwicklung einer Persona SOP JOURNAL HOCHSCHULE REUTLINGEN R6 8 ITERATION++ Eine Beschreibung in einem Fließtext ist wegen ihrer größeren Genauigkeit einer Stichwortliste vorzuziehen und soll zur Steigerung des Realitätsgehaltes durch ein Foto einer unbekannten Person ergänzt werden (vgl. [5]). Dies ist auch bei der Identifizierung der Persona hilfreich. Je nach Größe der Projekte sollten zur Abdeckung eines breiten Benutzerkreises mindestens drei, jedoch maximal sieben Personas angefertigt werden (vgl. [6]). Je mehr fiktive Personen existieren, desto höher ist jedoch die Gefahr, dass redundante Anforderungen formuliert werden. Daraus resultiert eine vermeidbare Unübersichtlichkeit. Am effektivsten ist es, nur so viele zu erstellen, wie die Entwickler sich im Durchschnitt merken können. Durch Ordnen nach Prioritätsstufen wird die Wichtigkeit der Anforderungen ersichtlich und es lässt sich ablesen, welche Funktionen die Anwendung unbedingt haben muss bzw. welche wünschenswert oder gar vernachlässigbar sind. Das Anfertigen einer Prioritätenmatrix kann dabei sehr hilfreich sein (siehe Abb. 1). Hierbei erhalten die Personas entsprechend ihrer Priorität eine feste Gewichtung. Durch Bewertung der Funktionen Gewichtung Funktion 1 Funktion 2 Funktion 3 Funktion 4 etc. Persona 1 50 0 2 -1 1 - nach ihrer Relevanz (-1 = die Funktion ist für die Persona unwichtig bzw. sie ist verwirrend, bis 2 = die Persona hält diese Funktion für unbedingt notwendig) wird klar ersichtlich, welche letztendlich umgesetzt werden müssen. „Bei der Beschreibung von Personas sind der Kreativität fast keine Grenzen gesetzt.“ Patrick Gaßner, Marketing & Redaktion Die Geburtsstunde im Entwicklungsprozess Zu welchem Zeitpunkt in einem Entwicklungsprozess Personas erstellt werden können, zeigen Chang, Ling und Stolterman in „Personas: From Theory to Practices“ (vgl. [3]) an drei Modellen auf (siehe Abb. 2): 1. Personas werden direkt nach der Durchführung von Benutzerstudien erstellt, sodass sie von Anfang an Einfluss auf die Entwicklungsidee einer Anwendung haben. 2. Studien in [3] haben gezeigt, dass eine Persona häufig nicht vor dem Abschluss eines Projektes vollendet Persona 2 25 1 1 1 1 - Persona 3 15 2 1 0 1 - Abb. 1: Prioritätenmatrix für Funktionen einer Anwendung SOP JOURNAL HOCHSCHULE REUTLINGEN R6 werden kann. Demnach entsteht nach den Benutzerstudien eine unfertige Beschreibung, die im Laufe einer Entwicklung ständig angepasst wird, bis daraus am Ende eine vollständige Persona resultiert. Dieses Modell birgt jedoch das Risiko, dass Summe 55 140 -25 90 - sich die Entwickler ihre Personas nach ihren Wünschen zurechtlegen, was jedoch dem Konzept widerspricht. Um dies zu vermeiden, muss auf eine klare Trennung zwischen Entwicklung der Software und der fiktiven Personen geachtet werden. 3. Falls schon zu Beginn eines Projektes Entwicklungsideen bestehen, werden Benutzerstudien und Personas erst später fertiggestellt. So kann eine erste Idee an die Erkenntnisse aus Befragungen und Personas angepasst werden. Den einzig besten Zeitpunkt zum Erstellen von fiktiven Personen in einem Entwicklungsprozess gibt es nicht. Je nach Projektart, -umfang und -dauer eignet sich ein Szenario besser als das andere. Dennoch stimme ich den Autoren von [3] zu, wonach sie so früh wie irgend möglich in den Entwicklungsprozess eingebunden werden sollten. Nur so kann ITERATION++ garantiert werden, dass der spätere Benutzer der Anwendung im Fokus der Entwicklung steht. (1) (2) Neben der Softwareentwicklung wird die Persona-Methode auch immer öfter im Marketing eines Unternehmens angewandt. Dort bilden sie die Grundlagen für Web- und Intranetseiten und bieten die Möglichkeit, Design und Inhalt gezielt auf den Besucher abzustimmen (vgl. [7]). Dabei können sie sich von den Personas der Softwareentwicklung sehr unterscheiden. Denn im Marketing zählt nicht unbedingt der Benutzer des Programmes zur Zielgruppe, sondern vielmehr der Kunde. Zwar können Benutzer und Kunde identisch sein, meist unterscheiden sie sich jedoch. Steht der Käufer im Mittelpunkt, so sind etwa Informationen über seine finanzielle Situation, seinen Lebensstil, oder sein Kauf- oder Investitionsverhalten interessant. Auch vollständige Werbekampagnen können mit dieser Methode geplant werden. Sie helfen bei der Wahl der geeigneten Werbemedien und Platzierung der Kampagnen. Vorteile und Risiken Durch Personas werden die Ziele und Bedürfnisse der Benutzer oder Kunden in den Fokus der Entwicklungsarbeiten gerückt. Dies bringt Vorteile mit sich, birgt aber auch Risiken. (3) Benutzerstudie Benutzerstudie Persona unvollständige Persona Personas als fiktive Kunden 9 Entwicklungsidee Entwicklungsidee vollständige Persona Abb. 2: Entwicklungsmodelle für Personas (vgl. [3]) So steht beim Einsatz der PersonaMethode der Benutzer mit seinen Zielen und Erwartungen im Zentrum des Entwicklungsprozesses (vgl. [8]). Der Entwickler fragt sich nicht, wie er selbst eine Aufgabe lösen würde, sondern wie Franz an die Aufgabe heranginge. Dadurch erhält er eine gewisse Distanz zum Projekt: er entwickelt nicht für sich, sondern für den Benutzer. Das Entwicklungsteam kann sich auf einige wenige „reale“ Charaktere konzentrieren und muss sich nicht über Bedürfnisse einer anonymen Masse von Anwendern Gedanken machen (vgl. [9]). Es ist ein kostengünstiges Instrument der Zielgruppendefinition und kann schnell und unkompliziert entwickelt werden (vgl. [7], S. 2). Entworfene Designs können jederzeit gegen die Personas getestet werden. Somit können aufwendige und teure Benutzbarkeitstests reduziert werden. Die Herausforderung bei der Methode ist das Entwickeln der richtigen Personas. Bei der Auswahl der Benutzergruppen bedarf es sehr viel an Überlegung und Sorgfalt. Werden hierbei Fehler gemacht, besteht die Gefahr, dass eine Anwendung für jemanden entwickelt wird, der sie später gar nicht nutzen wird. Da kein Projekt dem anderen gleicht und darum jedes Projekt auch andere Ziele und Anforderungen an eine Anwendung stellt, ist von einer Wiederverwendung der fiktiven Personen abzuraten. Wird hingegen eine neue Version einer Anwendung entwickelt, kann durchaus eine Aktualisierung ausreichend sein. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 10 ITERATION++ Personas im SOP-Umfeld Im Softwareprojekt wird die PersonaMethode eingesetzt, um die Benutzer des Produktes tréstore und die Besucher der Firmen-, Produktund Projektwebseiten zu definieren. Allerdings haben die Erfahrungen in diesem Projekt gezeigt, dass aufgrund mangelnden Informationsaustauschs unter den Abteilungen und Firmen zum Teil redundante Personas erstellt wurden. So entwickelte die Abteilung Softwareentwicklung von ITer@ ihre Personas für ihre Benutzerschnittstellen, während die Firma trésor diese zeitgleich für die Produktwebseite von tréstore in Auftrag gab. Beide gehören derselben Benutzergruppen an und wurden somit doppelt erstellt. Zwar lässt sich nicht eindeutig sagen, ob der Benutzer der Anwendung tréstore gleich dem Kunden des Produktes ist, ein Vergleich der Resultate zeigt jedoch, dass sich die entwickelten Personen in ihren Fertigkeiten und Erwartungen sehr ähneln. Je nach Sichtweise sind Benutzer und Kunden in diesem SOP-Szenario verschieden oder identisch. Aber wie lässt sich ein solches Problem vermeiden? Eine Möglichkeit wäre, beim Start eines Projektes eine Arbeitsgruppe aus wenigen Mitarbeitern der Abteilungen zu bilden, die sich später mit den Personas auseinandersetzen müssen. Im SOP-Kontext wären die Abteilungen Projektmanagement, Softwareentwicklung, Marketing und Testing geeignete Mitglieder SOP JOURNAL HOCHSCHULE REUTLINGEN R6 dafür. Im Team entscheidet man, ob Benutzer und Kunde identisch sind und entwickelt dann Personas. Diese werden aufgrund der verschiedenen Ziele der Abteilungen etwas ausführlicher sein, lassen sich dann aber abteilungsweise auf ihre relevanten Daten reduzieren. Dadurch spart man die doppelte Entwicklungsarbeit und alle Mitarbeiter sind auf dem gleichen Kenntnisstand. Hilfsmittel oder Mehraufwand? Personas sind keineswegs ein Garant für den Projekterfolg, sondern lediglich ein Hilfsmittel, das bei richtiger Verwendung zum erfolgreichen Projektabschluss beitragen kann. Die Entwicklung erfordert viel Erfahrung, die gerade in einem studentischen Planspiel sehr gut gewonnen werden kann. Im Softwareprojekt ermöglicht es den Mitarbeitern ein Verständnis für die Benutzer und Kunden zu erlangen, was gerade bei diesem Planspiel, noch ohne reale Benutzer und Kunden, umso wichtiger ist. Ob der zu Beginn vorgestellte Franz zum Erfolg der SoftwareprojektWebseite beiträgt, wird sich in den nächsten Monaten zeigen. Quellen [1] Persona der SOP-Homepage, Softwareprojekt der Hochschule Reutlingen, Medien- und Kommunikationsinformatik, 2009. [2] Cooper, A. “The Inmates are running the asylum“; Sams Publishing, 2004. [3] Chang, Y. & Lim, Y. & Stoltermann, E. „Personas: From Theory to Practices“; ACM International Conference Proceeding Series, Vol. 358, ACM Press, New York, 2008. [4] Herczeg, M. “Software-Ergonomie: Grundlagen der Mensch-Computer-Kommunikation”; AddisonWesley, 2005. [5] Aquino, P. & Filgueiras, L. „User Modeling with Personas“; Proceedings of the 2005 Latin American conference on Human-computer interaction, ACM Press, New York, 2005 [6] Blomquist, A & Arvola, M. „Personas in Action: Ethnography in an Interaction Design Team“; Nordic Conference on Human-Computer Interaction; Vol. 31; 2002. [7] Calabria, T. „An introduction to personas and how to create them“; http://www.steptwo.com.au/files/ kmc_personas.pdf; 27. April 2009. [8] Pruitt, J. & Grudin, J. “Personas: Practice and Theory”; Designing for User Experiences, ACM Press, New York, 2003. [9] Seibert, M. “Personas geben Zielgruppen Gesichter”; http://blog. seibert-media.net/2008/09/arbeitstechniken/personas-geben-zielgruppen-gesichter/; 27. April 2009. ITERATION++ 11 Achtung, Risiko! Mit der Einführung eines Risikomanagement im SOP zum Erfolg. Manuela Di Laudo Risikomanagement ist ein wichtiges Werkzeug für den Erfolg eines Projekts. Es hilft uns, Unsicherheiten und Gefahren zu erkennen, bevor sie zu einem Problem werden. Schade nur, das Risikomanagement in den wenigsten Organisationen effektiv eingesetzt wird. Die Projektmanager versuchen ihre Projekte zu steuern, ohne deren Status und Risiken zu kennen. Das führt dazu, dass jedes vierte IT-Projekt abgebrochen wird (vgl. [1]). Auch im Softwareprojekt des MKI-Studiengangs wird bisher noch kein Risikomanagement betrieben. Da wir hier aber von einem Planspiel reden, das die reale Wirtschaft simulieren soll, ist es wichtig das Risikomanagement einzuführen. Was steckt hinter Risikomanagement? Das Ziel des Risikomanagements ist es, mögliche Probleme zu erkennen bevor sie auftreten, damit das Projektziel nicht gefährdet wird. Während des gesamten Zeitraums des Projekts müssen nun Maßnahmen ergriffen werden, die zur Behandlung der Risiken beitragen. Mögliche Risikostrategien wären zum einen die Akzeptanz, bei der das Risiko einfach in Kauf genommen wird. Denn nicht gegen jedes Risiko muss aktiv gehandelt werden. Zum Anderen die Risikoverminderung, bei der die Eintrittswahrscheinlichkeit reduziert wird um den eventuellen Schaden zu begrenzen. Eine weitere Möglichkeit wäre die Vermeidung, bei der die Eintrittswahrscheinlichkeit auf Null gesetzt wird. Sie wird hauptsächlich bei Risiken, die sich durch einen hohen Schaden kennzeichnen, angewandt. Einige der häufigsten Risiken sind beispielsweise die unrealistische Zeit- und Budgetplanung, ständige Änderung der Anforderungen sowie unzureichende Ressourcen in der Mitarbeiterplanung (vgl. [2], S. 35). Der Autor Barry B. Boehm stellte schon sehr früh folgende Definition für das Risikomanagement auf: „Software Risk Management is an emerging disciplines whose objectives are to identify, address and eliminate software risk items before they become either threats to successful software operation or major sources of software rework.” (vgl. [2], S. 1) Dieses Zitat passt sehr gut zu unserem Projekt, da die Firma ITer@ auch Software entwickelt. Hier spielt das Risikomanagement eine entscheiden- de Rolle - ganz klar um Zeit und Kosten einzusparen. Denn es dauert länger ein bereits eingetretenes Problem wieder loszuwerden, als wenn man es im Voraus eliminiert hätte. Wie geht man mit Risiken um? Um Risiken zu beherrschen, muss man sie kennen. Der Risikomanagementprozess, der die genauen Aufgaben der Risikobehandlung beschreibt, besteht aus vier Hauptbereichen (siehe Abb. 1). Wie auch bei anderen Prozessen, sollten für jeden Schritt Rollen und Verantwortlichkeiten sowie In- und Outputs definiert werden. Abb. 1: Der Risikomanagementprozess SOP JOURNAL HOCHSCHULE REUTLINGEN R6 12 ITERATION++ Als Input bezeichnen wir die erforderlichen Voraussetzungen für einen Prozessschritt. Das Output ist das Ergebnis daraus und bildet auch gleich den Input des nächsten Schrittes. Die Identifikation bildet den Anfang des Kreislaufs. Eine schnelle und einfache Art Risiken zu erkennen, ist die Brainstorming-Technik. Hier kann jeder Mitarbeiter seine Ideen mit einbringen. Sobald Risiken identifiziert werden, durchlaufen sie den Prozess – und zwar jedes Risiko für sich. dieser Risikomanagementprozess in einem sich immer wiederholenden Kreislauf abgebildet. Einführung eines Risikomanagements im SOP Bisher wird noch kein Risikomanagement in unserem Softwareprojekt betrieben. Ich bin in diesem Projekt als Projektmanagerin tätig und möchte das Risikomanagement einführen. Ich finde, dass es sehr hilfreich und nützlich ist. Zum einen spart man sich eine Menge Zeit, „Risiken sind nicht immer negativ, man kann sie auch als Chancen betrachten.“ Manuela Di Laudo, Projektmanagement Diese werden dabei analysiert, bewertet, gesteuert und nach ihrer potenziellen Risikohöhe beurteilt. Das Ziel der Risikoanalyse ist die Aufbereitung der Risiken für die Bewertung. Die Gleichung zur Bewertung des Schadensausmaß lautet: Risiko = Eintrittswahrscheinlichkeit x Auswirkung. Anhand dieser Bewertung werden die Risiken nun unterteilt und deren Strategien festgesetzt. Die 4 Risikostrategien sind Risikoakzeptanz, -verlagerung -verminderung und -vermeidung. Da im laufenden Projekt immer wieder neue Risiken auftauchen werden, wird SOP JOURNAL HOCHSCHULE REUTLINGEN R6 wenn man schon im Voraus auf plötzlich auftretende Risiken vorbereitet ist und somit sofort Maßnahmen zur Beseitigung dieser anwenden kann. Zum anderen verhindert man natürlich unnötige, abrupt auf- Abb. 2: Rational Unified Process kommende Kosten, die sich aus den Risiken ergeben. Die Einführung des Risikomanagements im SOP wird eine wichtige Aufgabe der Projektmanager aller drei Firmen sein. Nachdem man den Risikomanagementprozess definiert hat, folgt nun ein weiterer Schritt, um das Risikomanagement umzusetzen. Wir sprechen von der Integration des Risikomanagementprozesses in unsere vorhandenen Prozesse. Wir arbeiten im Softwareprojekt mit dem Vorgehensmodell RUP (Rational Unified Process). Dieser besteht aus einem kleinen, sich wiederholenden Wasserfall (siehe Abb. 2). Das zentrale Produkt im RUP ist die Risikoliste, in der alle Projektrisiken aufgelistet werden. Zusätzlich gibt es den Risk Management Plan, welcher Strategien, Maßnahmen und Verantwortlichkeiten dokumentiert. Ein großer Kritikpunkt am RUP: Das Risikomanagement gehört nur zur Rolle des Projektmanagers und tritt nur einmalig zur Iterationsplanung auf. Somit wird hier nur eine ITERATION++ Grundversorgung sichergestellt. Um dies zu verbessern, sollte man die Aktivitäten des Risikomanagements in den regulären Iterationsplan aufnehmen, der den Ablauf weiterer Iterationen vorgibt. Auf diese Art werden in Zukunft alle Risiken geregelt identifiziert, analysiert und verfolgt werden. Außerdem ist hier noch wichtig, gerade auch weil es sich um ein iteratives Vorgehensmodell handelt, dass die Risiken mutig angegangen und nicht in die nächste Iteration verschoben werden. „Risikomanagement muss im Projekt ‚gelebt‘ und von der Geschäftsführung ‚vorgelebt‘ werden.“ (vgl. [3]) Fazit Wie man sieht ist das Risikomanagement eine notwendige Maßnahme in unserem Softwareprojekt. Es lässt sich durch die Anlegung eines Risikokataloges sehr viel Zeit und die damit verbundene Kosten einspa- ren. Weiterhin sollten Meilensteine gelegt werden, wie beispielsweise eine Aktualisierung und Überarbeitung aller Risiken zu den jeweiligen Projektreviews. Hier werden dann neue Ziele festgelegt und mögliche Änderungen vorgenommen. Außerdem sollte die Kommunikation im Projekt verbessert werden, denn sie spielt im Risikomanagementprozess eine große Rolle. Denn nur wenn alle Mitarbeiter intensiv mitarbeiten, mögliche Risiken aufspüren und diese an die Projektmanager weitergeben, können diese beseitigt werden. Ein weiterer wichtiger Aspekt ist die iterative Schulung neuer Projektmanager. Dies könnte ich mir mit Hilfe von Workshops zum Thema Risikomanagement, jeweils zu Beginn einer neuen Iteration, vorstellen. In diesen Workshops sollte u.a. bisheriges Wissen über die Risiken transferiert werden. Denn nur wenn auch jeder Mitarbeiter und Projektmanager über die Ri- 13 siken informiert ist, kann man gemeinsam gegen sie vorgehen. Quellen [1] CHAOS Standish Group 2006 Survey Results – Resolution of Projects, www.standishgroup.com [2] Boehm, Barry - „Die Top-10-Risiken nach Barry Boehm“, 1989 [3] www.gruenderleitfaden.de [4] Giebel, Holger – „Risikomanagement junger Unternehmen“, VDM Verlag Dr. Müller, 2007 [5] Ahrendts, Fabian und Marton, Anita – „IT-Risikomanagement leben!“, Springer, 2008 [6] Prokein, Oliver – „IT-Risikomanagement“, Gabler, 2008 [Abbildungen] Beide aus „IT-Risikomanagement leben!“ Ahrendts, Fabian und Marton, Anita »Je höher die Stellung eines Vorgesetzten, desto mehr Fehler darf er machen, und wenn er nur noch Fehler macht, dann ist das sein Stil.« Fred Astaire, Schausspieler SOP JOURNAL HOCHSCHULE REUTLINGEN R6 14 ITERATION++ Der Schritt zur Matrix‐Projektorganisation Oder: „Wie bekommen wir die Mitarbeiter wieder zum Arbeiten?“ Denis Merkle „Die arbeiten doch nur wieder die tausendste Neuauflage der Corporate Identity heraus!“ (Keller, 2009) Dieser Satz trifft die Iterationen R5 und R6 im Softwareprojekt des Studienganges Medien- und Kommunikationsinformatik der Fachhochschule Reutlingen schwer. Der Hintergrund ist allerdings eindeutig. Mit mittlerweile drei Firmen ist es für die einzelnen Mitarbeiter leicht geworden sich in ihren Abteilungen einzuschließen und stur vor sich hinzuarbeiten. Teilprojekte zwischen allen drei Firmen scheinen nahezu stillzustehen, solange kein Zeitdruck von außen besteht. Doch wo liegt das Problem und wie kann man es lösen, um wieder gemeinsame Teilprojekte zu verwirklichen? Hier ist das Projektmanagement gefragt. Die Projektorganisationsformen im Überblick Bei der Linienprojektorganisation werden die Projekte in die vorhandene Firmenstruktur übergeben. Sie stellt daher keine eigenständige Projektorganisation, welche die Leitung über die Projekte hat, sie umSOP JOURNAL HOCHSCHULE REUTLINGEN R6 Abb. 1: SOP Matrix-Projektorganisation schichtet, verteilt, überwacht, usw. dar. Diese Aufgaben werden hierbei von den einzelnen Team- und Abteilungsleitern übernommen. Für den Projektmitarbeiter ändert sich im Vergleich zum Arbeiten ohne Projektbeteiligung nichts, da die Aufgaben auf seinen normalen Aufgabenbereich zugeschnitten sind. Genau betrachtet handelt es sich hierbei deshalb nicht um eine Projektorganisationsform, sondern um eine reine Firmenstruktur mit festen Abteilungen (vgl. Corsten, 2000, p. 51ff). Für kleinere Projekte wird die StabProjektorganisation, auch Stablinienprojektorganisation genannt, benutzt. Wie der Name schon umschreibt, wird hier der Linienprojektorganisation ein zusätzlicher „Stab“ hinzugefügt, der die Leitung über die Projekte übernimmt. Diese Leitung ist jedoch nur sehr eingeschränkt möglich, da der Stab keine Weisungsrechte gegen- über den Mitarbeitern hat und somit nur eine beratende Person für die Unternehmensführung ist (vgl. Jenny, 2001, p. 106ff). Die Matrix-Projektorganisation eignet sich dagegen für komplexere und parallel durchgeführte Projekte. Ihre Projektleiter haben das Weisungsrecht gegenüber den Mitarbeitern, auch wenn diese ihren Firmenabteilungen unterstehen. Die Konflikte, die zwischen Projekt- und Abteilungsarbeit entstehen müssen dabei von den Projekt- und Abteilungsleitern angegangen und durch Prioritätensetzung minimiert werden (vgl. Fricke, Lohse, 1997, p.45ff). Bei umfangreicheren Projekten wird meist die Reine-Projektorganisation eingesetzt. Hierbei werden alle Projektbeteiligten aus ihrem bisherigen Arbeitsbereich bzw. Unternehmensbereich aus und in einen Projektbereich eingegliedert. Sie sind somit ITERATION++ ausschließlich für dieses eine Projekt zuständig, womit der Interessenskonflikt der Matrix-Projektorganisation entfällt (vgl. Corsten, 2000, p. 58ff). Eine weiterführende Form der ReineProjektorganisation ist die Projektgesellschaft. Diese ist zusätzlich rechtlich vom Basisunternehmen getrennt und somit kapitalunabhängig (vgl. Corsten, 2000, p. 95ff). Die bisherigen Organisationsformen im Softwareprojekt Es kann schwer sein, bestehende Projektstrukturen in Unternehmen einer eindeutigen Projektorganisationsform zuzuordnen, da sich viele Mischformen bilden lassen. Deshalb müssen Hauptmerkmale in der bestehenden Struktur mit den theoretischen verglichen werden, um eine Zuordnung zu treffen. Am Anfang des Softwareprojektes stand das Projektmanagement der Iteration R0 mit einem Unternehmen vor der schwierigen Aufgabe, die Arbeit auf die verschiedenen Mitarbeiter aufzuteilen. Da das komplette Softwareprojekt damals innerhalb einer Firma ablief, konnten Aufgaben ohne großen Vertragsaufwand von einer Stelle zur anderen übergeben werden. Die Softwareentwickler, das Marketing etc. hatten deshalb auch andere Aufgabengebiete als sie die Unternehmensstruktur vorgaben, wenn Ressourcen frei waren. Da im Softwareprojekt das Projektmanagement Weisungsbefugnisse hat, nahmen die Mitglieder die Rolle der Unternehmensführung und des Stabes zugleich ein. Es handelte sich deswegen um eine Stab-Projektorganisation mit Stab und Unternehmensführung innerhalb einer Personengruppe. Mit der Zerschlagung dieses Unternehmens in die jetzigen drei Firmen Trésor – Secure Systems, ITer@ Group und ServIT wurde die Organisation der Projekte erschwert. Jedes Unternehmen hat seinen speziellen Aufgabenbereich, so ist Trésor für den Vertrieb des Produktes tréstore zuständig, während ITer@ die Software entwickelt und ServIT Serverdienstleistungen für die Entwicklung und den Betrieb von tréstore zur Verfügung stellt. Aufgrund dieser engen Zusammenarbeit wurde ein Konsortium aus allen drei Unternehmen und der SOP Holding Group gegründet, welches die Softwareprojektbelange regelt. Die SOP Holding Group ist dabei die Dachgesellschaft und vereint die Geschäftsführer aller drei Firmen in sich. Die Teilprojekte, wie z.B. die Redaktion oder Arbeitsgruppen für Messen wie den „Tag der offenen Tür“, die hierbei anfallen, sind nicht einfach durchzuführen und erfordern den Einsatz aller drei Firmen mit verschiedensten Mitarbeitern. Innerhalb der Firmen läuft dagegen die Arbeit abteilungsweise ab. Seit den letzten beiden Iterationen beschränken sich deshalb sehr viele Mitarbeiter aller drei Firmen zu sehr auf ihre Abteilungsarbeit, wodurch die Projektbelange leiden (vgl. Keller, 2009). Die momentane Organisationsform ist aufgrund des Konsortiums und kleiner Teilprojekt- 15 teams neben den eigentlichen Firmenabteilungen als Matrix-Projektorganisation zu bezeichnen. Dieser Wechsel von der Stab-Projektorganisation zur Matrix-Projektorganisation vollzog sich nahtlos und ohne aufzufallen. Eine andere Organisationsform ergibt momentan meiner Meinung nach keinen Sinn, da die Stab-Linienorganisation aufgrund ihrer zu stark über das Projektmanagement laufenden Kommunikation zu sehr die Arbeitseffizienz einschränkt. Jeder Projektmitarbeiter müsste sich direkt an das Projektmanagement wenden, was bei den Teilprojekten im Softwareprojekt zu viel Zeitaufwand bedeuten würde. Um eine Reine-Projektorganisation einzuführen, fehlt es im Softwareprojekt an Mitarbeitern. Diese werden in dieser Organisationsform exklusiv für das Projekt verwendet, und stehen ihren Abteilungen somit nicht mehr zur Verfügung. Außerdem sind hierzu die Teilprojekte zu klein und von zu kurzer Dauer. Doch wie verbessern wir unsere vorhandene Matrixprojektorganisation, um eine effizientere Arbeitsweise des gesamten Softwareprojektes zu erlangen? Der Entwurf zur verbesserten Matrix-Projektorganisation im Softwareprojekt Im Folgenden wird nun näher auf das Konsortium, die Vergabe und den Abschluss der Teilprojekte eingegangen. Das Konsortium ist momentan noch eine Einrichtung ohne vertraglich SOP JOURNAL HOCHSCHULE REUTLINGEN R6 16 ITERATION++ festgelegten Hintergrund. An einem Konsortialvertrag, welcher die Belange und Rechte des Konsortiums regelt, wird zurzeit gearbeitet. Sobald dieser aufgesetzt und unterzeichnet ist, hat das Projektmanagement im Konsortium rechtlich die Befugnis, Mitarbeiter aller Firmen für Teilprojekte einzusetzen. Somit sind die Mitarbeiter auch vertraglich an die Bearbeitung der Teilprojekte gebunden und können sich dieser nicht entziehen. Eine Skizzierung der Situation zeigt „Abb. 1: SOP Matrix-Projektorganisation“. Beschlossene Teilprojekte erhalten einen Teilprojektleiter und einige Mitarbeiter. Vom Konsortium die Priorität im Vergleich zu Abteilungsarbeiten innerhalb der Firmen, der momentane Status, und ein extra E-Mail-Verteiler. Dieser wird für jedes Teilprojekt angelegt, um die Kommunikation der Teilprojektmitarbeiter untereinander zu erleichtern. So muss man nur einmal in der Liste nach dem Verteiler schauen, statt alle E-Mail Adressen der Mitarbeiter herauszufinden. Außerdem wird zur Dokumentenverwaltung in dem Verzeichnis der Teilprojektliste noch ein Ordner für jedes Teilprojekt angelegt, welcher in der Liste verknüpft wird. Innerhalb der Teilprojekte soll die Kommunikation zum Teilprojektleiter „Mit verbesserter Projektorganisation zu höherer Produktivität!“ Denis Merkle, Projektmanagement werden diese zwei Personengruppen mündlich oder per E-Mail festgesetzt und mit Informationen versorgt. Um diesen Schritt sicherer zu gestalten und die Teilprojekte zu protokollieren, wird der Ablauf dahingehend geändert, dass eine Teilprojektliste für alle Softwareprojektmitarbeiter einsehbar auf dem BSCW1 verfügbar ist. Diese Liste wird alle Teilprojekte mit Mitarbeitern und Teilprojektleitern enthalten. Zusätzliche Informationen sind Beginn- und Enddatum, 1 http://www.bscw.de/ (26.04.2009) SOP JOURNAL HOCHSCHULE REUTLINGEN R6 fließen, sodass dieser über alles informiert ist und sich gegebenenfalls mit dem Konsortium austauscht. Dies vermindert den Kommunikationsaufwand der Konsortiumsmitglieder. Mit dem Eskalationsplan, einer Auflistung der zu gehenden Dienstwege bei Problemen, ist hierzu schon eine Richtlinie für die Unternehmen vorhanden, welche für Teilprojekte erweitert werden muss. Die gesamte Kommunikation innerhalb dieser Teilprojekte läuft über die E-Mail-Verteiler ab und jedes relevante Dokument wird in den dafür angelegten Ordnern im Verzeichnis der Teilprojektliste abgelegt, um jeden Mitarbeiter auf demselben Stand zu halten und das Teilprojekt von außen einsehbar zu machen. Den Abschluss eines Teilprojekts muss der Teilprojektleiter dem Konsortium mitteilen und einen kurzen Bericht vorlegen. Dieser Entwurf setzt auf Software, die allen Softwareprojektmitarbeitern vertraut ist. Andere Entwürfe wären z.B. mittels einer extra Groupware aufwändig zu installieren. Mit zusätzlicher Software würde die Akzeptanz des Konzeptes allerdings stark leiden. Die Umsetzung wird mit Sicherheit nicht auf Dauer Bestand haben, da sich das Projektmanagement auf die sich häufig ändernden Gegebenheiten einstellen muss. Mit der Zeit werden also weitere Änderungen einfließen, um die bestehende Matrix-Projektorganisation zu verbessern oder sie letztendlich durch eine andere Organisationsform zu ersetzen. Quellen [1] Keller, W.: Über die schlechte Arbeitsverteilung im SOP, Private Kommunikation, 2009 [2] Jenny, B.: Projektmanagement in der Wirtschaftsinformatik, vdf, 2001 [3] Corsten, H.: Projektmanagement: Einführung, Oldenbourg, 2000 [4] Fricke, G., Lohse, G.: Entwicklungsmanagement: Mit methodischer Produktentwicklung zum Unternehmenserfolg, Springer, 1997 ITERATION++ 17 Der beste Mann für diesen Job ist eine Frau Die Herausforderung der Frau im Softwareprojekt Silke Link „Der beste Mann für diesen Job ist eine Frau“ lautet der Titel eines von Esther Wachs Book verfassten Buches. Die Autorin und Managerin aus den USA schreibt darin über die „Erfolgsgeheimnisse der Spitzenfrauen: ihre Talente, ihre Fähigkeiten und ihr besonderes Führungswissen.“1 Auch in dem Planspiel und Bachelor Softwareprojekt des Studiengangs Medien- und Kommunikationsinformatik an der Fachhochschule Reutlingen, kurz SOP, entscheiden sich Frauen immer häufiger für eine Rolle, bei der Führungsqualitäten gefragt sind. Haben auch sie Erfolgsgeheimnisse? Mit welchen Eigenschaften können sie überzeugen und das Projekt voranbringen und vor allem, wie unterscheiden sich ihre Fähigkeiten im Vergleich zu denen ihrer männlichen Kollegen? Eine aktuelle und eigens durchgeführte Umfrage mit einer Auswahl an weiblichen Führungskräften der derzeitigen und vergangenen zwei Iterationen des Projektes stellt die Grundlage zur Beantwortung dieser Fragen dar. 1 http://www.amazon.de/beste-Mann-dieseneine-Frau/dp/3720522164/ref=sr_1_1?ie=UTF 8&s=books&qid=1240754995&sr=8-1 Das „Wir-Gefühl“ Persönliches Auftreten und Kommunikation sind zwei der wichtigsten Punkte innerhalb des Softwareprojektes. Sie werden in den verschiedensten Situationen von den Studenten gefordert und genau dadurch auch gefördert. Bei den im Planspiel stattfindenden Reviews (deutsch: „Rückblick/Besprechung“) kommt es vor allem auf das Präsentieren von Ergebnissen an. Hier lässt sich das Auftreten einer Person besonders gut analysieren und mit anderen Vortragenden vergleichen. Angesprochen darauf, wie Frauen ihre Arbeit und sich selbst präsentieren, gaben die Befragten - unabhängig davon ob Projektmanagerin oder Leiterin einer Abteilung – an, dass Frauen einen sehr großen Wert auf die Darstellung der Gruppe und die gemeinsame Arbeit legen. Die männlichen Kollegen wurden hingegen als Personen beschrieben, die sich gerne in den Mittelpunkt stellen und dabei das „Wir-Gefühl“ verlieren können. Diese von den Studentinnen getroffenen Aussagen können auch aus soziologischer Sicht bestätigt werden. So heißt es, dass in Leistungs- oder Wettbewerbssituationen soziale Beziehungen für Frauen einen höheren Stellenwert haben, Männern hingegen wird eine „singuläre Ausrichtung auf Leistungsziele“2 nachgesagt. Dieser Unterschied hängt wiederum mit einer von den Soziologen Sutherland und Veroff ausgearbeiteten Rollenerwartung zusammen. Sie besagt, dass die Gesellschaft von Männern meist Überlegenheit und Stärke und von Frauen soziale Fähigkeiten erwartet. Aufgabenorientierung vs. Wettbewerbsorientierung Die Frage, ob man sich deshalb als Frau in einer Wettbewerbssituation vor anderen, insbesondere männlichen, Gruppenmitgliedern beweisen muss, wurde von allen an der Umfrage beteiligten Frauen jedoch verneint. Ihrer Meinung nach ist es wichtiger, die an sich selbst gestellten Erwartungen zu erfüllen und mit der eigenen Leistung zufrieden zu sein. Frauen arbeiten für sich selbst, heißt es auch in der Soziologie. Sie verlassen sich auf ihre eigenen Standards und haben demnach eine stark ausgeprägte „Aufgabenorientierung“. Männer hingegen suchen den Vergleich und erwarten für ihre Leistung oftmals eine Belohnung. Man spricht nach Joan Duda hierbei von einer „Wettbewerbsorientierung“ oder auch „Ich-Orientierung“. Dorothee Alfermann, „Geschlechterrollen und geschlechtstypisches Verhalten“, S.100 2 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 18 ITERATION++ Was bedeutet dies für das Softwareprojekt? Ausgeprägte soziale Eigenschaften wie die zuvor erwähnte GruppenOrientierung der Frau und das damit verbundene Zurückstellen der eigenen Leistung in den Hintergrund sind ein Zeichen von Zusammenhalt. Dies wirkt sich nicht nur auf die Zusammenarbeit in einer Gruppe positiv aus. Auch der Druck, dem man sich in Wettbewerbssituationen oft selbst aussetzt oder den man durch andere auferlegt bekommt, lässt sich so verringern. Dennoch muss Druck nicht immer etwas negatives sein. Oft kann er in gewissem Maße eine positive Auswirkung auf den eigenen Ehrgeiz haben und so zu außerordentlichen Leistungen führen. Und genau das ist, egal ob Mann oder Frau, für die Arbeit im Softwareprojekt wichtig. sensstand daran teil. Eine gute Kommunikation unter den einzelnen Teilnehmern ist daher besonders wichtig. Auf die Frage, wie es sich mit der Kommunikation zwischen Männern und Frauen verhält, wurde mehrfach geantwortet, dass Frauen einen Sachverhalt ausführlich beschrieben bekommen wollen, Männer hingegen zum Verständnis meist nur Stichworte benötigen. Dieses Verhalten findet sich laut Sprachwissenschaftler auch bei den geschlechtsspezifischen Gesprächsstilen wieder. Während Männer dominant, sachlich und kompetitiv sprechen, neigen Frauen zu kommunikativen, persönlichen und emotionalen Gesprächen. Nach dem Motto „Woman relate and men report“ (Ruth Wodak, deutsch: „Frauen erzählen, Männer berichten“) spricht man laut Wissen- „Die Gesellschaft erwartet von Männern Überlegenheit und Stärke, von Frauen soziale Fähigkeiten“ Silke Link, Projektmanagement Kommunikation: Frauen erzählen, Männer berichten Bei den im Projekt regelmäßig angesetzten Besprechungen liegt der Schwerpunkt auf dem Diskutieren von Problemen und dem Ausarbeiten von Lösungen. Je nach Anlass nehmen Männer und Frauen aus den verschiedenen Firmen und Abteilungen des Planspiels mit unterschiedlichem WisSOP JOURNAL HOCHSCHULE REUTLINGEN R6 schaftlerin Deborah Tannens auch von einer „Berichtssprache“ beim Mann und einer „Beziehungssprache“ bei der Frau. Diese Unterschiede können in Gesprächen zwischen Männern und Frauen zu Unklarheiten und natürlich auch im Softwareprojekt zu Missverständnissen zwischen den einzelnen Teilnehmern führen. Umgehen kann man dieses Problem nur, indem man versucht auf den Kommunikationsstil des Gesprächspartners einzugehen und sich diesem anzupassen. Unterschiede können für das Projekt von Vorteil sein Dennoch können Kommunikationsunterschiede auch eine positive Auswirkung haben. Glaubt man der Wissenschaft, so stellen Frauen drei Mal häufiger Fragen an ihre Mitmenschen als Männer es tun. Dies kann nicht nur zu einem leichteren Verständnis beitragen, sondern auch neue Fragen aufwerfen oder einen Sachverhalt, sowohl positiv als auch negativ, in Frage stellen. Auch Gesprächsunterbrechungen müssen nicht immer als dominantes Verhalten oder eine Verletzung des Rederechtes empfunden werden. Sie können ebenfalls zur Bestätigung einer Aussage eingesetzt werden oder dem Aufgreifen alter und Einbringen neuer Fakten dienen. Diese positiven Beispiele zeigen, wie wichtig es für den Erfolg eines Projektes ist, dass Menschen mit unterschiedlichen Arten der Kommunikation zusammenarbeiten. Dies trifft selbstverständlich auch auf unser Planspiel zu. Fazit Was sind also die Erfolgsgeheimnisse der Frauen in unserem Projekt? Sicherlich lässt sich diese Frage aufgrund der vielfältigen Persönlichkeiten der jeweiligen Iterationen nicht allgemein beantworten. Dennoch hat die Umfrage bei den weiblichen Teilnehmern des Planspiels gezeigt, dass sie Qualitäten haben und sie sich deren bewusst sind. So sind ITERATION++ 19 es besonders die sozialen Fähigkeiten, wie das „Wir-Gefühl“ und das aufeinander zugehen bei Problemen, aber auch die Stärke, bei der Bewältigung von Aufgaben auf sich selbst zu vertrauen. Diese Eigenschaften setzen Frauen bei ihrer Arbeit gezielt für den Erfolg des Projektes ein. Unterschiede zu den männlichen Kollegen fanden sich in den Bereichen des Verhaltens und der Kommunikation zur Genüge. Und das ist auch gut so… Quellen Das Softwareprojekt auf der Informatics Inside [1] Ruth Ayaß – „Kommunikation und Geschlecht“, W. Kohlhammer Verlag, 2008 Reutlingen. Zum ersten Mal in der Geschichte der Hochschule fand am 18. März 2009 die „Informatics Inside ´09“ statt. Hierbei handelt es sich um eine von den Masterstudenten organisierte Fachkonferenz. Diese diente unter dem Thema „Mensch.Maschine.Interaktion“ zum Wissensaustausch zwischen den Studierenden und Experten aus Industrie. So referierten die Masterstudenten über Ihre wissenschaftlichen Arbeiten und stellten diese zur Diskussion. Höhepunkt dieser Vorträge war eine Liveübertragung aus China, in der eine Austauschstudentin ihre Arbeit präsentierte. Zu entdecken gab es auch Informationsstände verschiedener namhafter Firmen wie der Soft- und Hardwarespezialisten Tisoware, iPoint, der Firmen Innovative Communication Technologies für individuelle Präsentationslösungen (ict) und IBM. Auch das Deutsche Forschungszentrum für Künstliche Intelligenz [2] Friederike Braun, Ursula Pasero (Hg.) - „Kommunikation von Geschlecht / Communication of Gender“, Pfaffen-weiler: CentaurusVerl.-Ges., 1997 [3] Dorothee Alfermann - „Geschlechterrollen und geschlechtstypisches Verhalten“, Kohlhammer Verlag, 1996 [4] Herrad Schenk - „Geschlechtsrollenwandel und Sexismus“, Beltz Verlag, 1979 [5] Andrea Suffa, Stefan Suffa – „Typisch Mann, typisch Frau! Die geschlechterspezifischen Verhaltensweisen im Vergleich“, Tectum-Verlag; Auflage: 1 (Oktober 2006) [6] Esther Wachs Book - „Der beste Mann für diesen Job ist eine Frau“, Sphinx Verlag (2001) GmbH (DFKI), die Druckunternehmen Raisch und epubli und das Fraunhofer Institut für Arbeitswirtschaft und Organisation standen den Tagungsteilnehmern während der Veranstaltung Rede und Antwort. Die jetzige Iteration R6 nutze diese Konferenz als Plattform um das Softwareprojekt nach aussen hin präsentieren zu können. Dabei hatte das Softwareprojekt einen eigenen Präsentationsstand, an dem der aktuelle Stand des Projektes sowie Ziele vorgestellt wurden. Trotz vieler interessanter Standpräsentationen schafften es die Projektmitarbeiter das Interesse für ihr Projekt zu wecken. Für die kommende „Informatics Inside `10“-Veranstaltungen, die mit dem 05. Mai 2010 schon terminlich feststeht, darf man sich wohl aufgrund des Erfolges auf höhere Aussteller- und Besucherzahlen freuen. -Redaktion SOP JOURNAL HOCHSCHULE REUTLINGEN R6 20 ITERATION++ Kostenschätzung im SOP Neue Methoden zur verbesserten Planung Dominic Schwörer Eine Kostenschätzung spielt bei der Planung von Software-Projekten eine zentrale Rolle. Sie dient dazu die benötigte Zeit, Ressourcen und Mitarbeiter zu ermitteln sowie festzustellen was das Projekt letztendlich kosten wird. Es gibt viele Methoden zur Kostenschätzung, vom „übern Daumen gepeilt“ bis hin zu algorithmischen Berechnungen. In diesem Artikel werden einige Methoden aufgezeigt und im Bezug auf das SOP analysiert. Warum man eine Kostenschätzung braucht Steuern und Planen der Kosten ist ein wichtiger Punkt für den Erfolg eines Projektes. Für eine akkurate Planung ist jedoch eine zuverlässige Kostenschätzung erforderlich, da man dadurch Informationen über die genauen Zeit- und Kostenpunkte zu wichtigen Terminen und Abschnitten erhält. Um die Kosten eines Softwareentwicklungsprojekts abzuschätzen bedarf es viel Wissen und Erfahrung über das zu entwickelnde Produkt, den Entwicklungsprozess und die zur Verfügung stehenden Ressourcen. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Im SOP werden die Anforderungen über den Entwicklungsprozess im RUP fest vorgegeben. Die zur Verfügung stehenden Ressourcen ergeben sich aus der Anzahl der Mitarbeiter einer Iteration und dem Kostenvertrag mit der Kundenfirma. Das benötigte Wissen und die Erfahrung stellen ein größeres Problem dar, lediglich die Vorgänger-Iteration fungiert als Ausgleich für das fehlende Expertenwissen. Kostenschätzung im SOP Die Kostenschätzung im SOP setzt sich zurzeit aus einer Mischung aus dem Analogie-Verfahren und dem Parkinson Grundsatz (engl. Parkinson’s Principle) zusammen. Das Analogie-Verfahren (vgl. [1], S. 828) greift beim Prozentsatzverfahren auf früher durchgeführte Projekte zurück und vergleicht dabei den prozentualen Anteil einzelner Phasen mit dem Gesamtaufwand. Diese Ergebnisse werden auf das aktuelle Projekt übertragen und hochgerechnet. Im SOP wird dies durch die Errechnungen der früheren Iterationen umgesetzt. Der Parkinson Grundsatz (vgl. [2], S. 3) besagt „work expands to fill the available volume“. Das wichtigste Merkmal im SOP ist, dass die meisten Faktoren fest vorgegeben sind wie die Mitarbeiterzahl, die abzuleistenden Stunden, die zeitliche Länge sowie die Termine der einzelnen Phasen. Es bedarf also einer Kostenschätz-Methode, welche die Verwendung von fest vorgegebenen Zeiten und Mitarbeiterzahlen zulässt. Aufgrund der Vorgabe reichen die simplen Verfahren, wie sie momentan verwendet werden, an sich vollkommen aus. Dennoch könnte eine genauere Kostenschätzung im SOP eingesetzt werden um eine Schätzung der benötigten Gelder für die jeweils nächste Phase zu erstellen, unabhängig der Gesamtkosten. COCOMO und Function-Points Die älteste Methode um die Größe und dadurch weitergehend die Kosten und den Zeitbedarf eines Software-Projekts zu messen besteht darin die „Lines of Code“ (kurz: LOC) zu schätzen. „Nach Watts Humphrey (Autor von The Personal Software Process) sind die meisten Menschen nicht sehr gut darin, den Zeitaufwand direkt zu schätzen. Stattdessen kann man aber erstaunlich genau die Größe des Programmcodes vorhersagen.“1 Zitat Wikipedia - http://de.wikipedia.org/wiki/ Aufwandssch%C3%A4tzung_(Softwaretechnik) 1 ITERATION++ Durch die Schätzung der LOC könnte man so im SOP auch genauer die Verbesserungen und Erweiterungen am Programm steuern, indem man sie als Anhaltspunkt für die benötigte Dauer der Programmierung nimmt. Zwei der bekanntesten und aufwändigeren Kostenschätz-Methoden sind das COCOMO-, und FunctionPoint-Verfahren. Das COCOMO (Constructive Cost Model) wurde 1981 von Barry Boehm (vgl. [3]) vorgestellt. Es ist ein algorithmisches Model mit dem die benötigten Personenmonate sowie die Gesamtdauer des Projektes in Abhängigkeit von Daten aus vergangenen Projekten und aktuellen Projektcharakteristiken festgelegt werden können (vgl. [4], S. 16). Der primäre Kostenfaktor bei der COCOMO-Methode ist die DSI (Delivered Source Instructions). Die KDSI (1 KDSI = 1000 DSI) berechnen sich aus den LOC. Es werden jedoch nur elementare Anweisungen gezählt, Kommentare und generierter Code werden ausgeschlossen (vgl. [4], S. 12). Weiterhin unterscheidet man 3 Klassen von Projekten (vgl. [4] S. 17, [5] S. 14): • Organic Mode - Kleine Projekte (< 50.000 DSI) - Stabile Entwicklungsumgebung - Jeder Mitarbeiter kennt das Projekt • Semidetached Mode - Mittelgroße Projekte (zwischen 50.000 und 300.000 DSI) - Jeder Mitarbeiter besitzt Spezial- wissen bezüglich der Entwicklung - Das Team ist, was die Erfahrung betrifft, nicht homogen • Embedded Mode - Große Projekte (> 300.000 DSI) - Noch stärkere Arbeitsteilung, z.B.: nur kleine Anzahl von Analytikern und großes Entwicklerteam (entnommen aus [4], S. 18) Anhand einer Formel kann man nun durch die ermittelte Klasse und die errechneten DSI die Personenmonate PM oder Entwicklungszeit D in Monaten errechnen. Durch den Faktor M können weitere Attribute berücksichtigt werden wie z.B. Zuverlässigkeit, Komplexität, etc. Mit der Zeit wurden die Schätzergebnisse jedoch aufgrund neuer Lifecycle Prozesse, Reengineering, Einführung der Objektorientierung, etc. zu ungenau und so entwickelte Boehm Ende der 90er Jahre das COCOMO II Model (vgl. [5] S. 14). Dieses ist vor allem darauf ausgelegt sich an die Bedürfnisse und Fähigkeiten des Projekts anzupassen und neue Einflussfaktoren zu berücksichtigen (vgl. [4] S. 30, [5] S. 14). In COCOMO II existieren wieder 3 Klassen bzw. Submodelle: • Application Composition Model – Bei der Entwicklung entstehen keine wiederverwendbaren Komponenten. Komplexität des Projekts Organic Semidetached Embedded 21 Die Erstellung ist meist mit Hilfe von CASE-Tools möglich. Schwierigkeiten, die durch die Verwendung von Tools auftreten, werden berücksichtigt. • Early Design Model – Projekte, die sich in der Prototyp/Analyse-Phase befinden. • Post-Architecture Model – Projekte, für die bereits eine fertige Software-Architektur fertiggestellt ist, die nun implementiert werden muss. (entnommen aus [5] S. 14) COCOMO wird meistens im Zusammenhang mit der FunctionPoint-Methode verwendet. Entwickelt wurde die Methode um eine bessere Alternative zur LOC-Schätzung zu haben, statt nur den Umfang zu messen sollte die Funktionalität berücksichtig werden (vgl. [6], S. 43). Anders als bei COCOMO liefert die Function-Point-Methode nicht den Aufwand für die einzelnen Phasen sondern eine Maßzahl für die Größe des Projekts (vgl. [5], S. 16). Die Bereiche Eingabedaten, Abfragen, Ausgaben, Datenbestände und Referenzdaten, werden nach Ermessen des Projektleiters in die Klassen leicht, mittel und komplex eingeordnet. Diesen Klassen ist eine Anzahl an Function-Points zugewiesen. Aufwand PM = 2,4 (KDSI)1,05 M PM = 3,0 (KDSI)1,12 M PM = 3,6 (KDSI)1,20 M Dauer D = 2,5 (PM)0,38 M D = 2,5 (PM)0,35 M D = 2,5 (PM)0,32 M SOP JOURNAL HOCHSCHULE REUTLINGEN R6 22 ITERATION++ Anschließend werden noch 14 Einflussfaktoren (z.B.: Geschwindigkeit, Transaktionsrate, Anpassbarkeit, usw.) berücksichtigt und mit dem Ergebnis verrechnet. Anhand von Vergangenheitsdaten wurde eine Tabelle ermittelt in der sich nachschauen lässt mit wie vielen Quellcodezeilen man bei seinem Ergebnis rechnen muss. Die COCOMO-Methode würde sich auf das SOP anwenden lassen. entwickelt welche „die Vorteile einer erfahrungsbasierten Kostenschätzung und der Auswertung von Kennzahlen aus vergangenen Projekten kombiniert“2. Anders als bei COCOMO lässt sich die CoBRA-Methode (Cost Estimation, Benchmarking and Risk Assessment) auch einsetzen wenn nur wenige Messdaten zur Verfügung stehen. Durch das Expertenwissen aus dem eigenen Unternehmen werden Beson- „Die CoBRA-Methode stellt eine gute Möglichkeit zur Kostenschätzung im SOP dar.“ Dominic Schwörer, Projektmanagement Man könnte für jede Phase die zu erwartenden Personenmonate errechnen um eine genauere Zeitplanung zu erstellen und durch die Schätzung der LOC lässt sich besser voraussagen wieviel Zeit bestimmte Veränderungen am Programm in Anspruch nehmen. Ob sich die Function-PointMethode auf das SOP beziehen lässt, erfordert weitere Untersuchungen. Doch es sollte zumindest eine Hilfe sein um die Größe für bestimmte Erweiterungen zu schätzen. Die CoBRA-Methode Das Frauenhofer-Institut für Experimentelles Software Engineering (kurz: IESE) hat zur Kosten- und Risikoschätzung die CoBRA-Methode SOP JOURNAL HOCHSCHULE REUTLINGEN R6 derheiten aus dem Unternehmen berücksichtigt und die wichtigsten Kostenfaktoren identifiziert. Zusätzlich wird ein Kostenmodell aus Kenndaten abgeschlossener Projekte erstellt. Die Methode wird nun durch das Tool CoBRIX unterstützt, in welchem es möglich ist, das Expertenwissen und die Kenndaten abgeschlossener Projekte zu verwalten. „Das Werkzeug formalisiert die meist subjektiven Kostenschätzungen und kombiniert diese mit Simulationstechnik, um eine Wahrscheinlichkeitsverteilung der zu erwartenden Kosten zu berechnen“3. Zitat Frauenhofer IESE: http://www. iese.fraunhofer.de/fhg/iese/press/newsletter/ vol0208/02_2008_eGov.jsp 2,3 Für das SOP würde sich diese Methode nicht zuletzt wegen dem Tool eignen, mit dem es möglich wäre, iterativ die gesammelten Daten einheitlich weiterzugeben und somit ein Modell aus Kenndaten abgeschlossener Iterationen innerhalb des SOP zu erstellen. Das Expertenwissen wird durch die Vorgänger-Iteration dargestellt, in wie weit dies zu einer genaueren Schätzung führt, lässt sich nicht genau nachvollziehen. Es sollte jedoch helfen die wichtigsten Faktoren zu erkennen. Dass nur wenige Messdaten benötigt werden ermöglicht dem Projektmanagement sogar fehlende Informationen über das Projekt auszugleichen. Fazit Die Besonderheiten des SOP, vor allem die Vorgaben des Zeitraums und der Mitarbeiterzahlen, macht die Kostenschätzung wie sie in der „freien Wirtschaft“ vorkommt leider nicht möglich. Um die Kostenschätzung zu verbessern würde sich eine Umstrukturierung der Gehälter und des Budgets im SOP eignen. Wenn man nicht mit den zurzeit festen Gehältern rechnet und nur ein bestimmtes Budget besitzt, würde man auch die Kostenschätzung sinnvoller anbringen können. Aber alleine schon die Berechnung der Kosten und besonders der Personenmonate dürfte zu einer sichtlichen Verbesserung der Planung führen, da es dem Projektmanagement erlaubt die Arbeitsvorgänge in den einzelnen Phasen genauer zu planen. Zu den Methoden lässt sich sagen, ITERATION++ dass die COCOMO-Methode in Verbindung mit den Function-Points eine realisierbare Möglichkeit ist und zu einer guten Schätzung führen sollte. Jedoch würde ich die Verwendung der CoBRA-Methode empfehlen, da sie auch mit wenigen Messdaten auskommt und auch Besonderheiten besser berücksichtigt werden können, was ich im Bezug auf das SOP als sinnvoll erachte. Zudem stellt CoBRIX eine Möglichkeit der einheitlichen Datenvererbung an die Nachfolger-Iterationen dar. Schlussendlich lässt sich sagen, dass die hier beschriebenen Methoden sicher zu einer Verbesserung im Kosten- sowie Zeitmanagement führen sollten. Jedoch lässt es sich durch die vom SOP bedingten Faktoren nicht an der „freien Wirtschaft“ spiegeln. Quellen [1] Walter Masing, Tilo Pfeifer, Robert Schmitt: Masing, Handbuch Qualitätsmanagement; 5. Auflage; Hanser [2] Hareton K.N. Leung: Estimating Maintenance Effort by Analogy; Volume 7, Number 2; Juni 2002; Springer 23 [5] Holger Gubbels: SAP R/3 – Praxishandbuch Projektmanagement; August 2006; Vieweg+Teubner [6] Henner Diederichs: Komplexitätsreduktion in der Softwareentwicklung – Ein Systemtheoretischer Ansatz; 1. Auflage; Februar 2005; Books on Demand Gmbh [3] Barry W. Boehm: Software Engineering Economics (Prentice-Hall Advances in Computing Science & Technology Series); September 1981; Prentice Hall [4] Klaus Werdenich: Seminararbeit, COCOMO – Constructive COst MOdel; Mai 2002; Universität Salzburg – Institut für Computerwissenschaften »Im Computer kann man Unmengen von Daten speichern, die man nicht bräuchte, wenn man keinen Computer hätte.« Erhard Blanck, Schriftsteller SOP JOURNAL HOCHSCHULE REUTLINGEN R6 24 ITERATION++ Im Kampf gegen das digitale Vergessen Anforderungen und Strategien an ein Langzeitarchivierungssystem im SOP. Gerold Lacher Digitale Dokumente langfristig zur Verfügung zu stellen, ist ein bislang ungelöstes Problem unserer Informationsgesellschaft. Daten, die auf digitalen Datenträgern gespeichert sind, können in relativ kurzer Zeit nicht mehr lesbar sein. Das sogenannte „digitale Vergessen“ ist die Folge. Die Ursachen für diesen Informationsverlust sind die begrenzte Haltbarkeit der Trägermedien und der schnelle Medien‐ und Systemwandel. Heutige Lösungsansätze ziehen sog. Langzeitarchivierungssysteme (kurz: LAS) zur Problemlösung heran, mit deren Hilfe versucht wird, diese Schranken, durch Kombination verschiedener Archivierungsstrategien, zu umgehen. Das Offene Archiv Informations System (kurz: OAIS) ist solch ein LAS. Dieser Artikel beschäftigt sich mit den Strategien hinter diesem und untersucht die Anforderungen, welche das Softwareprojekt an dieses stellt. Drei Jahre sind nun schon vergangen, seit dem das Softwareprojekt im Wintersemester 2006 an den Start ging. Höchste Zeit also, um die bisher erzielten Ergebnisse im Bereich Langzeitarchivierung einmal genauer zu betrachten. Alleine das neue Design SOP JOURNAL HOCHSCHULE REUTLINGEN R6 des Java- und C#- Clients lässt viel erhoffen, haben diese doch im Laufe der Iteration R6 ein komplett neues Gesicht, angepasst an die aktuelle Trésor CI, erhalten. Zunächst müssen allerdings Anforderungen definiert werden, welche an ein solches LAS gestellt werden müssen, um Daten auch über einen längeren Zeitraum hinweg effektiv speichern und verwalten zu können. Das OAIS – Ein Modell für die Langzeitarchivierung nach ISO Norm. „Dieses Referenzmodell beschreibt ein Archiv als Organisation, in dem Menschen und Systeme zusammenwirken,“ (Abbildung 1) „um einer definierten Nutzerschaft Archivgut verfügbar zu machen. Die Implementierung eines OAIS-konformen Archivs ist dabei jedoch nicht festgelegt“ [1]. Das Archiv selbst als Kern steht im Mittelpunkt einer OAIS Umgebung. Hier werden schließlich sämtliche Dokumente gespeichert und verwaltet. Das Management sorgt im laufenden Prozess für die Instandhaltung und Überwachung des Archives. Desweiteren ist es verantwortlich für die Entwicklung und Implementierung neuer Archivierungsstrategien. Der Producer ist, ebenso wie der Consumer, unabhängig von den Entscheidungen des Managements. Das Archiv ist eine Art BlackBox, in welche er Daten zur Archivierung laden, wieder abrufen und bearbeiten kann. Dies muss zu jeder Zeit gewährleistet sein. Diese Grundstruktur ist auch im Softwareprojekt (kurz: SOP) wiederzufinden. So dient dem Producer, wie auch dem Consumer ein bedienungsfreundlicher Client als Schnittstelle zum Archiv. Dieses liegt auf dem SOP Server und wird durch das Management, derzeit die ITer@-Softwareabteilung, verwaltet. SIP, DIP und AIP – Das Problem mit den Formaten Abb. 1: Modell einer OAIS-Umgebung SIP steht für Submission Information Package. Damit wird diejenige Datei bezeichnet, welche vom Producer an das Archiv übergeben wird. Ruft der ITERATION++ Consumer nun eine Datei aus dem Archiv ab, so wird ihm diese als sogenanntes Dissemination Information Package (kurz: DIP), übergeben. Existieren also zwei unterschiedliche Namen für ein und dieselbe Datei? Für die Antwort hierauf muss man den zeitlichen Rahmen einer Archivierung, sowie den damit einhergehenden Medien- und Systemwandel beachten. So kann es vorkommen, dass eine dem Archiv vor 10 Jahren als SIP übergebene Datei in einem Format vorlag, welches im Laufe der Zeit durch ein anderes abgelöst wurde. So muss das Archiv dieses, je nach zugrunde liegender Archivierungsstrategie, unter Umständen in dem nun aktuellen Format wider als DIP dem Consumer übergeben. In diesem Fall unterscheiden sich SIP und DIP. Während diese beiden Packages nun für den Ein- und Ausgabeprozess verwendet werden, existiert ein weiteres Package, genannt Archival Information Package, für die Speicherung bzw. Ablage im Archiv. Dieses stellt zugleich das wichtigste der drei Packages dar und den Brennpunkt an der ganzen Sache. Denn während sich die Formate, in welchen das SIP und DIP vorliegen, Abb. 2: SIP, DIP und AIP [2] ständig ändern, muss das AIP ein besonders im Hinblick auf den zeitlichen Gesichtspunkt beständiges Format besitzen. Das AIP macht Probleme – Auf der Suche nach dem passenden Format. Auch im SOP Projekt wurde die Brisanz dieses Themas erkannt und als Reaktion darauf eine Recherche gestartet, welche es zum Ziel hatte, für das AIP geeignete Formate ausfindig zu machen, welche für eine langfristige Archivierung geeignet sind. 25 des älteren beherrscht und umsetzen kann. Das Resultat hierbei ist der Datenverlust durch Konvertierung. Während die Recherche im Bereich Audio- und Video-Formate eher erfolglos blieb, gab es im Bereich des Text-Formates Erfolge zu vermelden So ging das von Adobe eigenst für den Zweck der Archivierung von Dokumenten entwickelte PDF/A Format, ebenso wie das von Microsoft entwickelte OpenXML Format als sehr leistungsfähige Formate hervor. Aber auch das im Open Source Bereich an- „Ein Format, welches von der Bevölkerung akzeptiert wird, hat meist eine hohe Chance über einen längeren Zeitraum hinweg zu existieren“ Gerold Lacher, IT-Management & Redaktion Diese Formate mussten komplex genug sein, um das Layout bzw. den Inhalt eines alten Formates 1:1 nachbilden zu können. Desweiteren sollte das neue Format natürlich auch längere Zeit Bestand haben, da die einzelnen Schritte einer Migration (siehe „“Emulation und Migration“) aufwendig und teuer sind. Ein Format, welches in der Bevölkerung stark akzeptiert wird, hat meist eine hohe Chance über einen längeren Zeitraum hinweg zu existieren, wie man beispielsweise an den Worddateien oder auch dem PDF-Format sehen kann. Leider kommt es dennoch oft vor, dass ein neues Format nicht alle Aspekte gesiedelte Open Document Format zeigte Potential. Eine Entscheidung hierbei ist allerdings noch nicht gefallen, bieten sämtliche Formate doch ihre Vor- und Nachteile. Emulation und Migration Obwohl im Softwareprojekt derzeit noch die Implementation eines Zwischenformates für die Archivierung fehlt, das SIP also quasi auch als AIP zum Einsatz kommt, kann der Consumer für die Ausgabe des DIPs zwischen verschiedenen Ausgabeformaten wählen. So ist es beispielsweise Möglich, eine als JPEG gespeicherte Datei in das TIFF Format umwandeln und SOP JOURNAL HOCHSCHULE REUTLINGEN R6 26 ITERATION++ ausgeben zu lassen. Die Strategie hinter dieser Methode nennt sich Migration und ist eine der zwei heutzutage gängigsten Methoden zur Langzeitarchivierung. Dem gegenüber steht die Emulation, welche einen komplett anderen Lösungsansatz verfolgt. Anstatt in ständig neue, in Mode gekommene Formate zu konvertieren, wird hier versucht, das ursprüngliche System mittels Software nachzubilden. Ein Beispiel für eine funktionierende Softwareemulation stellt das Windows Betriebssystem dar. Mit der jeweils aktuellen Version dieses Betriebssystems kann man jede frühere Version emulieren und so Dokumente und Anwendungen ausführen, welche das aktuelle Betriebssystem nicht mehr unterstützt. Beide Modelle haben ihre Daseinsberechtigung, ziehen aber auch Probleme mit sich. Für eine Migration spricht vor allem die relativ gute Realisierbarkeit und die Unabhängigkeit von Emulatoren. Auch der Verfall von Speichermedien ist ein wichtiger Aspekt, welcher eher für die Migration spricht, da somit die Erhaltungskosten für die Zugriffshardware entfällt. Desweiteren kann mit dieser Archivierungsstrategie besser auf neu verfügbare Applikationen und den daraus wachsenden Benutzeranforderungen eingegangen werden. Für die Emulation spricht vor allem, dass die Originalobjekte unverändert bleiben. Probleme mit Datenverlust existierten hier nicht. Jedoch ist die Entwicklung eines Emulators sehr Kostenintensiv. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Im SOP Projekt selbst ist noch keine dieser beiden Strategien richtig implementiert. Zwar ist durch die Möglichkeit der Formatsumwandlung der Grundstein für eine Migrationsstrategie gelegt, da hierfür jedoch noch langfristige Formate für die AIPs fehlen, haben diese Umwandlungen bestenfalls Beispielcharakter. Eine Emulation wird bisher nur für die Virtuellen Maschinen eingesetzt, welche auf den Servern laufen und die Umgebung für das Archivierungssystem zur Verfügung stellen. Quellen Fazit [4] Langzeitarchivierung digitaler Daten: Fortschritt und Überlieferung Kristian Kloth, Grin Verlag (Klebebindung ‐ Februar 2008) Wie man sehen kann, so sind die Anforderungen an ein LAS doch recht komplex und im Rahmen einer Wirtschaftssimulation, in welcher die Simulation eines kompletten Firmenkonsortiums im Mittelpunkt des Interesses steht, nicht über Nacht realisierbar. Dennoch beinhaltet das SOP Projekt schon grundlegende Ansätze für die Implementation eines LAS, beispielsweise des in diesem Artikel vorgestellten OAIS. Die Hauptproblematik hierbei ist allerdings die Umsetzung einer guten Archivierungsstrategie, wie die vorgestellte Daten- Migration und Emulation bzw. eine Kombination aus beiden. Das OAIS selbst gibt hierfür leider keine explizite Lösung vor, schließlich handelt es sich hierbei um ein Referenzmodell eines LAS und keiner „To-Do-Anleitung“. [1] Dagmar Ullrich – „Anforderungen an die Langzeitarchivierung digitaler Datenbestände“, http:// www.gwdg. de [2] Nestor ‐ Kompetenznetzwerk Langzeitarchivierung http://www. langzeitarchivierung.de [3] Langzeitarchivierung im digitalen Zeitalter: Speichermedien, Strategien und Ausblicke Dr. Müller, VdM Verlag (Klebebindung ‐ 15. Oktober 2007) [5] www.wikipedia.de [6] www.bka.gv.at: „Open Archival Information System (OAIS) - Vorstellung“ ITERATION++ 27 Ein gutes Gespräch... Kommunikation im Softwareprojekt Markus Jülich Wenn man sich klar ausdrückt und seine Wünsche oder Anforderungen darüber hinaus in ein Dokument verfasst, dann kann man sich sicher sein, dass jeder versteht, was man sagen will. Oder etwa nicht? Kommunikation ist ein kompliziertes Thema, das auch im studentischen Softwareprojekt für einige Probleme sorgt. Jede Form von Verständigung, seien es Gespräche, E-Mails oder Anforderungsdokumente, ist nur über den Umweg der Interpretation möglich (vgl. [1]). Das bedeutet, dass jedes Mal, wenn wir mit jemandem in irgendeiner Form kommunizieren, der Empfänger der Nachricht diese neu interpretiert. Normalerweise ist das Ergebnis dieser Interpretation das, was der Sender ausdrücken wollte. Leider kommt es trotzdem zu vielen falschen Annahmen. Gerade im Softwarebereich, wo Informationen zum Großteil komplex oder abstrakt sind, ist die häufigste Form der Kommunikation das Missverständnis. Eindeutig Zweideutig Während einem Projekt könnte eine Anforderung an die Softwareentwicklung zum Beispiel so lauten: ‚Jedes Mal, wenn der Nutzer einen unpassenden oder falschen Datensatz eingibt, soll das System eine hervorstechende Warnmeldung ausgeben.‘ Diese Anforderung mag zwar deutlich strukturiert aussehen und es ist jedem klar, was erwartet wird. Aber man überlege sich Folgendes: Das System soll eine Warnmeldung ausgeben. Ich soll auch dreimal am Tag Obst oder Gemüse essen, ich mache es deswegen trotzdem nicht. Auch wenn es eindeutig ist, dass das System diese Warnmeldung auf jeden Fall ausgeben soll, birgt die schriftliche Sprache hier Platz für Fehlinterpretation. Ein weiteres Problem: Was für den einen hervorstechend ist, mag dem anderen vielleicht überhaupt nicht auffallen. Wenn man diese Information nicht nur schriftlich in einer Anforderung verpackt, sondern mit den betreffenden Personen auch noch mündlich klärt, so wird zumindest das mögliche Missverständnis von sollen und müssen gar nicht erst auftreten können. Um das zweite mögliche Missverständnis zu Umgehen, sollte über die Vorstellungen des Auftraggebers kurz geredet werden. Selbstverständlich könnte man sagen, dass es reichen würde, wenn man die Anforderung einfach klarer formuliert, etwa so: ‚Jedes Mal, wenn der Nutzer einen unpassenden oder falschen Datensatz eingibt, gibt das System eine Warnmeldung aus, die im Folgenden beschrieben ist.‘, versehen mit einem Anhang, der vielleicht eine Grafik und eine Beschreibung enthält, wie die Warnmeldung ihre hervorstechende Wirkung erzielen soll. Diese Vorgehensweise wäre in einem Projekt, bei dem alle Parteien weit verstreut sind und keinen persönlichen Kontakt haben, sicherlich angebracht, um Fehler zu vermeiden. Im Softwareprojekt hat man aber die Möglichkeit, sich zu treffen und über alles direkt zu sprechen. Mündlich oder schriftlich? Das es wichtig ist, miteinander zu reden, soll keineswegs heißen, dass schriftliche Statements schlecht oder überflüssig sind. Im Gegenteil! In geschriebener, also lesbarer Form sind Informationen äußerst hilfreich gegen das Hindernis des Kurzzeitgedächtnisses, gegen Ablenkungen und Unterbrechungen. Außerdem dienen sie als Erinnerung und eingeschränkt auch als Beleg. Eingeschränkt deshalb, weil, wie oben gezeigt, nicht alle Dokumente eindeutig sind. In den meisten Fällen wäre es am Besten, wenn dem Empfänger der Nachricht die schriftliche Form vorliegt und man dann direkt miteinander spricht. Auf diese Weise können nicht nur viele SOP JOURNAL HOCHSCHULE REUTLINGEN R6 28 ITERATION++ Missverständnisse von vornherein ausgemerzt werden, sondern man schafft dabei auch eine Basis für weitere Gespräche. Außerdem lernt der Nachrichtenempfänger etwas über die Kommunikation des Senders und kann dessen schriftliche Anforderungen besser interpretieren. Verständnis ist der Schlüssel Häufige und klare Kommunikation ist wichtig. Wenn es etwas wichtiges zu sagen gibt, dann sollte es in einer Weise gesagt werden, dass es auf jeden Fall jeder versteht. Das heißt, dass die Information nicht nur beiläufig erwähnt oder mitten in ein großes Dokument „Die größte Kunst der Kommunikation ist es, zu bemerken, wie viel die anderen nicht wissen oder verstehen.“ Markus Jülich, IT-Management Teamzusammenarbeit fördern „Die Rolle der Teamzusammenarbeit kann nicht überbetont werden.“ (vgl. [2], S.10). Es geht hierbei nicht nur um die Zusammenarbeit innerhalb eines Teams, sondern vielmehr um die teamübergreifende Arbeit. Diese ist sehr wichtig, da es die Motivation der Mitarbeiter verbessert, wenn sie nicht nur strikt an ihrer Aufgabe werkeln, sondern mehr mitkriegen. Höhere Motivation resultiert in gesteigerter Produktivität des Teams. Und nicht nur das, Mitarbeiter, die in verschiedenen Bereichen Erfahrungen gesammelt haben, sind viel flexibler einsetzbar und häufig auch kompetenter, wenn es um neue Probleme geht. Bei großen Softwareprojekten gilt außerdem, dass durch die teamübergreifende Arbeit ein erhöhtes Verständnis für das gesamte Projekt erzeugt wird. Je intensiver das Verständnis, desto besser die Kooperation mit dem System. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 verpackt werden sollte. Es reicht nicht, wenn die Empfänger der Nachricht diese hören oder lesen, sondern sie müssen sie auch verstehen. Nur auf diese Weise kann sichergestellt werden, dass jeder Beteiligte auf die Information richtig reagiert (vgl. [3], S.236). Das bedeutet, dass wenn eine E-Mail im Softwareprojekt über den Mailverteiler an alle geht, in der zum Beispiel eine Terminänderung für eine wichtige Veranstaltung steht, so sollte dies eigentlich reichen, wenn die Informationen vollständig sind. Trotzdem ist es Fakt, dass diese Information besser verstanden wird, wenn sie noch einmal während einem Meeting wiederholt wird, da mündliche Ankündigungen zu wichtigen Themen meist direkter bei den Empfängern ankommen. In diesem Fall kann der Verkündende auch sicherstellen, dass alle die Information verstanden haben, indem er direkt danach fragt. Zwar sind Studenten wie Schüler dafür bekannt, auf die Frage: „Haben das alle verstanden?“, mit Schweigen oder vorsichtigem Nicken zu antworten, trotzdem sorgt die Frage dafür, dass kurz darüber reflektiert wird, was meistens das angestrebte Ziel zur Folge hat. Von Angesicht zu Angesicht Was für Schlüsse ziehen wir also daraus? Dokumentation ist wichtig, da der Verfasser der Dokumentation nicht immer für Fragen zur Verfügung steht. E-MailKommunikation ist wegen ihrem erinnernden Wert und der Möglichkeit, kurzfristig Dateien zu verschicken, unersetzlich. Trotzdem sollten wichtige Informationen immer auch noch mündlich erfolgen. Des weiteren sollte über jede Anforderung, die das Softwareprojekt betrifft, das heißt alles von Änderungen am Programm bis hin zu letzten Schliffen am Corporate Design, von Angesicht zu Angesicht kommuniziert werden, wenn man so wenig Missverständnisse wie möglich erzielen möchte. Quellen [1] Wittgenstein, Ludwig. Philosophische Untersuchungen. Suhrkamp, Frankfurt am Main, 1967 [2] Essigkrug, Andreas; Mey, Thomas – Rational Unified Process Kompakt. 2. Auflage. München: Elsevier GmbH, 2007 [3] Cohn, Mike – Agile Estimating and Planning. 7. Auflage. Boston: PearsonEducation, 2008 ITERATION++ 29 Kommunikation zwischen Unsichtbaren Lösungsansätze für die Probleme in der internen Unternehmenskommunikation Fabian Liedtke Die interne Kommunikation in einem Unternehmen dient der Aufrechterhaltung und Gestaltung des Informationsflusses (vgl. [1]). Eine gut strukturierte interne Kommunikation ist die Grundlage für ein erfolgreiches Projektmanagement. Ohne einen ausreichenden Informationsfluss von „oben“ in Richtung der Mitarbeiter und umgekehrt von „unten“ in Richtung des Managements, kann die Planung und Kontrolle eines Projekts nicht zufriedenstellend funktionieren. Im Zusammenhang mit den speziellen Eigenschaften des SOP ergeben sich Probleme in der internen Kommunikation, die mit denen von internationalen Firmen vergleichbar sind. In diesem Zusammenhang stellt sich die Frage, wie internationale Firmen diese Probleme lösen und inwiefern sich aus diesen Lösungen Schlüsse für das SOP ziehen lassen? Wie lässt sich dadurch eine bessere interne Kommunikation erreichen? Die Ausarbeitung konzentriert sich vor allem auf die asynchrone, also zeitverzögerte Kommunikation. Vorschläge zur Optimierung von direkten Treffen finden sich im Fachartikel von Thorsten Hampp (vgl. [2]). Der Status Quo In den Organisationsrichtlinien der ITer@ Group ist angegeben, welches Kommunikationsmittel von einem Mitarbeiter zu welchem Zweck einzusetzen ist. Die Regelungen betreffen E-Mail-Nachrichten, Instant Messenger, Konferenz und den direkten persönlichen Kontakt. Es gibt eine Syntaxvorschrift für die Betreffzeile von E-Mail-Nachrichten und durch die Einrichtung von E-Mail-Verteilern besteht auch eine Infrastruktur für diese Art der Kommunikation. Die grundlegenden Möglichkeiten für eine reibungslose Kommunikation sind also gegeben. Allerdings sind diese nicht ausreichend, wenn man die besondere Firmenstruktur des SOP betrachtet. Eine SOP-Firma ist in Abteilungen als Teams organisiert, die jedoch nicht örtlich oder zeitlich gebunden sind. Somit gibt es keinen gemeinsamen Arbeitsplatz und keine gemeinsamen Arbeitszeiten. Durch die verstärkte Nutzung von asynchroner Kommunikation werden allerdings die Mängel der bisherigen Richtlinien offenbart. Beispiele hierfür aus dem SOP-Alltag sind, unter anderem, unsachgemäße Nutzung der E-Mail-Verteiler und die damit verbundene E-Mail-Flut. Außerdem zeigt sich, dass Teamleiter und Manager häufig zu „menschlichen“ E-Mail-Verteilern degradiert werden. Andererseits kann es auch vorkommen, dass wichtige Informationen überhaupt nicht übermittelt werden. Die asynchrone Kommunikation verhindert zudem ein Projektmanagement im klassischen Sinn: ein Blick über die Schulter der Mitarbeiter ist nicht möglich. Vielmehr ist daher entscheidender, dass die Kommunikation auf allen Ebenen richtig funktioniert. In global agierenden, modernen Unternehmen werden als Kernkomponenten sogenannte virtuelle Teams eingesetzt, die sich durch den Einsatz von Kommunikationsmitteln zur Überbrückung von räumlicher und zeitlicher Distanz definieren (vgl. [3]). Zu Projektbeginn werden die meisten Besprechungen im SOP noch auf direktem Wege durchgeführt. Die Vorlesung Softwaretechnik bietet hierfür den entsprechenden Rahmen. Später wird die computervermittelte Kommunikation aufgrund von Anreisezeit und Kostenvermeidung wichtiger. Da beim SOP zumindest theoretisch auch die Möglichkeit besteht auf Treffen vor Ort zurückzugreifen, lässt sich das SOP also am besten als Hybrid aus den Unternehmenstypen lokal und virtuell beschreiben. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 30 ITERATION++ Der Status Unbekannt Die Probleme, die aus der elektronischen Kommunikation hervorgehen, sind für SOP-Abteilungen, sowie für virtuelle Teams besondere Herausforderungen. Diese gilt es beim Management zusätzlich zu beachten. Aus einer Umfrage des Instituts für Arbeitspsychologie an der ETH Zürich geht hervor, dass 59% der Probleme in der Führung virtueller Teams auf „Probleme in der Kommunikation […] wie fehlende Informationen und mangelnder Austausch unter den Mitarbeitern“ hervorgeht (vgl. [4], Seite 39). Als ein Hauptverursacher dieses Problems wird die Nutzung von neuen Medien, wie E-Mail und asynchrone Datenbanken genannt (vgl. [4], Seite 43). Als negative Aspekte werden unter anderem identifiziert: „Unangemessene Nutzung von E-Mails […]“, „Wahre Information wird im offiziellen Meeting/Datenbank nicht genannt […]“, „Gefühle, Stimmungen und Probleme werden nicht vermittelt“, „Entstehen von Missverständnissen, da keine direkte Nachfrage möglich ist“ und „Unklare Kommunikationswege, Missachtung von Hierarchien, Grenzregulationsprobleme (z.B. gegenüber Kunden)“ (vgl. [4], Seite 44). Zu den Problemen in der Nutzung von modernen Medien bei virtuellen Teams kommen im Rahmen des SOP noch spezifische Probleme hinzu. Das Fehlen eines gemeinsamen Arbeitsplatzes bedeutet hier nicht nur die räumliche Trennung der Mitarbeiter, sondern auch eine unterschiedliche technologische Basis an den verteilten Arbeitsplätzen. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Inkompatibilität von Werkzeugen, wie Gruppen-Software oder Versionsmanagement zu verschiedenen Systemen, vermindert deren Nutzen für das SOP. Ein grundlegendes Problem für die Abstimmung zwischen Abteilung und Projektmanagement zeigt sich im SOP durch den iterativen Charakter. Bei der Einführung einer neuen Iteration werden die Abteilungen von ihren Vorgängern mit den nötigen Informationen versorgt. Dadurch entsteht eine stärkere Bindung an die Teams der VorgängerIteration als an das Projektmanagement. Dies kann zu verminderter Qualität bis zum Versiegen des Informationsflusses an das Management führen. Lösungen für virtuelle Teams Laut der Interviewstudie von Christian Liebig und Hans-Joachim Schütze wird speziell die Initiierungsphase eines Projekts mit virtuell orientierten Teams als „Grundsteinlegung für Erfolg oder auch Misserfolg angesehen.“ (vgl. [5], Seite 86). „Gerade bei Teams, bei denen sich die Mitglieder anschließend selten oder nicht mehr sehen, wird diese Phase zur Erhöhung der Transparenz, Teambuilding inklusive der Rollen und Aufgabenklärung und Einschwören auf das Projektziel verwendet“ (vgl. [5], Seite 86). Besonders auch die Sozialisation der Teammitglieder ist eine wichtige Voraussetzung für den Zusammenhalt und eine gute Verständigung während der Projektlaufzeit (vgl. [5], Seite 88). Gleich zu Beginn sollte auch eine Abmachung über die Verwendung von Kommunikationsmitteln während der Projektlaufzeit getroffen werden (vgl. [6]). Dazu gehört auch eine Festlegung der Hierarchien für die elektronische Kommunikation. Die Szenarien für die richtige Wahl der Ansprechpartner bei verschieden Problemen sollten in einer Richtlinie festgelegt werden (vgl. [7]). Spörri, Springall und Grote empfehlen die Durchführung eines Kommunikations-Workshops zur Schulung der Mitglieder eines virtuellen Teams und Entwicklung einer gemeinsamen Kommunikationsstrategie (vgl. [4], Seite 91). Die Face-to-Face Kommunikation, also der direkte persönliche Kontakt, ermöglicht einen schnellen Informationsaustausch (vgl. [8]) und wirkt so den Missverständnissen, die aus der computervermittelten Kommunikation resultieren können, entgegen. Allerdings erweist sich diese Art des Austausches aufgrund der damit verbunden Kosten, wenn überhaupt, nur in der Planungsphase eines Projekts als nützlich (vgl. [4], Seite 86). Die richtige Auswahl und der Umgang mit Technologien, die eine virtuelle Umgebung für die Kommunikation schaffen, ist daher notwendig (vgl. [9]). Lösungen für das SOP Die Lösungen für virtuelle Teams zeigen, dass die Anfangsphase eines Projekts für den späteren Erfolg entscheidend ist. Im SOP sind Teile der Anforderungen an diese Phase aufgrund der anfänglich stärker ausgeprägten Treffen vor Ort erfüllt. Allerdings wurde bisher von keiner Iteration zu Beginn eine ausreichende Kommunikationsstrategie ausgearbei- ITERATION++ tet. Dies könnte daran liegen, dass die SOP-Firmen erst im Verlauf des Projekts zu verstärkt dezentralisierter Kommunikation tendieren. Zumindest sollte ein Konzept für den Aufbau der Kommunikationshierarchien erarbeitet und anschließend in den Organisations- den Umfrage durch die Qualitätssicherung geprüft werden. Eine Möglichkeit die unterschiedliche technische Basis der Arbeitsplätze weniger relevant zu machen, ist der Einsatz von Werkzeugen, die mit den verfügbaren Systemen, wie Email-Programmen „Vielleicht wäre es sinnvoller, stattdessen einfach die Entwicklung einer Zeitmaschine in Erwägung zu ziehen.“ Fabian Liedtke, Projektmanagement, über die Komplexität von Langzeitarchivierungssystemen richtlinien formuliert werden. Um den korrekten Umgang mit den verfügbaren Medien sicherzustellen, kann auf die Idee eines Kommunikations-Workshops zurückgegriffen werden. Inhaltlich sollte geklärt werden wer, wann und mit welchem Mittel, welche Information mit wem zu kommunizieren hat. Dies würde auch für das Projektmanagement einen besseren Einblick in die einzelnen Abteilungen gewährleisten. Als schwierig entpuppt sich allerdings die richtige Wahl des Zeitpunkts für die Durchführung eines Workshops: Gleich zu Iterationsbeginn oder erst kurz bevor die verstärkte Nutzung von asynchroner Kommunikation dies erfordert? Aus praktischen Gründen könnte der Workshop dann in eine der Mitarbeiterschulungen eingebunden werden. Die Qualität der Kommunikation kann durch Metakommunikation, die Kommunikation über die Kommunikation, zum Beispiel mithilfe einer entsprechen- und Webbrowsern zusammenarbeiten (vgl. [8], Seite 116). Es sollte daher untersucht werden, inwiefern sich die Möglichkeiten des verwendeten Servers dafür eignen und ob diese bei Bedarf erweitert werden könnten. Ein interessanter Ansatz bietet hierfür der Einsatz von Wikis oder Blogs für die interne Unternehmenskommunikation. Die Einsetzbarkeit für das SOP sollte durch zukünftige Recherche geprüft werden (Einstiegsliteratur [10], [11]). Quellen [1] Meier, P.: Interne Kommunikation im Unternehmen: von der Hauszeitung bis zum Intranet, Zürich: Orell Füssli, 2002 [2] Hampp, T.: Prozessoptimierte Meetings durch professionelle Moderation, Gibt es Moderationskonzepte für Meetings innerhalb des Softwareprojektes?, SOP Journal Hochschule Reutlingen R5, ITERATION++, Reutlingen 2009 31 [3] Lipnack, J., Stamps, J.: Virtuelle Teams. Projekte ohne Grenzen, Wien: Ueberreuter, 1998 [4] Spörri, M., Springall, L., Grote, G.: Führung und Kommunikation in virtuellen Teams der IT-Branche - Projekt Telemanagement, ETH Zürich, 2003 [5] Liebig, C., Schütze, H-J.: Virtuelle Projektteams. Projektverlauf und Kommunikation in räumlich verteilten Strukturen, Mannheimer Beiträge zur Wirtschaftsund Organisationspsychologie 3, 2001 [6] Lipnack, J., Stamps, J.: Virtual Teams: Reaching Across Space, Time, and Organizations with Technology. John Wiley & Sons, New York, 1997 [7] Casey, V., Richardson, I.: Uncovering the reality within virtual software teams, Proceedings of the 2006 international Workshop on Global Software Development For the Practitioner, China, 2006 [8] Dennis, A., Valacich, J.: Rethinking Media Richness: Towards a Theory of Media Synchronicity, Proceedings of the 32nd Hawaii International Conference on System Sciences, Hawaii, 1999 [9] Nunamaker, J. F., Reinig, B. A., Briggs, R. O.: Principles for effective virtual teamwork, Communications of the ACM 52, 4, 2009 [10] Fleck, M., Kirchhoff, L., Meckel, M., Stanoevska-Slabeva, K.: Einsatzmöglichkeiten von Blogs in der Unternehmenskommunikation, Bauer H. H., Röster, J. (Hrsg.): Interactive Marketing im Web 2.0+, München, Vahlen, 2007 [11] Gutwirth, A.: Trendforschung - Einsatzpotential für Blogs und/oder Wikis in virtuellen Gemeinschaften, GRIN Verlag, 2007 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 32 ITERATION++ Virtuelle Serverlandschaft Die Vorteile eines Servers mit VMware ESX Christian Kubat Dieser Artikel gibt einen Überblick speziell über den VMware ESX Server Hypervisor geben, der auch auf unserem SOP Server zum Einsatz kommt. Er hat wichtige Funktionen die sehr hilfreich sein können und uns hilft den physikalischen Server optimal zu nutzen und auch Kosten und Zeit zu sparen. Aber was genau bedeutet Hypervisor und was ist so besonders am VMware ESX Server? Wie unterscheidet es sich von anderen Virtualisierungssoftware? Wie kommt diese Software beim Softwareprojekt zum Einsatz? dass die ESX Server Software direkt auf den physikalischen Server installiert wird, also hardwarenah, ohne vorher noch ein Host-Betriebssystem installieren zu müssen. Es gehört also zu den Typ-1-VMM. Konventionelle Virtualisierungssoftware wie z.B. Virtual PC oder VirtualBox gehört zum Typ-2-VMM. Das macht den ESX Server sehr leistungsstark, denn aus diesem Grund verbraucht es nur ca. 32 MB auf der Festplatte. Typ2-VMM verbrauchen sehr schnell mehrere Gigabyte, gerade wegen dem Betriebssystem auf dem sie laufen. Das Herzstück des ESX Server ist der VMkernel. Vereinfacht gesagt ist es eine Art Mini-Betriebssystem. Es verwaltet und teilt die Ressourcen Hypervisor Ein Hypervisor übernimmt die Steuerung der Ressourcenzuteilung zu den einzelnen virtuellen Maschinen und wird auch Virtual Machine Monitor (VMM) genannt. Es existieren zwei Arten von VMM. Ein Typ-1VMM läuft direkt auf der Hardware. Ein Typ-2-VMM setzt auf ein laufendes Betriebssystem auf. (vgl. [1], Seite 2) VMware ESX Server ist ein „BareMetal“ Hypervisor. Dies bedeutet, SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Abb. 1: konventionelle Virtualisierungssoftware (Typ-2-VMM) Was ist Virtualisierung? Durch Virtualisierung kann einen einziger physischer Server mehrere virtuelle Maschinen gleichzeitig ausführen. der physischen Hardware auf und simuliert mehrere Kopien von virtueller Hardware für die virtuellen Maschinen. So kann man z.B. Windows und Linux parallel und vollständig voneinander isoliert betreiben. Features VMware ESX Server hat die Möglichkeit der Mehrfachvergabe von Arbeitsspeicher. Das bedeutet, dass der zugewiesene Arbeitsspeicher der gesamten virtuellen Maschinen größer sein kann als die tatsächliche physikalische Speichergröße des Servers. Damit kann der Arbeitsspeicher effizienter ausgelastet werden. Wenn z.B. ein Server mit 8 GB Arbeitsspeicher ausgerüstet ist, können alle virtuellen Maschinen zusammen bis zu 16 GB betragen. Dadurch kann man den Arbeitsspeicher effizienter auslasten. (vgl. [2] und [3] Seite 49) Weiterhin besteht die Möglichkeit dem Gast-Systemen bis zu 4 Prozessoren zuweisen zu können. Wie auch beim Arbeitsspeicher können ITERATION++ Abb. 2: VMware ESX Server (Typ-1VMM) die zugewiesenen CPUs aller GastBetriebssysteme die tatsächliche Anzahl der physikalischen CPUs übersteigen. (vgl. [2] und [3], Seite 48) ESX Server besitzt eine umfangreiche Gast-Betriebssystemunterstützung, Es können alle Windows Versionen, angefangen von Win 95 bis Vista und deren Servervarianten, installiert werden. Selbst alle in der Serverwelt gebräuchlichen Linux, Netware oder Solaris Versionen werden unterstützt. Somit hat man die maximale Flexibilität bei der Wahl des Betriebssystems. Als letztes wäre da noch das ausgefeilte Ressourcenmanagement des ESX Servers zu erwähnen. Es ist Traffic Shaping implementiert. Das bedeutet, es werden die Datenströme der Netzwerkkarten und Festplatten überwacht, sodass alle virtuellen Maschinen immer über die benötigte Bandbreite verfügen. (vgl. [2]) Remote Konsole Gesteuert, überwacht und konfiguriert werden die virtuellen Maschi- nen mit der sogenannten Remote Konsole. Es gibt 2 Versionen der Remote Konsole. 1. Webbasierte Remote Konsole: Man öffnet die Hauptseite des ESX Servers in dem man die IP-Adresse seines physikalischen Servers eingibt und mit einem Klick die webbasierte Version startet 2. Installierbare Version: Man lädt sich die Remote Konsole direkt von der oben genannten Hauptseite runter und installiert es auf seinen Rechner. Vollen Zugriff auf alle Funktionen hat man allerdings nur mit der installierbaren Version. Die webbasierte Version dient in erster Linie nur dazu um zu schauen ob noch alle VMs ordnungsgemäß laufen. Der Vorteil dieser Konsolen ist, man kann von überall die Server administrieren und ist somit Standortunabhängig. Außerhalb des FH-Netzwerkes funktioniert das aber nur mit der VPN-Verbindung. So kann man im Notfall auch mal einen Fehler von zu Hause beheben, ohne gleich zum Standort des Servers fahren zu müssen. (vgl. [4]) 33 hilfreich wenn man mehrere Server einrichten muss, wie es im Softwareprojekt bald der Fall sein wird. Man richtet eine virtuelle Maschine ein, installiert und konfiguriert das Betriebssystem sowie alle benötigten Tools. Anschließen kann man diese virtuelle Maschine beliebig oft klonen und spart so eine Menge Zeit. (vgl. [2]) Nachteile und Einschränkungen Dieses System hat viele Vorzüge, doch hat es auch einige Nachteile. „Single Point of Failure – Fällt der Virtualisierungshost aus, dann laufen gleich mehrere virtuelle Server und Dienste nicht mehr. Durch mehrere physische Server und Ausfallkonzepte wie Clustering und Redundanz muss dieser Punkt in kritischen Umgebungen besonders abgesichert werden.“ (vgl. [3]) Da unsere Server im SOP-Projekt nicht 24 Stunden und 7 Tage die Woche benutzt werden und somit die meiste Zeit im Leerlauf sind, ist ein Ausfall nicht weiter kritisch. Migration und Klonen von virtuellen Maschinen VMware ESX Server ist in der Lage virtuelle Maschinen von einem physikalischem Server (Host) zur Laufzeit auf einen anderen zu transferieren. Eine noch wichtigere Funktion ist jedoch die virtuellen Maschinen zu klonen. Diese Funktion ist sehr Abb. 3: Quelle: VMware SOP JOURNAL HOCHSCHULE REUTLINGEN R6 34 ITERATION++ Die Server für die Webseiten werden allerdings auf anderen physischen Servern installiert und betrieben, denn im Gegensatz zu den SOP-Servern müssen die Server für die Webseiten eine höhere Zuverlässigkeit aufweisen. Ein weiterer Nachteil ist die emulierte Grafikkarte. Mit ihr ist meistens die Grafikbeschleunigung eingeschränkt. Aus diesem Grund kann man Spiele, Videos und CAD-Anwendungen nur bedingt oder gar nicht benutzen. Doch dafür werden Server normalerweise auch gar nicht benutzt. Auch im Softwareprojekt werden Grafikintensive Programme nicht verwendet. Server möchte ich kurz Vorstellen. Server Eins: Windows Server 2003 Hier sind alle IBM Rational Tools, sowie Typo3, der Apache Server, die Zeiterfassung, Votingsystem und Wiki installiert. Wie man sieht ist das der wichtigste Server, da auf ihm alle Programme für das SOP-Projekt laufen. Server Zwei: Linuxserver Das ist unserer Mailserver auf dem alle Verteilerlisten gespeichert sind und verwaltet werden. Mit der Remotedesktopverbindung von Microsoft kann auf die Server zugegriffen werden und von jedem Rechner aus gewartet werden. Zusammengefasst kann man sagen, dass VMware ESX sehr sinnvolle Funktionen besitzt und sehr Leistungsstark und stabil ist. Dank virtueller Maschinen und der Klonenfunktion spart man viel Zeit, Geld und Energie. Anstelle von zwei physikalischen Servern, die im Softwareprojekt nie komplett ausgelastet würden, verwenden wir nur einen physikalischen Server und virtualisiert die beiden Server. „Virtuelle Maschinen: Eine Möglichkeit seine Server kostengünstig zu vermehren.“ [2] http://www.vmware.com/de/products/vi/esx Stand: 20.05.2009 Christian Kubat, Software- und Systemmanagement Somit ist dieser Nachteil nicht relevant. (vgl. [3], Seite 28, 29) Die Server Für das Softwareprojekt steht momentan (Stand: April 09) einen physikalischen Server von IBM mit der Bezeichnung IBM System x3550 mit einem Dualcore Intel Xeon 5130 2x 2,0 GHz und 6 GB Arbeitsspeicher zur Verfügung. Auf diesem Server laufen zwei virtuelle Maschinen die mit dem vorgestellen ESX-Server erstellt wurden. Diese zwei virtuellen SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Ausblick und Fazit In nächster Zeit wird die Serverkonfiguration aber komplett geändert. Für die Webseiten der Firmen und des Softwareprojektes ist ein Webserver, Testserver und Entwicklungsserver nötig. Da der Webserver aus dem Internet erreichbar sein muss, können wir unseren jetzigen Server aus Sicherheitsgründen nicht verwenden. Doch dank der Klonenfunktion des ESX Servers ist die Erstellung nicht sehr Zeitaufwändig. Quellen [1] IBM System Virtualization, IBM Corporation, Version 2 Release 1 (2005) Description of basic concepts Link: publib.boulder.ibm.com [3]Sven Ahnert: Virtuelle Maschinen mit VMware und Microsoft, Addison-Wesley, München; Auflage: 2., aktualisierte Auflage (19. November 2007) [4] Artikel auf tecchannel.de von Jürgen Donauer: Workshop-VMware ESX Server ITERATION++ 35 LDAP und Typo3, passt das wirklich? LDAP-Anbindung für jeden Projektteilnehmer Dennis Riekert Kann LDAP in unserem Projekt eingesetzt werden und ist es vor allem sinnvoll diesen Schritt durchzuführen? Derzeit gibt es keine Möglichkeit das Passwort ohne direkten Serverzugriff im SOP-Projekt zu verändern. Jedes Programm benötigt in der Regel eine Authentifizierung, das wiederum bringt eine Zugangsdatenflut für den Benutzer mit sich. Um solch eine Problematik zu vermeiden, wurde hierfür im Softwareprojekt das LDAP von Windows verwendet. Können wir im SOP-Projekt mit dem Typo3-System diesen komplexen und unkomfortablen Weg deutlich vereinfachen? Ist eine webbasierte Benutzerverwaltung das zeitgemäße Werkzeug? Immer mehr Firmen greifen auf verschiedene LDAP-Systeme zurück, selbst die Daimler AG, eines der größten Unternehmen im europäischen Raum, hat sich ein eigenes Intranet-Portal mit LDAP-Authentifizierung geschaffen. Durch die große Mitarbeiterzahl kann dieser Prozess einiges an Personal bzw. Arbeitsaufwand für jeden Einzelnen einsparen. Derzeit wäre der personelle Aufwand im Projekt für die Passwortverwaltung bei Benutzern und Administratoren um einiges höher als mit einer LDAP-Anbindung. Diese Zeit fehlt bei der Entwicklung des Langzeitarchivierungssystems. Im SOP-Projekt verwenden wir für die Verwaltung von Zeiten, Wissensverteilung, Informationsaustausch, technischen Problemen, Anfragen und Anforderungen unterschiedliche Tools. Jedoch sind das Einzelsysteme, die wiederum nicht miteinander kompatibel sind. Bei den verschiedenen Themen handelt es sich um vertrauliche Informationen, die durch einen Passwortschutz gesichert werden. Einzelsysteme sind aber im Verhältnis zu Komplettsystemen kostspielig und entwicklungsintensiv, deshalb verwenden wir unterschiedliche Systeme. Durch die Zusammenlegung von einer Passwortverwaltung wie das LDAP, versprechen wir, dass aufwendig geführte Passwortlisten auf der Benutzerseite entfallen. Durch die Vielzahl der Passwörter, verwenden viele Benutzer Passwortlisten, um den Überblick über die Passwörter zu behalten. Das Notieren dieser vertraulichen Daten ist immer ein Risiko. Mit dem Einsatz von LDAP brauchen die Mitarbeiter nur noch ein Passwort. Das spart viel Zeit bei dem Verwalten der Passwörter. Auch die Administratoren müssen nur noch ein Passwort zurücksetzen. Um jetzt noch den Kostenfaktor für das Zurücksetzen von Passwörtern durch einen Administrator zu minimieren, kommt der Einsatz der Webplattform Typo3 ins Spiel. Über die LDAP-Funktion können Windows-Passwörter, Login-Daten und weitere Einstellungen vorgenommen werden. Webanwendungen wie Typo3 können direkt über einen Browser von verschiedenen Betriebssystemen dargestellt bzw. ausgeführt werden. Also benötigt der Benutzer kein zusätzliches Programm und ist in der Lage über jeden PC die Seite abzurufen. Es eignet sich ebenfalls in unserem Projekt, da viele Mitarbeiter auf ihren Privat-PCs nicht nur Microsoft-Betriebssysteme verwenden. Benutzerverwaltung mit Typo3 In den letzten Jahren wurden Webapplikationen immer interessanter. (vgl. [1], S. 82) Mittlerweile hat sich die Idee von den führenden Softwareherstellern durchgesetzt, SOP JOURNAL HOCHSCHULE REUTLINGEN R6 36 ITERATION++ dass sie ihre Programme über die Internetplattformen zur Verfügung stellen. Zum Beispiel bietet Microsoft Outlook die Software auch als Internetanwendung an. Die Aufgaben können die Benutzer von jedem PC mit der gewohnten Umgebung bearbeiten. Durch die hohe Flexibilität haben die Hersteller ein großes Potenzial entdeckt und werden sich immer mehr auf die Plattform Internet spezialisieren. Über Typo3 werden wir unsere Firmenwebseiten publizieren. Es ist ein sehr weitverbreitetes Open-SourceSystem. Das Open-Source-System Typo3 steht den Kommerziellen in nichts nach, aber im Gegensatz dazu ist es gratis (vgl. [2], S. 23)]. Es wird im Folgenden die Begründung für die Verwendung des Typo3-Systems geliefert. Desweiteren sind die kompletten Webseiten der FH mit dem Typo3 erstellt worden. Das Wichtigste ist, dass auch das Wissen direkt über Hochschulmitglieder erfragt werden kann. Ebenso können ohne externe Hilfen Problemstellungen schneller gelöst werden. Die Verwaltung soll im Detail so aussehen, dass die Benutzer ihre kompletten Daten einsehen bzw. direkt über die Typo3-Homepage ändern können. Um das System mit LDAP zu verbinden benötigen wir eine spezielle Schnittstelle zu dem LDAP-Server, der später die Daten der Benutzer verwaltet. Ein wesentlicher Faktor sollte aber der Datenschutz sein, denn die Passwörter der Benutzer dürfen auf keinen Fall Plaintext (unverschlüsselt) SOP JOURNAL HOCHSCHULE REUTLINGEN R6 an den Server übertragen werden. Das bedeutet, dass das Passwort komplett mit wenigen Handgriffen ausgelesen werden kann. Bei einer Verschlüsselung wird jedes Zeichen mit einem bestimmten Schlüssel umgeändert. Erst über komplizierte Verfahren lässt sich das Passwort ausspähen. Eine wichtige Voraussetzung ist SSL (Secure Sockets Layer, ein Verschlüsselungsprotokoll), dieses Protokoll soll die Daten verschlüsselt übertragen. Die Erweiterungen (Extensions) müssen auf Sicherheit und Datenschutz geprüft werden, denn es könnten eventuelle Sicherheitslücken enthalten sein. gestellt ist es in Wirklichkeit nicht, denn die Erweiterungen haben meist eigenwillige Installationsverfahren. Dies wird auch im zweiten Buch (vgl. [4], S. 525) deutlicher dargestellt. Da es keine speziellen Richtlinien für die Erweiterungen gibt, kann jeder eine solche Erweiterung nach seinen Vorstellungen entwickeln und in die Typo3-Webseite einbinden (vgl. [5]). Teilweise sind auch die mitgelieferten Handbücher sehr kurz und unverständlich ausgeführt. Wir konnten die Erweiterung „EU-LDAP“ nicht ohne Expertenrat und Buchhilfen installieren. „Webbasierende Anwendungen sind die Themen von morgen, die Informationen sollten wir uns schon heute besorgen.“ Dennis Riekert, Software- und Systemmanagement Daraus resultiert die Frage: Typo3 und LDAP, passt das? Ja, sehr wohl. Denn es gibt für Typo3 spezielle Erweiterungen. Die LDAP-Anbindung, steht als Erweiterung auf der Typo3Webseite kostenlos zum Download zur Verfügung. Typo3 ist modular aufgebaut. Die Erweiterungen lassen sich per Knopfdruck installieren, updaten und deinstallieren (vgl. [3], S. 43). Das soll heißen, die Module lassen sich recht leicht in das vorhandene System einbinden lassen. Jedoch so einfach wie im Buch dar- Typo3-Extensions Bei unserer Recherche konnten wir 3 engere Erweiterungen für unsere Anforderungen ausfindig machen. Zum einen wäre das „EU_LDAP“ (vgl. [5]). Dieses Tool findet derzeit auch im Infweb (Homepage der Fakultät Informatik www.inf.reutlingen-university.de) seinen Einsatz. EU_LDAP ist sehr einfach aufgebaut und kann für Frontend (Websitelogin) und auch für Backend (Typo3-Administrationstool) eingerichtet werden. Einwandfrei ist die Verschlüsselung ITERATION++ der Passwörter jedoch noch nicht. Aus Sicht der Firma ServIT sollte der Datenschutz in dieser Hinsicht nicht außer acht gelassen werden. Sollte es dennoch in unserem Projekt zum Einsatz kommen, müsste es so angepasst werden, dass die Sicherheitslücken geschlossen werden. Die nächste Erweiterung namens „ccsvauthdemo“(vgl. [5]) ist nur ein PHP-Skript und besitzt im Vergleich zu EU_LDAP kein bedienbares Interface. Ohne weitere Programmierkenntnisse lässt sich diese Erweiterung nicht installieren. Die Webseite der Hochschule Reutlingen wurde mit dieser Erweiterung ausgestattet. Da zu diesem Thema ein Grundwissen in der Hochschule vorliegt, kommt dieses Tool ebenfalls in die engere Auswahl. Die Authentifizierung erfolgt genau wie bei EU_LDAP über die newloginbox (vgl. [5,6]) (Anmelde-Extension). Die eigentliche Authentifizierung erfolgt über cc_sv_ auth (vgl. [5,6]). Die Erweiterung ist mittlerweile ab der Version 3.8 im Typo3-System eingebunden. Bei allen LDAP-Tools wird cc_sv_auth geändert, sodass bei der Anmeldung an der newloginbox automatisch die Frontenduser-Datenbank im Typo3System geprüft wird. Sobald keine Daten gefunden werden, greift das Modul auf die LDAP-Datenbank zu. Derzeit prüfen wir noch die Verwendbarkeit der LDAP-Server-Erweiterung. Hier konnten wir noch kaum Informationen herausfiltern, sodass wir derzeit keine Erfahrungswerte zu diesem Thema besitzen. Fazit Abschließend können wir sagen, Internetanwendungen sind flexibel und zukunftsfähig. Typo3 ist das am weitesten verbreitete Open-SourceSystem und die gesamten Hochschulwebseiten sind mit diesem System gestaltet worden. LDAP ist definitiv wichtig für ein effizienteres Arbeiten an unserem Projekt. Da schon für Typo3 und LDAP Erweiterungen existieren und wir auch hierzu kein zusätzliches Tool benötigen, ist diese Möglichkeit für unser Projekt der optimale Lösungsweg. Sollten die SOP-Anforderungen auf diese Erweiterungen nicht zutreffen, müssen wir eines der Tools auf unsere Bedürfnisse anpassen. Bei den nächsten Recherchen sollte auch die Einsatzfähigkeit des Open-LDAPs berücksichtig werden, denn die ProjektServer sollen bis Mitte Juni 2009 auf das Betriebssystem-Linux umgestellt werden. Solch eine Änderung sollte möglichst im Hintergrund stattfinden, sodass die Mitarbeiter sich nicht ständig auf die neue Gegebenheiten einstellen müssen. Deshalb wäre es hier ratsam, eine Erweiterung zu finden, die das Windows-LDAP und auch das Open-LDAP unterstützt. Dadurch kann der Änderungsaufwand gering gehalten werden. 37 Quellen [1] Objektorientierte Programmierung mit PHP 5, Matthias Kannengiesser, 696 Seiten, Franzis Verlag, 2007 [2] Praxiswissen TYPO3, Robert Meyer, 3. Auflage, 496 Seiten, O‘Reilly Germany , August 2008 [3] Das Typo3 Anwenderhandbuch, Studentenversion, Joscha Feth, 1. Auflage, , 672 Seiten, Addison-Wesley, Februar 2008 [4] Einstieg in TYPO3 4.0, Andreas Stöckl, Frank Bongers, 2. Auflage, 520 Seiten, Galileo Press, 2007 [5] www.typo3.org Stand (03.04.2009), Erweiterungen [6] http://www.mittwald.de Stand (06.04.2009), Typo3 Unterlagen, Extensionbeschreibung SOP JOURNAL HOCHSCHULE REUTLINGEN R6 38 ITERATION++ 1001 Funktion führen zur Entwicklerfrustration! Welche Funktionen benötigt ein Entwickler wirklich? Simon Hänel Die Entwicklungsumgebung ist das tägliche Arbeitswerkzeug eines Softwareentwicklers im Rahmen des Softwareprojekts an der Hochschule. Doch kaum ein Entwickler kann heute noch deren gesamtes Funktionsspektrum überblicken, geschweige denn nutzen. Dabei wäre bei intensiver Nutzung eine deutliche Beschleunigung der Entwicklungszeit möglich. Im Detail wird auf die aktuell im Softwareprojekt eingesetzten Umgebungen „Eclipse 3.4“ und „Visual Studio 2005“ eingegangen. Diese werden mit der kommerziellen Eclipse Variante dem „Rational Application Developer“ verglichen. Dabei werden die wesentlichen Grundfunktionen, die eine Entwicklungsumgebung bieten sollte, aufgezeigt. Was bietet also eine Entwicklungsumgebung? Sie besteht aus einer Sammlung von Werkzeugen die den Entwickler bei der Entwicklung von Anwendungen unterstützen soll. [1] Die meisten Entwicklungsumgebungen bieten Grundfunktionalitäten zur Fehlererkennung beim Tippen, Automatisierung von sich wiederholenden Aufgaben, Quellcode zu kompilieren (Übersetzung des Quelltextes in Maschinensprache) und Funktionen die jeweilige Dokumentation zu betrachten. Die Qual der Wahl Auf dem Markt gibt es heute jedoch viele gute Entwicklungsumgebungen, die sich in den Grundfunktionalitäten kaum unterscheiden. Um dabei die geeignetste zu finden, wurden diese nach dem folgenden Kriterium selektiert: Für das Softwareprojekt geeignete Umgebungen müssen Was bietet eine Entwicklungsumgebung? zwingend die Programmiersprachen Zur Programmierung reicht zu Beginn ein einfacher Texteditor. Sobald Programmierer jedoch häufiger einen längeren Quelltext programmieren müssen, wechseln Sie schnell zu einer Entwicklungsumgebung. ten, um eine Kompatibilität mit dem SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Java und C-Sharp (C#) unterstützbisherigen Quelltext zu gewährleisten. Diese Voraussetzungen erfüllen: „Eclipse“(Open Source), „Rational Application Developer“(IBM), und „Visual Studio“(Microsoft). Nachteile der bisherigen Lösung Bisher wird im Projekt für die Java-Entwicklung „Eclipse 3.4“ und für die C#-Entwicklung die „Visual Studio 2005 Team Edition“ eingesetzt. Der Nachteil an dieser Lösung ist, dass sich Entwickler bisher in beide Entwicklungsumgebungen einarbeiten müssen. Auf Grund der stark unterschiedlichen Benennung gleicher Funktionen und abweichender Menüstrukturen ist dies aber zeitlich kaum möglich. Die bisher praktizierte Alternative ist, dass in zwei Teams getrennt in C# und Java entwickelt wird und sich die Entwickler so nur in eine Umgebung einarbeiten müssen. Allerdings führt dies schnell dazu, dass die in den zwei verschiedenen Teams entwickelten Softwarevarianten (C#- , Java-Version) komplett auseinanderlaufen und kein einheitliches Produkt entsteht. Eine bessere Lösung wäre hier sicherlich eine Entwicklungsumgebung für beide Sprachen einzusetzen, so dass ein Entwickler immer sofort beide Varianten einer neuen Softwarefunktion implementieren kann. Doch ist dies mit der bisherigen Software überhaupt möglich? ITERATION++ „Eclipse“ bietet standardmäßig keine C#-Unterstützung. Es kann jedoch das Erweiterungsmodul „Improve C#“ [5] nachinstalliert werden. Allerdings bietet dieses Modul bisher nur eine rudimentäre Unterstützung und es müsste im Einzelnen evaluiert werden, ob diese für das Softwareprojekt ausreichend sind. Die perfekte Lösung: Visual J#? „Visual Studio“ hingegen bietet die Unterstützung von C# und J#. Auf den ersten Blick scheint dies die beste Alternative zu sein. Allerdings ist J# nicht zu 100 % vergleichbar mit Java. J# ist eine von Microsoft entwickelte alternative Sprache, die zwar die gleiche Syntax wie Java bietet jedoch auf einer andere Laufzeitumgebung ausgeführt wird. Bei J# kommt hier die „Common Language Runtime“, die in das .NetFramework integriert ist, zum Einsatz. Java hingegen verwendet das „Java Runtime Environment“, das in die „Java Virtual Maschine“ integriert ist. J# wurde ursprünglich dazu entwickelt, Java-Entwicklern den Umstieg auf C# zu erleichtern und wird seit dem 10. Januar 2007 offiziell nicht mehr weiterentwickelt [6]. Dadurch scheidet auch diese Variante als Alternative aus. Die Alternative: RAD 7.5 Der „Rational Application Developer 7.5“ von IBM ist die kostenpflichtige Variante zum Open- Source-Projekt „Eclipse“. RAD basiert auf der „Eclipse 3.4“-Entwicklungsumgebung und erweitert diese um etliche Assistenten und die Unterstützung für die Entwicklung auf dem „Websphere Application Server“ und dem „Portal Server“. Bezogen auf das Softwareprojekt bietet er integrierte Werkzeuge für alle Entwicklungsrollen wie Web-, Java-Entwickler, und Softwarearchitekten [3]. Da er jedoch auch auf „Eclipse“ basiert, bietet er standardmäßig keine Unterstützung für C#-Projekte an und es müsste auch hier das Improve C# Plugin genutzt werden. Somit bietet auch der „Rational Application Developer“ keine Rundumlösung für die gesamte Softwareentwicklung im Softwareprojekt. Es muss deshalb im Einzelnen geprüft werden, ob die C# Unterstützung durch das Plugin für das Projekt ausreichend ist. Die 5 wichtigsten Funktionen der Entwicklungsumgebungen: Visualisierung mit UML Zur schnellen Einarbeitung in den Quelltext ist es wichtig vorhandenen Quelltext in Form von UMLDiagrammen zu visualisieren. Gerade im Softwareprojekt, bei dem sich jedes Semester wieder ein Entwicklungsteam in den Quelltext einarbeiten muss, ist eine solche Funktion unverzichtbar. Der „Rational Application Developer“ bietet hierzu den Visualisierungsassistenten an. 39 Dieser ermöglicht es, automatisch den vorhandenen Quelltext in Form von Klassen– oder Sequenzdiagrammen darzustellen. Dabei werden automatisch die Vererbungshierarchie und die Beziehungen der Klassen zueinander ermittelt, so dass schnell die Gesamtaufgaben der einzelnen Klassen erkannt werden können. Für Eclipse muss das Plugin „ObjectAid UML Designer“ [4] nachinstalliert werden, um diese Funktionalitäten zu erhalten. „Visual Studio“ bietet den integrierten Klassendiagrammassistenten, der ähnlich dem RAD Assistenten, Klassendiagramme automatisch per Rechtsklick generieren kann. Refaktorisierung Zur Verbesserung der Struktur des Quelltextes hinsichtlich der Verständlichkeit, Wartbarkeit und Erweiterbarkeit, ist es immer wieder nötig diesen zu refaktorisieren [2]. Eine der häufigsten Aufgaben ist dabei das Umbenennen von Klassen und Variablennamen. Hier bieten die Assistenten aller Entwicklungsumgebungen bereits eine sehr gute Unterstützung an, indem alle Referenzen auf die umbenannten Klassen oder Variablen weitgehend automatisch angepasst werden. Besonders hervorzuheben ist hier der Refaktorisierungsassistent von „Visual Studio“. Er bietet zusätzlich noch das Auslagern von Programmteilen in externe Funktionen, oder die automatische Erstellung von Schnittstellen zu existierenden Klassen an. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 40 ITERATION++ Quelltextformatierung nach Programmierrichtlinien Um einen für alle Programmierer gut lesbaren Quelltext zu erzeugen, ist es wichtig sich an vorher vereinbarte Programmierrichtlinien zu halten. Allerdings sind die meisten dieser Richtlinien zumeist recht umfangreich und beinhalten viele Namens- und Formatierungskonventionen. Dieser Teil der Richtlinien kann recht einfach durch den Quelltextformatierungsassistenten umgesetzt werden, der sich durch eine einfache Tastenkombination auf den aktuellen Teil des Quelltextes anwenden lässt. Allerdings muss hierfür zunächst einmal der Aufwand betrieben werden, die existierenden Richtlinien dem Formatierungsassistenten begreiflich zu machen. Die Alternative, diesen Teil manuell umzusetzen, würde jedoch sicherlich das 10-fache der Zeit in Anspruch nehmen. Einmal erstellte Richtlinien können dann als XML Vorlage abgespeichert werden und so unter den Entwicklern verteilt werden. Automatisierte Quelltextgenerierung Eine weitere sehr hilfreiche Funktion ist die automatisierte Quelltextgenerierung. So können zum Beispiel zu existierenden privaten Attributen automatisch Setter- und Getter-Funktionen über einen simplen Rechtsklick erstellt werden. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Sehr wichtig ist hierbei auch die automatische Quelltextergänzung, die in den getesteten Entwicklungsumgebungen mit „STRG + Leertaste“ aufgerufen werden kann. Sie listet automatisch die vorhandenen Klassen, Methoden und Variablen auf und ergänzt angefangene Namen. So müssen lange Variablen und Methodennamen nie ganz ausgeschrieben werden. Auf diese Weise wird ein schnelleres und effizienteres Arbeiten ermöglicht. Kryptische Klassen- oder Methodennamen gehören nun endgültig der Vergangenheit an. Methoden aufzulisten, die die aktuell selektierte Methode aufrufen. Diese Navigationsarten werden von allen beschriebenen Umgebungen unterstützt. Fazit Setzt man alle hier aufgezeigten Funktionen der drei Entwicklungsumgebungen ein, erhält man eine deutliche Verkürzung der Entwicklungszeiten im Vergleich zur manuellen Umsetzung. Die hier vorgestellten Entwicklungsumgebungen garantieren jedoch nicht automatisch eine bessere Quelltext- „Zu viele Funktionen der Entwicklungsumgebung führen nur zur Frustration beim Entwickler!“ Simon Hänel, Softwareentwicklung Schnellere Navigation Zur schnelleren Navigation innerhalb des Quelltextes gibt es 4 wichtige Assistenten. Die für den Entwickler geeignetsten sind hierbei der Paketexplorer bei „Eclipse“ und dem „Rational Application Developer„ und der Projektmappenexplorer bei Visual Studio. Zusätzlich finden sich in den Programmen noch jeweils verschiedene Suchassistenten. Am hilfreichsten ist hierbei die Funktion direkt zur Deklaration oder der Schnittstelle einer Klasse zu springen, oder die Klassen und qualität und es können auch nicht alle Programmierrichtlinien automatisch umgesetzt werden. Zum Beispiel gibt es noch keine Möglichkeit die Schreibweise von Klassenund Funktionsnamen automatisch, ähnlich wie bei einer Rechtschreibkorrektur in Microsoft Word, den Richtlinien entsprechend anzupassen. Aber richtig eingesetzt nehmen sie dem Programmierer einige Aufgaben ab, so dass er sich auf das Wesentliche konzentrieren kann. Die hier vorgestellten Entwicklungsumgebungen ähneln sich in ihren Funk- ITERATION++ tionen stark. Die Open Source Variante „Eclipse“ muss aber teilweise durch zusätzliche Erweiterungsmodule angepasst werden, um mit den kommerziellen Vertretern mithalten zu können. Eine Rundumlösung für das Softwareprojekt ist bisher nur ansatzweise vorhanden. Die Grundsteine dafür sind jedoch bereits gelegt. Speziell die C#-Unterstützung für „Eclipse“ und „RAD 7.5“ mit dem Plugin „Improve C#“ wird mit der nächsten Version eventuell bereits soweit ausgereift sein, dass ein kompletter Umstieg möglich sein wird. Für das an der Hochschule angewandte Softwareprojekt ist bis jetzt sicherlich „Eclipse“ mit einigen Erweiterungsmodulen ausreichend. 41 Um in Zukunft die Produktivität der Softwareentwicklungsabteilung zu steigern wäre es empfehlenswert eine ein- bis zweitägige Schulung zu der eingesetzten Entwicklungsumgebung abzuhalten, um so die Einarbeitungszeit drastisch zu reduzieren. Durch den effektiven Einsatz der vorgestellten Assistenten kann so die Entwicklungszeit der Software deutlich reduziert werden. [3] Wahli, U., Cui H., Fleming C., Mehta M,Rohr,M., Ugurlu, P,Gan,P., Gonzalez, C., Farrell, D.; Heerdegen,A.: Rational Application Developer V7 Programming Guide, Riverton, NJ, USA, IBM Corp., 2007 Quellen [5] Improve C Sharp Plugin; http:// www.improve-technologies.com/alpha/esharp/ (26.04.2009) [1] Nourie, D.: Getting Started with an Integrated Development Environment (IDE), SUN, 2005 [2] Fowler, M.: Refactoring: Improving the Design of Existing Code, Addison Wesley, 1999 [4] ObjectAid UML Designer; http://www.eclipseplugincentral. com/Web_Links-index-req-viewlink-cid-1011.html (26.04.2009) [6] J Sharp; http://msdn.microsoft. com/de-de/vjsharp/default(en-us). aspx (26.04.2009) »Any fool can write code that a computer can understand. Good programmers write code that humans can understand.« Martin Fowler, Informatiker SOP JOURNAL HOCHSCHULE REUTLINGEN R6 42 ITERATION++ Eclipse-RAP – sinnloser Sprechgesang oder Hilfe im SOP ? Wie man dem Web-Client neues Leben einhauchen könnte… Marco Bischof Der Web-Client des Langzeitarchivierungssystems „tréstore“ im Softwareprojekt der Hochschule Reutlingen wird sehr vernachlässigt. Auch wenn Anforderungen dafür existieren, wurde die Entwicklung dieses Clients bisher auf sehr niedriger Prioritätsstufe vorangetrieben. Deshalb und aufgrund der im Projekt üblichen „Dokumentationsfaulheit“ der Software-Entwickler ist auch das Wissen über den bisher erreichten Fortschritt in dieser Richtung verloren gegangen. Mehr als die Tatsache, dass die Seiten des Clients wohl dynamisch über Java Server Pages erstellt werden, ist nicht bekannt. Eine Alternative, den Web-Client ohne zu großen Aufwand wieder auf einen annehmbaren Entwicklungsstand zu bringen und dort zu halten ist die Eclipse Rich Ajax Platform. tigste: Es besteht eine entsprechende Anforderung des Kunden zur Langzeitarchivierungssoftware „tréstore“. Auch wenn die Anforderungen dazu nicht genauer definiert sind, sind sie trotzdem bindend für die Erstellung der Software. Bei den Umfragen zur Neuentwicklung der grafischen Bedienoberfläche (GUI) der Software, durchgeführt bei möglichen künftigen Nutzern, war die Nutzung der Software über eine Web-Schnittstelle ebenfalls ein Punkt, der angekreuzt wurde. Als Gründe dafür wurden die Unabhängigkeit von Zeit und Ort des Zugriffs auf das System genannt, sowie die dann nicht mehr nötige Installation von Software auf dem genutzten Rechner. Denn eine Anwendung wie eine ArchivierungsSoftware ist geradezu prädestiniert, über das Internet genutzt zu werden und damit nicht nur vom eigenen Rechner aus. Was für ein RAP ? Warum ein Web-Client ? Die Entwicklung des Web-Clients geht nicht so voran, wie es von Seiten des Kunden und der Geschäftsleitung gewünscht wird. Die Gründe, eine Web-Version des Clients zu erstellen, sind vielfältig. Der WichSOP JOURNAL HOCHSCHULE REUTLINGEN R6 Um es gleich vorwegzunehmen: die RAP hat natürlich nichts mit Musik zu tun. Die Rich Ajax Platform ist eine Erweiterung (Plug-In) für die Entwicklungsumgebung Eclipse, mit der Web 2.0 Anwendungen auf Java-Basis entwickelt werden kön- nen. Das Produkt stammt von der Firma Innopract in Karlsruhe, die auf die Entwicklung von Eclipse-Erweiterungen spezialisiert ist. Wie bei Java üblich ist das Programm quelloffen und steht unter der Eclipse Public License zur freien Verfügung. Im Unterschied zur Erstellung sonstiger Web 2.0 Anwendungen braucht der Entwickler keine Kenntnisse der üblichen Web-Sprachen wie HTML oder JavaScript. Es wird ausschließlich ein Java-Programm entworfen und dabei kann auf die bekannten Java-Bibliotheken und Frameworks zurückgegriffen werden. Technische Basis Als technischen Hintergrund für den Betrieb einer Rich Ajax Platform lassen sich zwei Grund-Architekturen erkennen. Das Wort Rich deutet darauf hin, dass man es mit einem Rich Client zu tun hat, also einem erweiterten Fat-Client. Dort sind normalerweise zwei Architekturschichten vorhanden: jeweils eine zur Datenverarbeitung und zur Darstellung der Oberfläche. Dazu kommt bei einem Rich-Client noch eine PlugIn-Schicht. Diese stellt eine einfache Möglichkeit dar, die Funktionalitäten des Clients zu erweitern. Mit der ITERATION++ Eclipse Rich Client Platform (vgl. Artikel von Matthias Huber) existiert eine Entwicklungsumgebung, mit der Rich-Clients erstellt werden können. Diese können als Grundlage für das Aufsetzen einer RAP-Anwendung dienen. Die dabei entste- Apache Tomcat bildet die Grundlage für die Server-Seite der Anwendung, die das Java-Programm ausführt. Die benötigten Daten werden dann an den Client in Form eines Browsers geschickt und dort dargestellt. „Mit der Eclipse-RAP könnte man dem Web-Client neues Leben einhauchen“ Marco Bischof, Softwareentwicklung henden Programme sind mit vielen Funktionen ausgestattet, lassen sich aber trotzdem leicht über das Netz verteilen und betreiben. Die andere Architektur, auf der die RAP aufbaut, ist Ajax, also Asynchrones JavaScript und XML. Ajax ist ein Konzept zur asynchronen Datenübertragung bei Web-Seiten. Durch das Zusammenspiel der bekannten Web-Komponenten HTML, JavaScript und XML ist es möglich innerhalb einer HTML-Seite einen HTTP-Request durchzuführen, ohne dass die Seite komplett neu geladen werden muss. Das reduziert den Datenverkehr auf den Leitungen und somit wird die Geschwindigkeit der Anwendung erhöht. Die Rich Ajax Platform kombiniert nun die Vorteile der beiden Konzepte und stellt eine Möglichkeit dar, Java-Programme per Client-ServerArchitektur ins Netz zu bringen. Ein Was müsste getan werden? Die wichtigste Bedingung für den Einsatz der Eclipse RAP ist schon erfüllt: im Projekt wird Java als Programmiersprache in der Entwicklungsumgebung Eclipse eingesetzt, was als Grundvoraussetzung gilt. Dann müsste aus dem bisherigen Client ein Rich Client werden. Hierbei spielen dann Schlagworte wie GUI-Entwicklung, Daten-Persistenz und die Kommunikation zwischen Client und Server eine Rolle. In der aktuellen Iteration (R6) wird darauf hingearbeitet, die Voraussetzungen zu schaffen, aus dem vorhandenen Client einen Rich-Client bauen zu können. Als Beispiele für diese Bemühungen seien hier nur die Umstellung in der Benutzeroberfläche von Swing-Komponenten auf das Standard Widget Toolkit (SWT) genannt und die Konzeption einer Persistierung per 43 Hibernate. Außerdem sind einige Bedingungen für die Erstellung einer RAP-Anwendung schon erfüllt, wie z.B. die Kommunikation zwischen Client und Server über Web-Services. Bei der Portierung dieses Rich Clients zu einer Web-Anwendung wären dann mehrere Punkte zu beachten: Da die RAP andere Plug-Ins benötigt, müssen alle Abhängigkeiten geändert werden. So werden z.B. die genutzten SWT-Widgets durch RWT, also die RAP-eigenen GrafikBausteine, ersetzt. Diese beinhalten aber die meisten Standard-Widgets, so dass hier keine großen negativen Auswirkungen zu erwarten sind. Außerdem muss als Einstiegspunkt ein anderer Extension-Point gewählt werden, der die Besonderheiten der Web-Entwicklung berücksichtigt. Anschließend werden durch Übersetzungsfehler z.B. fehlende Schnittstellen sichtbar, um die sich dann der Entwickler noch gesondert kümmern muss. Als Zeitbeispiel sei hier die Entwicklung eines wirtschaftlichen Softwaresystems genannt, wo der Rich Client eine Produktionszeit von ¼ Entwicklerjahr benötigte. Die anschließende Portierung auf RAP wurde innerhalb einer Woche abgeschossen. Mögliche Probleme Selbstverständlich können bei der Portierung einer RCP-Anwendung für die Nutzung im Web Probleme auftreten. Mit dem größten Unterschied zwischen einer Desktop- und SOP JOURNAL HOCHSCHULE REUTLINGEN R6 44 ITERATION++ einer Web-Anwendung stellt sich schon das Erste: Mehrere Benutzer im Web greifen auf die gleiche Instanz der Anwendung zu. Somit muss über eine Session sichergestellt werden, dass benutzerspezifische Daten auch richtig zugeordnet werden. Das Problem stellt sich beim Desktopclient nicht, da hier jede Installation des Clients eine eigene Instanz der Anwendung ist. Ein weiteres Problem ist, dass nicht für jedes Plug-In der RCP eine Entsprechung in der RAP existiert. Das bedeutet, dass es manche Schnittstellen dort nicht gibt und solche Aufgaben anders gelöst werden müssten. Ein Beispiel hierfür ist die fehlende Unterstützung von „Drag&Drop“, die aber durch „Copy&Paste“ relativ leicht ersetzt werden könnte und die in der aktuellen Software auch nicht zum Einsatz kommt. Größtes Problem im Projekt wäre sicherlich das Fehlen von Dialogen zur Datei-Verarbeitung. Die RAP-Anwendung läuft auf dem Server und hat damit keinen Zugriff auf das lokale Datei-System, was das Hochladen von Dateien sehr schwierig macht. Hier müssten andere Wege gefunden werden, da eine Archivierungs-Software ohne Datei-Upload nicht praktikabel ist. Teilweise werden diese Lücken in der Plattform mit Version 1.2, die im Sommer 2009 erscheinen soll, gefüllt. Fazit Sicherlich gibt es viele Ansätze und Möglichkeiten, die Entwicklung des SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Web-Clients voranzutreiben bzw. erst einmal wieder in den Vordergrund zu rücken. Aus Entwicklersicht ist der vorgestellte Ansatz eine schnell umsetzbare Lösung, da auf vorhandene Ressourcen zurückgegriffen werden kann (bestehender Java-Client, Programmierkenntnisse aus Informatik 3) und nicht viel „Neues“ (Web-Programmierung,…) dazu kommt. Außerdem wäre die Code-Basis bei Desktop- und WebClient die gleiche, was Änderungen an beiden Versionen einfacher macht. Die Vorarbeiten dazu nehmen bestimmt einige Zeit in Anspruch, aber am Ende dieses Prozesses können sich die Entwickler auf das Produkt selbst konzentrieren, nicht auf die vielen verschiedenen Technologien, aus denen es sich zusammensetz. Die Einarbeitung in diese hatte die aktuelle Iteration viel Zeit gekostet. Die oben genannten Probleme sind aber Grund genug, sich die Nutzung dieser Technologien gut zu überlegen und Sie in einem entsprechenden Konzept zu beachten. Quellen [1] Lange, Fabian: Eclipse Rich Ajax Platform: Bringing Rich Client to the Web, Springer, 2008 [2] Schäfer, Steffen: Einsatzmöglichkeiten der Eclipse RAP, Orientation in Objects GmbH, Mannheim, April, 2008 [3] Mücke, Roland: Eclipse RAP: Rich Clients im Web, Präsentation für die itemis AG, Wiesbaden, 2004 [4] Hohenbichler, Johannes: Entwicklung eines Referenzmodells für Eclipse RCP/RAP mit dynamisch austauschbarer Anwendungslogik für das Designziel „online=offline“ in allen Ebenen einer 3-Tier-Architektur, Hochschule Esslingen, 2009 [5] Webseite der Rich Ajax Platform, URL: http://www.eclipse.org/rap/, letzter Zugriff: 20.05.2009 [6] Webseite der Rich Client Platform, URL: http://www.eclipse.org/ rcp/, letzter Zugriff: 14.05.2009 ITERATION++ 45 Eclipse RCP auf dem Vormarsch! Auch für den Einsatz im SOP geeignet? Matthias Huber Lange Zeit konnte sich Java bei Desktop-Anwendungen nicht durchsetzen. Mit der Eclipse Rich Client Platform (RCP) steht nun eine Technologie zur Verfügung, die einen Einsatz von Java im Desktop-Bereich attraktiver macht. Dies entdecken immer mehr Softwarehersteller und entwickeln Anwendungen, die auf Eclipse RCP basieren (vgl. [1]). Sollte das Softwareprojekt sich dieser Plattform ebenfalls bedienen und auf den Zug aufspringen? Eclipse RCP – was war davor Java wurde aufgrund der verfügbaren GUI-Toolkits selten für DesktopAnwendungen verwendet. Daniel Arndt sieht die Gründe bei den veralteten Grafikkomponenten von AWT (Abstract Window Toolkit) und den Leistungsproblemen von Swing. Die Leistungseinbrüche von Swing resultieren aus der Trennung der Grafikkomponenten vom Betriebssystem. Die Komponenten werden nicht mehr vom Betriebssystem gerendert. Zudem entfällt das „Look & Feel“ des Betriebssystems, welches Benutzer vermissen (vgl. [2]). Eclipse RCP setzt auf SWT Eclipse RCP setzt als GUI-Toolkit SWT ein. Die Abkürzung steht für Standard Widget Toolkit. Es werden native Oberflächenkomponenten eingesetzt, die im Vergleich zu Swing weniger Leistungseinbußen mitbringen, da die Grafiken nicht von der Anwendung, sondern vom Betriebssystem gerendert werden. Die Komponenten sind nahe an das „Look & Feel“ des Betriebssystems angelehnt. Im Vergleich zu AWT sind die verfügbaren Grafikkomponenten moderner und in größerer Zahl vorhanden. SWT wird von vielen Betriebssystemen unterstützt. Rich Clients und Andere Eclipse RCP ermöglicht die Entwicklung von Rich Clients. Diese bieten im Vergleich zu Thin-Clients mehr Funktionalitäten. Thin-Clients, als Beispiel der Webbrowser „Mozilla Firefox“, beschränken sich auf die reine Ein- und Ausgabe. Eine Verarbeitung von Daten findet nicht beim Client selbst statt. Im Falle des Webbrowser werden die Eingaben des Benutzers an einen Server geschickt, dort verarbeitet und eine entsprechende Ausgabe beim Benutzer angezeigt. Ein Rich-Client hingegen, kann selbst Daten verarbeiten. Er ist eine Erweiterung des Fat-Client, da er nicht nur ein Problem lösen kann, wie es beim Fat-Client der Fall ist. So könnte ein Rich-Client zusätzlich zum Herunter- oder Hochladen von Daten von einem Server, auch Videos oder Musik abspielen. Ein Fat-Client wäre auf den Austausch von Daten oder das Abspielen von Videos oder Musik beschränkt (vgl. [4]). Eclipse RCP – die Entstehung! Viele Benutzer der Entwicklungsumgebung Eclipse, nahmen Funktionalitäten des Programms wahr, die für moderne Rich Client Anwendungen benötigt werden. Daher trennte man in der Version 3.0 das Framework, so dass die Entwicklungsumgebung eine Anwendung ist, die auf einem Kern aufsetzt. Dieser Kern wird als Eclipse Rich Client Platform bezeichnet. Er ist der minimale Teil, der für eine Eclipse RCP Anwendung benötigt wird (vgl. [3], S.11 und [6]). Wenn nur die Rich Client Platform als Anwendung ausgeführt wird, erhält man ein leeres Fenster. Durch diese Umstrukturierung können Entwickler ihre Anwendungen auf den Kern aufsetzen und die Funktionalitäten nutzen, die die Eclipse Rich Client Platform bereitstellt (vgl. [5]). SOP JOURNAL HOCHSCHULE REUTLINGEN R6 46 ITERATION++ Einfach anstöpseln Die Rich Client Platform zeichnet sich durch eine flexible Architektur aus. Eine RCP-Anwendung besteht aus einer Laufzeitumgebung, dem Kern und einer Ansammlung von Plugins. Unter Plugin wird ein Modul bezeichnet, das ein bestehendes System erweitert und zusätzliche Funktionalität bereitstellt (vgl. [8] und [9]). Über das Plugin-System von Eclipse RCP können Plugins hinzugefügt und aktualisiert werden. Entwicklern bietet sich somit die Möglichkeit, an unterschiedlichen Stellen des Systems zu entwickeln, ohne die Arbeit eines anderen Entwicklers zu stören. Das Plugin-System ermöglicht auch unterschiedliche Programmzusammensetzungen. Als Beispiel kann die Entwicklungsumgebung Eclipse selbst aufgeführt werden. Sie wird in einer festgelegten Version bereitgestellt, kann aber durch Plugins erweitert werden. Die Verteilung, Aktualisierung und Erweiterung erfolgt über zentrale Server (vgl. [2]). Dies wäre auch für das Softwareprojekt möglich. Ein entsprechendes Tutorial haben Dejan Glozic und Dorian Birsan verfasst (vgl. [10]). SWT - Der erste Schritt ist geschafft! Die Iteration R6 des Softwareprojekts führt derzeit einen Wechsel des GUIToolkits des Java Desktop Client von Swing auf SWT durch. Diese Anforderung stellt das Unternehmen „Trésor Secure Systems“ an das Produkt SOP JOURNAL HOCHSCHULE REUTLINGEN R6 „tréstore“ (Anforderung STRQ 7.9). Die Gründe für die Änderung des zu verwendeten GUI-Toolkits, sind wie schon vorher angesprochen, die Leistungseinbußen und das fehlende „Look & Feel“ von Swing. Durch den Einsatz von SWT geht die Plattformunabhängigkeit von Java verloren, da die Software für jedes Betriebssystems unterschiedliche Komponenten benötigt. SWT ist für alle gängigen Betriebssysteme verfügbar (Windows, Unix-Distributionen, Mac OS). Es entsteht somit kein Nachteil, da das Produkt in verschiedenen Versionen für die Betriebssysteme ausgeliefert werden kann (vgl. [4]). Die Umstellung wird mit dem Ausscheiden der Iteration R6 vollendet sein. Nachfolgende Iterationen müssen für die Gestaltung des Java Clients zukünftig SWT nutzen. Eine Einarbeitung ist somit unumgänglich. Da Eclipse RCP das Standard Widget Toolkit verwendet, müsste sich die Softwareentwicklung der ITer@ Group nicht in ein neues GUI-Toolkit einarbeiten. Vorhandenes Wissen könnte über die Iterationen weitergegeben werden. Aus Sicht des GUIToolkits würde ein Wechsel zu einer Eclipse RCP Anwendung nichts im Wege stehen. Wie ‚rich‘ darf es denn sein? Nicht nur das GUI-Toolkit SWT rechtfertigt einen Einsatz von Eclipse RCP, sondern vor allem der Rich Client selbst. Er kann bei der Umset- zung der Anforderung „STRQ 1.6: Interpretierbarkeit der Daten“ helfen. Die originale Beschreibung dieser Anforderung lautet: „Daten müssen interpretierbar sein, d.h. das eine bestimmte Hard/ Software dafür bereitgestellt wird, in dem die Datenobjekte für den menschlichen Betrachter verfügbar gemacht werden. (Gilt vorerst nur für Bilder, Audio und Video)“. Ein Fat Client könnte nur das Archivieren von Daten lösen. Wird die Anwendung als Rich Client gestaltet, ließen sich auch Videos und Musik abspielen. Auch zukünftige Anforderungen, die die Funktionalitäten eines Rich Clients benötigen, sind umsetzbar. Als Beispiel wäre hier der OfflineBetrieb zu nennen. Es wäre möglich eine Zusammenstellung an Daten ohne Verbindung zum Server anzulegen. Diese wird automatisch persistiert, sobald eine Verbindung zum Server besteht. Der Benutzer kann dadurch jederzeit und überall seine Daten, die er langfristig sichern möchte, auswählen und zu einem späteren Zeitpunkt persistieren (vgl. [3], S. 4). Ein (nicht) endender Weg … Bei all den Vorzügen muss auch ein Haken sein. Wie bereits erwähnt steht das GUI-Toolkit SWT für kommende Iterationen auf dem Pflichtprogramm. Doch SWT ist nur ein kleiner Teil, der für eine Einführung von Eclipse RCP nötig wäre. Auf das UI-Toolkit JFace (vgl. [7]) sollte nicht verzichtet werden. „Grundsätzlich könnte man ITERATION++ ohne JFace auskommen, es erleichtert die Arbeit aber ungemein.“(vgl. [4]) Dies würde eine zusätzliche Einarbeitung benötigen. Die größte und zugleich schwierigste Aufgabe ist jedoch die Einarbeitung in den Aufbau der Rich Client Platform. Die Plattform nate Einführung kann bei der Entscheidung behilflich sein. Die Umsetzung konnte nicht in einer Iteration durchgeführt werden, sodass die Iteration R6 versucht, die nachfolgende Iteration auf denselben Wissenstand zu bringen. Erfolgt die Umsetzung 47 [3] Daum, Berthold: „Rich-ClientEntwicklung mit Eclipse 3.2 - Anwendungen entwickeln mit der Rich Client“ Platform, dpunkt.verlag, Heidelberg, 2. Aktualisierte Auflage [4] Bendisposto, Jens; Jastram, Michael; Sippel, Heiko: „Thinking in Plug-in (Teil 1)“, Java Magazin 76ff, Dezember 2007 „Es muss nicht immer ‚rich‘ sein!“ Matthias Huber, Softwareentwicklung [5] Rich Client Platform von Eclipse, http://www.inventage.com/rich- client-plattform-von-eclipse.html, zuletzt besucht am 26.04.2009 [6] Rich Client Platform, http:// zeichnet sich zwar durch flexible Architekturen aus, aber bis solche möglich sind, müssen einige Kenntnisse über Eclipse RCP vorhanden sein. Aus eigener Erfahrung kann ich sagen, dass die Lernkurve nur langsam steigt. Meiner Meinung nach zu langsam für die Umsetzung in einem Iterationszyklus. Die Vergangenheit hat gezeigt, dass Kenntnisse nicht über die Iterationen weitergegeben werden konnten. Sollte dies auch in Zukunft nicht möglich sein, würde ich von einer Einführung von Eclipse RCP im Softwareprojekt abraten. von Hibernate im Iterationszyklus von R7, sollte eine Einführung von Eclipse RCP in Nachfolgeiterationen möglich sein. Wichtigste Voraussetzung ist der Wissenstransfer über die Iterationen. Ist der Transfer gewährleistet sollte nicht zu lange gezögert werden. Der Zug wartet nicht ewig… Entscheidung vertagt! [2] Arndt, Daniel: „Eclipse RCP – Derzeit muss die Entscheidung nicht getroffen werden. Durch die Einführung von Hibernate sind aktuell keine Kapazitäten für die Einarbeitung in Eclipse RCP vorhanden. Die Hiber- Entwicklung von Java Anwendungen wiki.eclipse.org/index.php/Rich_Client_Platform, zuletzt besucht am 26.04.2009 [7]JFace, http://wiki.eclipse.org/JFace zuletzt besucht am 20.05.2009 [8]BSI für Bürger, http://www.bsifuer-buerger.de/glossar/glo_op.htm, zuletzt besucht am 21.05.2009 Quellen [1] Ackermann, Laura; Moran, John: “Second Annual Eclipse Global Enterprise Survey”, http://www.eclipse.org/ org/press-release/20060905rcp.php, zuletzt besucht am 26.04.2009 [9] Dimoco Glossar, http://www.dimoco.at/de/informationen/glossar. html zuletzt besucht am 20.05.2009 [10] Glozic, Dejan; Birsan, Dorian: “How To Keep Up To Date” http:// www.eclipse.org/articles/article. php?file=Article-Update/index.html für den Desktop“, http://www.pentasys-blickpunkte.de/index.php?qs000, zuletzt besucht am 26.04.2009 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 48 ITERATION++ Java Sicherheit Warum behauptet wird, Java sei sicher und wie Java versucht, dieses Ziel zu erreichen Torsten Lutz „Warum Java? Weil es sicher ist. Warum ist Java sicher? Weil Java in einer Sandbox läuft.“ So ähnlich laufen die meisten Diskussionen wenn es um die Programmiersprache Java und deren Sicherheit geht. Aber was ist eigentlich sicher? Ist Java sicher? Und wenn ja, warum? Dieser Artikel soll einen kleinen Einblick geben, wie Java das Thema Sicherheit behandelt und warum behauptet wird, dass Java „sicher“ ist. Diese Sandbox ([3], S. 119) ist zwar mit einer der Gründe für die Sicherheit von Java, aber um sie zu realisieren sind einige Komponenten und Voraussetzungen nötig, die wir gleich kennenlernen werden. Sprachsicherheit Java ist eine streng typisierte Sprache. Im Gegensatz zu anderen Sprachen ist der Compiler strenger bei der Umwandlung von Datentypen, dem sog. „casten“. Kurz: In manchen Sprachen ist es möglich aus Orangen Bananen zu erstellen – aber SOP JOURNAL HOCHSCHULE REUTLINGEN R6 auch eine Orange in Bananenform bleibt eine Orange. Diese Möglichkeit bietet Flexibilität, kann aber zu schwerwiegenden Fehlern führen. Java prüft immer, ob eine Typumwandlung erlaubt ist oder nicht, beim kompilieren und zur Laufzeit. (vgl. [1], S. 50) Zusätzlich beachtet Java immer die Absichten eines Programmierers. Eine als „private“ deklarierte Variable einer Klasse sollte unter keinen Umständen von außen zugänglich sein. Nehmen wir das klassische C++ als Gegenbeispiel: Durch die in C verfügbaren Zeiger oder den direkten Zugriff auf den Speicher ist es möglich, wenn auch über Umwege, eine solche Variable dennoch zu verändern. (Der Leser sollte bedenken, dass C aus einer anderen Ära stammt und aus vielen Gründen nicht mit Java zu vergleichen ist!) Dieselben Regeln gelten für als „final“ markierte Variablen oder Funktionen, deren nachträgliche Änderung nicht mehr möglich sein sollte, und in Java auch nicht ist. Diese Merkmale dienen mehr der Verhinderung von Fehlern, als der Abwehr von Angriffen und gelten bei vielen aktuellen Programmiersprachen als Voraussetzung. (vgl. [2], S. 126) Sicherheitsmanager Der Sicherheitsmanager ist einer der drei wichtigsten Bestandteile der Java-Sandbox, er erlaubt oder verbietet beispielsweise den Zugriff auf Dateien, das Öffnen von Sockets zur Benutzung des Netzwerks usw. Kurz: Jeder entsprechende Aufruf in der Java-Schnittstelle fragt erst den Sicherheitsmanager, ob diese Aktion erlaubt ist ([1], S. 59f ). Ein wichtiger Punkt, der vielen Lesern jedoch unbekannt sein dürfte, ist der Unterschied beim Ausführen einer lokalen Java-Anwendung im Vergleich zu einem im Browser eingebetteten Applet. Die Applet-Variante garantiert, dass der Sicherheitsmanager zum Einsatz kommt – die lokale Ausführung nicht! Im letzteren Fall ist es dem Programmierer überlassen, ob und welche Art von Sicherheitsmanager genutzt wird. Der Benutzer kann die Nutzung lediglich durch zusätzlich angegebene Parameter erzwingen, die Voreinstellung aktiviert ihn jedoch nicht. Klassenlader Der Klassenlader liest Java-Bytecode in die virtuelle Maschine ein. Da Java die Möglichkeit bietet, kompilierten Code verteilt abzulegen und dyna- ITERATION++ misch nachzuladen, müssen einige Sicherheitsvorkehrungen getroffen werden. Über den Sicherheitsmanager muss festgestellt werden, ob der geladene Code die nötigen Berechtigungen besitzt. Desweiteren muss der Namensraum der zu ladenden Klasse definiert werden, um die Sicherheit der gekapselten Daten zu garantieren. (vgl. [1], S. 112f ) diese keine Möglichkeit bieten, das Programm zu destabilisieren oder zu modifizieren, dennoch sollte ein Programmierer sicherstellen, dass nur der richtige Benutzer die Möglichkeit hat, sich am System anzumelden und Aktionen durchzuführen. Die Authentifizierung soll also einen Benutzer anhand seiner Daten erkennen und eine Ausführung des Pro- 49 rung, bei der sensible Daten wie z.B. Passwörter, Bankdaten, o.ä. involviert sind, verschlüsselt erfolgen sollten. Schließlich nützt jede Sicherheit innerhalb eines Programmes nichts, wenn ein potenzieller Angreifer sich ohne großen Aufwand Zugriff auf die gesamte Anwendung verschaffen kann – möglicherweise sogar mit allen verfügbaren Rechten. Zugriffskontrolle Die Zugriffskontrolle erfolgt primär über Genehmigungen („permissions“), die als Objekte gespeichert und abgefragt werden können. Javainterne Klassen haben z.B. Rechte, die andere Klassen nicht haben können oder dürfen. Im Zusammenspiel mit Richtlinien („policies“), der Herkunft der Klasse und den Genehmigungen kann die virtuelle Maschine unterscheiden, welche Rechte vorhanden sind. Diese Eigenschaft wird bei der erwähnten Möglichkeit, auf anderen Rechnern verteilte Pakete nachzuladen besonders wichtig. Es erfolgt eine Unterscheidung zwischen vertrauenswürdigen und anderen Quellen. (vgl. [1], S. 102) Authentifizierung Jede in einer Sprache eingebaute Sicherheit steht vor neuen Herausforderungen, sobald der Benutzer selbst in Aktion tritt. Um ein Programm sinnvoll bedienen zu können, müssen diesem entsprechende Rechte eingeräumt werden. Zwar sollten „Die Programmierer sollten ihre Konzentration eher auf gut entworfenen Code und eine saubere Implementierung richten.“ Torsten Lutz, Softwareentwicklung gramms in diesem Kontext ermöglichen, ohne dabei Lücken zu öffnen. Die Programmierung dieser Lösung ist im Normalfall der kleinere Teil. Die Wartung der Benutzerdaten, die meistens der Systemadministrator übernimmt, kann viel Aufwand bedeuten. Java beherrscht viele Möglichkeiten, die Authentifizierung an andere Komponenten weiterzugeben. Sie können als Plug-In nachgeladen werden. Ein Beispiel wäre das von Windows genutzte „LDAP“. (vgl. [1], S. 346f ) Verschlüsselung Die sichere Verschlüsselung von Daten ist ein eigenes Kapitel und soll hier nicht behandelt werden. Natürlich ist dennoch zu erwähnen, dass jede Kommunikation oder Speiche- Fazit Für das Softwareprojekt ist die Sicherheit von Java relevant, um Einschränkungen bei der Ausführung, insbesondere des Webclients, einschätzen zu können. Der andere wichtige Teil ist die Authentifizierung von Benutzern und das Prüfen deren Rechte vor der Ausführung einer Aktion. Zusätzlich ist die Sprachsicherheit, die der Vermeidung von Fehlern dient, ein Vorteil. Weitere Schritte würden die Komplexität im momentanen Stand nur unnötig erweitern. Die Programmierer sollten ihre Konzentration eher auf gut entworfenen Code und eine saubere Implementierung richten. Ein übersichtliches, gut wartbares Projekt vermeidet FehSOP JOURNAL HOCHSCHULE REUTLINGEN R6 50 ITERATION++ ler und die aus diesen entstehenden Lücken und Probleme. Java geht viele Wege, um Sicherheit zu garantieren. Dabei werden auch Fehler bei der Programmierung selbst verhindert. „Sicher“ ist die Sprache trotzdem nicht. Ein böswilliger Programmierer baut immer noch oft auf die Gutgläubigkeit der Benutzer anstatt auf Lücken selbst, und die ist, sobald das Wort „Java“ fällt, oft noch leichter zu haben als sonst. Bisher unbekannte Lücken finden sich, wie bei jeder Software, auch immer wieder genug – und nicht immer werden sie schnell und zuverlässig behoben. Zusätzlich gibt es noch andere Angriffsmöglichkeiten, wie z.B. die Daten in der virtuellen Maschine von außen direkt im Speicher zu verändern, was diese selbst logischerweise auch nicht verhindern kann. Ein anderes bekanntes Problem ist die Serialisierung von Daten, bei der Daten aus dem Speicher persistiert werden können – mitsamt sensiblen Informationen. Kurz: „Sicher“ gibt es nicht. Der kurze, skeptische Blick auf die Herkunft und den Zweck eines Programmes lohnt sich immer, auch bei „sicheren“ Applets. Quellen [1] Scott Oaks: O’Reilly, 2001 Java Security, [2] Hossein Bidgoli: Handbook of information security, 2006 [3] Wolfgang Ehrenberger: Computer Safety, Reliability and Security, 1998 »C macht es einfach, sich selbst ins Bein zu Schießen; C++ erschwert es, aber wenn es dir gelingt, bläst es dir das ganze Bein weg.« Bjarne Stroustrup, Informatiker SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ITERATION++ 51 GUI Toolkits für Java Ein Vergleich Thomas Staiger Grafische Benutzeroberflächen gehören heute zum de facto Standard bei kommerziellen Programmen. In der Entwicklung von Java haben sich drei User Interface Toolkits zur Entwicklung grafischer Oberflächen durchgesetzt: AWT, Swing und SWT. Laut Feigenbaum [http://www.ibm. com/developerworks/grid/library/ os-swingswt/] besitzt jedes Toolkit Vor- und Nachteile. Die Eignung muss für jeden Einsatzzweck bestimmt werden, da keines der Toolkits jegliche Anforderungen beliebiger Projekte erfüllen kann. Feigenbaum behauptet auch, dass sich das in näherer Zukunft nicht ändern wird. Der Fachartikel analysiert die UI Toolkits – darunter stellt SWT, das jüngste für Java verfügbare UI Toolkit, eine für das Softwareprojekt interessante Entwicklung dar. AWT – Der Anfang Das 1996 erschienene Java Development Kit (JDK) 1.0 enthält das Abstract Window Toolkit (AWT). Dieses ermöglicht die Erstellung einfacher, grafischer Benutzeroberflächen. Die Möglichkeiten von AWT waren schon zum Zeitpunkt seiner Einführung limitiert, die Entwicklung einer komplexen Benutzeroberfläche so gut wie unmöglich (siehe auch [1], Seite 5). AWT bietet beispielsweise keine Komponenten für Tabellen, Bäume, Fortschrittsbalken oder Dateidialoge - diese müssen vom Entwickler implementiert werden. Bedingt durch das “lowest common denominator” -Prinzip, zu deutsch kleinster gemeinsamer Teiler, besitzt AWT nur Komponenten, die auf allen von der Java Virtual Machine unterstützten Betriebssystemen vorhanden sind (vgl. [2], Kapitel „A look at AWT“). Dies schränkt die Komponentenvielfalt ein. Dazu kommen noch Probleme bei der Portabilität, da AWT so genannte „schwergewichtige“ (d.h. native) Betriebssystemkomponenten zur Darstellung verwendet (vgl. [2]). Im schlimmsten Fall verhalten sich AWT Komponenten auf jedem Betriebssystem unterschiedlich. Das Verhalten ist abhängig von der nativen Implementierung im Betriebssystem und kann nicht einfach überschrieben oder erweitert werden (vgl. [5], Kapitel 13). All das ist nicht im Sinne des Entwicklers und auch nicht im Sinne des “Write once, run everywhere”-Java Prinzips. Version 1.1 des JDKs behebt zwar einige Probleme in Zusammenhang mit AWT, es fehlen aber immer noch die am Anfang dieses Absatzes genannten Komponenten (vgl. [5], Kapitel 13). AWT kann als veraltet angesehen werden und hat deshalb keine Bedeutung für das Softwareprojekt. Sun reagiert: Swing 1997 reagiert Sun und kündigt die Java Foundation Classes (JFC) an, welche - neben AWT - auch das UI Toolkit “Swing” enthalten. Swing ist leichtgewichtig, da es komplett in Java geschrieben ist. Das bedeutet auch, dass es nicht auf native Komponenten des Betriebssystems zur Darstellung zurückgreift (vgl. [3], S.5), somit ist Portabilität gegeben. Swing nutzt ein “pluggable look and feel”, d.h. eine Benutzeroberfläche kann auf jeder Plattform gleich aussehen (vgl. [1], Seite 858). Dies bedeutet nicht zwingend, dass sich die Benutzeroberfläche in das Design der Betriebssystemoberfläche integriert. Wird beim Softwareentwicklungsprozess eine komplett eigene Oberfläche entwickelt, welche sich von der Oberfläche des JVM Gastbetriebssystems unterscheidet, so kann SOP JOURNAL HOCHSCHULE REUTLINGEN R6 52 ITERATION++ dieser Punkt vernachlässigt werden. Wird aber eine Oberfläche angestrebt, welche sich ideal in das Betriebssystem integriert, so erhält man mit den Standardskins von Swing möglicherweise keine befriedigende Lösung. Richtlinien wie z.B. die Apple Human Interface Guidelines (vgl. [4]) beschäftigen sich ausführ- eines grafikintensiven Programms muss also abgewogen werden, ob der Einsatz von Swing sinnvoll ist. Zum jetzigen Zeitpunkt besitzt die Oberfläche der Langzeitarchivierungssoftware des Softwareprojekts keine grafikintensiven Inhalte (z.B. Anwendung von Hardwareshadern in Echtzeit). In Zukunft könnte die „Obwohl SWT nicht Teil der Java API ist, bietet es Implementationen für Windows, Mac OS X und Linux.“ Thomas Staiger, Softwareentwicklung lich mit der stringenten Gestaltung von grafischen Benutzeroberflächen. Anordnung, Abstand und Verteilung von Beschriftungen, Knöpfen und Menüs werden standardisiert und wirken so unterstützend auf den Endanwender beim Erlernen und Bedienen des Programms. In Swing kann das “look-and-feel” während der Laufzeit geändert werden (vgl. [5], Kapitel 15.5). Möglich sind u.a. die Skins “Metal”, “Motif ” und “Windows”. Aufbauend auf dem Kern der AWT 1.1 und 1.2 Bibliotheken bietet Swing mehr Möglichkeiten. Ein Fallstrick von Swing kann die Rendergeschwindigkeit der dargestellten Komponenten sein. Durch Verwendung von leichtgewichtigen Komponenten wird der Renderingprozess von der Java Virtual Machine übernommen. Vor der Entwicklung SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Langzeitarchivierung jedoch weitere Vorschauoptionen für dreidimensionale Inhalte oder hochkomprimierte Videodaten enthalten. Moderne Grafikkarten können beispielsweise die Dekodierung von MPEG-4 Videodaten übernehmen . In Hinblick auf die Zukunftsfähigkeit der GUI ist das nur einer von wenigen Punkten. Swing im SOP Die Benutzeroberfläche des Java Clients des Softwareprojekts war vor der Umstellung auf SWT in Swing implementiert. Betrachtet man die Benutzeroberfläche des Swing Java Clients genauer, kann man u.a. an den Dateidialogen und Drop-Down Menüs feststellen, dass Swing eingesetzt wurde. Obwohl SWT nicht Teil der Java API ist, bietet es Im- plementationen für Windows, Mac OS X und Linux. Die Komplette Liste kann auf [http://download.eclipse.org/eclipse/downloads/drops/ S-3.5M6-200903130100/index. php#swt] abgerufen werden. SWT – Die Zukunft? Eine eigene Entwicklung verfolgt die Eclipse Foundation mit SWT, dem Standard Widget Toolkit. Die Eclipse Foundation wurde Ende 2001 von IBM initiiert und stellt - neben anderen Produkten - mit der Entwicklungsumgebung “Eclipse” ein umfangreiches Werkzeug zur Softwareentwicklung bereit (vgl. [6]). Die grafische Oberfläche von Eclipse ist mit SWT realisiert. Die Einleitung der SWT Webseite erläutert kurz und bündig: “SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented” (vgl. [7]). SWT soll garantieren, dass sich GUI Komponenten auf jedem Betriebssystem korrekt verhalten. Der Anwender soll das Gefühl haben, dass die Oberfläche des Programms gezielt für sein Betriebssystem entwickelt wurde. Aus der Sicht des Entwicklers wird jedoch nur eine Oberfläche mit Hilfe des Standard Widget Toolkits entworfen (vgl. [3]). Das Konzept von SWT ist vergleichbar mit dem von AWT: Beide sind schwergewichtig. Um das LCD ITERATION++ Problem von AWT zu umgehen, definiert SWT eine Menge an Komponenten, welche für die Entwicklung vielseitiger Anwendungen ausreicht (etwa ein Dutzend mehr als im Standardset von Swing (vgl. [2], Kapitel Swing/SWT Komponentenauflistung)). Nahezu alle Komponenten können so vom Gastbetriebssystem nativ dargestellt werden. Zwei Nachteile von AWT und Swing werden dadurch eliminiert: Komponenten zeigen sich in dem vom Gastbetriebssystem vorgegebenen Aussehen, beispielsweise Windows Aero, Mac OS X Aqua oder GTK. Außerdem erfolgt das Rendering in nativer Geschwindigkeit (vgl. [2]). Die Bibliothek JFace stellt zudem unterstützende Funktionen, für z.B. Event Handling, bereit. Das Drücken eines Knopfes, das Auswählen eines Menüpunktes oder ein Tastenkürzel kann von JFace abgefangen und verarbeitet werden (vgl. [3]). Aus der Sicht des Entwicklers gibt es auch Nachteile beim Einsatz von SWT. Eine Benutzeroberfläche kann nur nach dem top-down Prinzip erstellt werden, d.h. ein Kontrollelement kann ohne einen Elterncontainer nicht bestehen. AWT und Swing ermöglichen eine Entwicklung nach dem top-down und bottom-up Prinzip. SWT Komponenten sind nicht Threadsicher (diesen Nachteil besitzt auch Swing.), d.h. der Entwickler muss deshalb kontrollieren, welcher Thread die Ober- fläche des Programms aktualisiert. Da SWT und JFace Entwicklungen der Eclipse Foundation sind, gehören sie nicht zur Java API. Die Installation muss separat vorgenommen werden und unterstützt eine breite Auswahl an gängigen Betriebssystemen (Windows, Mac OS X, Linux, diverse Unices) (vgl. [2], [7]). Ein interessanter Aspekt ist die Möglichkeit, dass eine Oberfläche sowohl Swing als auch SWT Komponenten enthalten kann. Somit ist es möglich die Vorteile beider Toolkits zu vereinen. Weiterführende Informationen über diese Idee können vom Webauftritt der Eclipse Foundation bezogen werden (siehe [8]). Dieser Fachartikel hat die Java UI Toolkits zu einem kleinen Teil geschichtlich, und zu einem größerem Teil technisch erläutert. Die wichtigsten Unterschiede, Stärken und Schwächen sind ermittelt. Die Transition (Swing nach SWT) der Implementierung der Benutzeroberfläche des Softwareprojekts ist ausgeführt. Nur der praxisnahe Einsatz der Langzeitarchivierung kann zeigen, ob der Einsatz von SWT letztendlich die richtige Entscheidung war. 53 IBM (http://www.ibm.com/developerworks/grid/library/os-swingswt/), 2006 [3] Matthew Scarpino, Stephen Holder: SWT/JFace in Aciton, Manning Publications, 2005 [4] Apple: Apple Human Interface Guidelines, http://developer.apple. com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html, 26.04.2009 [5] Pat Niemeyer, Jonathan Knudsen: Learning Java, O’Reilly, 2000 [6] Eclipse.org: About the Eclipse Foundation, http://www.eclipse.org/ org/, 26.04.2009 [7] Eclipse.org: SWT: The Standard Widget Toolkit, http://www.eclipse. org/swt/, 26.04.2009 [8] Eclipse.org: Swing/SWT Integration, http://www.eclipse.org/articles/article.php?file=Article-SwingS W T- I n t e g r a t i o n / i n d e x . h t m l , 26.04.2009 [9] Anandtech: NVIDIA GeForce 8600: Full H.264 Decode Acceleration, http://www.anandtech.com/ video/showdoc.aspx?i=2977 Quellen [1] Robert Eckstein, Marc Loy, Dave Wood: Java Swing, O’Reilly, 1998 [2] Barry Feigenbaum: SWT, Swing or AWT: Which is right for you?, SOP JOURNAL HOCHSCHULE REUTLINGEN R6 54 ITERATION++ Objekte im Winterschlaf Wie kann Hibernate erfolgreich eingesetzt werden? Eduard Tudenhöfner In den letzten Jahren erfreuten sich objekt-relationale Mapper und speziell Hibernate immer größerer Beliebtheit. Bisher wurde im Softwareprojekt der Hochschule Reutlingen kein objektrelationaler Mapper eingesetzt, ist nun jedoch seitens des Kunden erwünscht. Doch was ist objekt-relationales Mapping? Was sind objekt-relationale Mapper und welche existieren neben Hibernate auf dem Open-Source Markt? Wie kann Hibernate erfolgreich in das Softwareprojekt eingebunden werden? Im Softwareprojekt wird ein Langzeitarchivierungssystem für multimediale Inhalte entwickelt. Es wird jeweils eine Version in Java und in C# programmiert. Dateien verschiedener Art können durch den Benutzer auf einen Server hochgeladen werden. Um eine Datei später wieder zu finden, wird sie mit Metainformationen (Beschreibung, Typ) versehen. Aus Sicht des Softwareentwicklers müssen einer Datei Metainformationen eindeutig zugeordnet werden. Hierfür werden diese, zusammen mit einem Datei-Identifikator, in einer Datenbank gespeichert und dadurch der Bezug zur Datei hergestellt. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Bisher wird die objektorientierte Datenbank db4o eingesetzt. Geringer Speicherverbrauch und eine native Implementierung für Java und .NET ermöglichen eine einfache Persistierung von Objekten (Vgl. [14]). Allerdings wurde diese Datenbank für eingebettete Systeme entwickelt und erlaubt keine Administration außerhalb des Quellcodes. Durch diese Tatsache ist die Datenbank eng an die Anwendung gekoppelt und eine Änderung an dieser bedeutet auch eine Anpassung der Anwendung. Aus diesem Grund hat die Firma Trésor Secure Systems die Umstellung auf eine relationale Datenbank beauftragt. Weiterhin soll die Anwendung von der Datenbank durch den Einsatz eines objekt-relationalen Mappers entkoppelt werden. Objekt-relationales Mapping Die Transformation vom objektorientierten zum relationalen Programmieransatz wird objekt-relationales Mapping genannt (Vgl. [13]). Im Detail werden Objekte einer objektorientierten Programmiersprache in eine Tabelle einer relationalen Datenbank persistiert. Für das Abbilden der Objekte auf die Tabellen werden Metadaten, in Form von XML Dateien oder Annotationen verwendet. Beziehungen zwischen Objekten werden dadurch auf entsprechende Relationen in der Datenbank abgebildet. Ambler ist der Auffassung, dass Mapper wegen dem Strukturbruch zwischen den Konzepten der objektorienterten und der relationalen Welt benötigt werden. Das objektorientierte Paradigma basiert auf Kohäsion, Kapselung und Polymorphismus, wohingegen das relationale Paradigma auf mathematischen Prinzipien wie der Mengentheorie basiert (Vgl. [9]). Warum Mapper? Durch einen objekt-relationalen Mapper ist die Anwendung nicht von der Datenbank abhängig. Anfragen werden nicht direkt an die Datenbank gestellt, sondern zuerst an den Mapper. Dieser übersetzt die Anfrage in den spezifischen SQL Dialekt der verwendeten Datenbank und leitet die Anfrage weiter. Sendet die Datenbank eine Antwort, so wird diese zuerst an den Mapper und danach an die Anwendung geleitet. Hier muss bedacht werden, dass durch den Einsatz eines Mappers zusätzliche Verzögerungen bei Datenbankoperationen auftreten können. Durch die zusätzliche Abstraktionsschicht steigt der Grad der Komplexität. ITERATION++ Abb. 1: Hibernate Architektur Objekt-relationale Mapper Welche objekt-relationalen Mapper existieren auf dem Markt? OpenJPA ist eine Open-Source Implementierung der Java Persistence API und wird unter der Apache 2.0 Lizenz angeboten. OpenJPA ist in Applikationsservern, wie IBM WebSphere und BEA WebLogic vertreten. EclipseLink wird von der Eclipse Foundation kostenlos zur Verfügung gestellt und ist aus Toplink entstanden. Toplink ist die kommerzielle Version von Toplink Essentials und war im Glassfish Applikationsserver vertreten. Hibernate wurde von Gavin King als Open-Source Projekt entwickelt. Das Ziel war die Publikation eines Frameworks für das objekt-relationale Mapping in Java. Hibernate ist im Umfang des JBoss Applikationsservers enthal- Abb. 2: Die Klassen der Metainformationen ten, kann aber auch ohne Applikationsserver verwendet werden. In [10] werden die vier meistgenutzten Mapper auf ihre Performance verglichen. Der Autor ist der Meinung, dass es keinen klaren Sieger bezüglich der Performance gibt. Einige Mapper führten zu einer geringen Belastung der CPU oder des Hauptspeichers, andere konnten Einfüge- oder Abfrageoperationen schneller ausführen (Vgl. [10]). Allerdings sind EclipseLink, Toplink Essentials und OpenJPA ausschließlich für Java erhältlich. Dadurch müsste für .NET ein anderer Mapper eingesetzt werden, was eine zusätzliche Einarbeitung und Belastung für die Softwareentwicklung bedeuten würde. Hibernate ist das einzige Framework, das sowohl für Java als auch für .NET zur Verfügung steht. Hibernate hat eine umfangreiche Entwicklergemeinde und umfassende Literatur. Rajshekhar ist der Meinung, dass sich Hibernate durch Flexibilität und Einfachheit von anderen Mappern abgrenzt und dadurch in vielen Projekten eingesetzt wird (Vgl. [13]). Durch den Einsatz von Hibernate für die Java und .NET Variante des Langzeitarchivierungssystems, kann die Einarbei- 55 tungszeit auf Hibernate beschränkt werden. Aus diesen Gründen wird dieser Mapper für das Softwareprojekt gewählt. Hibernate im Einsatz Hibernate besteht aus Properties und Metadaten – in Form von XML Dateien oder Annotationen – für das Mapping. Die grobe Architektur von Hibernate ist in der Abbildung 1 dargestellt. Für den Einsatz von Hibernate müssen die in der Datenbank zu speichernden Objekte zuerst identifiziert werden. Im Softwareprojekt sollen die Metainformationen einer Datei persistiert werden. Ein Auszug aus den entsprechenden Klassen ist in Abbildung 2 dargestellt. Um Attribute einer Klasse in der Datenbank zu speichern, muss eine Mapping Datei erstellt werden, welche die entsprechenden Attribute auf die Spalten einer Tabelle abbildet. MetaInformation hat eine unidirektionale 1:1 Relation zu der Klasse MetaTag (s. Abb. 2). Mak ist der Ansicht, dass eine 1:1 Relation in Hibernate am einfachsten durch ein <many-to-one> inklusive dem Schlüsselwort unique umgesetzt werden kann. (Vgl. [8]). Abb. 3: Konfigurationsdatei hibernate.cfg.xml SOP JOURNAL HOCHSCHULE REUTLINGEN R6 56 ITERATION++ Bevor Klassen persistiert werden können, muss Hibernate durch Properties konfiguriert werden. Es müssen der verwendete SQL Dialekt, Verbindungsdaten und andere Einstellungen vorgenommen werden. Als Dialekt wird PostgreSQLDialect definiert, da eine PostgreSQL Datenbank verwendet wird. Es werden der Benutzername und das Passwort, der zu verwendende Classpath und konfiguriert Hibernate mit den definierten Einstellungen. Das Codebeispiel ist unten dargestellt. Eine typische Anwendung verfügt laut Minter und Linwood über ein Configuration-Objekt, das nur bei der Initialisierung von Hibernate eingesetzt wird. Eine SessionFactory wird während des gesamten Lebenszyklus der Anwendung verwendet. Session- „Durch Persistierung werden Objekte in den Winterschlaf versetzt“ Eduard Tudenhöfner, Softwareentwicklung Treiber und die Adresse zur Datenbank angegeben. Zusätzlich werden die Mapping Dateien der zu persistierenden Klassen definiert (MetaInformation.hbm.xml und MetaTag.hbm.xml). Die komplette Konfigurationsdatei ist in Abbildung 3 dargestellt. Wichtig ist, dass die Konfigurationsdatei im Wurzelverzeichnis des Classpath gespeichert wird, da ansonsten eine Ausnahme ausgelöst wird. Sessions Persistenz-Operationen (Abfragen und Speichern von Objekten) können in Hibernate mit Session-Objekten ausgeführt werden. Ein Session-Objekt wird von einer SessionFactory erstellt. Die SessionFactory wird durch die Configuration Klasse erzeugt. Configuration sucht die hibernate.cfg.xml auf dem SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Objekte werden je nach Bedarf angefordert, um Operationen auf der Datenbank auszuführen (Vgl. [3], S. 35). Persist It! Mit einer Session wird ein Objekt in die Datenbank persistiert. Im unteren Codebeispiel werden Attribute auf einem MetaInformation-Objekt gesetzt und danach über die Session gespeiMetaInformation meta = new MetaInformation(); meta.setMetaValue(metaValue); meta.setMetaTag(metaTag); session.save(meta); session.flush(); session.connection.commit(); session.close(); chert. Durch die Methode save() wird das übergebene Objekt für die Speiche- rung markiert. flush() forciert eine Synchronisierung zwischen Session und Datenbank. Alle neuen oder geänderten Objekte werden dadurch gespeichert. Danach werden die Operationen bestätigt und die Session geschlossen (Vgl. [3], S. 88 - 98). Suchen und Abfragen Laut Bauer und King gibt es in Hibernate drei verschiedene Möglichkeiten, um Daten aus der Datenbank abzurufen (Vgl. [6]). Die Hibernate Query Language (HQL) ist eine objektorientierte Abfragesprache. Sie ähnelt SQL, arbeitet aber nicht mit Tabellen und Spalten, sondern mit persistenten Objekten und ihren Eigenschaften. Um Portabilitätsprobleme zu vermeiden, sollte HQL für Abfragen bevorzugt werden (Vgl. [3], S. 221). Native SQL-Anweisungen können auch in Hibernate verwendet werden. Minter und Linwood sind der Auffassung, dass SQL nur nativ genutzt werden sollte, wenn die verwendete Datenbank spezielle Funktionen unterstützt, die von HQL nicht angeboten werden (Vgl. [3], S. 239). Das Hibernate Criteria API erlaubt das Erzeugen von dynamischen Abfragen zur Laufzeit. Reichert ist der Auffassung, dass das Criteria API speziell dort eingesetzt werden sollte, wo die Datenbankabfrage zur Ladezeit noch nicht feststeht, sondern sich erst dynamisch zusammensetzt (Vgl. [16]). Allerdings spricht Ferguson Smart die Probleme an, die mit dem Criteria API entstehen. Seiner Meinung nach wird ITERATION++ Quelltext erzeugt, der im Vergleich zu HQL schwerer lesbar und wartbar ist (Vgl. [17]). Fazit Der Einsatz von Hibernate im Softwareprojekt bedeutet eine nicht zu unterschätzende Mehrbelastung der Softwareentwicklung. Diese Mehrbelastung bringt jedoch die Vorteile der Entkopplung und erlaubt die Datenbank außerhalb des Quellcodes zu administrieren. Für nachfolgende Iterationen muss sichergestellt werden, dass das Wissen und die Erfahrungen mit Hibernate weitergegeben werden. Ein erfolgreicher Wissenstransfer könnte über den Einsatz eines Wikis oder über Schulungen realisiert werden. Auch wenn Hibernate schnell erlernbar ist, hat es doch eine hohe Lernkurve, die nicht unterschätzt werden sollte. Laut Plöd herrscht in vielen Softwareprojekten der Eindruck, dass Datenbankzugriffe nur durch objekt-relationale Mapper zu implementieren seien. Plöd ist der Meinung, dass es abseits der komplexen Mapper auch Alternativen gibt. Er erwähnt, dass Mapper Extraaufwand und zusätzliche Komplexität insbesondere bei der Integration in bestehende Systeme – erzeugen (Vgl. [15]). Meines Erachtens ist Hibernate die richtige Wahl für das Softwareprojekt der Hochschule Reutlingen. Der Einsatz von Hibernate zahlt sich spätestens bei einem Wechsel der verwendeten Datenbank aus. Damit Hibernate integriert werden kann, muss allerdings eine Auf- wandsschätzung stattfinden, damit eine termingerechte Umsetzung garantiert werden kann. Zusätzlich sollte die Softwareentwicklung bereits über entsprechende Kenntnisse verfügen. Quellen [1] db4objects Inc.: „db4o Datenbank“, http://www.db4o.com, zuletzt besucht am 13.04.2009 [2] A.P. Rajshekhar: „Managing Transactions with Hibernate“, http://www. devarticles.com/c/a/Java/ManagingTransactions-with-Hibernate/, zuletzt besucht am 13.04.2009 [3] Dave Minter, Jeff Linwood: „Einführung in Hibernate“, Heidelberg, 2007 [4] Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz: „Hibernate“, Heidelberg, 2007 [5] Michael Plöd: „Objektrelationales Mapping in der Praxis“, JavaMagazin 03/2006 [6] Christian Bauer, Gavin King: “Java Persistence with Hibernate”, Greenwich, 2007 [7] Hibernate Team: „Hibernate”, http://www.hibernate.org, zuletzt besucht am 13.04.2009 [8] Gary Mak: “Hibernate Tutorials: Many To One and One To One Association”, http://www.metaarchit.com/ hibernate_tutorials/Hibernate%20Tutorial%2004.pdf, zuletzt besucht am 13.04.2009 57 [9] Scott W. Ambler: „Mapping objects to relational databases“, http:// www.ibm.com/developerworks/webservices/library/ws-mapping-to-rdb/, zuletzt besucht am 13.04.2009 [10] „JPA comparison: Hibernate, Toplink, OpenJPA, Eclipselink“, http:// www.theserverside.com/news/thread. tss?thread_id=53142, zuletzt besucht am 16.04.2009 [11] Apache Foundation: “Apache OpenJPA”, http://openjpa.apache. org/, zuletzt besucht am 16.04.2009 [12] Eclipse Foundation: “EclipseLink”, http://www.eclipse.org/eclipselink/, zuletzt besucht am 16.04.2009 [13] A.P. Rajshekhar: “Introducing Hibernate”, http://www.devarticles. com/c/a/Java/Introducing-Hibernate/, zuletzt besucht am 16.04.2009 [14] Ted Neward: “db4o: Introduction and Overview”, http://www.ibm.com/ developerworks/java/library/jdb4o1. html, zuletzt besucht am 18.04.2009 [15] Michael Plöd: „Lightweight Persistence: Alternativen zu EJB, Hibernate und JDO“, JavaMagazin 03/2007, S. 18-22 [16] Stefan Reichert: „Hibernate Criteria API: Komplexe Datenbank-Abfragen elegant und flexibel implementieren“, JavaMagazin 03/2007, S. 23-25 [17] John Ferguson Smart: “Hibernate Querying 102: Criteria API”, http:// www.javalobby.org/articles/hibernateq uery102/?source=archives, zuletzt besucht am 24.04.2009 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 58 ITERATION++ Von der „Friday Night Pizza Party“ zum automatisierten Lasttest Vererbung mal anders – Wie man erfolgreich Anforderungen des Kunden über Iterationen ignoriert Mario Schwarz Die „Friday Night Pizza Party“, die den manuellen Test einer Anwendung mit vielen Benutzern meint, ist laut Weichselberger [1, Seite 39] klar abzulehnen. Er ist nicht nachvollziehbar, unwirtschaftlich und obendrein ermüdend für die Tester. Doch warum wird er dann im Rahmen des Lasttests immer noch im Softwareprojekt fabriziert? Und weshalb wurde dessen Automatisierung über Iterationen weitergereicht? Gibt es hierfür keine Anforderung des Kunden? – Und ob! Ist es zu komplex? – Nicht unbedingt! Dieser Artikel wird Licht in das Dunkel bringen, die Vorteile einer Automatisierung aufzeigen, unterstützende Testwerkzeuge auswählen und evaluieren und Konzepte vorstellen, mit der die Automatisierung des Lasttests zum Kinderspiel wird. Bei der Einführungsveranstaltung warnten uns die Vorgänger, die Automatisierung in unserer Iteration anpacken zu müssen. Beim initialen Stöbern durch die erhaltenen Dokumente stachen deshalb besonders die lasttestbezogenen Inhalte ins Auge. Hier wurde irgendwann versucht, für den Wirkbetrieb repräsentative LastSOP JOURNAL HOCHSCHULE REUTLINGEN R6 testszenarien zu definieren. Doch ist eine an zwei Händen abzählbare zu simulierende Benutzeranzahl wirklich repräsentativ? – Wohl kaum. An anderer Stelle waren für den Lasttest angeblich eingesetzte Testwerkzeuge aufgeführt, von denen jedoch weder die Testabteilung, noch die Geschäftsleitung wusste, ob und inwiefern diese jemals zum Einsatz kamen. Im Abnahmetest wurde letztendlich wie schon so oft schließlich nur ein manueller Test der Last durchgeführt – Hier bestand dringend Handlungsbedarf. Warum Automation? Die im Einleitungsteil angesprochenen Nachteile eines manuellen Tests berücksichtigen nach [1, Seite 39] bisher nur den lasttreibenden Aspekt des Lasttests. Ignoriert wurden bisher essentielle Funktionen eines Lasttests. Hierunter fallen zum Beispiel die Steuerung des Lastlaufverhaltens (Ramp-Up bzw. Ramp-Down), die Überwachung der Systemkomponenten (Monitoring) sowie die Analyse gesammelter Kennzahlen. In der Vergangenheit wurden all diese Komponenten im Lasttest des Softwareprojektes vernachlässigt. Es wurde mehr oder minder nur wild auf den Tastaturen und Mäusen mehrerer Rechner herum gehämmert und geklickt. Falls die Anwendung noch irgendwie reagierte, war der Lasttest mit Bravour gemeistert. Eine automatisierte Variante hingegen wäre nachvollziehbar. Anhand des automatisch ausgeführten Testplanes ist penibel jedes Detail des Testlaufs festgelegt und ersichtlich. Zudem können gemessene Kennzahlen gegen die Kundenanforderung, z.B. im Hinblick auf das Antwortverhalten bei der zu erwartenden Benutzeranzahl, verglichen und objektiv entschieden werden ob der Test bestanden wurde oder nicht. Return On Investment Halili greift in [2] einen Artikel von Rex Black auf, der anhand eines Fallbeispiels den Return On Investment (ROI) potenzieller Teststrategien, also die Rentabilität der jeweilig notwendigen Investitionen, analysiert. Im Original werden manuelles und automatisiertes Testen mit kostenpflichtigen Werkzeugen gegeneinander aufgewogen. Sie erweitert die automatisierte Teststrategie unter Berücksichtigung von kostenfreien Open-Source-Werkzeugen. Dies maximiert den ROI ITERATION++ einer automatisierten Teststrategie und resultiert somit in einer raschen Amortisation der angefallenen Kosten. Die angenommenen Daten im Fallbeispiel übersteigen zwar bei weitem den Rahmen des Softwareprojektes. Dennoch kann hieraus das Fazit gezogen werden, dass sich eine Automatisierung, insbesondere unter Einsatz kostenloser Testwerkzeuge lohnt und folgenden Iterationen zu Gute kommt. Vergleichsmethodik der Testwerkzeuge Nach [3] sind mehrere Methoden zum Vergleichen von Alternativen geläufig: • Der vollständige Vergleich, bei dem eine jede Alternative mit allen anderen im direkten Vergleich gegenübergestellt wird • Die Vereinigung, bei der alle Funktionen aller Lösungen in einem Quasi- Standard zusammengeführt werden und gegen welchen dann jede Alternative verglichen wird • Der auf projektbezogenen Anforderungen basierende Vergleich Als für das Softwareprojekt zutreffendste Methodik stellte sich letztere heraus, da es sich um ein gewöhnliches Projekt mit vom Kunden gestellten Anforderungen handelt. Der iterative Ansatz kann hier vernachlässigt werden. Anforderungen an das Testwerkzeug Mit Anforderungen sind in diesem Kontext nicht nur die des Kunden, sondern auch die architektonischen Gegebenheiten der zu testenden Langzeitarchivierungssoftware gemeint. Die Langzeitarchivierungssoftware basiert auf einer Service-orientierten Architektur (SOA). Axis (v.1) wird hierbei als Java-Servlet innerhalb des Servlet-Containers Apache Tomcat betrieben. Dieser bietet die Web Services zur Verwendung von Clients an. Selbstverständlich ist die Unterstützung von WebServices deshalb unerlässlich für das Werkzeug. Darüberhinaus wurden in [1] genannte Bewertungskriterien aufgegriffen und angepasst: • Minimale Anschaffungskosten • Hoher Marktanteil • Aufzeichnen und einfache Anpas- sung eines Testplanes • Steuerung des Lastlaufs • Monitoring des Zielsystems • Analyse der Kennzahlen 59 sind Open-Source und stehen kostenfrei zum Herunterladen bereit. Sie besitzen den gleichen Funktionsumfang und decken beide die Anforderungen vollständig ab. Beide bieten eine Programmierschnittstelle (API), über die Erweiterungen implementiert werden können. Aus der Performance-Studie der Firma CodeCentric [4] geht die Marktführerschaft von JMeter unter den Befragten hervor. Ein weiterer Pluspunkt für JMeter ist die Erstellung eines Testplanes mittels der Benutzeroberfläche. Bei The Grinder werden diese in der Skriptsprache Jython programmiert, was für die Erlernbarkeit nachteilig ist. Aus den ausgeführten Gründen fiel die Wahl letztlich auf JMeter. JMeter JMeter ist eine auf Java-basierte Desktop-Anwendung und zeichnet sich durch die grafische Erstellung eines Testplans aus. Ein solcher Testplan besteht aus einem oder mehreren der folgenden Elemente: Die mögliche Verteilung der Lastgeneratoren wird darüberhinaus vorausgesetzt. Zudem sollten Automatisierungsmechanismen umsetzbar sein und eine schnelle Erlernbarkeit gewährleistet sein. Evaluation In die nähere Auswahl gelangten das Sourceforge-Projekt The Grinder und Apache JMeter. Beide Alternativen SOP JOURNAL HOCHSCHULE REUTLINGEN R6 60 ITERATION++ In der ThreadGroup werden die Anzahl der virtuellen Benutzer und das Lastlaufverhalten (Ramp-Up) definiert. Sie stellt den Wurzelknoten eines Testplans dar. Listener erlauben den Zugriff auf gesammelte Informationen. Sampler senden Anfragen an den zu testenden Server. Deren Logik kann mittels Logical Controllers angepasst werden. Timer werden für Verzögerungen, z.B. als Simulation von Denkzeiten Informationen aller Generatoren zentral zur Analyse ein. Eine Automatisierung lässt sich in Verbindung mit dem Build- Werkzeug Apache Ant, wie in [5] ausgeführt, erreichen. Arbeitsverweigerung oder nicht? Doch woher rührt nun die bisherige Quasi-Arbeitsverweigerung der Testabteilung im Bezug auf die Lasttestautomatisierung – sind die Tester zu faul? „Der geeignete Zeitpunkt muss zuerst geschaffen werden!“ Mario Schwarz, Softwareentwicklung eingesetzt. Assertions ermöglichen die Überprüfung der tatsächlichen Rückgabewerte der Anwendung gegen erwartete Rückgabewerte. Configuration Elements können Anfragen von Samplern modifizieren. Konzept Mit Hilfe der Sampler-Komponente WebService(SOAP)Request können Anfragen an WebServices gesandt werden. Über das Starten von JMeter von der Kommandozeile kann das Programm mit Parametern versorgt werden. Hierüber können mehrere entfernte Lastgeneratoren anhand ihrer IP-Adresse identifiziert werden. Der aufrufende Rechner dient dann als Steuerzentrale und sammelt die SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Aus meiner Erfahrung in der Testabteilung und aus Gesprächen mit Vorgängeriterationen gibt es einfach keinen geeigneten Zeitpunkt für dessen Umsetzung. Der iterative Ansatz des Softwareprojekts macht einem hier das Leben schwer. Im ersten Semester macht einem der ungenügende Kenntnisstand über die Architektur einen Strich durch die Rechnung - die Einarbeitungszeit in die in der Langzeitarchivierungssoftware verwendeten Technologien ist hoch. Als Seniors machen sich dann meist hochmotivierte Softwareentwickler daran, den Code umzukrempeln, den sie nach einem Semester nun verstehen. Diese Implementierungsdauer zieht sich erfahrungsgemäß bis wenige Wochen vor Semesterende hinaus. Das macht eine Lasttestautomatisierung danach unmöglich. Hätte man andererseits die Automatisierung zuvor fertiggestellt, wäre sie gewiss nicht mehr lauffähig. Fazit Es gibt nur einen Lösungsansatz wie der Lasttest in naher Zukunft doch noch automatisiert werden kann: Einen lauffähigen Versionsstand des Backends für ein Semester einfrieren und Refactoring währenddessen zu unterbinden! In dieser Zeitspanne könnte die gesamte Test-, sowie Mitglieder der Softwareentwicklungsabteilung an der Umsetzung des automatisierten Lasttests mitwirken. Die Vorgängeriteration könnte ihr gesammeltes Wissen praktisch einbringen; die Nachfolger würden von der engen Zusammenarbeit und dem dabei stattfindenden Wissenstransfer profitieren. Beim Iterationswechsel wären die Nachfolger für ein künftiges Refactoring samt notwendiger Änderungen am automatisierten Lasttest gewappnet und die Tester und die Entwickler wären durch die gemeinsame Arbeit zusammengeschweißt. Quellen [1] Weichselberger, Alexander – „A Fool with a (Loadtest-) Tool is still a Fool! “, JavaMagazin, 08/2005 ITERATION++ [2] Halili, Emily H. – „Apache JMeter “, Packt Publishing, 2008 [3] Barcia, Roland / Hambrick Geoffrey / Brown, Kyle – „Persistence in the Enterprise: A Guide to Persistence Technologies“, Prentice Hall International, 2008 [4] Dr. rer. nat. Raymond Georg Snatzke – „Performance Studie 2008”, http://www.codecentric.de/ export/sites/www/_resources/pdf/ performance-studie-2008-web.pdf [5a] Duvall, Paul – „Persistence in the Enterprise: “Automation for the people: Hands-off load testing - Use Apache JMeter with Apache Ant to run load tests frequently”, http:// www.ibm.com/developerworks/java/ library/jap04088/index.html [5b] Harrold, Mary Jean / Jones, James A. / Li, Tongyu / Liang, Donglin / Orso, Alessandro / Pennings, Maikel / Sinha, Saurabh / Spoon, S. Alexander / Ashish, Gujarathi – „Regression Test Selection for Java Software“, ACM Digital Library, 2001 [6] Nevedrov, Dmitri – „Using JMeter to Performance Test Web Services“,citeseerx.ist.psu.edu, 2006 61 [10] Linwood, Jeff – „JMeter: Performance Testing Server-Side Java“, http://www.ddj.com/linux-opensource/184405128, 2002 [11] Hansen, Kelt – „Load Testing your Applications with Apache JMeter “,http://javaboutique.internet. com/tutorials/JMeter/, 2004 [12] JMeter Homepage , jakarta.apache.org/jmeter/ [7] Dobson, Jamie – „Performance Testing on an Agile Project “,IEEE Computer Society, 2006 [8] Weichselberger, Alexander – „Wie viel ist viel? 42! “, JavaMagazin, 08/2005 [9] Heider, Martin – „Hochseetauglich mit JMeter “, JavaMagazin, 08/2005 »The nice thing about standards is that there are so many of them to chose from.« Andrew S. Tanenbaum, Informatiker SOP JOURNAL HOCHSCHULE REUTLINGEN R6 62 ITERATION++ Effektive Organisation des Abnahmetests Die Rolle des Abnahmetests in einem iterativen Softwareentwicklungsprozess Natalia Zyleva Der Abnahmetest ist ein wichtiger Bestandteil eines Softwareprojekts. Dieser Test dient dazu, dem Kunden mit dem Probelauf eines entwickelten Softwareprodukts zu zeigen, dass seine Anforderungen an das Produkt erfüllt sind und das Produkt übernommen werden kann. Welche Erwartungen sollten bei einem idealen Abnahmetest erfüllt werden? Wie kann man die Kunden dazu bringen, die erstellte Software ohne Zeitverzögerungen abzunehmen? Ist dies möglich und wie viele Ressourcen würde das Entwicklungsunternehmen investieren müssen? Lohnt es sich, die Qualität immer auf einem hohen Niveau zu halten oder darf man ab und zu die Softwarequalität etwas vernachlässigen? Wie sollte ein effizienter Abnahmetest in einem iterativen Projekt durchgeführt werden? Alle gestellten Fragen sind Meilensteine des Projekts, die das Testing-Team zum Nachdenken und späteren erfolgreichen Realisation des Abnahmetests bringen sollen. Der Softwareentwicklungsprozess ist normalerweise mit dem Bestehen des Abnahmetests und der ProSOP JOURNAL HOCHSCHULE REUTLINGEN R6 duktübergabe beendet. Die Software wird während ihrer Verwendung qualitative Veränderungen benötigen, was natürlich vom Kundenbedarf her in direkter Abhängigkeit steht. Dabei entsteht eine Reihe von Softwareversionen. Weil jede neue Programmerscheinung auch vom Kunden abgenommen werden sollte, muss in jeder Iteration der Inhalt und die Strategie des Abnahmetests von der Softwareentwicklung verändert werden. Man kann diese Tests in drei Kategorien unterteilen: - Testen nach Softwarewartung (Produkt wird an neue Einsatzbedingungen angepasst) - Testen nach Weiterentwicklung (Produkt wird weiterentwickelt oder verändert) - Testen bei inkrementeller Entwicklung (Produkt wird als geplante Abfolge von Versionen erstellt) (vgl. [3]) Je nach Priorität werden diese für die Herstellung des Endprodukts eingesetzt und die jeweilige Folge der Abläufe beim Abnahmetest durchgeführt. Im iterativen Softwareprojekt (SOP) sollten alle obengenannten Gründe vorkommen. Die Studierenden jeder Nachfolgeriteration werden veränderte Kundenanforderungen an das Produkt stellen, wodurch die Funktionalität ständig erweitert wird und Fehler und Ausfälle somit vermieden werden. Die Durchführung des Abnahmetests am Ende jeder iterativen Projektphase erlaubt die frühzeitige und regelmäßige Anpassung an Kundenerwartungen und ermöglicht somit die Rückmeldung der Verbesserungsvorschläge an die kommende Iteration. Der Abnahmetest gilt als ein Abschlusstestverfahren. „Ein Abnahmetest ist ein von dem/den Anwender(n) und Systemadministratoren in einer möglichst „produktionsnahen“ Umgebung ausgeführter Test, der nachweisen soll, dass das entwickelte System den funktionalen und qualitativen Anforderungen entspricht“.(vgl. [2]) Im Rahmen des Softwareprojekts können die folgenden Testarten bei der Produktübergabe durchgeführt werden: - Hardwaretest (prüft die Geltung der technischen Bedingungen für den reibungslosen Softwareablauf ), - Installationstest (prüft die Korrektheit des Installationsvorgangs), ITERATION++ - Benutzbarkeitstest (Test auf Benutzerakzeptanz), - Lasttest (prüft die Lastmöglichkeiten des gesamten Systems), - Abnahmetest (Test auf vertragliche Akzeptanz). Bei der Produktübergabe geht es nicht nur um die Qualität und Feh- Freiraum für Akzeptanztestherstellungen gibt (vgl. [4]). Um die volle Effektivität des Tests zu erzielen, sollten auch nichttechnische Aspekten berücksichtigt werden, wie beispielsweise Zeitbedarf, Kommunikationsaspekte (zwischen Kunden und Anwender, Entwicklern und „Testing hat ähnliche Wurzeln wie Management. Die Testverfahren sollen gut geplant werden, damit unsere Produkte sich gut verkaufen lassen.“ Natalia Zyleva, Testing lerfreiheit der Software, sondern auch um Kostenfragen. Im Abnahmetest werden alle gegebenen Kundenanforderungen berücksichtigt und überprüft, ob diese in der abgenommenen Produktversion erfüllt worden sind. In solch einem Fall sind die eventuell vorhandenen Fehler in der Implementierung nicht von Bedeutung. Theoretisch müssten diese Fehler bereits von Softwareentwicklern beseitigt worden sein. Der Gesamteindruck des Softwareproduktes ist hierbei von entscheidender Bedeutung. Dabei spielt das Managementvorhaben für das Entwicklungsprojekt schon in der Planungsphase eine große Rolle. Der Abnahmetest sollte schon während der Designphase eingeplant werden, da zu diesem Zeitpunkt bereits ein grobe Entwurf des Produktes besteht und Kunden sowie Management den Testern, Testern und Management), Zielsetzung des Projekts, persönliche Fähigkeiten und Kenntnisse der Tester und der Einsatz von verschiedenen Werkzeugen.(vgl. [4]). Auch bei der Produktübergabe spielt der Abnahmetest eine große Rolle. Von der rechtzeitigen, inhaltlichen und zeitlichen Planung dieses Tests, hängt der gesamte Entwicklungsprozessablauf ab. Besonders gut kann man dies bei dem iterativen Softwareprojekt der Hochschule betrachten. Die Mängel des Testvorbereitungsprozesses spiegeln sich später bei der Produktübergabe im Bezug auf Kostenerhöhung für das Entwicklungsunternehmen und Stammkundenbildung wider. Der Abnahmetest sollte die Philosophie des Unternehmens im Sinne der Effizienz und Qualität repräsentieren. 63 Quellen [1] Orgel, Thomas. Testcasemanagement. Testen von Softwareprodukten in Projekten, Saarbrücken: VDM Verl. Dr.Müller, 2008. [2] Pol, Martin,: Management und Optimierung des Testprozesses: ein praktischer Leitfaden für erfolgreiches Testen von Software mit TPI und TMap/Martin Pol; Tim Koomen; Andreas Spillner. – 2., aktual. Aufl.,Heildelberg: dpunkt-Verl., 2002. [3] Spillner, Andreas. Basiswissen Softwaretest - Testmanagement: Aus- und Weiterbildung zum Certified Tester - Advanced Level nach ISTQB-Standard, 3., überarb. und aktual. Aufl., Heidelberg: dpunktVerl., 2005. [4] Thaller, Georg Erwin. SoftwareTest: Verifikation und Validation, 2., aktual. und erw. Aufl..-Hannover: Heise, 2002. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 64 ITERATION++ Qualität erzeugen, nicht erprüfen! Audits im SOP - Durchführung und Notwendigkeit Sarah Letzgus kann ein Zustand der Verbesserung erreicht werden (siehe Abb. 1). Denn Ein Audit ist nicht einfach nur eine wenn die Zeitabstände zu groß wer- Prüfung. Es gibt einem Unternehmen den, kann nur das Qualitätsniveau die Möglichkeit, Schwachstellen zu er- erreicht werden, das anhand des vo- kennen und daraufhin Verbesserungen rigen Audits entstanden ist und man vorzunehmen. Auch im Softwareprojekt erzielt keine andauernde Verbesse- (SOP) der Hochschule Reutlingen wer- rung (siehe Abb. 1). den in jeder Iteration Audits durchgeführt. Im Folgenden wird näher auf Audits im SOP die Durchführung der Audits im SOP Auch im Rahmen des Softwarepro- eingegangen, sowie die Relevanz und jekts (SOP) wurden bereits von drei mentationsanforderungen, wie z.B. Notwendigkeit von Audits erläutert. Vorgängeriterationen regelmäßig die Lenkung von Aufzeichnungen Verbesserungsvorschläge sollen helfen, Systemaudits und von der letzten Ite- und Dokumenten. Die vorhande- die Audits besser in das Softwareprojekt ration auch ein Prozessaudit durch- nen Dokumente, wie Richtlinien, zu integrieren. geführt. Dabei legt jedes Audit sei- müssen nach Gültigkeit, Wieder- nen Schwerpunkt auf verschiedene auffindbarkeit und Angemessenheit Nach [3, S.9] gibt es drei verschie- Bereiche. Bei der Durchführung des bewertet werden. Auch die „Verant- dene Arten von Audits, die mit dem Systemaudits im SOP stand die Be- wortung der Leitung“ wird über- allgemeinen Qualitätsaudit urteilung des Qualitätsmanagement- prüft und behandelt, u.a. mit den bezeichnet werden: Das System-, systems, anhand der ISO 9001:2000 Punkten Kundenorientierung und Prozess- und Produktaudit. Um die [2] im Mittelpunkt der Bewertung. Qualitätspolitik. Ein Punkt der Qua- Zertifizierung eines Unternehmens Um einen Überblick über den Zu- litätspolitik wäre, zu ermitteln, ob zu erreichen, wird ein funktionie- stand der jeweiligen Unternehmens- das QM-Handbuch des Projekts alle rendes Qualitätsmanagementsystem bereiche zu erlangen, wurden rele- Qualitätsziele beinhaltet. Ein weite- (QMS) vorausgesetzt. Audits tragen vante Bereiche des Projekts, die zur rer wichtiger Bereich der Überprü- dazu einen wichtigen Teil bei, da sie Zertifizierung nach der ISO-Norm fung liegt in der Arbeitsumgebung/ zur Verbesserung, sowie auch zur dienen, von der Qualitätssicherung Infrastruktur und der Bereitstellung Instandhaltung eines Management- festgelegt und überprüft. Dazu ge- von Ressourcen. Es soll sichergestellt systems dienen. Doch nur durch die hören die allgemeinen Anforderun- werden, dass alle benötigten Arbeits- regelmäßige Ausführung von Audits gen an das QMS, sowie die Doku- geräte und Anforderungen in jeder Titel SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Abb. 1: Erfolg der Audits, Sägezahneffekt ITERATION++ 65 Abteilung vorhanden sind und ein er- zu erstellen, wurde über zwei Iterati- sichergestellt und auch auf Schwach- folgreiches Arbeiten ermöglicht wird. onen nicht erfüllt und man sieht kei- stellen hin überprüft werden. Dafür Der letzte Punkt dient der „Messung, ne Verbesserung der Situation. Dies wurden zwei, von der Vorgängeritera- Analyse und Verbesserung“. Dazu liegt in erster Linie an der fehlenden tion schon festgelegte Prozessmodelle zählen beispielsweise die Kunden- Kommunikation innerhalb der ver- verwendet, die bei Änderungsmaß- und Mitarbeiterzufriedenheit, die schiedenen Abteilungen. Doch auch nahmen eingesetzt werden. Im SOP anhand von Befragungen überprüft nach den ersten Versuchen, mit den wurde damit der Änderungswunsch werden können. Zusätzlich werden entsprechenden Abteilungen eine der Testing-Abteilung, eine neue GUI abgeschlossene Tätigkeiten der Qua- Auswahl des geeigneten Systems zu (grafische Benutzeroberfläche) zu er- litätssicherung und deren Ergebnisse finden, wurde keine endgültige Ent- stellen, überprüft. Doch um die Pro- mit den vorliegenden Normen abge- scheidung getroffen. Die Recherche zessaudits zu vervollständigen, müssen glichen. So muss die Durchführung der benötigten Informationen als noch weitere Prozesse innerhalb des und Auswertung einer Mitarbeiter-/ Entscheidungshilfe, wurde aufgrund SOP definiert und festgehalten wer- Kundenzufriedenheit oder die Teil- mangelnder Motivation vernachläs- den. Desweiteren wäre es noch denk- nahme an einem Abnahmetest, sowie sigt und es kam zu keinem Ergeb- bar, das Produktaudit hinzu zu ziehen, das Erstellen des Abnahmeprotokolls nis. Wie also geht man vor, um den bei dem die „fertigen Produkte auf auf Richtigkeit kontrolliert werden. gewünschten Effekt eines Audits zu Übereinstimmung mit den vorgegebe- Bei der Betrachtung der letzten Sys- erzielen und die Audits besser in das nen Spezifikationen“ [3, S.11] unter- tem-Audit-Ergebnisse wurden in den Softwareprojekt zu integrieren? sucht werden. Dabei könnte im SOP meisten Bereichen die geforderten aus Sicht der Kunden geprüft werden, Verbesserungsmaßnahmen erfüllt. So Es ist sinnvoll, das Systemaudit, je ob alle Anforderungen an das Produkt wurden beispielsweise wichtige Do- nach Umfang der Anforderungen, erfüllt worden sind. kumente, wie das Qualitätshandbuch mehr als einmal pro Iteration durch- von der Vorgängeriteration verfasst zuführen. Ein zweites Audit bietet die Doch macht es überhaupt Sinn, in und der Fragebogen zur Mitarbeiter-/ Möglichkeit, die ausgeführten Verbes- einem Planspiel, wie dem SOP, Au- Kundenzufriedenheit vervollstän- serungen noch einmal zu überprüfen dits durchzuführen? Wie in jedem digt. Vorhandene Richtlinien wurden und zu bestätigen, aber auch um neue anderen Unternehmen, arbeiten auch erweitert und in jeder Iteration wur- Mängel aufzudecken. Doch um die im SOP alle verschiedenen Abteilun- den immer wieder neue Richtlinien, Zertifizierung nach der ISO-Norm gen an dem Fortschritt des Projekts. zum reibungsloseren Ablauf des Pro- 9001:2000 zu erhalten, mit der die Durch die verschiedenen Aufgaben, jektes, verfasst. Auch bei der Über- Anforderungen an ein funktionieren- die jede Abteilung zu erfüllen hat, wachung von Prozessen wurden neue des QMS nachgewiesen werden kön- treten auch hier immer wieder Män- Messziele mit den Kunden festgelegt. nen [3, S.27], müssen noch weitere gel oder Schwachstellen auf. So ist es Andererseits wurden auch Bereiche Audits ausgeführt werden. Der erste auch im SOP sinnvoll, regelmäßig außer Acht gelassen und erschweren Schritt in diese Richtung wurde mit Audits durchzuführen und effektive so den Entwicklungsprozess im Pro- der Ausführung des Prozessaudits ge- Verbesserungsmaßnahmen vorzuneh- jekt. Beispielsweise die Anforderung, macht. Dabei soll die Wirksamkeit men, um das Projekt kontinuierlich ein Dokumentenmanagementsystem der eingesetzten Prozesse im Projekt zu optimieren und voranzutreiben. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 66 ITERATION++ Verbesserung der Audits litätshandbuches. Es erleichtert den mit den Verbesserungsvorschlägen Doch durch den ständigen Wechsel Projektteilnehmern das Arbeiten im konfrontiert werden, sondern auch der Iterationen im SOP wird das Er- SOP, da sie es als Nachschlagewerk mit den positiven Auswirkungen, zu reichen einer andauernden Verbes- benutzen können um die benötigten denen die Audits verholfen haben. serung erschwert. Und zwar in Hin- Informationen zu erhalten. Doch im Bei der Durchführung eines Au- sicht darauf, dass das Risiko besteht, SOP ist die Wichtigkeit von Audits dits kann auf verschiedene Unter- dass Audit-Ergebnisse und somit zu den Projektteilnehmern noch suchungsmethoden zurückgegriffen auch die erforderlichen Verbesse- nicht vollständig durchgedrungen. werden [1, S.53]. Bisher wurde im rungsmaßnahmen nicht vollständig Man weiß zwar von den Schwachstel- SOP nach der Element bzw. Kapitel- an die abzulösende Iteration überge- len und hört von den Verbesserungs- orientierung auditiert [1, S.57]. Das ben werden. So sollten noch ausste- vorschlägen, doch wenn man nicht heißt, dass sich der Fragenkatalog hende Verbesserungen gleich zu Beginn an die neue Iteration übergeben werden, um das Beheben der Mängel so schnell wie möglich zu beseiti- „Wer fragt, der führt!“ gen. Doch dort könnte das Problem Sarah Letzgus, Qualitätssicherung entstehen, dass sich die Bearbeitung dieser Mängel zu sehr in die Länge zieht. Nämlich aus dem Grund, dass die Studenten der neuen Iteration sich erst einmal in ihre Rolle im SOP selbst davon betroffen ist oder davon an die ISO 9001:2000 anlehnt und zurechtfinden und einarbeiten müs- profitieren kann, wird der Effekt der die Wirksamkeit und Funktionalität sen. So wäre es sinnvoll, die Audits unternommenen Aktionen gar nicht des QMS anhand dieser Norm ge- gleich am Anfang jedes zweiten Pro- wahrgenommen. Ein gutes Beispiel prüft wird. Wie bereits im Abschnitt jektsemesters durchzuführen, damit dafür wäre die Bereitstellung von „Audits im SOP“ erwähnt, werden noch genügend Zeit für diese Itera- Ressourcen für die Softwareentwick- dabei alle Bereiche, die für das SOP tion besteht, die Schwachstellen in ler. Werden in dieser Abteilung dem- relevant sind, abgedeckt. Denkbar den Griff zu bekommen. entsprechende Verbesserungsmaß- wäre auch die Methode, in denen nahmen vorgenommen, profitiert auf das Audit differenziert nach Abtei- „Interne Audits lohnen sich erst, den ersten Blick nur die Softwareab- lungen durchgeführt wird [1, S.58]. wenn etwas mit ihnen im Unterneh- teilung davon. Doch natürlich pro- Dabei werden die Ergebnisse der ein- men bewirkt und verbessert wird“ [4, fitiert das ganze SOP davon, denn zelnen Abteilungen erstellt und da- S.1]. Erst nach dem Eintreten dieser wenn alle benötigten Einrichtungen nach für das gesamte Unternehmen Aussage und dem Feststellen der Ver- vorhanden sind, um erfolgreiche zusammengetragen. Ein für das SOP besserungen, wird ein Unternehmen Produkte herzustellen, führt dies zur ebenso vorstellbares Konzept wäre die Audits loben. Ein Beispiel dafür Kundenzufriedenheit und somit zum in Form eines Workshops [1, S.59]. wäre die Erstellung von neuen Richt- Erfolg eines Unternehmens. Darum Hierbei findet das Audit in einer Art linien, sowie das Aufbauen des Qua- sollte das komplette SOP nicht nur Review statt, wovon ein Auditbericht SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ITERATION++ mit den zu erfüllenden Maßnahmen Denkbar wäre ebenso der Versuch, erstellt wird. Der Unterschied zu ei- eine andere Auditform in das SOP nem normalen Review besteht darin, mit einzubeziehen. Dadurch könn- dass nicht alle Projektbeteiligten der te erreicht werden, dass durch diese Iteration anwesend sind, sondern nur neue Untersuchungsform die Forde- die Personen die beispielsweise an ei- rungen schneller umgesetzt werden. nem Prozess beteiligt sind. So kön- Doch diese Punkte erreichen nur nen auftauchende Schwachstellen dann ihren vollen Nutzen, wenn alle besser von den Auditoren innerhalb Projektteilnehmer diese Verbesse- dieser Runde hinterfragt werden und rungsvorschläge ernst nehmen. Jeder effektivere Verbesserungsmaßnah- sollte daran mitarbeiten den jewei- men eingeholt werden. Gerade bei ligen Zustand zu verbessern, sowie Produktentwicklungen oder bei der die Entwicklung danach weiterhin Einführung von neuen Prozessen zu verfolgen. Denn „Hauptsache ge- wird dieses Verfahren bevorzugt. prüft“ ist nicht der Sinn eines Audits. Fazit Quellen Es ist durchaus sinnvoll, in einem [1] Gietl Gerhard, Lobinger, Wer- Planspiel wie dem SOP, Audits durchzuführen. Es sollte weiterhin daran gearbeitet werden, die Zertifizierung nach ISO 9001:2000 zu erreichen. Dafür müssen in naher Zukunft, zusätzlich zu den System- ner: Qualitätsaudit: Planung und Durchführung von Audits nach DIN EN ISO 9001:200, München / Wien: Carl Hanser Verlag, 2003 [2] Qualität & Norm - ISO und Prozessaudits, in regelmäßigen 9001:2000, www.iso9001.qmb.info Abständen Produktaudits hinzugezo- [3] Kamiske Gerd F., Brauer Jörg- gen werden. Wichtig ist, dass auf die regelmäßige Ausführung der Audits Wert gelegt wird, denn nur so kann ein Zustand der Besserung erreicht werden. Je nach Bedarf und Umfang der Anforderungen können Systemaudits auch zweimal pro Iteration durchgeführt werden. So kann überprüft werden, ob Verbesserungsmaß- 67 Peter: ABC des Qualitätsmanagements, München: Carl Hanser Verlag, 2008 [4] Interne Audits, www.qm-online-forum.de/sub2/download/12_ Das_Kompendium_zum_QM_ STUFEN-MODELL_Kapitel_5_1. pdf nahmen angestrebt wurden und es können, wenn vorhanden, auch neue Schwachstellen aufgedeckt werden. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 68 ITERATION++ Zertifizierung im Softwareprojekt Der lange Weg bis zur Zertifizierung! Flavia Di Laudo Die Zertifizierung ist mittlerweile zum Standard geworden, um zu zeigen und zu bestätigen, dass das Unternehmen fähig ist, ein Qualitätsprodukt oder eine -dienstleistung zu liefern. Durch eine Zertifizierung zeigt der Betrieb, dass er sich in Sachen Qualität kundig gemacht hat und über Verfahren verfügt, die zu einer bestmöglichen Qualität für Produkte und Dienstleistungen führt. Ebenfalls müssen die Prozessabläufe so ausgelegt sein, dass sie die Kundenzufriedenheit verbessern. Wie könnte so eine Zertifizierung im SOP aussehen und ablaufen? Wofür ein QM-System? Ein Qualitätsmanagementsystem (QM) stellt Anforderungen, die auf alle Bereiche des Geschäftsprozesses anzuwenden sind. Sie zeigen die Anforderungen an ein Qualitätshandbuch und auf welche Weise Dokumentationen sowie Aufzeichnungen angewendet und gelenkt werden sollen. Neben den gestellten Forderungen und Spezifikationen an das zu liefernde Produkt wird heutzutage zusätzlich ein Nachweis über SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ein funktionierendes QM-System verlangt. Diesen Nachweis kann das Unternehmen beispielsweise durch ein Systemaudit erbringen, welches vom Kunden durchgeführt wird. Von größerer Wichtigkeit ist in dieser Relation allerdings die von einer unabhängigen, glaubwürdigen Stelle vorgenommene Bewertung der Effektivität des QM-Systems. Eine staatlich zugelassene Zertifizierungsstelle führt das sogenannte Zertifizierungsaudit durch. Nach Bestehen dieses Audits erhält das Unternehmen ein entsprechendes Zertifikat. Aufgrund dieses Verfahrens ist es einem Unternehmen möglich, mehreren Kunden durch nur ein Audit Vertrauen in sein QM-System zu geben. Die Zahl der Unternehmen die sich nach diesem Verfahren zertifizieren lassen ist in den letzten Jahren stark angestiegen. Eine genaue Zahl lässt sich hier nicht festmachen, da es einige Zertifizierungen in den Bereichen der Automobilindustrie, Umweltmanagement, Gesundheitswesen etc. gibt. Es gibt unterschiedliche Anlässe, warum sich ein Unternehmen zertifizieren lässt. Ein häufig genanntes Argument ist, dass Unternehmen durch den Druck der Kunden angetrieben werden eine Zertifizierung zu veranlassen, d.h. es werden nur Aufträge an Unternehmen vergeben, die auch zertifiziert sind. Aber auch einige andere Gründe spielen hierfür eine Rolle, wie zum Beispiel Vorteile im Marketingbereich, indem sie mit ihrer Zertifizierung in Zeitschriften werben können. Dies wirkt vertrauenserweckend und wird gerade auch deshalb gut sichtbar in Firmen an Eingangshallen platziert. Ein weiterer Grund ist die Organisation. Durch die Vorbereitung auf die Zertifizierung wird das QM-Systems überarbeitet und sorgt für bessere Prozessabläufe im Unternehmen. Dies erweist sich als gute Option, um frühere Fehler und Unvollständigkeiten wieder in Ordnung zu bringen. Einer der wichtigsten Aspekte ist die Steigerung der Qualität. Auch wenn die Qualität des Produktes nicht im Mittelpunkt eines QM-System steht, kommt es dennoch auch hier zu Verbesserungen. Das liegt daran, dass Fehlerursachen erkannt werden, eine höhere Mitarbeiterbeteiligung und die daraus schließenden gestiegenen Qualitätsbewusstsein oder an leichteren und folglich sicheren Abläufen. Ein Qualitätsmanagementsystem einzuführen hat daher gute Gründe und ITERATION++ Vorteile für ein Unternehmen. Dennoch besteht die Möglichkeit, dass bei der Durchführung Probleme auftreten. Denn in der Norm DIN ISO 9001 sind Forderungen und Hilfestellungen allgemein formuliert und diese somit nicht auf die Besonderheiten eines Betriebes abgestimmt. Dadurch wird eine Auslegung der Normforderungen auf einzelne Unternehmen nicht immer leicht. Die Zertifizierungsstelle sendet dem Unternehmen einen Fragenkatalog, der zur Selbstbeurteilung ausgefüllt werden soll. Dieser zeigt die bisherigen Qualitätsmanagement – Aktivitäten des Unternehmens, wie z.B. ob die Mitarbeiter den Inhalt der sie betreffenden QM-Dokumente kennen und die dort beschriebenen Maßnahmen auch anwenden. Dieser dient als Vorbeurteilung, ob „Qualität muss man denken, dann umsetzen.“ Flavia Di Laudo, Qualitätssicherung Zertifizierung eines QM-System Nach erfolgreicher Einführung eines Qualitätsmanagementsystems kommt nun die Zertifizierung. Abb. 1 beschreibt den allgemeinen Ablauf einer Zertifizierung. Um das Zertifizierungsverfahren zu beginnen, muss das Unternehmen eine staatlich akkreditierte Zertifizierungsstelle auswählen und dort einen Antrag auf Zertifizierung stellen. Wenn ein Vertrag zustande kommt, versichert sich die Zertifizierungsstelle, das Unternehmen während des Verfahrens zu begleiten und auch zu beraten. Die Zertifizierungsstelle verschafft sich vorab einen Überblick über den Betrieb und seinen Zustand hinsichtlich dessen QMSystem. Der Zertifizierungsprozess kann 1 bis 2 Jahre dauern. 69 Verfahren auch wirklich praktisch umgesetzt werden. Anhand der ISO 9001:2000 als Zertifizierungsnorm erfolgt das Audit. Jedoch variieren die Punkte je nach Unternehmen, da hier die erstellten Leistungen und Produkte genauer betrachtet werden und demnach dann entschieden wird, was für den Betrieb von Nutzen ist und welche Punkte nicht zutreffend sind. Es wird bei diesem Audit eine stichprobenartige Prüfung aller Prozesse und Bestandteile des Qualitätsmanagementsystems analysiert. Der Zertifizierer verwendet zusätzlich eine spezielle Auditfragenliste, die alle Forderungen der Norm enthält. Wenn während der Abarbeitung der Fragenlis- ein Unternehmen auch die Grundvorrausetzungen für ein Zertifizierungsaudit erfüllt. Die Vorbeurteilung hat den Zweck, dass Schwachstellen eines QMSystems frühzeitig erkannt werden und das weitere Vorkehrungen zur Zertifizierung getroffen werden. Das Unternehmen könnte sich auch zusätzlich für ein Voraudit entscheiden. Hierfür wird das QM-System geprüft und eventuell offenstehende Fragen würden dadurch geklärt werden. Zertifizierungsaudit Bei einem Zertifizierungsaudit wird geprüft, ob ein Unternehmen die im Qualitätshandbuch und in anderen Unterlagen dokumentierten Abb. 1: Schema der Zertifizierung eines QM-Systems SOP JOURNAL HOCHSCHULE REUTLINGEN R6 70 ITERATION++ te Schwachstellen auftreten, werden diese in Abweichungsberichten aufgezeichnet und folgend mit dem Unternehmen durchgesprochen. Der Abweichungsbericht ist in kritische, nicht-kritische Abweichungen und Anmerkungen zu unterscheiden. Kritischen Abweichungen müssen vor Ausgabe des Zertifikats behoben werden, dagegen hat man bei nichtkritischen Fehlern 6 Monate Zeit die Fehler zu beheben. Zusätzlich können erforderliche Nachaudits zur Prüfung der Korrekturmaßnahmen bestimmt werden. Zertifizierung im Softwareprojekt Ich habe mir bereits einigen Gedanken gemacht, wie wir im SOP eine Zertifizierung realisieren können. Leider gibt es einige Schwierigkeiten bei der Umsetzung. Gerade bei dem Punkt, sich für eine Zertifizierungsstelle zu entscheiden, müssen wir im SOP eine Alternative finden. Eine Idee wäre, eventuell der Testing-Abteilung diesen Job anzuvertrauen und neben den eigentlichen Aufgaben der Abteilung auch bei der Zertifizierung mitzuarbeiten. Gemeinsam mit der Qualitätssicherung könnte dann ein Fragenkatalog ausgearbeitet werden. Da eine Zertifizierung nur alle 3 Jahre durchgeführt wird, wäre es möglich jede Iteration stichprobenartig alles zu prüfen, sozusagen eine reduzierte Zertifizierung zu machen, die einen kleineren Umfang hat. Die QualiSOP JOURNAL HOCHSCHULE REUTLINGEN R6 tätssicherung prüft jede Iteration durch Audits die Abläufe im Unternehmen. Eine zusätzliche Prüfung wäre deshalb vorteilhaft um versteckte Fehler zu finden und diese schnellstmöglich zu beheben. Fazit Theoretisch wurde jetzt alles Wichtige besprochen. Jetzt geht es darum, dies auch in der Praxis umzusetzen. Um der Zertifizierung näher zu kommen, werden die kommenden Iterationen eine neue Aufgabe hinzu bekommen. Das Softwareprojekt ist zwar ein Planspiel, dennoch wird versucht, es so real wie nur möglich zu gestalten. Hierfür darf eine Zertifizierung nicht fehlen. Die Idee, wie die Zertifizierung im SOP aussehen könnte, bezieht sich bisher nur auf Theorie und eigener Vorstellung. Eine Garantie, dass dies so zu realisieren ist, gibt es nicht. Durch Absprachen mit der Geschäftsleitung könnte man Ideen zusammentragen, wie im SOP die Zertifizierung gemacht wird. Quellen [1] Kamiske Gerd F., Brauer JörgPeter – „ABC des Qualitätsmanagements“, München : Hanser, 2008 [2] Kalny Edith, Pusterhofer Rudolf – „ISO-Management : Chancen und Risiken bei der Zertifizierung nach ISO 9001:2000“, Wien : Linde, 1999 [3] Bernd Stauss – „Qualitätsmanagement und Zertifizierung; Von DIN ISO 9000 zum Total Quality Management“, Wiesbaden, Gabler, 1994 [4] Ekbert Hering, Werner Steparsch, Markus Linder – „Zertifizierung nach DIN EN ISO9000“, Springer Verlag, 1997 ITERATION++ 71 Guerilla Marketing Raffinierte Marketingstrategie oder geschmacklose Werbetreiberei? Stephanie Höhn Sie schlendern gemütlich durch ihren Lieblingspark, genießen die Sonne und die frische Luft. Plötzlich schrecken sie auf! Sie starren ungläubig auf den Schachtdeckel unmittelbar vor ihnen. Ragen da tatsächlich Hände aus dem Schacht? Sie rufen, ob sie helfen können. Keine Antwort. Ängstlich treten sie näher und erkennen, dass auf den Händen etwas deutlich eintätowiert ist. „Kritische Zeitungsberichte“? Erleichtert und überrascht zugleich erkennen sie, dass die Hände nur aus Plastik sind... ...Sie sind Opfer einer GuerillaMarketingkampagne von AmnestyInternational geworden, die mit dieser Aktion auf unschuldig Inhaftierte aufmerksam machen wollten. In diesem Artikel wird die Strategie des Guerilla Marketing erklärt und sowohl Vor- wie auch Nachteile aufgezeigt. Außerdem wird eine Guerilla Aktion entwickelt, mit der das Softwareprojekt der Hochschule Reutlingen diese Marketingstrategie für sich nutzen könnte, um die Öffentlichkeit und speziell die Zielgruppe der Schulabgänger auf den Studiengang und das Projekt aufmerksam zu machen. Dies könnte zu mehr Interessenten am Studiengang Medienund Kommunikationsinformatik führen. Von der Kriegsstrategie zur Marketing Strategie Der Ausdruck „Guerilla“ kommt aus dem Spanischen und bedeutet übersetzt „kleiner Krieg“. Nach der klassischen Definition wird damit der Kampf irregulärer Verbände gegen eine Fremd- oder Gewaltherrschaft bezeichnet. Sie kämpfen verstreut in beweglichen Einheiten und bevorzugen die Methoden des Überraschungsangriffs, des Hinterhalts und der Sabotage1. Definiert wurde der Begriff „Guerilla“ als erstes im spanischen Unabhängigkeitskrieg (1807-1814). Die Kämpfer sind meist Zivilisten ohne militärische Ausbildung. Sie gehen mit der sogenannten Nadelstichtaktik vor. Dabei werden gezielte kurze Angriffe auf taktisch wichtige Standorte des Feindes durchgeführt um diesen verzweifeln zu lassen. Ein sehr bekannter Vertreter dieser Taktik war der kubanische Revolutionär Che Guevara. Er veröffentlichte 1960 das weltberühmte Buch „Guerilla Warfare“, in dem er die Gueril1 vgl. o.V.: Brockhaus 1994, S. 270 la-Kriegsführung thematisiert. Die Grundidee des Buches ist der Kampf gegen eine Übermacht mit wenigen Ressourcen, durch den Vorteil der Flexibilität und schnellem überraschenden Handeln. 1965 waren amerikanische Forscher auf der Suche nach einer Methode, die den Markt grundlegend verändern sollte. Sie fassten die Ideen aus Che Guevaras Buch auf, entwickelten diese weiter und übertrugen sie auf das Marketing. Beeinflusst wurden die Wissenschaftler ebenfalls durch den zeitgleich stattfindenden Vietnam Krieg, in dem die Vietkongs durch gezielte Guerilla Angriffe dem amerikanischen Militär zu schaffen machten. Guerilla Marketing heute „Bieten Sie den Verbrauchern eine Botschaft, die es wert ist, dass man sich darüber unterhält und sie wird sich von alleine verbreiten. Das liegt in der menschlichen Natur.“2 Guerilla Marketing ist eine noch relativ junge Form des Marketing und basiert vor allem auf der Mundpropaganda. Der Mensch in der heutigen 2 Aussage aus: Buzz: Harness the Principles of Influence and Create Demand von Marian Salzman, Ira Matathia und Ann OReilly SOP JOURNAL HOCHSCHULE REUTLINGEN R6 72 ITERATION++ Zeit wird über Radio, TV, und durch Plakate auf Werbeflächen von Werbung überhäuft. Überall versuchen Verkäufer auf ihre Produkte aufmerksam zu machen. Dadurch sind die Menschen der westlichen Gesellschaft von Werbung übersättigt und nehmen herkömmliche Werbeaktionen oft nicht mehr wahr. Ziel der Guerilla Strategie ist es die Aufmerksamkeit der Konsumenten durch originelle und außergewöhnliche Werbeaktionen zu gewinnen. ten dazu zu verleiten, das Erlebte weiter zu verbreiten. So soll ein möglichst großes Publikum und eine nachhaltige Kommunikation erreicht werden. Populär wurde die Strategie Anfang der 80iger Jahre durch Jay Conrad Levinson, der das erste Buch zu Guerilla Marketing veröffentlicht hat und seitdem als Guerilla-Guru gilt. Ursprünglich wurde diese provokante Form des Marketings als Waffe im Kampf der kleinen Unternehmen gegen die Großen verwendet. Heutzu- „Nur wer sich von der Masse abhebt wird wahr genommen!“ Stephanie Höhn, Marketing Dabei werden die unterschiedlichsten Medien für die Verbreitung einer Werbebotschaft genutzt. Guerilla Marketing ist laut Thorsten Schulte, dem bekannten Marketing Manager und Fachbuchautor, „unkonventionell, überraschend, originell/kreativ, frech/provokant, kostengünstig/effektiv, flexibel, ungewöhnlich/untypisch, witzig, spektakulär, ansteckend.“ Im Wesentlichen zielt Guerilla Marketing darauf ab, sich von den Marketingaktivitäten der Wettbewerber abzugrenzen, anders zu sein und aufzufallen. Die Werbeaktionen sollen schockieren, amüsieren oder zum nachdenken anregen, um Passanten und JournalisSOP JOURNAL HOCHSCHULE REUTLINGEN R6 tage nutzen allerdings auch „Global Player“ wie beispielsweise Nike diese Methode, um das werbeüberflutete Publikum zu begeistern. Ein Beispiel hierfür ist die Aktion „Go Heinrich Go“, bei der Nike am Berlin Marathon einen Marathonläufer ins Rennen schickte, dessen Alter mit 80 Jahren weit über dem Durchschnitt der anderen Sportler lag. Er beendete den Marathon erfolgreich. Dadurch wurde um den alten Herren und auch um Nike ein enormes Medieninteresse ausgelöst. Da Adidas der Hauptsponsor dieses Marathons war, stellte Nike mit dieser Aktion seinen Konkurrenten auf originelle Weise in den Schatten. Es gibt jedoch durchaus auch kritische Stimmen zum Guerilla Marketing. Gerade bei Sportveranstaltungen wird die Ethik von solchen Strategien stark diskutiert. Einer der bekanntesten Kritiker ist Tony Meenaghan. Er ist Professor am „College of Business & Law“ in Dublin und hat sich ausführlich mit dem Thema auseinander gesetzt. Meenaghan kritisiert, dass manche Firmen den Medienrummel bei Sportevents für ihre Werbezwecke ausnutzen, ohne viel Geld zu investieren. Durch Guerilla Taktiken wird versucht, die Konsumenten irrezuführen. So werden die tatsächlichen Sponsoren in den Hintergrund gedrängt. Da dem Hauptsponsor, der viel Geld in einen Event investiert hat, die Aufmerksamkeit der Medien entzogen wird, bezeichnet Meenaghan diese Art des Werbetreibens als stehlen. Ein solches Verhalten führe dazu, dass die „echten“ Sponsoren abspringen, was eine negative Auswirkung auf die Finanzierung von solchen Events hat. Er ist der Meinung, dass allein das Unternehmen, das die Gebühren zahlt, auch von einem Event profitieren dürfe. Da Guerilla Marketing-Aktionen aufsehenerregend und schockierend sein sollen, greifen viele Unternehmen auch zu Mitteln, welche man durchaus als geschmacklos bezeichnen kann. Das Beispiel von Amnesty International könnte Menschen verärgern, oder sogar Angst machen. ITERATION++ Guerilla Marketing und das SOP Da diese Form des Marketings mit sehr wenig Geld umzusetzen ist, könnte auch ein Hochschulprojekt wie das Softwareprojekt auf diese Weise auf sich aufmerksam machen. Alles was benötigt wird, ist eine medienwirksame kreative Idee und den Mut sie umzusetzen. Denkbar wäre eine Aktion über die die Zeitungen und beispielsweise das RTF (Reutlinger Tübinger Fernsehen) berichten würden. Für das Softwareprojekt wurde ein Film gedreht, in dem das Hochschulprojekt anhand eines Schachspiels erklärt wird. Des Weiteren existiert eine Webseite zum Softwareprojekt, in dem allgemeine Informationen zum Planspiel, wie auch der Film zu finden sind. Für eine Guerilla Aktion könnten diese Informationsmedien genutzt werden. Man könnte beispielsweise menschengroße Schachfiguren aus Pappmaché oder Karton modellieren. Diese müsste man über Nacht, nach einem bestimmten Muster, in ganz Reutlingen aufstellen. Wichtig hierbei wäre, dass man Figuren auch vor Gymnasien aufstellt, um die Zielgruppe der Schulabgänger zu erreichen. Auf jeder Spielfigur müsste deutlich die Adresse der SOP-Webseite lesbar sein. Eine solche Aktion würde Passanten neugierig machen und höchstwahrscheinlich dazu verleiten, die SOP-Webseite zu besuchen. Der Film auf der Internetseite sorgt dann für Aufklärung, da die Zuschauer eine Analogie zwischen den Schachfiguren im Film und den lebensgroßen Vertretern in der Stadt herstellen können. Zusätzlich werden auf der Seite Informationen zum Studiengang Medien- und Kommunikationsinformatik bereit gestellt. Um die Besuche der SOP-Webseite noch weiter in die Höhe zu treiben, wäre es denkbar, ein Gewinnspiel in die Aktion zu integrieren. So könnten die Schachfiguren neben der Webseitenadresse auch mit unterschiedlichen Nummern beschriftet sein. Die Interessierten treffen beim Besuch der Webseite auf ein Gewinnspiel, das mit der Eingabe einer gesuchten Zahl beendet wird. Sinnvoll wäre eine solche Werbeaktion kurz vor einer Informationsveranstaltung, wie dem „Tag der offenen Tür“. In diesem Fall sollte auf der Webseite ebenfalls auf diese Veranstaltung hingewiesen werden. „Führen all diese Erkenntnisse zum Tod der Werbung? Nicht im Geringsten. Ist dies das Ende der Werbung, wie wir sie heute kennen? Auf jeden Fall.“ Quellen Weblinks: http://www.guerilla-marketing-portal.de Letzter Zugriff: 24.05.09 http://www.guerilla-marketing-blog.de/ Letzter Zugriff: 24.05.09 http://www.guerilla-marketing-blog.de/ info/guerilla-minilexikon.html/Letzter Zugriff: 22.04.09 73 http://www.4managers.de/themen/ guerilla-marketing/ Letzter Zugriff: 24.05.09 http://de.wikipedia.org/wiki/Guerilla/ Letzter Zugriff: 26.04.09 http://www.marketing-trendinformatio-nen.de/werbung/news-archiv/ heilsamer-schock-7-guerilla-ideendie-grenzen-ueberschreiten.html/ Letzter Zugriff: 22.04.09 http://www.murdoch.edu.au/elaw/ issues/v8n2/kendall82_text.html/ Letzter Zugriff: 22.04.09 http://guerillamarketingbuch.com /category/about/ Letzter Zugriff: 24.05.09 http://www.guerillamarketingbuch. com/ebook/ebook-guerilla-marketing-online-mobile-crossmedia.pdf/ Letzter Zugriff: 24.05.09 Literatur: [1] Jay C. Levinson, Seth Godin, Das Guerilla Marketing Handbuch, Ver-lag Heyne Campus. [2] Jay Conrad Levinson (2006), Die 100 besten Guerilla-Marketing-Ideen, Campus Verlag, ISBN 3593381702 [3] Ralf Kreutzer (2006), Praxisorientiertes Marketing: Grundlagen, Instrumente, Fallbeispiele:[Bachelor geeignet], Springer, ISBN 3409143343 [4] Marian Salzman, Ira Matathia, Ann OReilly, Buzz: Harness the Principles of Influence and Create Demand [5] Meenaghan, Tony : Ambush marketing – a threat to corporate sponsorship, SLOAN MANAGE-MENT REVIEW, Heft: 1, 1996, Vol. 38, S. 103 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 74 ITERATION++ User Interfaces und Ergonomie Mensch und Maschine ‐ Symbiose oder Kampf? Jaroslaw Marek Zawadzki „Technische Systeme werden an die Fähigkeiten des Menschen angepasst, nicht umgekehrt.“ (vgl. [1]) Inwieweit diese Aussage bei der Gestaltung und Evaluation der im Softwareprojekt (SOP) erstellten grafischen Benutzeroberfläche für die Langzeitarchivierungssoftware, genannt Tréstore, eine Rolle spielt, soll in diesem Artikel nachgegangen werden. GUI vs. Ergonomie Im Jahr 1973 wurde eine neue Generation von Computern entwickelt, die sich einer grafischen Oberfläche bedienen. Ein wichtiger Schritt in Richtung Produktergonomie für Computernutzer wurde dadurch getätigt. Ergonomie beschreibt hierbei den Zweig der Wissenschaft, der sich mit der Anpassung von Mensch an Maschine befasst. Wichtig ist dabei die Variabilität des Menschen zu kennen und in der Entwicklung zu berücksichtigen. Das Produkt muss benutzerfreundlich im Umgang und schnell zugänglich sein. Werden diese Anforderungen erfüllt, wird laut Aussage der TU München, die BeSOP JOURNAL HOCHSCHULE REUTLINGEN R6 lastung für den Menschen reduziert und die gesamte Leistungsabgabe optimiert (vgl.[2]). Die Anforderungen an eine grafische Benutzungsschnittstelle im Rahmen der Mensch-Computer-Kommunikation sind in der europäischen Norm EN ISO 9241110 ff. geregelt (vgl. [3]). Das 1973 entwickelte System war damals ein Vorgänger der heutigen, weit verbreiteten Bedienungsweise, wie man sie vom Windows PC kennt. Statt komplexer Steuerung über Tastatur und Kommandozeile, wurde eine völlig neue, mit Maus steuerbare Oberfläche geschaffen. Das „Graphical User Interface“ stellt dabei eine Benutzerschnittstelle für Anwendungssoftware da, mit deren Interface eine einfache Bedienung realisiert wird. ISO Norm 9241-110: Benimmregeln für interaktive Systeme Auch die Internationale Organisation für Normung (kurz: ISO) hat sich mit dieser Thematik auseinandergesetzt und in der Norm ISO 9241-110 Dialogprinzipien aufgestellt, welchen interaktive Systeme im Umgang mit Menschen folgen sollten. Die wichtigsten dieser Prinzipien sind: • Selbstbeschreibungsfähigkeit • Aufgabenangemessenheit • Erwartungskonformität • Fehlertoleranz • Steuerbarkeit • Individualisierbarkeit • Lernförderlichkeit Der von Britta Hofmann 2008 veröffentlichte „Dialogknigge“ beschäftigt sich mit eben diesen Prinzipien und beschreibt Anwendungsfälle dieser in heutigen Softwaresystemen (vgl. [4]). Der Weg zum Ziel Aufgabe dieser Iteration war es, der im Zuge des Softwareprojekts entstandenen Archivierungssoftware (Tréstore) eine benutzerfreundliche Oberfläche zu geben. Um ein besseres Bild von den Anforderungen an und Fähigkeiten für eine solche Benutzeroberfläche aus Kundensicht zu bekommen, lagen der Softwareabteilung verschiedene, von der Firma Trésor angefertigte, Personas vor, welche stellvertretend für die Benutzergruppe standen. Eine der hieraus direkt ersichtlichen Anforderungen war es, selbst unerfahrenen Usern eine einfache Bedienung zu ermöglichen. ITERATION++ Um das von den Personas gewonnene Bild der potentiellen Kundengruppe weiter zu verschärfen, wurde ein detaillierter Umfragebogen zu diesem Thema gestartet. Dieser wurde u.a. von Mitarbeitern der in der Wirtschaft tätigen Unternehmen, wie auch von Studenten und Auszubildenden bearbeitet. Bei der Auswertung der Fragebogen kam ein Problem zum Vorschein, welches folgendes Zitat ziemlich genau beschreibt: „Ein kluges Design mag für eine Benutzergruppe passen, aber für eine andere ist es unangemessen“ (vgl. [5], S.26). oberfläche interessierten. Komplexe Entscheidungen sollten hierbei weitest gehend von der Software selbst übernommen werden. Die zum Teil doch sehr unterschiedlichen Anforderungen resultieren, wie aus der Umfrage ersichtlich, aus dem ebenso unterschiedlichen Wissensstand der Benutzer im Umgang mit informationstechnischen Systemen, wie beispielsweise einem Computer. Die beste Lösung, um beiden Anforderungen gerecht zu werden, schien hierbei der Einsatz einer Rollenverwaltung. Diese erlaubt es nun, direkt schon beim Login zwischen verschie- „In der heutigen Zeit kann sich nun einmal nicht jedes Unternehmen eine teure GUI Entwicklung leisten.“ Jaroslaw Marek Zawadzki, Testing So kristallisierte sich sowohl bei der in der Wirtschaft tätigen Befragten, wie auch bei den Studierenden und Auszubildenden eine größere Gruppe heraus, welche sich eine komplexere Benutzeroberfläche wünschte, die Ihnen die Freiheit gibt, über Einstellungen und Veränderungen von Zuständen in der Software selbst entscheiden zu können. Im Gegensatz dazu gab es jedoch auch eine nicht zu unterschätzende Gruppe derer, welche sich für eine eher schmalere und einfach aufgebaute Benutzer- denen Rollen zu wählen. So gibt es in naher Zukunft eine Rolle „Beginner“, wie auch eine Rolle „Professional“, welche den Usern, ihrem jeweiligen Wissensstand entsprechend, Rechte zuweisen oder verweigern. Gleichzeitig dient diese Rollenverwaltung der Auswahl zwischen einem ausgebauten oder in der Bedienung eingeschränkten Benutzerinterface. Auf diese Problematik geht auch die ISO Norm 9241-110 ein, indem Sie eine Anpassung des Systems an die Fähigkeiten und Bedürfnisse der 75 jeweiligen User fordert. Britta Hofmann nennt in Ihrem Knigge als Beispiel hierfür die Vergrößerung der Schrift als ein gängiges Beispiel für diesen Grund der Individualisierbarkeit (vgl. [3]). Die in der ISO Norm als Selbstbeschreibungsfähigkeit geforderte Anforderung verlangt eine Gestaltung der Oberfläche dahingehend, dass sich ein Benutzer zu jeder Zeit leicht darin orientieren kann. Dies beinhaltet das Wissen darüber, wohin beispielsweise ein Button den Benutzer führt, wie auch das Wissen darüber, woher dieser gekommen ist und wie er wieder dahin zurückkehren kann. In der Praxis sieht das nun so aus, dass der Benutzer durch eine stets sichtbare Navigationsleiste, in welcher der für den aktuellen Teilbereich zuständliche Button besonders hervorgehoben ist, genau weiß, in welchem Zustand der Software er sich befindet. Große, übersichtlich angeordnete Buttons tragen eindeutige Beschriftungen wie beispielsweise „Speichern“, „Abbrechen“ etc., aus denen ersichtlich ist, welche Funktionalität sie bewirken. Desweiteren trägt die Farbgebung zur besseren Übersicht bei. So sind sämtliche Buttons in passenden Kontrastverhältnissen zur restlichen Oberfläche gehalten. Die Navigationsleiste selbst ist stets einfarbig gehalten und zeigt durch eindeutige Icons den Weg auf, wohin diese den Benutzer führen. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 76 ITERATION++ Hiermit wurden auch gleich die in der ISO Norm angesprochenen Fähigkeiten der Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit und Steuerbarkeit von Interaktiven Systemen abgedeckt. Gerade für die etwas unerfahrenere Gruppe von Benutzern ist das Thema Fehlertoleranz sehr wichtig. Laut ISO Norm ist hierbei darauf zu achten, dass das System den Benutzer Fazit: Vor- und Nachteile einer per- zwar von Fehlern bewahrt, wie dies beispielsweise durch klar verständliche Sicherheitsabfragen gegeben ist, ihm aber auch die Chance gibt, bei Auftreten eines Fehlers diesen selbstständig beheben zu können. tionsweise der Software besser ist, als „Der SOP Software selbst liegt ein detaillierter Interaktionsgraph zugrunde“ (vgl. [6]), welcher jede durch den Benutzer mögliche Aktion, wie auch die darauf folgende Reaktion des Softwaresystems abbildet. Ein solcher Graph stellt eine große Hilfe dar, wenn es darum geht, kritische Bereiche ausfindig zu machen, welche dann gezielt abgefangen werden können. So wird ein falsches Passwort beim Login Prozess beispielsweise in der Art behandelt, dass der Benutzer durch ein AlertFenster darauf aufmerksam gemacht wird. Dieser kann nun nach Bestätigung der Meldung, den Fehler durch eine Korrektureingabe selbstständig lösen. Dieses Prinzip kommt in der gesamten SOP-Software zum Einsatz und umspannt sie somit wie eine Art Sicherheitsnetz. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 sonalisierten GUI Doch warum betreibt man eigentlich diesen ganzen Aufwand? Ziel ist es, den Kunden auch langfristig an die Softwarelösung zu binden oder sogar für neue Produkte zu gewinnen. Eine ergonomische GUI kann im Idealfall einen Wettbewerbsvorteil gegenüber anderen Konkurrenten bieten, wenn die Bedienung, Logik und Funkdie der Konkurrenz. Durch immer wieder kehrende Designs und Bedienungskonzepte erreicht man einen hohen Wiedererkennungs- und Akzeptanzwert, wie die beispielsweise bei der gesamten Softwarepalette von Microsoft der Fall ist. Allerdings dürfen bei der ganzen Thematik auch die zum Teil hohen Aufwands- und Zeitkosten, welche bei der Entwicklung einer solchen GUI entstehen, nicht außer acht gelassen werden. In der heutigen Zeit kann sich nun einmal nicht jedes Unternehmen eine teure GUI-Entwicklung, mit sämtlichen dazugehörigen Teilaspekten, wie Interaktionsgraphen, Userbefragungen etc. leisten. Die Konkurrenz ist groß und so findet man sich schnell auf einem schmalen Grat zwischen einer professionellen GUI-Entwicklung und dem kostengünstigen Vertrieb dieser mit dem späteren Produkt. Quellen [1] http://www.steinrisser.at [2] http://www.ergonomie.tum.de/ lehrstuhl/ergonomie.htm [3] http://www.beuth.de/langanzeige/N+EN+ISO+9241-110/ 110514174.html [4] http://www.fit-fuer-usability.de/ archiv/einfuehrung-in-die-iso-9241110/Britta Hofmann - Einführung in die ISO 9241-110, 13. Februar 2008 [5] Ben Shneiderman: User Interface Design, 3.Auflage 2002, Mitp-Verlag Bonn [6] Wagner, Rainer; „Interaktionsgrafen im Softwareprojekt“, Fachjournal „Iteration++“, Januar 2009, MKI Hochschule Reutlingen ITERATION++ 77 Wunsch nach einem neuen Zeichen? Hier lernen Sie das erfolgreiche Logo kennen! Zehra Türkkan außen abgestimmt eingesetzt wird. Doch was beinhaltet das Corporate Doch wie wird eine Corporate Iden- Design im Unternehmen? „Unternehmen wachsen und verän- tity zum Leben erweckt? Dies ge- Ein Corporate Design beinhaltet Ge- dern sich, Mitarbeiter kommen und schieht durch ihre Anwendung auf staltungskonstanten: Logo, Hausfar- gehen, die Corporate Identity je- Geschäftspapieren. Dabei sollte die ben, Hausschrift, Gestaltungsraster doch ist etwas, das bleibt und eine Anwendung durchdacht sein, damit und Stilvorgaben für Abbildungen, kontinuierliche, wenngleich flexible die Geschäftsausstattung nicht in der Fotos und Internetauftritt. Von die- Konsistenz bietet.“ (vgl. [1], S. 27). grauen Masse von Briefbögen und sen Konstanten wird zunächst ein Ein Firmenzeichen ist die Grundlage Visitenkarten versinkt und das Design- Firmenlogo erstellt, das die Gestal- der visuellen Erscheinungsbilder. Der konzept am Ende aufgeht (vgl. [1], tung sämtlicher visueller Äußerun- Wunsch nach einem neuen Zeichen S. 112). Der Hauptteil der Corpo- gen eines Unternehmens von Kom- entsteht, wenn das bestehende Zeichen rate Identity ist das Corporate De- munikationsmitteln bestimmt (vgl. veraltet oder verbesserungsbedürftig ist sign, welches das Erscheinungsbild [2], S. 61). (vgl. [5]). Damit das Softwareentwicklungsunternehmen ITer@ Group im Projekt erfolgreich in allen Branchen dargestellt werden kann, wird eine Marketing-Abteilung benötigt. Aus „Erfolg im Unternehmen, wenn das Firmenzeichen modern aber nicht modisch wirkt!“ Zehra Türkkan, Marketing diesem Grund wurde diese in der Iteration R6 schließlich eingeführt. Um das Erscheinungsbild des Un- der Firma ITG nach außen hin re- Wirkung von Firmenlogo-Design ternehmens „ITer@ Group“ [ITG] präsentiert (s. Abb. 3). Das Projekt Logos sind Zeichen, die charakteris- zu präsentieren, wird die Entwick- beschränkt sich zunächst nur auf die tische Merkmale enthalten und einen lung einer Corporate Identity er- Geschäftsausstattung, später wird Bezug zum Unternehmen herstellen. stellt. Corporate Identity bedeutet auch eine Homepage gemäß des Cor- Beim Softwarprojekt [SOP], das ein Unternehmens-persönlichkeit porate Designs erstellt. bei dem das Verhalten, die Kommunikation und das Erscheinungsbild sowohl nach innen als auch nach Abb. 1: altes und neues Logo SOP JOURNAL HOCHSCHULE REUTLINGEN R6 78 ITERATION++ Grafikprogramm-Datei gekommen. Logo sollte man sich sofort mindes- Desweiteren gibt es keinerlei Richtli- tens an einen Element erinnern kön- nien, Dokumentation über das Logo nen und es somit identifizierbar ma- wie es verwendet werden darf: auf chen. Im Gegensatz zum alten Logo farbigem Hintergrund, Graustufen, enthält es keine überflüssigen De- die Platzierung und die Farbwerte tails wie Schrift-Schatten und Farb- des Logos. Die Marketing-Abteilung verlauf. Beim alten Logo handelt es hat zunächst drei Logo-Entwürfe sich um eine Wortmarke, die nur aus bei den Projektmanagern vorge- dem Namen „iter@ group“ besteht. stellt und deren Bedeutung näher Vermutet wird nämlich, dass das alte erläutert. Anschließend wurde ein Logo ohne professionelle Hilfe er- Logo vom Projektteam als das neue stellt worden ist und ohne Gedanken Logo ausgewählt (s. Abb. 1, rechts). an eine spätere Wiederverwendbar- Unternehmens-Rollenspiel an der Das Marketing-Team, das aus zwei keit. Hochschule Reutlingen ist, wird ein Leuten besteht, hat das neue Logo Logo entwickelt (vgl. [1], S. 14). Das als Wort-Bild-Marke kreiert, die Grundlagen der Gestaltung ITG-Logo soll dabei Aufmerksam- aber eine Wiederkennung des al- Alle Elemente sind in einer Richt- keit wecken, Signalwirkung haben, ten Logos in sich birgt, und einen linienbroschüre namens „Corporate informieren, erinnerungsstark sein grafischen Bezug mit dem Begriff Design: Grundlagen der Gestaltung und einen eigenständigen und lang- „Iteration“ zur Firma hat. Das erste bei ITer@ Group“ festgehalten. lebigen, ästhetischen Wert besitzen Wort des Firmennamens „ITer@“ Das Corporate Design umfasst die (vgl. [2], S. 61). steht für Iteration und bedeutet Beschreibung des Unternehmens- „wiederholen“, das durch einen gra- zeichens (Verwendung auf Hin- Neues Firmenlogo ist notwendig! fischen Ring um den Firmennamen tergrundfarben, Bevor ein neues Logo skizziert wird, ITer@ Group bildlich dargestellt Fließtexteinsatz), Gestaltungsraster, fordert der Geschäftsführer eine wird. Hausschrift, Hausfarben. Um ITG Designelemente Wort-Bild-Marke Hausschrift Hausfarbe Gestaltungsraster Anwendungsfälle Geschäftspapier Broschüren Briefkopf Anzeigen Visitenkarten Mailing Abb. 2: Die konstanten Elemente des CD Positionierung, optisch wiederzuerkennen wird ein detaillierte Begründung von der Marketing-Abteilung, warum das Die Überlegung bei diesem Entwurf Gestaltungsraster verwendet. Im bestehende Logo verändert werden richtete sich hauptsächlich um ein Raster sitzen Logo, Text und Bil- soll. Die Begründung lautet, dass das einfaches und markantes Logo, nach der an fest vorgegebenen Stellen. alte Firmenlogo (s. Abb. 1, links) in dem Motto „weniger ist mehr”. Am Die Hausschrift von ITG ist die einer JPG-Datei in schlechter Qualität vorliegt. Daher ist auch eine Wiederverwendbarkeit des Logos auf Printdesign nur mit erheblichen Qualitätsverlusten möglich. Trotz umfangreicher Recherche ist man nicht in den Besitz der originalen SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Vorteile von Corporate Identity (CI) und Corporate Design (CD) CI CD verbessert Selbstverständnis höhere Wiedererkennbarkeit klares inneres Firmenprofil höherer bekanntheitsgrad klare Marktpositionierung klare Abgrenzung gegenüber Mitbewerbern Abb. 3: Vorteile von CI und CD, Quelle: vgl. ihk-bonn.de ITERATION++ „Calibri“. Die Schrift ist auf Standardsystemen vorhanden und ist ein moderner Font. Das ITG Logo wird in zwei Farbtönen, Grau und Orange präsentiert. Die Farbe Orange ist eine sehr lebendige und frohe Farbe und Grau signalisiert Quellen [5] Vgl. http://clearinghouse.hbi- [1] Vgl. Rivers, C.: Corporate Design: Briefkopf, Logo und Vikenentwicklung. Stiebner Verlag, Handbuch. Springer Verlag, Heidel- München: 2003 berg 2000 und Neutralität (vgl. [6], S.133, S. Corporate Imagery. Wie Ihr Unter- 143). Zusätzlich sind Abbildungen nehmen ein Gesicht bekommt. Ber- der Geschäftsausstattung zu finden lin: 2004 schüre). Zusammengefasst: wer einen Namen hat, bekannt ist und ein positi- cicd.php (19.04.2009, 16:00) [6] Vgl. Thissen, F.: Screen Design: [2] Vgl. Herbst, D.; Scheier, C.: mensschild, Masterfolie, Imagebro- stuttgart.de/projekte/websitepr/ sitenkarte als Elemente der Mar- Eleganz und assoziiert Sachlichkeit (Geschäftspapier, Visitenkarte, Na- 79 [3] Vgl. Tabelle1: www.Ihk-bonn. de/fileadmin/dokumente/Downloads/Presse/Vortrag_Corporate_ Design.pdf (11.04.2009, 20:00) ves Image zeigt erreicht somit einen [4] Vgl. www.rkw-bw.de/pdf/ratio/ Wettbewerbsvorteil (vgl. [5]). ratio_3_2001.pdf (17.04.2009, 15:30) »Ein Logo ist dann gut, wenn man es mit dem grossen Zeh in den Sand kratzen kann« Kurt Weidemann, Typograph SOP JOURNAL HOCHSCHULE REUTLINGEN R6 80 ITERATION++ Logo kommt nicht von Logik Die kritische Auseinandersetzung mit der Entwicklung eines Logos innerhalb des Softwareprojekts Daniel Wenhardt Das Logo bildet den essentiellen Kern einer jeden Corporate Identity und ist dadurch auch das Aushängeschild einer Marke. Kaum eine Firma, unabhängig von ihrer Größe, kann es sich leisten auf ein imageprägendes Auftreten nach außen hin zu verzichten. Infolge dessen stellt sich also die Frage, wie man so ein zentrales Merkmal einer Firma erstellt und welche Anforderungen und Strategien es gibt, die man bei der Entwicklung eines Logos innerhalb des Softwareprojekts beachten soll. Darüber hinaus gilt es zu klären, wie es sich mit diesen Kriterien verhält, wenn man sie anhand von Erfahrungen aus dem Arbeitsalltag und den anderer Experten überprüft. Obwohl die Erstellung eines Logos ein Prozess ist, der sich über weite Strecken darauf beschränkt mit ästhetischen Fragen der optischen Wahrnehmung – Farbwirkung, Kontraste, Proportionen, etc. – auseinanderzusetzen, dürfen dennoch maßgeblichen Faktoren, die auf die Entwicklung und Vollendung eines Logos einwirken nicht aus dem Fokus unserer Betrachtung rücken. Nach Michael Bernd Siegles Buch „Logo - Grundlagen der visuellen Zeichengestaltung“ sind die Arbeitsabläufe zur Erstellung SOP JOURNAL HOCHSCHULE REUTLINGEN R6 eines Logos streng in verschiedene Schritte unterteilt. Zum einen in die arbeitsvorbereitenden Phasen, die sich aus einem Briefing, Ideensuche, Skizzieren zusammen setzen und zum anderen in die abschließenden Umsetzung, bestehend aus Layout, Präsentation und Reinzeichnung. Diese starre Unterteilung ist zwar inhaltlich richtig und auch andere Logodesigner nutzen sie, wie auch David Airey auf seiner Homepage beispielhaft aufzeigt (vgl. [2]). Jedoch wird sie der praktischen Anwendung im Arbeitsalltag nicht gerecht, da sie von einem idealen Ablauf bei der Logo Entstehung ausgeht. Hier wird also außer Acht gelassen, dass es durch Verzögerungen, neu eingebrachten Ideen und verspäteter Kritik zur Vermischung der Arbeitsschritte kommen kann. So wird auch innerhalb des Softwareprojekts deutlich, dass das Zusammenspiel von Kunde und Gestalter keinesfalls an festgeschriebene Regeln gebunden ist und ein fertig ausgearbeiteter Entwurf zu jeder Zeit verworfen werden kann. Dennoch ist festzuhalten, dass man diese Richtlinien zur groben Orientierung verwenden kann. Somit zeigt sich, dass es festgelegte Verfahrensweisen gibt, anders sieht es bei den Zeitvorgaben aus. Wenn man bedenkt, dass das weiß blaue sonnenartige Logo der Olympischen Som- merspiele 1972 in München bei seiner Entwicklung ganze fünf Jahre in Anspruch nahm (vgl. [3]) , könnte man schnell den Eindruck gewinnen, dass es innerhalb der weitaus kürzeren Zeit des Softwareprojekts sehr schwer ist, zu einem Ergebnis zu gelangen. Jedoch ist diese ausgiebige Entwicklungszeit kein Regelfall und so verrät Creative Director Sol Sender, der für das aus dem letzten amerikanischen Wahlkampf bekannt gewordene Logo Barack Obamas verantwortlich ist, dass „das ganze Unterfangen (...)“ trotz sieben bis acht Ausgangsentwürfen „(...) in weniger als zwei Wochen“ abgeschlossen werden konnte (vgl. [4]). Dieses zeigt, dass man sich bei großzügigen Zeitvorgaben sehr detailverliebt und langwierig mit dieser Thematik auseinandersetzen darf und kann, mit der nötigen Arbeitsmoral aber auch innerhalb von einem, wie im Softwareprojekt, knapp eingegrenzten Zeitrahmen mit einem konsensfähigen Produkt aufwarten kann. Ob das Produkt tatsächlich zufriedenstellend ist, hängt in hohem Maß von der Zielsetzung und deren Erfüllung ab. Für den Logodesigner Miles Newlyn, verantwortlich für die Logos von Marken wie Unilevers und Honda, ist es beispielsweise „(...) das Wichtigste einen guten Eindruck davon zu erhalten was für eine Person der Kunde ist“ (vgl. [5]). ITERATION++ So führt auch Michael Bernd Siegle in seinem Buch eine Reihe von Kriterien auf, die in einem Briefing mit dem Kunden fest zu legen sind. Präzisiert setzen sich diese zusammen aus der Definition einer Zielgruppe, der Wesensart des Unternehmens oder Produkts und der gewünschten Wirkung nach außen hin. Folglich hat der Gestalter die Aufgabe, den Wünschen des makes a Great Mark“ wirft, findet man weitere Kriterien, die es bei der Logo Entwicklung zu beachten gilt (vgl. [7]). Der Schöpfer von Logos, wie dem des amerikanischen Fernsehsenders NBC, gibt Anforderungen, die sich eindringlicher auf das eigentliche Logo-Aussehen konzentrieren und fordert in 6 Punkten: Zweckmäßigkeit, Lesbarkeit, Einprägsamkeit, Flexibilität im Ein- „Kreativ sein bedeutet, aus Chaos Ordnung zu erschaffen.“ Daniel Wenhardt, Marketing Kunden zu entsprechen. Jedoch gibt es auch Stimmen, die dieser Sichtweise einer Arbeitsgrundlage widersprechen. So legt einem die Leitlinie des Medien Design Büros Farrow: „Die Aufgabe eines Designers liegt darin den Kunden so weit wie Möglich an seine Grenzen zu treiben.“ nahe, nicht nur kritiklos auf Vorgaben einzugehen (vgl. [6]), sondern die eigenen Vorstellungen vehement zu vertreten, dem Kunden verständlich näher zu bringen und einladend zu präsentieren. Innerhalb des Softwareprojekts bewahrheitet sich die Aussage Farrows, da man sich sowohl im Umgang mit Kunden als auch mit firmeninternen Vorgaben kritisch auseinandersetzen muss und erst durch diesen konstruktiven Prozess zu einem für beide Seiten vollendeten Ergebnis kommt. Wenn man ein Blick auf Steff Geissbuhlers Publikation mit dem Titel „What satz, Beständigkeit, und Dauerhaftigkeit eines Logos. Wobei man anmerken muss, dass diese Punkte ein solides und fast schon konservatives Verständnis von Logos vermitteln und mit keinem Wort auf die in diesem Punkt wichtigen ästhetische Aspekte eingehen. Dementsprechend steht dann auch der Leitsatz des „Büro für Form“ in München: „gutes Design ist das Ergebnis der endlosen Suche nach der Schönheit in Dingen“ in krassem Gegensatz zu den Geissbuhler aufgeführten Punkten (vgl. [6]). Nach den Erfahrungen im Softwareprojekt kann man aber zu dem Schluss kommen, dass beide Ansichten einen wahren Wert besitzen und sich gegenseitig nicht ausschließen, sondern im Idealfall sogar ergänzen sollten. Das heißt, dass selbst strenge Vorgaben dennoch Freiräume lassen, in denen sich ein Gestalter künstlerisch ausleben und selbst verwirklichen kann. 81 Bei allen erwähnten formalen Rahmenbedingungen, die mit der Entwicklung eines Logos einhergehen, darf ein Kriterium nicht vernachlässigt werden: die Fantasie oder der Ideenreichtum. Sie ist die Triebfeder, mit der es erst möglich wird, aus ungreifbaren Vorgaben ein anschauliches Logo zu entwickeln und sie ist es auch mit der es einem Gestalter möglich wird sich während des Arbeitsprozesses flexibel auf veränderte Ausgangsbedingungen einzustellen und diese in Neues umzusetzen. Reglementierungen, Kriterien und Anforderungen helfen also bei der Orientierung im Entwicklungsprozess, können letztendlich aber nur Werkzeuge sein, die Kreativität nicht ersetzen, diese aber in produktive Bahnen lenken und dadurch zum Ziel führen. Quellen [1] Michael Bernd Siegle - Logo, Grundlagen der visuellen Zeichengestaltung, 2005 [2] http://www.davidairey.com/mylogo-design-process/ [3] http://www.guardian.co.uk/sport/ 2007/jun/05/uknews [4] http://campaignstops.blogs.nytimes.com/2008/11/20/the-o-in-obama/ [5] http://www.logolounge.com/ featureddesigner/default.asp?Archive= True&ArticleID=375 [6] Charlotte & Peter Fiel - Graphic Design for the 21st Century, 2005 [7] http://www.logosdesigners.com/ How_Conference_Steff_Geissbuhler.pdf SOP JOURNAL HOCHSCHULE REUTLINGEN R6 82 ITERATION++ Welche Anforderungen sind für einen effektiven High-Fi-Prototypen erforderlich? Eine Auseinandersetzung Konstantin Adler Das Softwareprojekt des Studiengangs Medienund Kommunikationsinformatik an der Hochschule Reutlingen ist mit Laufzeit über zwei Semester groß angelegt. Im sogenannten Planspiel werden die Arbeitsplätze von drei Firmen von den Studierenden übernommen und nachgespielt. Auf den sogenannten Reviews werden die Firmen und deren Aufgaben präsentiert. Was allerdings bisher vernachlässigt wurde: die Präsentation nach außen – durch eine Webseite. Die Webseite und der Prototyp Die jetzige Iteration R6 ist deshalb beauftragt worden, eine Webseite über das Projekt zu konzeptionieren, zu gestalten und zu programmieren. Für die geplante SOP-Webseite benötigt man eine Übersicht, ein Konzept über den Inhalt, damit die Webseite entstehen und den weiter unten aufgeführten Anforderungen gerecht werden kann. Nur dann kann sie veröffentlicht werden. Ein wichtiger Schritt dabei: Der Prototyp. Nur er führt zu einer professionell umgesetzten Webseite. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Er zeigt im Low-Fi-Zustand skizzenhaft, wie die Webseite aussehen könnte, im High-Fi-Zustand sind die Funktionen, die die Webseite später besitzen wird, mit eingebunden und aktiviert. Es stellt sich dabei allerdings die Frage, was gegeben sein muss, damit ein finaler Prototyp entstehen kann und vor allem, welche Kriterien zu erfüllen sind, damit ein Prototyp überhaupt als final bezeichnet werden kann. Ein Low-Fi-Prototyp ist ein skizzenhafter Prototyp, welcher einige Eigenschaften des Zielproduktes hat. Dabei kann er einfach gestaltet und schnell angefertigt werden. Die danach ausgeführten Tests geben einen ersten Eindruck über die Struktur und den Aufbau des Endprodukts. Welchen Zweck genau hat ein Prototyp? Er soll dazu dienen, unter realistischen Bedingungen zu testen – das heißt, hierbei muss der Benutzer die ganzen Funktionen wie Buttons oder auch Links ausführen können. Dabei wird das Verhalten der Benutzer untersucht. Ist ihnen klar, was sie auf der Seite tun können? Wird die Struktur klar? Verstehen sie die Bezeichnungen und die Funktionen der Navigationselemente? Low-Fi-Prototyp Ein Low-Fi-Prototyp ist ein skizzenhafter Prototyp, welcher einige Eigenschaften des Zielproduktes hat. Dabei kann er einfach gestaltet und schnell angefertigt werden. Die danach ausgeführten Tests geben einen ersten Eindruck über die Struktur und den Aufbau des Endprodukts. Anforderungen und Personas Der Low-Fi-Prototyp ist fertiggestellt. Die Skizzen können dann in PowerPoint mit Hyperlinks versehen werden, der Benutzer wiederum kann sich nun durch eine erste Version der Webseite durchklicken. Dabei bekommt man eine bessere Vorstellung des finalen Prototyps. Hierbei kommt es allerdings häufig „zu unnötigen Diskussionen über die Gestaltung und Anforderungen einzelner Elemente, obwohl diese auch durch den Prototyp noch nicht festgelegt sind.” (vgl. [1], Seite 299) Ein Denkanstoß also, welche Anforderungen in den finalen Prototyp eingebaut werden müssen. Dabei kann die Anforderungsliste lang werden. Aber ist es von Vorteil, die Anforderungen einfach aufzulisten? ITERATION++ Ist es nicht besser, durch Befragung der Benutzer herauszufinden, welcher dieser Anforderungen essentiell sind? Welche sollte man besonders beachten? Welche sind weniger wichtig? Die SOP-Webseite soll bestimmte Zielgruppen ansprechen: Studierende, Geschäftsleute und Schulabgänger. Dafür werden Personas erstellt. Personas stellen verschiedene Personen dar, zum Beispiel Studierende oder Professoren. Dabei werden deren Interessen, Hobbies und berufliche Werdegänge dargestellt. Diese Informationen sind sehr hilfreich, um die Zielgruppen und Anforderungen der Webseite zu bestimmen. Ein High-Fi-Prototyp ist nahe dem Zustand des Endprodukts, mit vielen Details und Funktionen. Hierbei ist sehr gut zu sehen, wie sich das Verhalten des Benutzers auf das Verwenden des Endprodukts auswirken wird. Sind die Personas erfolgreich erarbeitet, geht es weiter mit den Anforderungen. Diese sehen folgendermaßen aus: Fokus, Realismus, Benutzer und High-Fi-Prototyp Ein High-Fi-Prototyp ist nahe dem Zustand des Endprodukts, mit vielen Details und Funktionen. Hierbei ist sehr gut zu sehen, wie sich das Verhalten des Benutzers auf das Verwenden des Endprodukts auswirken wird. die gängigen Standards des Web 2.0. Dabei handelt es sich bei den Web Standards um Structural Languages (XHTML1.1, XML1.1), Presentation Languages (CSS), Object Models (DOM), Scripting Languages (ECMAScript 262, die Standardversion von Java) und Additional Presentation Languages - auch Markup (MathML 2.0) genannt (vgl. [2]). 83 Ein Punkt, der häufig missverstanden und dadurch falsch angewendet wird. Desweiteren ist zu beachten, richtige Schlüsselwörter und Mikrocontent - Betreffzeilen und Absenderangaben bei Emails, Überschriften und Zwischenüberschriften bei Artikeln, Titelleisten oder auch URLs - einzusetzen. Viele Benutzer beachten die- „Was mir einfällt, wenn ich an Prototypen und Anforderungen denke? Übersichtlichkeit und daraus entstehende Zufriedenheit.“ Konstantin Adler, Marketing & Redaktion Der Prototyp und sein Benutzer Auch bei der SOP-Webseite ist die bereits erwähnte Zielgruppe von großer Bedeutung. Man muss dabei darauf achten, ein breites Publikum anzusprechen. Programmierer und Entwickler gehören klar definiert zur Zielgruppe bei Prototypen. Andere Gruppen dagegen werden in der Praxis gerne vergessen. Man spezialisiert sich zu sehr auf eine Gruppe. Die Besucherzahlen bleiben klein. Häufig ein Grund für herausgeschmissenes Geld. Realismus: Wichtig ist hierbei, darauf zu achten, verschiedene Anwendungsfälle abzubilden. Das Verhalten zwischen Anwender und System wird untersucht. Die große und entscheidende Frage dabei ist nicht, wie etwas passiert, sondern, was passiert. se zwei Punkte nicht, was sich später auf die Suchmaschinenoptimierung auswirkt. Die Webseite wird von den Suchrobotern von Google nicht beachtet und landet somit nicht auf der ersten Suchseite. Um solche Szenarien zu verhindern, ist es wichtig, diese im Prototypen darzustellen. Bei Auftreten können vorhandene Probleme dann ausgemerzt werden. Konzentration auf das Wesentliche Ein Prototyp dient dem Zweck, dem Benutzer einen Eindruck zu geben, wie die Seite später aussieht, aber vor allem, wie er welche Funktionen zu verwenden hat. Fällt es ihm leicht, sich durch die Webseite zu klicken, ist man auf dem richtigen Weg. Hat er dagegen Schwierigkeiten, ist es Zeit, den Prototypen zu überarbeiSOP JOURNAL HOCHSCHULE REUTLINGEN R6 84 ITERATION++ ten. Um dies zu verhindern, ist es wichtig, sich auf das Wesentliche zu konzentrieren. Viele Webseiten sind vollgestopft mit Schnickschnack, zum Beispiel viele Werbebanner, umfangreiche Flashanimationen oder zu viele Hyperlinks. Das alles sieht toll aus, kann aber bei zu häufigem Auftreten irritierend und als unübersichtlich oder störend empfunden werden. Wer möchte zum Beispiel im Sekundentakt eingeblendete Werbebanner immer wieder wegklicken? Die Sache mit den Standards Beispiel Button und seine Standards: Ein Button reagiert beim Rollover, bei einem Klick, sowie beim Loslassen. Je nach Programmierung verändert sich dabei die Farbe, die Schrift etc. Hier handelt es sich um ein Verhalten eines Buttons, das wir kennen und selbstverständlich erwarten. Diese und weitere Standards müssen bei einem finalen Prototypen enthalten sein, denn nur so wird er auch benutzerfreundlich und die daraus entstehende Seite erfolgreich. Fazit Man sieht also: Durch genaues Hinterfragen, welche Anforderungen wichtig und welche weniger wichtig sind, entsteht der richtige finale Prototyp. Dadurch kann eine professionelle, übersichtliche Webseite – wie die SOP-Webseite - entworfen werden. Lässt man sie weg, ist der Weg zum finalen Prototypen und der SOP JOURNAL HOCHSCHULE REUTLINGEN R6 nachfolgenden Webseite gescheitert. Der Schritt von einem skizzenhaften Low-Fi-Prototyp zum funktionsfähigen High-Fi-Prototypen scheint klar. Die Beispiele zeigen allerdings, wie wichtig es ist, nicht irgendwelche Anforderungen aufzustellen. Flashanimationen können eine Seite schön aussehen lassen. Was ist allerdings, wenn diese zu häufig auftreten? Vor allem aber: Wie sieht es mit der Barrierefreiheit aus? Eine der wichtigsten Anforderungen! Viele Leute machen den Fehler, nach ihren persönlichen Geschmack Anforderungen aufzustellen, aber nicht nach den Richtlinien des Webdesigns. Man muss sich über folgende Fragen im Klaren sein: Zu welchem Themenbereich soll die Webseite gehören? Welche Benutzer werden die Webseite besuchen? Wie kommen diese mit den Funktionen zurecht? Werden auch Benutzer mit körperlichen Einschränkungen die Webseite besuchen? Die Zielgruppe und Anforderungen müssen genau feststehen. Dabei gehören die angesprochenen Anforderungen zu den wichtigsten überhaupt (vgl. [3]). Setzt man Anforderungen sinn- und wahllos ein, kann der Prototyp nicht als final bezeichnet werden. Quellen [1] Jacobsen, Jens: Website-Konzeption: Erfolgreiche Web- und Multimediaanwendungen entwickeln, Pearson Education, 2005 [2]http://www.w3.org/QA/2002/ 04/Web-Quality#Standard, Letzter Zugriff: 21.05.2009 [3] http://www.w3.org/WAI/intro/ accessibility.php, Letzter Zugriff: 28.05.2009 ITERATION++ 85 Content managen, aber sicher! Typo3-Sicherheit für den SOP-Webauftritt Wilfried Irßlinger Das SOP geht online! Für das SOP und die drei Firmen des Konsortiums sind Webauftritte geplant. Diese sollen mit Hilfe des Content Management Systems Typo3 realisiert werden. Welche Sicherheitsmaßnahmen sind hier zu ergreifen? Wie sicher kann das SOPWebportal gemacht werden? Typo3 im SOP-Webportal Die Ausgangslage lichkeit von Angriffen aus dem Internet, sowohl auf Typo3 als auch auf den Apache Webserver. Typo3 ist in der Version 4.2.3 auf dem Webserver Apache Version 2.2.10 installiert, der wiederum auf dem oben erwähnten Windows Server installiert ist. Die somit öffentlichen Teile also Typo3 und der Apache Webserver müssen durch die Software- und Systemmanager (SSM) von ServIT geschützt werden. – Im SOP wird ein Windows Server 2003 eingesetzt, auf dem sowohl die Werkzeuge zur Versionsverwaltung, als auch die Webservices wie Zeiterfassung und Typo3 laufen. Da sich der SOP-Server im Hochschulnetz befindet, ist das Typo3 nur über eine VPN-Verbindung oder vom Campusnetzwerk der Hochschule erreichbar. Für die Webauftritte der einzelnen Firmen, welche nicht für jeden über das Internet zugänglich sein sollen ist diese Konstellation passend. Die Webseite des Softwareprojekts sollte allerdings für jeden erreichbar sein. Die dafür notwendig Freischaltung wird durch das Rechenzentrum der Hochschule vorgenommen. Sobald dies geschehen ist, erhöht sich auch die Wahrschein- Angriffe und Gegenmaßnahmen Da die SOP Webseite im Internet für jeden zur Verfügung stehen wird, muss auch mit dem ganzen Spektrum an Angriffsvarianten gerechnet werden. Aber welche Angriffsvarianten gibt es überhaupt und wie kann der SOP Webauftritt davon betroffen sein? Im folgenden Abschnitt werden beliebte Angriffsvarianten für webbasierte Dienste (vgl. [3]), wie Typo3 im SOP, beschrieben. Brute-Force-Attacke: Allgemein wird darunter das Herausfinden von Passwörtern, durch ausprobieren verschiedener Zeichenkombinationen verstanden (vgl. [3]). Dabei wird oft auch auf Wörterbücher zurückgegriffen, aus denen die Begriffe entnom- men werden. Beim SOP Webportal kann dieser Angriff an zwei Stellen stattfinden: 1. Ein Angriff auf den Typo3-Backendzugang. Dabei ist vor allem der Administrator-Zugang und das Installations-Tool gefährdet, denn über das Installations-Tool können neue Administratoren und zentrale Typo3-Einstellungen geändert werden (vgl. [1]). 2. Ein Angriff auf die Zugänge der Frontend-Nutzer, denn hier Arbeiten auch weniger Typo3 erfahrene Nutzer wie Stakeholder oder Projektmanager, die sich der Thematik um sichere Passwörter evtl. nicht bewusst sind. Eine Maßnahme um erfolgreiche Brute-Force-Attacken zu verhindern, ist das Wählen sicherer Passwörter. Dabei gibt es drei Punkte zu beachten (vgl. [1]): • Mindestens acht Zeichen • Keine semantischen Wörter, sondern lose Kombinationen • Zahlen und wechselnd Groß- und Kleinschreibung verwenden Im SOP könnte dies in einer Richtlinie der Qualitätssicherung festgeschrieben werden. Eine weitere Gefahr für den SOPWebauftritt ist ein so genannter Manin-the-Middle-Angriff. Dabei kann SOP JOURNAL HOCHSCHULE REUTLINGEN R6 86 ITERATION++ über ein Paketsniffer, wie Wireshark, bei der Kommunikation das Passwort ausspioniert werden. Um dies zu verhindern wird der Backend-Zugang nur über eine verschlüsselte SSL Verbindung zugelassen. Die Webentwickler und SSM von ServIT melden sich dann über diese sichere Verbindung an. Dazu benötigt der Apache Webserver das Modul mod_ssl. Zusätzlich muss in Typo3 die Option [lockSSL] aktiviert werden. Hier stehen vier verschiedene Einstellungen zur Verfügung, wobei für das SOP die Variante „Anmeldung nur über SSL-Verschlüsselung“ gewählt werden sollte, um höchste Sicherheit zu gewährleisten. konkrete IP-Adressen über die Option [IPmaskList] an eine Session gebunden werden. Eine Übernahme der Session ist somit nicht mehr möglich. Auch die Angriffsmöglichkeit der SQL-Injektion könnte für das SOPWebportal eine Gefahr sein. Hierbei wird über ein Formular, wie beispielsweise die Suche, versucht, manipulierte Befehle in die Datenbank zu schleusen, um so Daten auszuspionieren (vgl. [3]). Dies kann jedoch verhindert werden indem ungeprüfte Benutzereingaben vermieden werden. Bei einem erfolgreichen Angriff könnten im SOP beispielsweise Unbefugte an die Passwörter und Zugangsdaten zum Typo3-System gelangen. „Sicherheit kann teuer sein, bei einem Angriff jedoch unbezahlbar.“ Wilfried Irßlinger, Software- und Systemmanagement Neben dem Ausspähen von Passwörtern ist der SOP-Webauftritt auch durch Cross-Site-Scripting gefährdet. Dabei wird durch einen Angreifer Java-Script oder ActiveX-Code in die Webseite eingeschleust (vgl. [2]), um beispielsweise eine Session in Typo3 zu übernehmen. Im SOP sollte deshalb die Typo3 Session an eine IP-Adresse gebunden werden. Da im Softwareprojekt nur die Webentwickler und SSM von ServIT einen Zugang zum Backend haben, können deren SOP JOURNAL HOCHSCHULE REUTLINGEN R6 Weitere Maßnahmen zur Absicherung des SOP-Webportals Da im SOP Typo3 auf einem Apache Webserver läuft, ist dessen Sicherheit auch relevant. Er muss vor Denialof-Service-Angriffen (DoS) geschützt werden, denn im SOP wird auf dem Webserver neben Typo3 auch Subversion sowie weitere Dienste angeboten. Bei einem erfolgreichen Angriff auf den Apache Webserver wäre es zum Beispiel möglich, auf Subversion zuzugreifen und Daten zu steh- len. Auch das Lahmlegen des Servers durch eine DoS-Attacke würde für das Softwareprojekt große Probleme verursachen, weil dann wichtige Werkzeuge, wie das Zeiterfassungstool nicht mehr zur Verfügung stehen würden. Deshalb wird neben den Sicherheitsmaßnahmen für den Apache Webserver, wie mod_evasive (vgl. [4]) zum Abwehren von Denial-of-Service-Angriffen, bei ServIT an einer grundlegende Änderung der Serverarchitektur gearbeitet. Der Schaden bei einem erfolgreichen Angriff kann zum Beispiel dadurch verringert werden, dass der außerhalb des Campusnetzwerkes sichtbare SOP-Webauftritt auf einem eigenen Apache Webserver läuft. Somit sind nur die wirklich benötigten Dienste, wie Typo3 von Außen zugänglich. Das Sicherheitsrisiko, das Subversion, das ServIT interne Wiki oder die Zeiterfassung von Außen angreifbar wird, wird so minimiert (vgl. [1]). Neben den genannten Sicherheitsmaßnahmen gibt es noch weitere allgemeine Typo3-Sicherheitseinstellungen. Diese werden in Ebner/Schuster (2007) beschrieben. Welchen Sicherheitsstand kann erreicht werden – Wie sicher ist das SOP-Webportal? Neben den oben beschriebenen technische Sicherheitsmaßnahmen ist vor allem auch die richtige Administration für die Sicherheit von Typo3 und des SOP Webauftritts entscheidend. Denn nach Ripfel/Meyer/Höppner (2008) hängt die Sicherheit von IT-Projekten ITERATION++ nicht nur von hoher Programmierqualität ab, sondern wird auch stark von organisatorischen und menschlichen Faktoren bestimmt. Oft wird das Thema Sicherheit auch nicht betrachtet, da die Aufwände für Sicherheit nicht sofort im Ergebnis des Projekts sichtbar sind (vgl. [3]). Besonders im SOP können durch die wechselnden Iterationen und somit wechselnde Administratoren, organisationsverschuldete Fehler und dadurch Sicherheitslücken entstehen. So sind auch nicht ausreichend qualifizierte Mitarbeiter, sowohl der Dienstleister, d.h. wir bei ServIT, als auch der Auftraggeber (vgl. [3]), ein Risiko für die Sicherheit. Die Sicherheit des SOPWebportals ist somit von einer guten Dokumentation und der Wissensweitergabe der Iteration an die nachfolgende Iteration abhängig. Denn im SOP kann nicht immer gewährleistet werden, dass die Mitarbeiter bereits Wissen und Erfahrung im Umgang mit Typo3 haben. Um trotzdem die nötigen Informationen bereitzustellen, bietet sich neben Dokumenten im BSCW vor allem auch das ServIT Wiki an um aktuelle Informationen auf Seiten des Dienstleisters weiterzugeben. Ausblick Mit der Umstellung auf die neu geplante Serverarchitektur wird sich auch für den SOP Webauftritt und Typo3 einiges Ändern: Die Zeiterfassung sowie das geplante Ticketsystem kann mit Typo3-Extensions realisiert werden. Hier müssen sich die Webentwickler und SSM von ServIT mit der Sicherheit von Extensions und gegebenenfalls mit dem Melden von Sicherheitslücken beschäftigen. Dazu wird das Einspielen von Patches aber auch das Installieren von Sicherheitsupdates für Typo3 gehören. Fazit Eine Garantie für die Sicherheit des SOP-Webauftrittes kann nicht gegeben werden, da ständig neue Angriffsvarianten entwickelt werden und auch immer wieder Sicherheitslücken in Typo3 auftreten. Außerdem versuchen immer häufiger auch professionelle Cracker ins System einzudringen (vgl. [1]) und es für ihre Zwecke zu nutzen. Wenn eine absolute und totale Sicherheit hergestellt werden soll, „benötigen Sie einen messbaren Abstand zwischen Ihrem Computer und jedem anderen Gerät“ (vgl. [5]). Abstand im obigen Zitat bedeutet nach Nemeths (2009) überhaupt keine Verbindung zu einem Netzwerk. Manche Experten argumentieren sogar, dass man den Computer in einem speziellen Raum einschließen müsste, beispielsweise einem Faradayschen Käfig, um elektromagnetische Strahlung abzuhalten (vgl. [5]). Da es sich bei Typo3 jedoch um eine Anwendung für ein Netzwerk handelt sind diese Maßnahmen nicht umsetzbar. Die Sicherheit eines Systems hängt aber auch von der Funktionalität und dem Einsatzgebiet ab (vgl. [6]). Um eine Einschätzung des Gefahrenrisikos des SOP-Webauftrittes zu bekommen 87 wäre es deshalb sinnvoll eine Bedrohungs- und Risikoanalyse, wie sie in Eckert (2007) beschrieben wird, durchzuführen. Die Ergebnisse könnten dann in einer Sicherheitsstrategie bzw. Sicherheitsrichtlinie (vgl. [6]) dokumentiert werden und würden zu einer nachhaltigen Verbesserung der Sicherheit des SOP Webportals führen. Quellen [1] Ebner, Alexander / Schuster, Patrick: TYPO3 und TypoScript - Kochbuch. Lösungen für die TYPO3-Programmierung mit TypoScript und PHP; Carl Hanser Verlag, München, 2007. [2] http://www.rrzn.uni-hannover.de/fileadmin/it_sicherheit/LV-WS0809/LV20090116.pdf , Stand: [15.04.09]. [3] Ripfel, Franz/Meyer, Melanie/Höppner, Irene: Das Typo3 Profihandbuch, der Leitfaden für Entwickler und Administratoren zu Version 4.1; AddisonWesley, München, 2008. [4] Andreas/Rieser, Christoph/Ehscheidt: Typo3, aber sicher!: Sicherheitsmaßnahmen für Typo3-Administratoren ; t3n open source & web – online im WWW unter URL: http://t3n.yeebase.com/magazin/typo3-sicher-sicherheitsmassnahmen-typo3-administratoren-219377/ [16.04.09]. [5] Nemeth/Evi, Snyder/Garth, Hein/ Trent: Linux-administrationshandbuch; Pearson Education, 2009. [6] Eckert/Claudia: IT-sicherheit: Konzepte - Verfahren - Protokolle; Edition 5; Oldenbourg Wissenschaftsverlag, 2007. SOP JOURNAL HOCHSCHULE REUTLINGEN R6 88 ITERATION++ E-Learning im Softwareprojekt Sind Rational-Werkzeuge noch zu retten? Jochen Budzinski Die IBM-Rational-Werkzeuge dienen in vielfältiger Weise dem Projektmanagement und bilden einen umfangreichen Datenbestand auf dem Server der Firma ServIT. Aufgrund der schwierigen Installation sinkt jedoch die Nachfrage dieser Tools, was ein iterationsübergreifendes Problem darstellt. Als Ausweichstrategie der Mitarbeiter werden andere, unterschiedliche Werkzeuge auf unterschiedlichen Servern verwendet. Die Konsistenz bzw. der Zusammenhang der Daten, erzeugt und verwaltet von den Rational-Werkzeugen, droht verloren zu gehen. Ein eigens entwickeltes e-Learning-Programm soll nun die Installationshilfe vereinfachen, damit die Installation für jeden umsetzbar wird und somit der Einsatz bzw. die Nachfrage der Programme steigt. Doch stellen sich damit die Fragen: Lässt sich überhaupt ein Programm dieser Art entwickeln? Und viel wichtiger: Führt es zum Erfolg? Probleme mit den Rational-Tools? Im Softwareprojekt nichts Neues! Zu Beginn der Iteration R6 wurde das Bereitstellen der Rational-Tools beSOP JOURNAL HOCHSCHULE REUTLINGEN R6 kannt gegeben, was unter den Aufgabenbereich des Teams Software- und Systemmanagements (SSM) der Firma ServIT fällt. Diese eigenständigen Werkzeuge dienen in Form von Versionsmanagement (ClearCase), Anforderungsmanagement (RequisitePro) und Änderungsmanagement (ClearQuest) als Konfigurations- und Änderungsmanagement-System. Zusammenfassend gesagt, ist das Anwendungsspektrum der IBM Tools groß, da es nicht nur für die Mitarbeiter der Softwareentwicklung zur Versionsverwaltung von Programmen und CodeDateien dient, sondern auch von den Projektmanagern eingesetzt werden kann, um Anforderungen an Projekte und Mitarbeiter zu erstellen und zu verwalten. Das Problem: Die Nachfrage an die IBM Werkzeuge ist sehr niedrig, und „niedrig“ heißt, durchschnittlich unter 10 Personen pro Iteration. Dabei sind die Mitglieder nicht abgeneigt ein neues Programm zu erlenen, sondern scheuen sich vor der Installation. Die Ursache hierfür liegt in der Anmeldung an einer Domäne (ClearCase) und in der aufwendigen Konfiguration (RequisitePro), um die Datenbestände im System zu integrieren. Installationshilfe PDF zwecklos Laut Mitarbeitererfahrungen, waren es unerwartete Ereignisse wie Fehlermeldungen oder Warnungen, welche die Benutzer zum Abbruch zwangen. PDF-Dokumente wurden dabei als Installationshilfe eingesetzt. Die Ursache lag dabei oft am flüchtigen Lesen der Dokumente, wodurch falsche Eingaben betätigt wurden oder man sich nicht, wie als Vorbedingung beschrieben, über den Cisco VPNClient im Hochschulnetz befand. Die Iteration R5, setzte als Alternative zum PDF-Dokument, die Idee einer „Installationsparty“ um, bei der unter direkter Anleitung eines Softwareund Systemmanagers, die Installation der Rational-Tools schrittweise begleitet wurde. Der Veranstalter SSM R5 sagte, dass die Erfolgsquote, die Werkzeuge zu installieren, hoch war. Das Problem war aber eine geringe Teilnehmeranzahl. SSM R5, sahen die Ursache eher am organisatorischen Aufwand als an fehlender Motivation, da bei einer steigenden Anzahl an Teilnehmern sich die Wahrscheinlichkeit verschlechterte, für alle einen passenden Termin zu finden. Aus diesem Grund fand eine Veranstaltung dieser Art für die Mitarbeiter der Iteration R6 nicht mehr statt. ITERATION++ Subversion und Trac als Ersatz der Rational-Tools Einfacher sind Installation und Umgang mit Subversion (SVN) der Firma CollabNet, ein Versionsmanagement Tool und Open Source Pendant zu ClearCase. Zusammen mit dem Werkzeug TortoiseSVN, lässt sich der Zugriff auf die abgelegten Daten auf dem SVN Server über Explorer-Integration einfach umsetzen (vgl. [1]). Aber nicht nur ClearCase, sondern als ein zusammenarbeitendes Konfigurations- und Änderungsmanagement-System. Zweiter Kritikpunkt: Die Geschäftsleitung warnt vor einem eigensinnigen Verhalten im Softwareprojekt, bei dem jeder zum eigenen Vorteil, Software oder Hardware Lösungen unterbreitet und das Gegenteil eines gemeinschaftlichen Prozesses bewirkt. „Die Konsistenz bzw. der Zusammenhang der Daten, erzeugt und verwaltet von den Rational-Werkzeugen, droht verloren zu gehen.“ Jochen Budzinski, Software- und Systemmanagement auch der Gebrauch von RequisitePro könnte durch das Open-Source-Tool Trac ersetzt werden. Trac hingegen bietet in Form eines Wikis einen deutlich geringeren Funktionsumfang an, als das IBM-Tool und ist somit auch kein vollständiger Ersatz für ein AnforderungsmanagementInstrument. Mit dem Einsatz der beiden Werkzeuge kommen daher zwei Kritikpunkte auf: Erster Kritikpunkt: „ClearCase ist ein Zahnrad des IBM Rational-Systems, ersetzt man es, so greifen die Zahnräder nicht mehr ineinander“ (vgl. [1]). Im Sinne dieses elementaren Bauteils besitzen die 3 RationalWerkzeuge ihre Daseinsberechtigung Subversion und Trac wurden von der Softwareabteilung (Iteration R6, Firma ITer@) eingeführt und werden bereits firmenintern für die Versions- und Codeverwaltung eingesetzt. Gesetz dem Fall, andere Abteilungen und Firmen würden ebenfalls unterschiedliche Programme als Ersatz für die Rational-Tools verwenden, drohen die Daten, erzeugt und verwaltet von den Rational-Werkzeugen, verloren zu gehen. Um der zurückgehenden Nachfrage der Rational-Tools entgegen zu wirken, muss an zwei Punkten gearbeitet werden: Zum einen muss gegen Fehler vorgebeugt werden, die während der Installation aufkommen und zum anderen muss man die Motivation bei 89 dem Mitarbeiter erhöhen, sich mit diesen Tools auseinander zu setzen. Folgedessen muss eine neue Methode der Installationshilfe angewendet werden, die ein Mittelstück zwischen Textform und Schulung ist und bei Bedarf abrufbar ist. Dies kann durch eine einfache Lernplattform bewirkt werden. Lösungsansatz - Der Begriff Lernplattform und die Eingrenzung auf die „einfache Lernplattform“ Eine allgemeine Definition einer Lernplattform wird von Peter A. Henning gegeben. Demnach ist eine Lernplattform ein „komplexes Softwaresystem“ welches „Lerninhalte bereitstellt und den Lernprozess organisiert“. Neudeutsch wird dieser Begriff auch mit „Learning Management System, LMS“, gleichgesetzt. Das Organisieren des Lernprozesses schließt dabei eine direkte Verständigung der Lernenden und Lehrenden mit ein, folglich bietet ein LMS Funktionen zum Nachrichtenaustausch an, mittels „Chat-Räumen“ oder Foren (vgl. [8]). „Relax“, der Hochschule Reutlingen ist ein Beispiel für eine Lernplattform diesen Umfangs (vgl. [7]). Der Begriff Lernplattform ist nach dieser Definition Umfangreich und muss auf den SOP-Kontext eingeschränkt werden. Angestrebt wird ein e-Learning-Programm, das Videos bereitstellt, die den Ablauf der Installation vorführen und auch mit Audiokommentaren versehen sind – einem sog. VideoSOP JOURNAL HOCHSCHULE REUTLINGEN R6 90 ITERATION++ Tutorial. Das Programm wird also keine Funktion zum Nachrichtenaustausch anbieten und vereinfacht sich auf die Videos als Lerninhalt und einer Navigation zur Videoauswahl. Für den Nachrichtenaustausch wird hierbei auf die Organisationsrichtlinie 1.5 verwiesen, welche die Programme zur Kommunikation im SOP vorgibt und für Kurzmitteilungen, Kommentare oder Fragestellungen zu verwenden ist. Als Beispiele sind zu nennen: Instant Messenger (bsp. ICQ), E-Mail oder Skype (Telefonie) (vgl.[9]). Die Frage nach Qualität Die Qualität einer digitalen Lernunterstützung kann anhand von Kriterienkatalogen gemessen werden. Ulrike Rockmann, definierte für die Qualitätssicherung 370 Kriterien und unterteilte diese in sieben Bereiche, wie beispielsweise Rahmenbedingungen (Zielsetzung, Zielgruppe), Technische Aspekte (Nutzer, Betreiber, Produkt) oder Funktionalitäten (Steuerung, Steuerungsunterstützung)(vgl. [6]). Für das Softwareprojekt wird eine einfache Lernplattform in Form einer Anwendung zur Steuerung von Video-Tutorials mit den Trägern Bild und Audio verwendet. Der Kriterienkatalog von Ulrike Rockmann, wird hinsichtlich des e-Learning-Produktes für das SOP als Orientierung und als Hilfe für die Konzeptionierung, sowie der Anforderungsanalyse verwendet. Bei Peter A. Henning SOP JOURNAL HOCHSCHULE REUTLINGEN R6 werden Fragen zur Auswahl eines geeigneten LMS gestellt und in die Konzeptionierung miteinbezogen. Der Lösungsvorschlag Sinnvolle Benutzer-Aspekte als Basis für die Umsetzung des e-LearningProgramms nach Ulrike Rockmann: Wie gelangt der Benutzer an die Tutorials (gemäß: Technische Aspekte)? Sind die Informationen auf dem aktuellen Stand (gemäß: Kodierung der Informationen)? Werden die Lösungsvorschläge kommentiert (gemäß: Kodierung der Informationen)? Kann der Benutzer das Lerntempo und Reihenfolge selbst steuern (gemäß: Funktionalität)? (vgl. [6]). Angelehnt an die Auswahlkriterien von Peter Henning werden desweiteren Anforderungen an die Administration gestellt: Welche Kosten entstehen bei der Entwicklung? Wie wird das Pflegen von Daten ermöglicht? Wie viel Personen/Administratoren werden für die Verwaltung wie Aktualisierung benötigt? Wie hoch sind die Verwaltungskosten? (vgl. [8], S. 586f ). Gemäß dieser Kriterien wird die Qualität und der Erfolg des e-Learning-Programms nicht nur durch den Lerninhalt, den Video-Tutorials und Audiokommentaren bestimmt, sondern auch durch die Verfügbarkeit der Videos und deren Aktualität. Desweiteren ist für die Güte bestimmend, mit welchem Aufwand und Kosten die administrative Verwaltung zu bewältigen ist, damit beispielsweise eine einfache Lerninhalterweiterung ermöglicht wird (bsp. neue Video-Tutorials). Die Ursachen der Installationsprobleme werden in zwei gleichgewichteten Aspekten erfasst, die durch das e-Learning-Programm gelöst werden sollen: Mangelnde Motivation und Fehler durch Eigenverschuldung. Durch optimale Umsetzung der Kriterien, ist das einzusetzende e-Learning-Programm technisch sowie pädagogisch geeignet – theoretisch, um die Motivation der Mitarbeiter zu erhöhen (durch einfache Verfügbarkeit, bildhafte Darstellung der Installation, gute Strukturierung der Videoreihenfolge) und die Fehler durch Eigenverschuldung zu reduzieren (durch Vorzeigen der Installation, muss der Benutzer nur diese Schritte zur erfolgreichen Installation nachmachen). Folglich würde das den Gebrauch der Rational-Werkzeuge aufrecht erhalten. Kritikpunkte 1. Bei Fehler durch Systemverschuldung oder bei Fehler oder Warnung die unerwartet aufkommen (die nicht in den Video-Tutorials vermerkt sind) ergibt das e-LearningProgramm keinen Vorteil, gegenüber der traditionellen PDF-Installationshilfe. Der Installateur muss bei solchen Ereignissen nach wie vor Hilfe vom SSM Support beanspruchen. ITERATION++ 2. Es gibt viele Kriterienkataloge. Welchen Katalog man für welche Anforderungen einsetzt, steht im Zusammenhang mit der resultierenden Güte. Ist der Kriterienkatalog ungeeignet oder betrachtet man die falschen Kriterien als Basis für die Entwicklung des e-Learning-Programmes, so kann dies Qualitätsverlust verursachen und führt somit zu einem Misserfolg des e-LearningProgrammes als Installationsunterstützung der IBM-Werkzeuge. Zusammenfassung und Ausblick Ein Kriterienkatalog wird als Konzeptorientierung eines e-LearningProgrammes verwendet. Dabei wurden die Kriterien nach eigenem Ermessen herausgefiltert und als Anforderungen an das e-LearningProgramm deklariert. Ziel ist es, die Installation der IBM-Werkzeuge den SOP-Mitglieder anhand von VideoTutorials verständlich zu übermitteln. Der Lerninhalt wird als Anwendung in Form einer eingeschränkten Lernplattform bereit gestellt. Die herausgefilterten Kriterien, verglichen mit den momentanen Installationsproblemen, ergaben einen theoretischen Nutzungserfolg für das darauf basierende e-LearningProgramm. Jedoch ist zu kritisieren, dass die Filterung der Qualitätskriterien nach eigenem Ermessen stattfand und das e-Learning-Programm nach wie vor gegenüber unerwartete Ereignisse im Installationsverlauf nutzlos ist. Ob der theoretisch ermittelte Erfolg eintritt, kann erst dann gezeigt werden, wenn ein e-Learning-Programm auf Basis der ausgearbeiteten Qualitätskriterien eingesetzt wird. Ist dies der Fall, so könnten neben Installationshilfen der Rational-Werkzeuge, auch Anwendungs-Tutorials für Anfänger und Fortgeschrittene entwickelt und zur Verfügung gestellt werden. Eines von vielen Beispielen wäre ein Video-Tutorial, welches Schritt für Schritt die Benutzung eines Programmes erklärt. Tatsächlich muss abgewartet werden, ob solche Installationshilfen in der Zukunft angewendet werden. 91 [7]Lernplattform Relax, Hochschule Reutlingen: https://relax.reutlingenuniversity.de/ [Stand 15.04.09] [8] Peter A. Henning, Taschenbuch Multimedia, Carl Hanser Verlag, München, 2007. [9] SOP-internes Richtliniendokument, nicht veröffentlicht. Quellen [1] Ulf Maier, Der schnelle und einfache Weg zur gemeinsamen Dateiablage, In: Iteration++ S. 50-52, Hochschule Reutlingen, 2009. [2] http://www.open.collab.net/products/subversion/ [Stand 03.04.09]. [3] http://tortoisesvn.tigris.org/ [Stand 03.04.09]. [4] http://trac.edgewall.org/ [Stand 03.04.09]. [5] http://www.ihk-ostbrandenburg. de/res.php?id=35> [Stand 05.04.09]. [6] Ulrike Rockmann, e-Learning: Forschung & Qualitätssicherung / eL- Qualitätskriterien SOP JOURNAL HOCHSCHULE REUTLINGEN R6 SOP JOURNAL HOCHSCHULE REUTLINGEN R6 ITERATION++ 93 Softwareprojekt R6 / Sommersemester 2009 hinten v. l.: Thomas Staiger, Patrick Gaßner, Flavia Di Laudo, Fabian Liedtke, Wolfgang Keller, Peter Hertkorn, Daniel Wenhardt, Uwe Kloos, Konstantin Adler, Dominic Schwörer, Jaroslaw Zawadzki mitte v. l.: Manuela Di Laudo, Christian Kubat, Zehra Türkkan, Sarah Letzgus, Natalia Zyleva, Markus Jülich, Jochen Budzinski, Denis Merkle, Silke Link, Matthias Huber, Marco Bischof, Wilfried Irßlinger vorne v. l.: Stephanie Höhn, Gerold Lacher, Simon Hänel, Torsten Lutz, Samet Keser, Mario Schwarz, Eduard Tudenhöfner auf dem Bild fehlt: Dennis Riekert Impressum Inhalt und Organisation Patrick Gaßner Gerold Lacher Konstantin Adler Verleger Fabian Liedtke Dominic Schwörer Denis Merkle Silke Link Manuela Di Laudo Redaktionsberatung Franziska Strobusch Fotografie Stephanie Höhn Hochschule Reutlingen Medien- und Kommunikationsinformatik Alteburgstraße 150 72762 Reutlingen SOP JOURNAL HOCHSCHULE REUTLINGEN R6 94 ITERATION++ Medien- und Kommunikationsinformatik Hochschule Reutlingen Alteburgstraße 150 72762 Reutlingen Hochschule Reutlingen SOP Iteration R6 SOP JOURNAL HOCHSCHULE REUTLINGEN R6