Gottfried Wilhelm Leibniz Universität Hannover Fakultät für Elektrotechnik und Informatik Institut für Praktische Informatik Fachgebiet Software Engineering Entwurf und Implementierung eines Projektmanagement-Werkzeuges Bachelorarbeit im Studiengang Informatik von Toan Vu Prüfer: Prof. Dr. Kurt Schneider Zweitprüfer: Dr. rer. nat. Arne Meier Betreuer: Dipl.-Math. Raphael Pham Hannover, 4. September 2012
53
Embed
Entwurf und Implementierung eines Projektmanagement …se.uni-hannover.de/pub/File/pdfpapers/Vu2012.pdf · III Zusammenfassung Projekte in der SW-Industrie umfassen gewisse Gemeinsamkeiten
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Gottfried Wilhelm
Leibniz Universität Hannover
Fakultät für Elektrotechnik und Informatik
Institut für Praktische Informatik
Fachgebiet Software Engineering
Entwurf und Implementierung eines
Projektmanagement-Werkzeuges
Bachelorarbeit
im Studiengang Informatik
von
Toan Vu
Prüfer: Prof. Dr. Kurt Schneider
Zweitprüfer: Dr. rer. nat. Arne Meier
Betreuer: Dipl.-Math. Raphael Pham
Hannover, 4. September 2012
III
Zusammenfassung
Projekte in der SW-Industrie umfassen gewisse Gemeinsamkeiten wie z.B. definierter
Anfang und definiertes Ende, Meilensteine, Deadlines, Verteilung von Dokumenten bzw.
Ressourcen. In einem Projekt werden teilnehmende Personen unterschiedliche Aufgaben
wahrnehmen, Ergebnisse zu verschiedenen Zeitpunkten abliefern und eine spezifische
Funktion haben. In der Regel wird die Koordination für das restliche Arbeitsteam von
einem Projektleiter geleistet. Um dieser Aufgabe gerecht zu werden, wird ein hohes Maß
an Kommunikation verlangt, was in der Gegenwart oft per E-Mail erledigt wird. In der
Industrie werden verschiedene Werkzeuge verwendet, um den Projektleiter zu
unterstützen. Das sogenannte Projektmanagement-Werkzeug bildet den
durchzuführenden Prozess (Termin, Phasen, Deliverables u.ä.) in einem Modell ab und
stellt diesen abstrahiert dar, wodurch der Projektleiter das Projekt anschaulich planen
kann. Im Rahmen dieser Arbeit wurde ein Projektmanagement-Werkzeug entwickelt, mit
dem der SE-interne Prozess des jährlichen Softwareprojektes abgebildet wird. Die dazu
entwickelte Software ermöglicht das Versenden vorgefertigter E-Mails an eine bestimmte
Gruppe von Personen zu festgelegten Zeitpunkten. Die Prozesse können mittels eines
Gantt-Diagramms anschaulich dargestellt werden. Durch das Projektmanagement-
Werkzeug können alle an dem Softwareprojekt beteiligten Personen erfasst und verwaltet
werden. Die Arbeit präsentiert eine Umsetzung der beschriebenen Funktionalität durch
das Konzept der Aspektorientierten Programmierung.
Inhaltsverzeichnis
IV
Inhaltsverzeichnis
Abbildungsverzeichnis .................................................................................................. VI
Abkürzungsverzeichnis ................................................................................................ VII
Wie in der Einleitung kurz beschrieben, ist das Softwareprojekt eine
Veranstaltung, die von SE-Institut jährlich angeboten wird. Die ganze
Veranstaltung wird von der sogenannten „Fungate“-Firma verwaltet. Jeder
Studierende hat die Rolle von Mitarbeitern, und der Betreuer übernimmt entweder
die Funktion des Coachs oder des Kunden. Der Ablauf des gesamten Projekts
wird mit folgenden Prozessen beschrieben (vgl. Abbildung 1).
Abbildung 1: Beispiel für den Ablauf des Softwareprojekts
Quelle: Folien vom Softwareprojekt beim SE-Institut an der LUH.
Vorbereitung vor dem Beginn der Veranstaltung: Wie oben kurz beschrieben, wird
für jedes Projekt bzw. Thema ein Software-Produkt erstellt. Die Themen werden vor
Beginn der Veranstaltung überlegt und ausgewählt. Danach wird für jedes Thema ein
Mitarbeiter vom SE-Institut ausgesucht, um zum Thema beizusteuern. Die
2 Konzepte
5
organisatorischen Fragen wie Raumreservierung, Folienvorbereitung und Planung der
Einführungsveranstaltung müssen (natürlich) auch erledigt werden. Danach werden
alle im Laufe der Veranstaltung verwendeten Werkzeuge wie etwa NetQGate1 und
Registrierungstool in den Startzustand gebracht.
Einführung: Zum Start der Veranstaltung findet die Einführungsveranstaltung statt, in
der die ausgewählten Themen nacheinander vorgestellt werden. Außerdem werden
die organisatorischen Fragen und Rahmenbedingungen, unter denen die
Studierenden an der Veranstaltung teilnehmen dürfen, erklärt. Im Laufe der
Veranstaltung haben Studierende die Möglichkeit, allgemeine Fragen zum
gewünschten Thema sowie zum Ablauf des Projekts zu stellen.
Anmeldung: Unmittelbar nach der Einführungsveranstaltung wird der
Anmeldungsprozess ausgeführt. Die Studierenden, die an der Veranstaltung
teilnehmen möchten, müssen sich bei dem vom SE-Institut bereitgestellten System
registrieren. Durch das Anmeldungssystem werden Informationen aller Studierenden
als Kriterien für die Gruppeneinteilung gesammelt. Jeder Studierende hat bestimmte,
vorher definierte Informationstypen wie zum Beispiel Name, Matrikelnummer, Email,
belegte Veranstaltungen, Erfahrungen usw. Jeder Studierende darf zwei von den
vorgestellten Themen wählen. Die Mitarbeiter des SE-Instituts werden auf Grundlage
der Erfahrungen, Fähigkeiten und Wünsche jedes Studierenden und mit Blick auf den
jeweiligen Schwierigkeitsgrad der Themen die Studierenden den Gruppen zuteilen.
Jede Gruppe wird als ein Team gekennzeichnet.
Willkommen bei Fungate: Der Anmeldungsprozess endet mit der Gruppeneinteilung.
Jeder Studierende gehört zu einem Team bzw. zu einer Gruppe und bekommt
dadurch eine „Willkommen“-Email, dessen Inhalt jedes Jahr ähnlich ist. In jedem
Team werden zwei Personen nach Vereinbarung freiwillig ausgewählt. Eine spielt die
Rolle des Projektleiters, der direkt Kontakt mit dem Kunden und Betreuer aufnimmt
und danach die Arbeit an andere Mitglieder nach Vereinbarung verteilt. Die andere
Person spielt die Rolle des Qualitätsbeauftragten, der für die Qualität des Produkts
zuständig ist. Er kümmert sich um alle zu dem Projekt gehörenden Dokumente und
die Checkliste.
Analyse: Nachdem die Studierenden die Mitglieder ihrer Gruppe kennengelernt
haben, werden alle Themen mit einem systematischen Vorgehen in Prozessen eines
gewöhnlichen Vorgehensmodells aus der Softwaretechnik bearbeitet. Die einzelne
Software Engineering-Methode wie etwa die objektorientierte Analyse soll in diesem
1 Ein durch die Bachelorarbeit beim SE-Institut erstelltes Programm.
2 Konzepte
6
Prozess angewendet werden, um das Thema systematisch zu erschließen [SWT-
Zuser, S. 49]. Die Phase soll sich in einem bestimmten Zeitraum abspielen, in dem
eine Anforderungsspezifikation erstellt werden muss. Am Ende jeder Phase gibt es ein
Quality Gate, bei dem anhand vorher definierter Erfüllungskriterien über die Freigabe
des nächsten Projektprozesses entschieden wird. Die Abbildung der realen Quality
Gate-Sitzungen in einen virtuellen Quality Gate-Prozess wird mit Hilfe einer durch die
Bachelorarbeit am Institut für Praktische Informatik an der Leibniz-Universität
Hannover erstellten Webanwendung realisiert2. In dieser Phase wird die
Anforderungsspezifikation als Erfüllungskriterium von dem Betreuer geprüft. Wenn die
Arbeit erfolgreich ausgeführt worden ist, wird die nächste Entwurfphase freigeschaltet.
Im Misserfolgsfall darf jede Gruppe einmal wiederholen. Wenn auch die Wiederholung
nicht erfolgreich war, wird die Gruppe sofort von der Veranstaltung disqualifiziert.
Entwurf: In dieser Phase hat jede Gruppe die Möglichkeit, einen „klassischen“
Entwurf oder Prototyp auszuwählen. Vor dem zweiten Quality Gate werden
Walkthroughs3 durchgeführt, bei dem jede Gruppe die Möglichkeit hat, mittels der
Vorstellung ihrer Arbeit ein Feedback von Seiten der anderen Gruppen und
Gutachtern zu erhalten. Das Erfüllungskriterium für den zweiten Quality Gate sind die
Dokumente, die entweder Entwürfe oder Prototypen beschreiben. Pseudo Code oder
Codes der Prototypen gehören ebenfalls dazu.
Implementierung und Test: Das zu entwickelnde Programm wird in dieser Phase
kodiert. Anschließend wird das Programm getestet. Die Testmethoden der Software
Engineering wie Äquivalenzklassen oder Grenzwertanalyse sollen in dieser Phase
verwendet werden. Bei dem Quality Gate muss ein lauffähiges Programm erstellt
werden.
Inbetriebnahmephase: Nach der Implementierungsphase wird das von jeder Gruppe
entwickelte Software-Produkt von dem Betreuer in Betrieb genommen und danach
abgenommen.
LIDs:4 Kurz vor dem Abschluss wird das LID durchgeführt, um die Erfahrungen der
Studierenden zu sammeln. Darüber hinaus haben die Studierenden die Möglichkeit,
den Ablauf des ganzen Projekts anzusehen. Viele Aspekte wie z.B. Typ, Häufigkeit,
Ziele, Erwartungen, Hoffnungen und Risiken der Aktivitäten werden bewertet und
2 Greive, J., Entwurf und Implementierung eines Systems zur netzbasierten. S. 1 ff.
3 Beschreibung des Verifizierens von Algorithmen und Quellcode. Dadurch soll festgestellt werden, ob der Algorithmus bzw. Quellcode den gestellten Anforderungen genügt. 4 Ein Modell zur systematischen Software-Prozessverbesserung.
2 Konzepte
7
dokumentiert, und die Berichte werden verwendet, um die nächste Veranstaltung zu
verbessern5.
Um die Veranstaltung erfolgreich zu bestehen, muss jede Gruppe alle Quality Gates
erfüllen und an der Abschlussveranstaltung teilnehmen.
2.2 Grundlagen
2.2.1 Definitionen
Im Folgenden werden kurz zwei Begriffe definiert und erläutert, die in dieser
Bachelorarbeit verwendet werden.
Das Projekt ist ein Vorhaben, das in seiner Wesenheit durch eine Einmaligkeit der
Bedingungen in ihrer Gesamtheit gekennzeichnet ist, z.B. durch Zielvorgabe, zeitliche,
finanzielle, personelle und andere Begrenzungen, Abgrenzungen gegenüber anderen
Vorhaben und projektspezifische Organisation [DIN-Norm 69901].
Der Begriff „Projekt“ wird von Josef Schwab anders interpretiert. Nach ihm existiert das
Projekt nur, wenn ein Planungsbedarf vorhanden ist. Ohne Planungsbedarf gibt es kein
Vorhaben zu planen und durchzuführen. Vielmehr wird die Projektorganisation aufgebaut
und die Abfolge der Vorgänge definiert und erbracht, wenn ein Planungsbedarf vorhanden
ist. Mit anderen Worten. Es ergibt sich der Planungsbedarf aus der Notwendigkeit, ein
Projekt zu planen.
Das Projekt im Rahmen der Softwareprojekt-Veranstaltung wird mit den Aspekten von
Zielvorgabe, zeitlicher und personeller Begrenzung berücksichtigt.
Bei der Zielvorgabe sollen Studierende durch die Veranstaltung praktische
Erfahrungen mit der Softwareentwicklung erwerben.
Das ganze Projekt findet in einem festgelegten Zeitraum statt.
Die Anzahl von Mitarbeitern und Studierenden wird im Rahmen des Projekts
begrenzt.
Das Projektmanagement geht von zwei Konzepten aus: „einmal das Leitungskonzept, das
die zur Projektdurchführung notwendigen Aufgaben definieren hilft und die zur Lösung
dieser Aufgaben notwendigen Methoden zur Verfügung stellt, Sowohl die
5 Schneider, K., Abenteuer Software-Qualität. S. 43.
2 Konzepte
8
Systemgestaltung als auch das Projektmanagement stützen sich dabei auf bewährte
Techniken, Hilfsmittel und Verfahren ab“.6
Der Begriff „Projektmanagement“ im engeren Sinn der Softwareprojekt-Veranstaltung
bezieht sich auf die Aufgabe, mit notwendigen Methoden im Bereich von
Personalverwaltung und Aktivitätsverwaltung den Verwaltungsaufwand zu verringern.
2.2.2 Personalplanung
Im Rahmen der Softwareprojekt-Veranstaltung spielen die Erfahrungen und Fähigkeiten
der Studierenden eine entscheidende Rolle und müssen bei der Schätzung berücksichtigt
werden. Für die Auswahl von Studierenden für jedes Team werden die teilnehmenden
Vorlesungen und Erfahrungen zusammengefasst, um daran orientiert die Zuweisung
vorzunehmen. Die Rolle von Projektleiter und Qualitätsbeauftragtem in jedem Team wird
demselben Team nach Vereinbarung mit den anderen Teammitgliedern zugewiesen.
Dadurch hat aber der Projektleiter die Übersicht über einem Team mit den zuständigen
Personen. Durch die Erfahrungen und Fähigkeiten der Teammitglieder und die
Schwierigkeiten des Projekts sowie andere Kriterien kann die Anzahl von Mitgliedern
jedes Teams unterschiedlich sein. Um das Projekt zum Erfolg zu bringen, sollten die
Studierenden fair und sinnvoll auf die einzelnen Teams verteilt werden.
2.2.3 Zeitplanung
Im Allgemeinen stellt die Grundlage der Zeitplanung zunächst das Definieren einer
Zeiteinheit dar, die zum Beispiel Tage, Wochen oder Monate sein kann. Die Zeitplanung
wird im Rahmen dieser Bachelorarbeit mit Hilfe des Gantt-Charts7 veranschaulicht.
6 Hans-D. Litke: Projektmanagement. Methode, Techniken, Verhaltensweisen, S. 11.
7 Oder als Balken-Diagramm benannt. Das Diagramm ist die beim Projektmanagement am häufigsten benutzte Präsentationsform, Kerzner, H., Projektmanagement. Ein systemorientierter Ansatz zur Planung und Steuerung, S. 508.
2 Konzepte
9
Abbildung 2: Screenshot eines Beispiels für Prozessverwaltung von entwickeltem
PMW
Die Aufgabe der Zeitplanung im Rahmen der Softwareprojekt-Veranstaltung lautet, die
Prozesse zeitlich zu zuordnen und zu definieren. Dadurch werden das Beginn, das Ende
und die Ausführungsdauer eines jeden Prozesses und des gesamten Projekts erfasst.
Jeder Prozess hat bestimmte Zeitbedingungen und Terminvorgabe, die ermittelt werden
sollen. Die Zeitbedingungen werden von dem Mitarbeiter des SE-Instituts bestimmt. Es
gibt viele Aspekte wie zum Beispiel den Urlaub der SE-Mitarbeiter, die Feiertage usw. die
die Terminvorgabe beeinflussen. Damit fließen Abweichungen vom Beginn und Ende
eines jeden Prozesses in die Gesamtplanung ein. Die Softwareprojekt-Veranstaltung
findet alle zwei Semester in dem gleichen Zeitraum jedes Jahres statt. Dadurch hängt die
Schätzung der bestimmten Dauer für die Prozesse meist von der Zuständigkeit der SE-
Mitarbeiter ab8.
2.3 Analyse von verschiedenen Werkzeugen
2.3.1 PHProject
PHProject ist eine PHP9-basierte Open source-Software unter der GPL10 und wird in
kleinen bis mittelgroßen Projektteams eingesetzt. Das Programm läuft auf einem Server
als eine Web-Applikation und benötigt auf der Seite des Clients keine Software. Diese
8 Wenzel, J., Meusel, J., Schlomm, O., Netzplantechnik im Eventmanagement, S. 7. 9 Zum Begriff PHP vgl. Beisecker, M.A., Das Lexikon der PC-Fachbegriffe 2005/2006, S. 270.
10 Zum Begriff GPL vgl. ebenda, S. 170.
2 Konzepte
10
Applikation funktioniert mit verschiedenen Benutzergruppen und mit verschiedenen
Rollen. Es gibt insgesamt drei Arten von Benutzern:11
Administrator
Nutzer mit Chefrechten
Normale Nutzer
Abbildung 3: Screenshot für PHProjekt
Quelle: www.phprojekt.com
Die Applikation löst viele Kernaufgaben des Projektmanagements12 wie Terminplanung,
Personalmanagement und Projektsteuerung. Die Applikation ermöglicht den Ablauf mit
Hilfe des Gantt-Diagramms. Die Applikation hat aber einen großen Vorteil bei der
Kommunikation zwischen allen Projektmitarbeitern. Es gibt viele Werkzeuge, die der
Kommunikation via Emails, Foren, File-Sharing und Chat-Room dienen. Mit Hilfe eines
Mail-Client wie Microsoft Outlook können Email-Daten verwaltet werden. Mit der
Unterstützung von Foren und Chat werden die Nachrichten zwischen Projektteilnehmern
direkt ausgetauscht. Die Kontakte eines Projektteilnehmers mit anderen werden über die
Kontaktverwaltung zusammengefasst und danach in Terminen, Aufgabe und Projekten
abgelegt.
Diese Software bietet aber keine Schnittstelle an, mit der die Informationen von allen
Studierenden in die Software importiert werden können. Die Erstellung der Vorlage wird in
11 Janke, S., Günther, A., PHProjekt – ein Open Source Groupware Suite, unter: http://fmr.ilr.tu-
berlin.de/manual-0.8.html. 12
Buhl, A., Grundkurs Software-Projektmanagement, S. 3.
2 Konzepte
11
der Software nicht integriert, und die Email kann auch nicht zu einem festgelegten
Zeitpunkt gesendet werden.
2.3.2 OpenProj
OpenProj ist eine Open Source-Alternative zu Microsoft Project. OpenProj ist ein sehr
umfangreiches und vielseitiges Projektmanagement-Werkzeug. Im Gegensatz zu
PHProject ist OpenProj eine Desktop-Applikation, die mit Java entwickelt wurde. Der erste
Vorteil von OpenProj ist die Schnittstelle mit einem anderen Projektmanagement-
Werkzeug wie Microsoft Project. Das Programm bietet eine Schnittstelle an, mit der der
Benutzer die Projekte von Microsoft (MS) Project öffnen kann. Die Oberfläche ist nicht
sonderlich verschieden von derjenigen von MS Project. Im Vergleich mit PHProject hat
OpenProj viele Aspekte des Projektmanagements abgedeckt. Die Strukturplanung,
Termin- und Zeitverwaltung ist ausführlich dargestellt und ist mit Hilfe von Balken-
Diagrammen auch sehr übersichtlich. Ressourcen-, Personal- und Kostenverwaltung
werden ebenfalls berücksichtigt. Das Programm verfügt über viele Diagramme wie z.B.
Work Breakdown Structure (WBS) in Kostenverwaltung, Resource Breakdown Structure
in Ressourcenverwaltung und Aufwanddiagramm. Mit Hilfe der Berichte-Funktion bietet
das Programm einen Überblick mit den wichtigsten Informationen für Projektleiter. Das
Programm hat viele allgemeine Vorteile hinsichtlich des Projektmanagements, doch im
Rahmen der Software-Projekt-Veranstaltung bringt das Programm nicht viel. Die Import-
Funktionen mit einer vom SE-Institut formatierten Datei sind nicht möglich, weshalb kann
der Projektleiter die Studierenden und Gruppen nicht vernünftig verwalten kann. Eine
Email-Vorlage kann bei dem Programm ebenfalls nicht erstellt und verwendet werden.13
13 SERENA Software, Inc. OpenProj. http://www.serena.com/ products/openproj/
2 Konzepte
12
Abbildung 4: Screenshot für OpenProj
2.3.3 Microsoft Project
Microsoft Project ist eine auf dem Markt bekannte Projektmanagement-Software. Diese
Software wird bei vielen kleinen und mittelständischen Unternehmen eingesetzt. Mit der
Kombination von Microsoft Project und Microsoft Project Server werden sowohl die
Einzelprojektplanung und -steuerung als auch die Verwaltung einer Vielzahl von Projekten
unterstützt.14 Folgende Punkte des Microsoft Project werden berücksichtigt:
MS Project unterstützt die Prozessoptimierung. Der Ablauf der Prozesse in einem
Projekt wird über das Programm sehr ausführlich beschrieben. Mit der Export-
Funktion werden die Prozesse in ein Programm exportiert, und danach werden die
Zeiten mittels Netzplantechnik berechnet.15
Auch die Kostenplanung wird in MS Project ausführlich beschrieben. Diese hat aber
im Rahmen der Softwareprojekt-Veranstaltung keine Bedeutung.
14GPM InfoCenter. „Auf dem Weg zu Mitliprojektmanagement als Unternehmensstrategie.
http://www.pmaktuell.org/uploads/PMAktuell-200204/PMAktuell-200204-034-Public.pdf (Zugriff am 21. 08 2012). 15
Schwab, J., Geschäftsprozessmanagement mit Visio, ViFlow und MS Project, S. 206.
2 Konzepte
13
Die Personalverwaltung wird ausführlich und mit Unterstützung von vielen
Diagrammen veranschaulicht.16
Unterstützung von verwandten Produkten von Microsoft: Die Daten und Berichte eines
Projekt können in eine Excel-Datei oder nach Microsoft Visio exportiert werden.
Das Programm ist jedoch für folgende Aspekte der Softwareprojekt-Veranstaltung nicht
geeignet:
Das Programm bietet viele Funktionen, um Personen in einem Projekt zu verwalten.
Es gibt aber viele zu einer Person gehörende Informationen wie Arbeitsstunden,
Kosten pro Person usw., die im Rahmen der Softwareprojekt Veranstaltung unnötig
sind. Mit solchen Informationen könnte der Projektleiter die Übersicht und die
wichtigsten Informationen über die Studierenden verunklaren.
Die Importierung von Studierenden über eine CSV-Datei mit einem vom SE-Institut
bestimmten Format ist nicht möglich. Der Aufwand, um Informationen von
Studierenden zu sammeln und zu verwalten, kann nicht verringert werden.
Mit der Kombination mit anderen Produkten von Microsoft kann das Programm auch
Emails senden. Die Inhalte der Emails werden aber manuell erfasst. Die
wiederkehrende Kommunikation, die in der Einleitung erläutert wird, kann in diesem
Fall nicht erleichtert werden.
Von daher soll ein eigenes, Projektmanagementwerkzeug-spezifisches Software-Projekt
entwickelt werden.
16 Schwab, J., Projektplanung realisieren mit Project 2007. Das Praxisbuch für alle Project-
Der Tabellenname „project“ wird im Konstruktor angegeben. Anschließend wird die
abstrakte Methode getObject() implementiert. Mit eindeutiger ID-Nummer werden die
Daten von der Tabelle in das Project-Objekt übertragen. Dieses Project-Objekt wird von
einer anderen Funktion verwendet. Die Daten können direkt in der GUI angezeigt oder
weiter mit Logikfunktionen bearbeitet werden.
4 Projektumsetzung
39
4.4.2 Inhalt der Emails mit Schlüssel-Worten als Platzhaltern auswerten
Der Inhalt der Email-Vorlage enthält die Schlüssel-Worte als Platzhalter. Vor dem Senden
werden diese Schlüssel-Worte mit den entsprechenden Werten ersetzt. Der Inhalt der
Email wird mit Hilfe der Methode evaluateBody(String body, String receiver)
ausgewertet. Dabei ist body der Inhalt der Email und receiver die Email-Adresse des
Empfängers. Diese Methode kann auf drei Schritte aufgeteilt werden:
private String evaluateBody(String body, String receiver) { // get all vars String[] vars = KeyVal.getVars(body); KeyVal[] kvs = new KeyVal[vars.length]; int index = 0; for (String var : vars) { KeyVal kv = kvEntity.getObjectFromKey(var); if (kv.getKey() == null) { PopUpError.displayError(null, "Der Schlüssel-Wert: " + var + " wurde nicht gefunden! " + "Bitte korrigieren Sie seine Definition ", "System Fehler"); } kvs[index] = kv; index++; }
Schritt 1: alle Schlüssel-Worte, die sich im Email-Inhalt als Platzhalter befinden,
werden ausgesucht und in einer String-Array gespeichert. Diese Array wird
durchlaufen, wobei für jedes Element der Array ein entsprechendes Schlüssel-Wort-
Objekt aus der Datenbank geholt und in einer anderen KeyVal-Array gespeichert
wird.
4 Projektumsetzung
40
// replace var with email and save old key for (int i = 0; i < kvs.length; i++) { int oPos = kvs[i].getKey().indexOf("("); int cPos = kvs[i].getKey().indexOf(")"); if (cPos > 0 && oPos > 0) { String varInKey = kvs[i].getKey().substring(oPos + 1, cPos); String oldKey = kvs[i].getKey(); kvs[i].setOldKey(oldKey); String newKeyWithVal = oldKey.replaceAll(varInKey, receiver); kvs[i].setKey(newKeyWithVal); } else { // oldkey is null as default // for other keyval, which not related with email // need to set oldkey = key , so the replacement can be well // done; kvs[i].setOldKey(kvs[i].getKey()); } }
Schritt 2: Die KeyVal-Array wird durchgelaufen, und für jedes Element der Array wird die Email-Adresse als newKey gespeichert. Die Variable wird als oldKey gespeichert, damit diese wieder in Schritt 3 verwendet wird.
// evaluate body for (KeyVal kv : kvs) { body = body.replace("[" + kv.getOldKey() + "]", StringHelper.ArrayToString(kv.getVal(), ",")); } return body;
Schritt 3: Nachdem jedes KeyVal-Objekt newKey gesetzt worden ist, wird der Inhalt
der Email ausgewertet. Jedes KeyVal-Objekt wird zuerst ausgewertet und mit Hilfe
von oldKey an die richtige Position im Inhalt zurückgesetzt.
5 Erweiterungsmöglichkeiten
41
5 Erweiterungsmöglichkeiten
Eine Schnittstelle mit einer anderen Plattform ist eine Erweiterungsmöglichkeit für das
Werkzeug. Beim SE-Institut wird gerade eine Software, ein sogenanntes NetQGate, für
die Software-Projekt-Veranstaltung eingesetzt, um ein projektübergreifendes
Management zu haben und um eine grundlegende Qualität zu sichern. Die Informationen
der gesamten Veranstaltung werden in diesem Programm verwendet. Über eine
Schnittstelle kann das Projektmanagement-Werkzeug die Daten mit NetQGate
austauschen. Daher kann die Gruppe mit den zugewiesenen Studierenden direkt in
NetQGate beim Starten importiert werden. Umgekehrt können die Zustände der
Aktivitäten wieder in das Projektmanagement-Werkzeug übertragen werden.
Über eine Schnittstelle kann der Projektleiter auf den SVN-Repository zugreifen und die
Dateien jeder Gruppe betrachten. Die angeforderten Dateien werden zu einem
bestimmten Zeitpunkt kontrolliert. Ein HTML-Editor für die Erstellung einer Email-Vorlage
kann integriert werden. Mit Hilfe dieses Editors kann der Projektleiter den Email-Inhalt in
der üblichen Form schneller erarbeiten. Ein Gesamtbericht wird am Ende der
Veranstaltung angefertigt. Im Bericht sollen alle Aktivitäten und statistische Informationen
angezeigt werden. Daher kann der Projektleiter den Bericht im LID wieder verwenden, um
Erfahrungen zu sammeln.
6 Zusammenfassung und Ausblick
42
6 Zusammenfassung und Ausblick
Zusammenfassung
Vor dem Fazit und dem Ausblick werden im Folgenden die Schwerpunkte und
Erkenntnisse der Kapitel zwei bis sechs zusammengefasst:
Im Kapitel 2 habe ich die Grundlagen für einen neuen Entwurf des Projektmanagement-
Werkzeuges gelegt und zunächst die am meisten eingesetzten Projektmanagement-
Werkzeuge betrachtet. Als unverzichtbare Grundlage diente die Beschreibung von
wichtigen Aspekten des Projektmanagements. Im folgenden Kapitel 3 habe ich die
Anforderungen an zu entwickelndem Projektmanagement-Werkzeug aufgelistet und die
zentralen Risiken beschrieben.
Im Kapitel 4 wurde die Abhängigkeit zwischen Entities erläutert. Davor wurden fünf
Prototypen erläutert und ihre Ergebnisse analysiert. Zuerst wurde die Konsistenz der
Oberfläche untersucht, damit die Oberfläche nicht zerstört wird, wenn die Größe und
Position der anderen graphischen Elemente verändert werden. Auch die für erfolgreiche
und gescheiterte Verbindungen mit einem Mail-Server angefallenen Zeiten wurden
untersucht. Danach wurden das gekoppelte Schlüssel-Wort und die HSQL-Datenbank
betrachtet. Das Schlüssel-Wort ist einer der wichtigste Teile für das Erstellen und Senden
einer Email-Vorlage. Bei der Erstellung einer Email-Vorlage werden Schlüssel-Worte
verwendet, die jedoch beim Senden mit dem gesamten Email-Inhalt ausgewertet werden.
Wenn der Prototyp erfolgreich untersucht wird, wird die Sendungsfunktion teilweise
indirekt erfolgreich untersucht.
Im letzten Kapitel stelle ich abschließend die Erweiterungsmöglichkeiten des
Projektmanagement-Werkzeugs dar.
Ausblick
Es gibt immer noch viele Spielräume für die neue Version des Projektmanagement-
Werkzeuges bei der Personalverwaltung und bei der Kommunikation mit Studierenden. Im
Bereich der Personalverwaltung wurden die Informationen von Studierenden und ihren
Teams verwaltet. Es ist aber noch Verbesserungspotential vorhanden, und zwar
dahingehend, dass nicht nur Informationen von Studierenden vorhanden sind, sondern
auch solche von den SE-Mitarbeitern, die für jedes Team zuständig sind. Außerdem
könnten neue Plugins in das Programm integriert werden, um die Kommunikation nicht
6 Zusammenfassung und Ausblick
43
nur über Email, sondern auch über andere Formen wie etwa Chat und Sofort-Feedback
zu verbessern.
7 Literaturverzeichnis
44
Literaturverzeichnis
Beisecker, M-A. Das Lexikon der PC-Fachbegriffe . Bonn: Fachverlag für die Deutsche
Wirtschaft AG, 2005/2006.
Buhl, A. Grundkurs Software-Projektmanagement, Aufl.1. München: Carl Hanser Verlag
GmbH & CO. KG, 2004.
GPM InfoCenter. „Auf dem Weg zu Mitliprojektmanagement als Unternehmensstrategie.“