I wrote this thesis in 2003 at the University of Applied Sciences of Hagenberg (Austria). The thesis is written in English.
In this thesis we develop a portal-based prototype of a tool that is able to tailor a software development process by using slicing techniques. The tool is developed for IBM's Global Services Method, but its design is flexible enough to make it adaptable to any other process model, provided that the model is based on the OMG's Software Process Engineering Metamodel.
Program slicing is a program analysis technique that has been developed and researched for many years. Applying program slicing to a new domain is an interesting idea. An essential part of our work is to find and define analogies between software development processes and computer programs. After the analogies are defined, a program slicing algorithm is adapted and extended to fit our needs.
We develop an algorithm that computes task and work product dependences in a software development process and use this algorithm in our prototype to supply the user with valuable information about process internal dependences, thus supporting and simplifying the user's decision-making when he or she tailors a software development process.
Another part of this thesis is the discussion of our prototype's design; especially the structure which makes the prototype adaptable to other software development processes and performance-related design decisions are of interest.
In dieser Diplomarbeit wird versucht, bewährte Techniken aus dem Program Slicing Bereich auf eine neue Domäne, nämlich die der Softwareentwicklungs-Prozessmodelle, anzuwenden. Diese Idee stammt ursprünglich von C. Steindl, der sich ausgiebig mit der Thematik des Program Slicings auseinander gesetzt hat und mich während meines Praktikums bei IBM betreute.
Die Hauptidee besteht darin, dass Softwareentwicklungs-Prozessmodelle und Computerprogramme offensichtlich Gemeinsamkeiten in ihrer Struktur aufweisen. Beide beschreiben Abläufe auf genau definierte Arten und bedienen sich dabei ähnlicher Elemente, woraus die Idee entstand, dass man Program Slicing Algorithmen auch auf Softwareentwicklungs-Prozessmodelle anwenden könnte.
Program Slicing wird dazu verwendet, Computerprogramme (oder Teile davon) zu analysieren. Es kann den Entwickler in unterschiedlichen Phasen der Entwicklung unterstützen, so z.B. beim Debuggen. Dabei wird etwa ein Slice berechnet, welches nur die jeweilig für den Entwickler interessanten Teile des Programmes enthält, da wichtige Zusammenhänge innerhalb des Programmes vom Program Slicing Algorithmus analysiert werden und daher nicht relevante Teile des Programmes einfach entfernt werden können.
Auf ein Softwareentwicklungs-Prozessmodell angewandt, könnten Program Slicing Techniken dabei helfen, Zusammenhänge innerhalb des Prozessmodells aufzuzeigen, was wiederum den Projektleiter beim Anpassen eines Prozessmodelles an ein konkretes Projekt unterstützen würde.
Im Laufe der Diplomarbeit werden zuerst Analogien zwischen Prozessmodellen und Computerprogrammen gefunden und festgehalten, danach wird ein Algorithmus aus dem Program Slicing Bereich an die Bedürfnisse des Prozessmodelles angepasst, und schließlich wird ein Prototyp einer Anwendung entwickelt, die diese Techniken verwendet und damit das Anpassen eines Softwareentwicklungs-Prozessmodells ermöglicht.
Als Prozessmodell wird die IBM eigene Global Services Method verwendet. Um den Sinn dieser Arbeit zu erhöhen, wurde allerdings als generelle Ausgangsbasis das Software Process Engineering Metamodel (SPEM) der OMG gewählt. Das Design des Prototypen war so zu wählen, dass die Anwendung später ohne großen Aufwand an verschiedene Prozessmodelle angepasst werden kann, vorausgesetzt die Prozessmodelle basieren am SPEM.
Eine weitere Anforderung an den Prototypen war, dass er am WebSphere Portal Server laufen sollte. Die Verwendung des Portal Servers brachte einige Annehmlichkeiten mit sich (integrierte Benutzerverwaltung, einheitliches Design der Benutzeroberfläche, strukturierter Aufbau der einzelnen Seiten, usw.), wirkte sich allerdings auch stark auf das Design des Prototypen aus.
You can download the thesis as PDF file in three different versions:
If you want to contact me, feel free to write a mail to [email protected].