Diplomarbeit_Pavel_H..

Transcription

Diplomarbeit_Pavel_H..
Universität Bremen
Fachbereich Mathematik/Informatik
Quelloffene Content Management Systeme
zwischen relationaler und XML-Persistenz
– Ein Vergleich aus Entwicklersicht –
Diplomarbeit
Pavel Hasanov
12. Februar 2010
Gutachter:
Prof. Dr. Karl-Heinz Rödiger
Dr. Dieter Müller
Erklärung der Selbstständigkeit
Hiermit versichere ich, die vorliegende Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt, sowie die Zitate deutlich
kenntlich gemacht zu haben.
Bremen, den 06.01.2010
Pavel Hasanov
Inhaltsverzeichnis
1 Einleitung
1.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Grundlagen
2.1 Content Management System . . . . . . . . . .
2.1.1 Web Content Management System . . .
2.1.2 Enterprise Content Management System
2.1.3 Grundfunktionalitäten eines CMS . . . .
2.1.4 Vorteile von XML in einem CMS . . . .
2.2 CMS-Techniken und Datenhaltung . . . . . . .
2.2.1 Techniken . . . . . . . . . . . . . . . . .
2.2.2 Datenhaltung . . . . . . . . . . . . . . .
2.2.2.1 Datenbanken . . . . . . . . . .
2.2.2.2 Speicherung ohne Datenbank .
2.2.2.3 XML-fähige Datenbanken . . .
2.3 Schlussbemerkung . . . . . . . . . . . . . . . . .
3 Auswahl der Systeme
3.1 Auswahlkriterien . . . . . . . . . . . . .
3.1.1 Funktionale Kriterien . . . . . . .
3.1.2 Nicht-funktionale Kriterien . . . .
3.1.2.1 Benutzbarkeits-Kriterien
3.1.2.2 Lizenz-Kriterien . . . .
3.1.2.3 Datenhaltungs-Kriterien
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
5
6
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
10
10
12
13
13
15
15
16
16
18
.
.
.
.
.
.
20
20
21
21
21
22
22
Inhaltsverzeichnis
3.2
3.3
ii
Marktübersicht . . . . . . . . . . . . .
3.2.1 Filterung nach K.O.-Kriterien .
3.2.2 CMS Award . . . . . . . . . . .
3.2.3 Google Summer of Code . . . .
3.2.4 Wappalyzer-Statistik . . . . . .
3.2.5 Ergebnisse der Sekundäranalyse
Beschreibung der Systeme . . . . . . .
3.3.1 TYPO3 . . . . . . . . . . . . .
3.3.2 Joomla . . . . . . . . . . . . . .
3.3.3 Drupal . . . . . . . . . . . . . .
3.3.4 eZ Publish . . . . . . . . . . . .
3.3.5 Papaya CMS . . . . . . . . . .
4 Untersuchung
4.1 Theoretische Grundlage . . . . .
4.1.1 Qualitätssicht . . . . . . .
4.2 Evaluationsmethode . . . . . . .
4.2.1 Experte . . . . . . . . . .
4.3 Evaluationsverfahren . . . . . . .
4.4 Kriterienkatalog . . . . . . . . . .
4.5 Fragenkatalog . . . . . . . . . . .
4.5.1 Fragen zu Benutzbarkeit .
4.5.1.1 Verständlichkeit .
4.5.1.2 Erlernbarkeit . .
4.5.2 Fragen zu Änderbarkeit .
4.5.2.1 Analysierbarkeit
4.5.2.2 Modifizierbarkeit
4.5.2.3 Stabilität . . . .
4.5.2.4 Prüfbarkeit . . .
4.5.3 Fragen zu Übertragbarkeit
4.5.3.1 Anpassbarkeit . .
4.5.3.2 Installierbarkeit .
4.5.3.3 Konformität . . .
4.5.3.4 Austauschbarkeit
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
24
25
25
26
28
29
29
30
30
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
32
34
35
36
36
37
43
43
43
44
44
45
45
45
46
46
46
47
47
47
Inhaltsverzeichnis
iii
5 Auswertung
5.1 Systeme auf relationaler Basis . . . . . . . . . . . . . .
5.1.1 Benutzbarkeit . . . . . . . . . . . . . . . . . . .
5.1.2 Änderbarkeit . . . . . . . . . . . . . . . . . . .
5.1.3 Übertragbarkeit . . . . . . . . . . . . . . . . . .
5.2 XML-basierte Systeme . . . . . . . . . . . . . . . . . .
5.2.1 Benutzbarkeit . . . . . . . . . . . . . . . . . . .
5.2.2 Änderbarkeit . . . . . . . . . . . . . . . . . . .
5.2.3 Übertragbarkeit . . . . . . . . . . . . . . . . . .
5.3 Vergleich der relationalen und XML-basierten Systeme
5.3.1 Benutzbarkeit . . . . . . . . . . . . . . . . . . .
5.3.2 Änderbarkeit . . . . . . . . . . . . . . . . . . .
5.3.3 Übertragbarkeit . . . . . . . . . . . . . . . . . .
5.4 Schlussfolgerung . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
50
50
53
55
57
57
59
60
62
62
64
66
68
6 Zusammenfassung und Ausblick
69
Literaturverzeichnis
72
Onlineverzeichnis
76
Abbildungsverzeichnis
79
Tabellenverzeichnis
80
Abkürzungen
81
Anhang
82
A Fragenkataloge
A.1 TYPO3 . . .
A.2 Joomla . . . .
A.3 Drupal . . . .
A.4 eZ Publish . .
A.5 Papaya CMS
A.6 Fragenkatalog
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
83
84
89
94
99
104
109
Kapitel 1
Einleitung
Der Web-Auftritt ist heutzutage zu einer der wichtigsten Komponenten der Außendarstellung von Unternehmen und anderen Körperschaften geworden. Für die
meisten Unternehmen ist ein eigener Internetauftritt mittlerweile unverzichtbar. In
Deutschland waren im Jahr 2008 laut dem Bundesverband Informationswirtschaft,
Telekommunikation und neue Medien (BITKOM) [Schulz 2008] vier von fünf Unternehmen (78%) im Internet präsent. Das entspricht einer Steigerung von 5% gegenüber dem Jahr 2006.
Die in vielen Fällen erste Begegnung und dadurch auch den ersten Eindruck von
der Firma bekommt der Kunde durch ihre Internetpräsenz. Die Webseite ist ein
‚Gesicht‘ der Firma, das attraktiv und anziehend sein soll. Zusätzlich ist sie eine
Pinnwand der Firma, wo informative und aktuelle Daten veröffentlicht werden.
Das Leben im Unternehmen ‚brummt‘, die Produkte und Leistungen ändern sich
bzw. werden ständig erneuert, die Angebote müssen bekannt gegeben werden. Diese
Änderungen sollen auch auf der Webseite vorgenommen und zeitnah einer breiten
Öffentlichkeit zugängig gemacht werden; nur so kann der Internetauftritt immer
nützlich und effektiv bleiben.
Die Pflege der Webseite ist aber kein einfacher Prozess, da sie Kenntnisse in Programmierung und Grafikdesign erfordert. Bei einer statischen Internetseite müsste
man jedesmal einen Dienstleister für die Aufgaben beauftragen. Damit man diese
Kosten und Aufwendungen sparen kann, kommen sogenannte Content Management
Systeme (CMS) zu Hilfe, die den Inhalt vom Design und der Funktionalität trennen.
1.1 Problemstellung
2
Immer mehr Unternehmen steigen von einer statischen HTML-Seite auf solche dynamischen, redaktionellen Systeme um und gewinnen dadurch die technische Freiheit
bei der Pflege der Inhalte.
Die Geschichte der Inhaltsverwaltung mit Hilfe von CMS ist bereits mehr als 10
Jahre alt. Innerhalb dieser Zeit sind mehr als 2000 Systeme (nach [Hein 2009]) auf
dem Markt erschienen. Viele davon sind kleine Agenturlösungen, die zu unbekannt
oder zu speziell sind, um sich nachhaltig durchzusetzen. Andere sind durch Lizenzgebühren und hohen Entwicklungsaufwand zu kostenintensiv, was der Grund dafür
ist, weshalb nur große Unternehmen diese nutzen. Heutzutage werden immer mehr
Lösungen unter Open-Source-Lizenzen gestellt. Dabei setzt man auf ein anderes
Erfolgsmodell: man bietet die kostenlosen Systeme mit kostenpflichtigem professionellem Support anstelle von Lizenzkosten für die Software und den Support an. So
können sich zumindest auch die kleineren oder mittleren Unternehmen ein System
als einfaches Basis-Modell leisten.
1.1 Problemstellung
Das breite Auswahlspektrum der CMS macht es schwierig, sich für ein bestimmtes System zu entscheiden. Es existieren in dem Bereich Produkte von einfachster
Webseiten-Gestaltungssoftware bis hin zu großen E-Business-Portal-Lösungen (vgl.
[Kampffmeyer 2007, S. 256]). Trotz der Vielfalt der Systeme gibt es wenige, die solche wichtigen Aspekte wie Webstandards, Flexibilität oder Erweiterbarkeit leisten,
meint der Web- und Content-Management Experte Ansgar Hein [Hein 2009]. Ihm
zufolge sind die meisten Systeme von eher durchschnittlicher Qualität. Die Entwickler fokussieren sich eher auf die Funktionalität der Systeme. Das Problem dabei ist,
dass viele bekannte Systeme schon länger auf dem Markt sind und eine veraltete
Struktur haben. Inzwischen ist schon einiges passiert in der Internet-Welt. Nicht
nur die Ära des Tabellen-Layouts ist vergangen; auch die Software-Architektur hat
eine neue Richtung bekommen, die mehr den Blick auf offene Schnittstellen und
Flexibilität richtet. Deswegen wäre es sinnvoll, zuerst die Architektur des gesamten Systems anzupassen, bevor man die zahlreichen neuen Funktionen als externe
Software-Bausteine (sogenannte Erweiterungen) entwickelt.
1.1 Problemstellung
3
Open Source (OS)-Lösungen für CMS werden von vielen Firmen häufig wegen der
kostenfreien Nutzungsrechte eingesetzt. Das Aufsetzen eines solchen Systems mit
Hilfe einer Installationsanleitung kann ziemlich einfach verlaufen. In den meisten
Fällen reicht es Unternehmen nicht aus, lediglich eine sogenannte Dummy-Seite zu
benutzen, weil jede Firma Präferenzen und Vorstellungen der eigenen Internetpräsenz hat. Häufig besteht ein Bedarf an neuen Funktionalitäten, die programmiert
und an das System angepasst werden müssen. Die Problematik hierbei ist, dass die
in den Firmen gegebenenfalls vorhandenen IT-Mitarbeiter sich mit der Architektur
der Systeme nicht auskennen.
Die CMS sind unterschiedlich aufgebaut. Unterschiede beginnen schon auf der
Datenbank-Ebene, bei denen zwei verschiedene Herangehensweisen zum Speichern
der Daten zu unterscheiden sind: datenbankbasierte und dokumentenzentrierte
Speicherung. Die meisten CMS bedienen sich der datenbankbasierten Speicherung,
häufig in einer Kombination aus dem Datenbanksystem MySQL und der Skriptsprache PHP. Zusätzlich wird häufig eine eigene Skriptsprache für interne Einstellungen
und Konfigurationen eingesetzt. Systeme, die auf diese Weise aufgebaut sind, erfordern einen hohen Programmieraufwand. Des Weiteren gelingt es den firmeninternen
IT-Mitarbeitern nicht, zeitnah in die Architektur eines solchen Systems einzusteigen
und die Semantik von Skriptsprachen zu verstehen. Änderungen, Anpassungen oder
Erweiterungen kosten demnach entweder viel Zeit oder man beauftragt eine externe
Firma, die sich um die Belange des Unternehmens kümmert. In jedem Fall ist es ein
außerplanmäßiger Kostenfaktor, der bei der Entscheidung eines kostenlosen CMS
nicht bedacht wurde.
Oftmals wird vergessen, dass das Ziel eines OS-Produktes ist, anderen Entwicklern
die Möglichkeit zu geben, das System zu erweitern, um dieses möglichst fehlerfrei, erfolgreicher und ansehnlicher zu machen. Ein OS-System sollte eine saubere
und klare Struktur vorweisen, um eine stabile Plattform für die Weiterentwicklung
zu bieten. Dabei ist es sinnvoll, Standards zu verwenden, um das Interesse einer
möglichst breiten Masse zu wecken und Spezialisten in diesen Bereichen mit einzubeziehen. Die Verwendung der dokumentenzentrierten Methode kann viele Vorteile
haben. Dabei werden die einzelnen Internet-Dokumente als übersichtliche, menschenlesbare XML-Dateien gespeichert. Die Transformation in HTML-Dokumente
erfolgt per XSLT, einem offenen Standard, der leicht erlernt werden kann. Systeme
auf dieser Basis sind bereits vorhanden, werden aber selten eingesetzt und von den
1.1 Problemstellung
4
rein datenbankbasierten vom Markt gedrängt.
Mehrere Systeme wurden bereits mit einander verglichen; es existieren zahlreiche
Veröffentlichungen auf diesem Gebiet. Außerdem listen mehrere Internetseiten und
Online-Portale eine große Auswahl von CMS in der Datenbank zur Gegenüberstellung auf. Der Vergleich dabei ist eher benutzerorientiert. Benutzer können sich
dadurch leicht einen Überblick über die riesige Auswahl an Systemen verschaffen
und das am besten für ihre Bedürfnisse passende System aussuchen, ohne vorher
alle zu installieren und auszuprobieren. Die Systeme sind sehr detailliert beschrieben; somit wird dem Benutzer die perfekte Einstiegsplattform in die CMS-Welt
geboten.
Bei diesen Vergleichen fehlt aber die Information, die für Entwickler interessant ist.
Diese Kategorie hängt sehr eng mit der OS-Lizenz zusammen, da man die Möglichkeit hat, die Entwicklung der Software zu beeinflussen und eigene Ideen in den
Systemen zu realisieren. Damit sind nicht die Erstentwickler (die Autoren) von Systemen gemeint, sondern auch die Entwickler in der Community, die sich in Kernund Erweiterungsentwickler aufteilen (nach [Hauser 2008, S. 247]), und die Gruppe der Anwender, die das System erweitern sollen und für individuelle Bedürfnisse
(bzw. Bedürfnisse der Kunden) anpassen sollen. Im zweiten Fall sind es meistens
die Administratoren der Systeme, die über Programmier-Kenntnisse verfügen und
das System dementsprechend nicht nur aufsetzen, sondern auch ändern bzw. erweitern können. Häufig entwickeln sie selbst die Erweiterungen und veröffentlichen sie.
Dadurch kommt es zu möglichen Überschneidungen der beiden Gruppen, die in der
Abbildung 1.1 anschaulich dargestellt sind.
Als Folgerung aus dem oben Gesagten kann man drei wichtige Problemstellungen
festlegen, die ein Schwerpunkt dieser Arbeit sind:
• große Auswahl an OS-CMS, aber wenig qualitative;
• es gibt Standard-basierte Systeme (XML), die aber wenig verwendet werden;
• ein Vergleich der Systeme unter technischen Aspekten fehlt.
1.2 Motivation
5
Abbildung 1.1: Mögliche Überschneidungen der Entwickler- und Anwendergruppen in einer OS-Community ([Hasecke 2008, S. 20])
1.2 Motivation
Eine vierjährige Nebenbeschäftigung als studentische Hilfskraft bei einer Medienagentur hat den Autor dieser Arbeit mit einem der verbreitetsten CMS unter einer
Open-Source-Lizenz TYPO3 ([Ahlswede 2009]) bekannt gemacht. In diesem Sinne war er einer der Anwender, der das System aus technischer Seite verwendet
und weiterentwickelt hat. Seine Aufgabe war die Erstellung von Internet-Seiten mit
TYPO3 und die Anpassung des Systems an Kundenanforderungen. Häufig sollten
Erweiterungen geändert oder individuelle entwickelt werden.
Der Einstieg in das System war relativ zeitaufwendig. Die interne Struktur war für
den Autor und seine Kollegen zu unübersichtlich. Zusätzlich hat die schwer erlernbare und gewöhnungsbedürftige Skriptsprache TypoScript die Arbeit mit TYPO3
behindert. Dadurch ist die Wartung der erstellten Web-Auftritte und die Realisierung neuer Kundenanfragen mit hohem Zeitaufwand verbunden gewesen.
Mittlerweile hat die TYPO3-Community neue Versionen herausgebracht, deren Code erheblich aufgeräumter ist; allerdings wurde die eigentliche Arbeit und die Wartung des Systems nicht wirklich erleichtert. Es werden immer noch keine Standards
verwendet, und die Struktur ist unverändert geblieben.
1.3 Aufbau der Arbeit
6
Im Laufe der Zeit entstand die Idee, ein eigenes CMS auszuarbeiten. Der Hauptunterschied zu den meisten CMS sollte die Inhaltsspeicherung in XML-Format sein,
um die Daten flexibel, strukturiert und erweiterbar zu machen und einen akzeptierten Standard einzuführen. Dafür bräuchte man keinen Spezialisten, der sich mit dem
System auskennt sondern einen, der XML- und XSLT-Programmierung beherrscht
und der nach einer kurzen Einarbeitungszeit mit dem System vertraut ist.
Bei der Recherche hat sich ergeben, dass es OS-Produkte solcher Art bereits gibt,
diese sich jedoch nicht wirklich durchgesetzt haben. Es stellt sich daher die Frage,
warum dies nicht geschehen ist?
Auf Basis dieser Probleme und Fragen ist das Thema dieser Diplomarbeit entstanden.
1.3 Aufbau der Arbeit
Die vorliegende Arbeit ist in sechs Kapitel aufgeteilt. Das aktuelle Kapitel schafft
eine Einleitung zu dem Thema und zum Aufbau der Arbeit. In dem zweiten Kapitel wird Hintergrundwissen über die verschiedenen Arten von CMS vermittelt.
Außerdem werden hier mögliche technische Konstrukte für ein CMS vorgestellt und
beschrieben. Der Fokus ist dabei auf verschiedene Möglichkeiten der Datenhaltung
gelegt; dabei werden XML- und relationale Datenbanken miteinander verglichen.
Im dritten Kapitel werden die zu untersuchenden Systeme der beiden DatenhaltungsMethoden aus der großen Vielfalt ausgesucht. Dafür werden zuerst die Mindestanforderungen an CMS definiert und es wird eine Sekundäranalyse durchgeführt.
Anschließend werden die ausgewählten Systeme in diesem Kapitel beschrieben.
Das Untersuchungsverfahren wird im vierten Kapitel ausgearbeitet und vorgestellt.
Des Weiteren wird hier der Kriterienkatalog für die Evaluation zusammengestellt.
Im fünften Kapitel wird der Ablauf der Evaluation in einzelnen Schritten beschrieben. Hier werden die Systeme nach ausgewählten Kriterien untersucht.
Abgeschlossen wird die Arbeit mit dem sechsten Kapitel, das sich mit der Zusammenfassung und Analyse der Ergebnisse der Untersuchung befasst.
Kapitel 2
Grundlagen
Bevor man sich in den ‚Dschungel‘ der Angebote an OS CMS-Produkten begibt,
um das passende auszusuchen, wird in diesem Kapitel CMS als allgemeiner Begriff
betrachtet, werden seine Aufgaben spezifiziert und die verschiedenen Formen der
Systeme angegeben. Da eine Gruppe der zu untersuchenden Systeme die Besonderheit hat, Inhalte im XML-Format zu speichern, wird zusätzlich in diesem Kapitel
auf XML-Einsatz in einem CMS eingegangen. Außerdem werden mögliche CMSKonstrukte vorgestellt und verschiedene Ansätze zur Datenhaltung in einem CMS
beschrieben.
2.1 Content Management System
Unter einem CMS versteht man ein Softwaresystem zum Erstellen, Pflegen und Zusammenführen verschiedener Inhalte. Der Inhalt bezeichnet dabei jede Art von Informationen, Bildern und Dokumenten in verschiedenen Datei-Formaten. Die Ausgabe kann auf unterschiedlichen Medien erfolgen. Beispiele für mögliche Ergebnisse sind Kataloge, Bücher, Preislisten, Technische Dokumentationen, CD-ROMs,
Webseiten oder PDFs (laut der Begriffserklärung auf der eforia web manager-Seite
[Efo 2009]). Grundsätzlich wird das Layout vom Inhalt beim Erstellungsprozess getrennt, so dass Anpassungen am Design einfacher vorgenommen werden können. Bei
den meisten CMS werden auch die Inhalte von externen Dokumenten abgegrenzt,
so wie es in Abbildung 2.1 am Beispiel eines Internet-Mediums dargestellt ist.
2.1 Content Management System
8
Abbildung 2.1: Aufbau eines CMS ([Winkler 2001])
Bei der Betrachtung des Themas Content Management (CM) muss zwischen zwei
speziellen Ausprägungen, dem Web Content Management System (WCMS) und
dem Enterprise Content Management System (ECMS) unterschieden werden (nach
[Kampffmeyer 2007, S. 256]). Beide Ausprägungen entstehen aus verschiedenen Ursprüngen; ihre Funktionen sind in der Regel auf abweichende Schwerpunkte festgelegt.
2.1.1 Web Content Management System
Wie der Name schon ausdrückt, ist ein WCMS ein Content Management System,
das auf die Erstellung und Verwaltung von digitalen Daten mit dem Schwerpunkt
auf das Medium Internet spezialisiert ist (vgl. [Grume 2003, S. 4]). Das System läuft
üblicherweise auf einem Webserver und ermöglicht die selbständige Bearbeitung von
Internetseiten ohne Web- und HTML-Kenntnisse.
Ein WCMS besteht aus zwei Teilen: dem sogenannten Backend (Redaktionsansicht),
das zur Pflege der Daten dient, und einem Frontend, das die Inhalte nach außen im
World Wide Web (WWW) präsentiert. Die Verwaltung und die Inhaltspflege finden
komplett über den Web-Browser statt.
An dieser Stelle ist zu erklären, dass die in dieser Arbeit untersuchten CMS alle
webbasiert sind und literaturgemäß WCMS heißen sollen. Üblicherweise wird der
Begriff Web Content Management System, insbesondere im deutschen Sprachraum,
2.1 Content Management System
9
als Synonym zu CMS benutzt ([Stamm 2002]). Die meisten kennen diese Art Systeme nur unter letzterem Namen; aus diesem Grund wird dieser allgemein anerkannte
Begriff auch in dieser Diplomarbeit benutzt und im Folgendem nur noch die Abkürzung CMS verwendet.
2.1.2 Enterprise Content Management System
Heutzutage werden viele, insbesondere kommerzielle CMS mit dem EnterpriseZusatz bezeichnet (vgl. [Hauser 2008, S. 247]). Häufig ist das nur eine Marketingstrategie, um ein Produkt auf dem Markt anzupreisen. In diesem Fall wird
der Begriff missbraucht und die Enterprise-Benennung als besonders groß, schön
und teuer verstanden. Hinzu kommt die Tatsache, dass WCMS und CMS oftmals
gleichbedeutend verwendet werden (siehe Abschnitt 2.1.1). Damit wird die Verwirrung verstärkt und es ergibt sich, dass ein ECMS ein System ist, welches lediglich
zur Verwaltung von großen Internetseiten dient.
Die Verwirrung kommt dadurch, dass es nicht um das Wort Enterprise als Begriffszusatz geht, sondern um den Enterprise Content als Paarwort. Damit wird
der ganze Dokumentenbestand des Unternehmens gemeint - sei es Web, Intranet,
Mail oder Papier, sei es Text, Foto oder Film. So ist ein ECMS ein System, das alle Unternehmensinformationen an jedem beliebigen Ort jederzeit verfügbar macht
und damit eine essentielle Grundlage für den Erfolg moderner Unternehmen bietet
([Krüger 2007b]). Solche Systeme besitzen einen erheblichen Funktionsumfang und
werden meistens in großen Firmen eingesetzt.
2.1.3 Grundfunktionalitäten eines CMS
Wie bereits aus der Definition der CMS (siehe Abschnitt 2.1) klar geworden ist, ist
die Trennung von Inhalten und Design eines der wichtigsten Merkmale von CMS.
Dabei wird das Design oder Layout konventionell über Vorlagedateien, sogenannten Templates, bestimmt. Der eigentliche Inhalt wird dagegen entweder in einer
Datenbank oder in Dateien gehalten und mittels bestimmter Platzhalter an den
vorgesehenen Stellen in das Template eingefügt. Die Eingabe der Inhalte erfolgt
2.1 Content Management System
10
über die Formulare im Backend; so werden Texte, Dokumente, Links und andere Inhaltselemente eingefügt. Beim Einstellen von Inhalten über die Eingabemaske
der Formulare wird die Struktur der Seite bereits erkennbar gemacht. Dies ist ein
sogenanntes WYSIWYG-Prinzip (What You See Is What You Get). Dabei wird
die zu bearbeitende Seite bzw. das Seitenelement dem Redakteur genauso oder
sehr ähnlich dargestellt, wie es nachher im Frontend aussehen wird. Das Template
und der Inhalt werden im Betrieb dynamisch zusammengestellt; dadurch wird eine
HTML-Seite generiert (vgl. [Thiess 2003, S. 11]).
Bei der Pflege der Internetseite sind meistens mehrere Personen, wie Redakteure,
Webdesigner und Administratoren involviert. Jeder hat Aufgaben, die unabhängig
von einander erledigt werden müssen. Daher besitzt ein CMS optimalerweise eine
Benutzerverwaltung zusammen mit einem Gruppen- bzw. Rollenkonzept. So können
mit weniger Aufwand für jeden Benutzer genau die Rechte definiert werden, die er
zur Erfüllung seiner Aufgaben benötigt.
Des Weiteren gehört die Unterstützung des sogenannten Workflow-Management
ebenfalls zu den typischen Funktionen eines CMS (laut [eTe 2007]). Damit ist es
möglich, die Inhalte wie in einem klassischen Redaktionsarbeitsablauf zu bearbeiten. Hierbei werden die Inhalte nach der Erstellung bzw. Bearbeitung von einem
Redakteur nicht direkt publiziert, sondern zuerst zur Kontrolle an den Chefredakteur übergeben, der bei Bedarf redigiert und die Inhalte erst dann freischaltet. Somit
macht die Unterstützung von Workflow-Management in einem CMS die Qualitätssicherung der Inhalte möglich.
Ein weiteres wichtiges Merkmal eines CMS ist die Wiederverwendbarkeit von Inhalten ([eTe 2007]). Diese Funktionalität entsteht eigentlich als positiver Nebeneffekt
aufgrund der Trennung von Inhalten und Design. Durch diesen Nebeneffekt kann
immer wieder auf eine Inhalts-Komponente zurückgegriffen werden, ohne sie neu
produzieren zu müssen.
Heutzutage hat der Austausch von Inhalten zwischen verschiedenen Webseiten im
Internet an Bedeutung gewonnen. Dieser Prozess der Mehrfachverwendung von Inhalten wird als Content Syndication bezeichnet und zählt zu einer der Grundfunktionalitäten eines modernen CMS. Hier erfolgt der Import bzw. Export der Inhalte
größtenteils im XML-Format. Die XML-Technologie ist nicht nur bezüglich der Con-
2.1 Content Management System
11
tent Syndication nützlich, sondern dient allgemein ebenfalls der Effizienz bzw. der
Qualität eines CMS, was im nächsten Abschnitt genauer gezeigt wird.
2.1.4 Vorteile von XML in einem CMS
Es gibt kaum einen anderen Standard, der in der Literatur in Bezug auf CMS
so häufig erwähnt wird, wie das XML-Format (siehe [Hüttenegger 2006, S. 47]).
Grundsätzlich wird XML in einem System für zwei Zwecke eingesetzt: der eine
ist der Import bzw. Export von Inhalten, der andere die gesamte Speicherung der
Inhalte. Der Im- und Export wird heute von den meisten CMS unterstützt; es
werden Funktionen zur Verwaltung von XML-Dokumenten und zur Konvertierung
der unterschiedlichen Inhalte in das XML-Format angeboten (vgl. [Christ 2007, S.
34]). Auf die möglichen Ansätze für die XML-Inhaltsspeicherung wird später im
Abschnitt 2.2.2.3 noch eingegangen.
Basierend auf der Auflistung der XML-Stärken in der Arbeit von [Hüttenegger 2006]
kann man folgende zentrale Vorteile bei dem Einsatz dieser Technologie in einem
CMS feststellen:
• Natürliche Trennung von Layout, Struktur und Inhalt
Bei der Entwicklung des XML-Formats versuchten die Entwickler, dieses so
einfach wie möglich zu gestalten. Dabei war die Grundidee, Inhalt, Struktur
und Darstellung auf einfache Art klar von einander zu trennen. Diese Trennung wird durch das Aufteilen des XML-Konzeptes in drei Komponenten eine Dokumenttypdefinition (DTD), eine XML-Datei und ein Stylesheet - ermöglicht. Die Inhalte lassen sich dabei in beliebig kleine Einheiten zerlegen
und mit semantischen Informationen kennzeichnen. Eine DTD definiert, wie
diese einzelnen Elemente, deren Attribute und baumartige Struktur spezifiziert sind. Mit dem Stylesheet (CSS oder XSLT-Scripte) wird die Ausgabe
formatiert.
• einfache Erweiterbarkeit
Eine sehr wichtige Eigenschaft von XML ist die Erweiterbarkeit der jeweiligen
Sprache, die XML seinen Namen (extensible) verliehen hat. Da die Strukturinformationen leicht zugänglich sind und gut abgegrenzt in der DTD liegen,
2.2 CMS-Techniken und Datenhaltung
12
sind für die Änderungen bzw. Erweiterungen nur die Anpassungen der DTD
notwendig und keine Modifikation des CMS selbst.
• flexible Ausgabe
Dank der klaren Trennung von Darstellung und Inhalt können mit XML viele
Präsentationsmedien unterstützt werden. Über die Erstellung verschiedener
XSLT-Stylesheets ist es möglich, den Inhalt, zum Beispiel für ein Webmedium in einem XHTML-Format (XML-konforme Reformulierung von HTML)
auszugeben, für ein WAP-Handy in ein WML-Format zu transformieren oder
einfach als PDF-Dokument zum Drucken bereitzustellen. Die Gruppe der auf
XML-basierten Sprachen ist mittlerweile gewachsen.
• einfacher Datenaustausch
Wie vorher bereits erwähnt (siehe Abschnitt 2.1.3), hat sich XML als universelles Austauschformat für Inhalte besonders in der Internetwelt durchgesetzt.
Da in einem XML basierten CMS alle Inhalte in einer XML-Struktur liegen, ist
der Import bzw. Export ohne zusätzliche Konvertierungsmechanismen leicht
durchführbar.
Wie man sieht, werden alle Grundfunktionen, die im vorherigen Abschnitt 2.1.3
erläutert wurden, auf natürliche Weise mit der Verwendung von XML hervorragend
unterstützt. Die tatsächlichen Einsatzmöglichkeiten dieser Technologie in einem modernen CMS werden im nächsten Abschnitt (2.2) bei der Vorstellung der wichtigsten
Techniken und Ansätze zur Datenhaltung erläutert.
2.2 CMS-Techniken und Datenhaltung
Da die Datenhaltung ein Schwerpunkt dieser Arbeit ist, werden im nächsten Abschnitt die angewandten Techniken und Methoden zur Inhaltsspeicherung aufgeführt.
2.2.1 Techniken
Wenn man bei den unterschiedlichen CMS hinter die ‚Kulissen‘ schaut, stellt man
schnell fest, dass für fast jede sinnvoll auf dem Webserver einsetzbare Program-
2.2 CMS-Techniken und Datenhaltung
13
miersprache von C über TCL bis Python ein CMS existiert (vgl. [Braun 2007,
S. 92]). Die meisten Systeme basieren jedoch auf PHP und sind auf einer sogenannten LAMP-Technologie zugeschnitten. LAMP steht für Linux, Apache,
MySQL, PHP (auch Perl oder Python) und bedeutet, dass eine Anwendung für
einen Linuxserver mit installiertem Apache-Webserver konzipiert ist, auf dem das
Datenbankmanagementsystem MySQL und die Skriptsprachen PHP, Perl oder Python eingesetzt werden können. Die Popularität von in PHP implementierten CMS
zeigt einerseits, dass PHP bei Open-Source-Webentwicklern ziemlich beliebt ist
und demonstriert anderseits, wie einfach es ist, mit PHP entsprechende Funktionen
zu entwickeln (siehe [Hüttenegger 2006, S. 38]). Abgesehen davon lassen sich auf
LAMP zugeschnittene Systeme häufig auf einem preiswertem Web-Hosting-Paket
bei einem Internetdienstanbieter (engl. Internet Service Provider (ISP)) aufsetzen. Somit braucht man keine zusätzliche Software bzw. Software-Umgebung zu
bestellen oder einen eigenen Server zu betreiben; es entstehen keine extra Kosten.
Die meisten PHP- und Python-basierten Systeme sind im Allgemeinen älter als die
Java-Konkurrenz und haben somit eine längere Entwicklungszeit hinter sich. Sie verfügen in der Regel über einen größeren Funktionsumfang. Java bietet im Gegensatz
dazu viele Vorteile im Enterprise-Umfeld. Die Vorteile ergeben sich durch die Möglichkeit, den vollen Umfang der Java EE-Technologien1 nutzen zu können. Dank der
Java Connector Architecture (JCA) ist Java besonders vorteilhaft beim Integrieren
anderer Anwendungen. Dazu kommen noch die Stärken der für Java EE-Technologie
benötigten Server wie JBoss, BEA, IBM etc., die automatische Lastenverteilung, hohe Skalierbarkeit und Ausfallsicherheit garantieren (nach [Sommergut 2005]). Allerdings sind viele davon kommerziell und außer der Miete der Server-Hardware (bzw.
Kosten für den eigenen Server) können noch zusätzliche Lizenzgebühren anfallen.
Weiter sind die CMS auf Java-Basis wegen der dahinter liegenden Komplexität und
Mächtigkeit weniger flexibel (vgl. [Hüttenegger 2006, S. 39]). Aus diesem Grund
sind die größeren CMS meist eher ECMS, auf Basis dieser Technologie umgesetzt
und mehr für die Nutzung von größeren Firmen geeignet.
Daneben gibt es noch etliche weitere CMS, die deutlich andere Technologien verwenden. Einige davon haben keine Datenbank für die Speicherung der Inhalte und sind
auf XML/XSLT-Technologie aufgebaut. Hier werden die Inhalte direkt im Datei1
ab Version 5 Namensänderung Java 2 Platform, Enterprise Edition (J2EE)
2.2 CMS-Techniken und Datenhaltung
14
system als XML-Dokumente abgespeichert und einzelne XML-Knoten über XSLTAnweisungen für die Ausgabe formatiert. Dieser Einsatz wird gewöhnlich für kleinere Systeme angewendet. Die zahlreichen Anforderungen an moderne CMS und umfangreiche Funktionalitäten lassen sich mit dieser Technologie entweder schlecht umsetzen oder erfordern einen hohen Programmieraufwand und verlieren dabei enorm
an Performanz.
2.2.2 Datenhaltung
Wie bereits im vorherigen Abschnitt (2.2.1) deutlich geworden ist, unterscheiden
sich die CMS auf der Datenhaltungs-Ebene. Einerseits können Daten in einer
Datenbank abgelegt und andererseits direkt in einem Dateisystem gespeichert werden. Zum Speichern von XML-Daten in einer Datenbank gibt es wieder verschiedene
Lösungsansätze, die auch in diesem Abschnitt thematisiert werden.
2.2.2.1 Datenbanken
Damit die zahlreichen CMS-Funktionen realisierbar sind und die strukturierten Inhalte effektiv und zielgerecht benutzt werden können, müssen diese mit zusätzlichen Informationen (Attributen bzw. Metadaten) versehen werden. Dadurch kann
die Datenhaltung relativ komplex werden. Aus diesem Grund ist die Verwendung
eines Datenbankmanagementsystem (DBMS) anzuraten. Diese Systeme sorgen für
die sichere und dauerhafte Datenablage, da sie über Aspekte wie Systemsicherheit,
Datensicherheit oder Skalierbarkeit verfügen. So müssen die CMS sich nicht selbst
um solche Aufgaben kümmern (vgl. [Glantschnig 2004, S. 31]).
Relationale DBMS sind mit Abstand am weitesten verbreitet, sodass die Begriffe Datenbank und relationale Datenbank im allgemeinen Sprachgebrauch häufig
als Synonyme verwendet werden (siehe [Wittenbrink 2003]). Für die Inhaltsablage in den meisten CMS wird ebenso eine relationale Datenbank eingesetzt (vgl.
[Glantschnig 2004, S. 32]). Hierbei werden die Daten in Form einer zweidimensionalen Tabelle abgespeichert und mit Hilfe der Abfragesprache SQL angelegt und
manipuliert.
2.2 CMS-Techniken und Datenhaltung
15
Zusätzlich gibt es eine kleine Anzahl an CMS, die die Inhalte in einer objektorientierten Datenbank abspeichern. Hier werden die Daten als Objekte verwaltet und
der Gedanke der Objektorientierung in der Datenbank fortgesetzt. Dadurch leisten
diese Datenbanken mehr, wie beispielsweise die Verwaltung komplexerer Objekte oder deren Kapselung. Dies kann sehr hilfreich bei der Programmierung von
CMS sein. Allerdings können bestimmte Zugriffe auf komplexere Objekte schnell
exponentiellen Aufwand erreichen und somit zu Performanzproblemen führen (vgl.
[Glantschnig 2004, S. 32]).
2.2.2.2 Speicherung ohne Datenbank
Die einfachste Methode, die Daten zu speichern, ist die Ablage in einem Dateisystem. Die Problematik besteht darin, die Daten in einer einfachen Textdatei
strukturiert zu halten; hier kommt die bereits erwähnte XML-Technologie zur Hilfe. Grundsätzlich können XML-Dateien die Rolle einer Datenbank in einem CMS
übernehmen und ihre Eigenschaften zur Datenhaltung ersetzen. Die Daten können nicht nur strukturiert nach einem XML-Schema abgelegt werden, sondern auch
mit Hilfe von XML-Anfragesprachen wie xPath oder xQuery durchsucht werden
[Glantschnig 2004, S. 48]. Somit verfügt ein CMS automatisch über die wichtigsten
Vorteile der XML-Technologie (siehe Abschnitt 2.1.4) und benötigt keine zusätzliche
Datenbank-Software für die Haltung und Organisation der Daten.
Allerdings stoßen die reinen XML-CMS bei den größeren Projekten oder bei speziellen technischen Umsetzungen schnell an ihre Grenzen. Das Hauptproblem ist
die Performanz. Um Operationen auf den Daten durchführen zu können, wird das
XML-Dokument bis auf die einfachsten Bestandteile (Knoten) zerlegt. Bei großen
und komplexeren Dokumenten kann dieser Prozess einige Zeit kosten; Zeit, die bei
einem DBMS eingespart wird. Deswegen wurden bereits Konzepte entwickelt, die
XML-Daten und relationale Datenbanken verkoppeln ([Winkler 2001]).
2.2.2.3 XML-fähige Datenbanken
Eine XML-Datenbank ist die dritte Lösung für die Datenhaltung in einem CMS; sie
ermöglicht die Speicherung der XML-Dokumente, Fragmente oder auch einzelner
2.2 CMS-Techniken und Datenhaltung
16
XML-formatierter Daten innerhalb einer Datenbank ([Winkler 2001]). Hier unterscheidet man drei verschiedene Ansätze:
• Abbildung der XML-Struktur in der Datenbank (elementbasierte Speicherung)
• Speicherung der XML-Daten als CLOB (dokumentbasierte Speicherung)
• Einsatz von nativen XML-Datenbanken (XDBMS).
Bei den ersten zwei Ansätzen handelt es sich um eine traditionelle Datenbank,
die XML-erweitert2 ist und entweder eine XML-Struktur auf Tabellen mit entsprechenden Fremdschlüsselbeziehungen abbildet oder ein gesamtes XML-Dokument
komplett als einen Datentyp für sehr lange Zeichenketten, sogenanntes Character
Large Object (CLOB), in einer Tabellenspalte speichert. Der zuletzt aufgezählte
Ansatz stellt eine spezielle Datenbank dar, deren Architektur an die Verarbeitung
der XML-Dokumenten angepasst ist.
Abbildung der XML-Struktur
Nach der Abbildung der XML-Baumstruktur auf eine oder mehrere Tabellen ist
jedes einzelne XML-Element in der Datenbank vorhanden und somit über SQLAnfragen direkt zugreifbar und schnell auffindbar. Allerdings sind das XML-Schema
und das relationale Schema nicht exakt miteinander kompatibel. Das heißt, dass in
manchen Fällen auf einige Teile der physikalischen Struktur, wie die Reihenfolge
der einzelnen XML-Elemente oder Kommentare, verzichtet werden muss oder noch
kompliziertere Tabellenstrukturen aufgebaut werden müssen. Außerdem ist die Zerlegung des XML-Baumes in seine einzelnen Knoten (sogenanntes Shredding) und
seine über komplexe Datenbankanfragen erfolgte Zusammensetzung zu einem XMLDokument (sogenanntes Wrapping) oft sehr aufwendig und verschlechtert die Performanz des gesamten Systems. Zudem können bereits kleinste Änderungen in der
XML-Struktur erhebliche Auswirkungen auf das relationale Schema haben. Deswegen eignet sich dieser Ansatz am besten für die einfach strukturierten, einheitlichen
(datenorientierten) XML-Dokumente (vgl. [Päßler 2006, S. 43]).
CLOB-Speicherung
Durch die Ablage eines kompletten XML-Dokumentes in einer Datenbank wird seine
Struktur vollständig erhalten. Somit ist dieser Ansatz gut für komplex strukturierte
2
in der Literatur als XML-enabled bekannt
2.3 Schlussbemerkung
17
(textorientierte) XML-Daten geeignet. Der XML-Baum wird dabei aus einer CLOBZelle komplett eingelesen und muss für die Manipulation der einzelnen Teile geparst
werden. Deshalb treten hier die gleichen Probleme auf, wie bei der einfachen Ablage
der XML-Dokumente in einem Dateisystem (siehe Abschnitt 2.2.2.2).
Häufig wird dieser Ansatz mit dem ersten zusammen verwendet. Hier werden die
XML-Teile, die von dem System am meisten benötigt und verarbeitet werden, getrennt von den anderen XML-Daten gehalten. Dadurch erhöht man beispielsweise
die Suchgeschwindigkeit und ermöglicht die Sortierung (vgl. [Glantschnig 2004, S.
49]).
Native XML-Datenbanken
Bei der nativen XML-Unterstützung wird das Dokument in bereits geparster Form
in einer Datenbank, deren innere Architektur vollständig für XML optimiert ist,
direkt (nativ) gespeichert. Somit lässt sich jedes einzelne XML-Element über
einen Datenbankindex mit Hilfe einer erweiterten XML-Abfragesprache (XQuery
bzw. SQL/XML) schnell finden und manipulieren. Auch XML-Dokumente anderer
Struktur werden effizient gespeichert, ohne Änderungen im Datenbank-Schema
oder Anpassungen der Datei durchführen zu müssen. Allerdings sind diese Datenbanken viel jünger als die relationalen und deswegen noch nicht so ausgereift (vgl.
[Glantschnig 2004, S. 49]).
2.3 Schlussbemerkung
Es existieren viele CMS mit diversen Ausprägungen und den verschiedensten
Techniken, wobei die meisten auf die LAMP-Umgebung zugeschnitten und in
PHP/MySQL entwickelt sind. Der XML-Einsatz in einem CMS ist vorteilhafter,
da die auf XML-basierenden Systeme allein durch Eigenschaften dieser Technologie
die meisten Basisanforderungen abdecken, ohne zusätzliche Module entwickeln zu
müssen. Trotz alledem konnten sich nur wenige Systeme durchsetzen. Aus diesem
Grund wird hier der Schwerpunkt dieser Arbeit auf die Datenhaltung gesetzt und
bei der Auswahl der zu untersuchenden Systeme berücksichtigt. Es werden einerseits
die XML- und andererseits reine relationale Datenbank-basierende Systeme nebeneinander gestellt und auf definierte Qualitäten untersucht. Die beiden Gruppen
sind in der Abbildung 2.2 deutlich zu erkennen; hier sind die möglichen Methoden
2.3 Schlussbemerkung
18
zur CMS-Datenhaltung (siehe Abschnitt 2.2.2) dargestellt und die Gruppen von
einander klar getrennt.
Abbildung 2.2: Übersicht der CMS-Datenhaltung: Aufteilung in XML- und relationale Speicherungsgruppen
Kapitel 3
Auswahl der Systeme
Nach der detaillierten Darstellung der verschiedenen CMS und dem kurzen Einstieg in die CMS-Techniken, sollen in diesem Kapitel die Systeme ermittelt werden,
die im Folgenden untersucht werden. Hierfür wird eine sogenannte Sekundäranalyse durchgeführt. Dabei wird das bereits auf existierenden Internet-CM-Portalen
gesammelte Datenmaterial ausgewertet. Für die Durchführung werden die im vorherigen Kapitel erwähnten Basisanforderungen und die Speicherungsmethoden berücksichtigt und die gefundenen Systeme in zwei Gruppen (Datenhaltung mit und
ohne XML-Einsatz) aufgeteilt. Zuerst werden die zentralen Auswahlkriterien definiert und die Produkt-Listen auf entsprechenden Internet-Portalen durchsucht. Im
Anschluss werden die anhand der Kriterien ermittelten Systeme kurz vorgestellt.
3.1 Auswahlkriterien
In diesem Abschnitt werden die Mindestanforderungen festgelegt, über die die Systeme verfügen müssen, um für die Untersuchungen repräsentativ zu sein. Das sind
die zentralen Kriterien für die Systemauswahl und werden daher als K.O.-Kriterien
bezeichnet. Die Systeme, die diese K.O.-Kriterien nicht erfüllen, werden nicht weiter berücksichtigt. Bei der Festlegung der Mindestanforderungen wird auf die Liste der CMS-Auswahlkriterien in dem bereits angesprochenen ECM-Portal jdk.de
([Krüger 2007a]) zurückgegriffen. Die Anforderungen ergeben sich aus einer Kombination der eben genannten Liste und den Schwerpunkten dieser Arbeit und werden
in funktionale und nicht-funktionale Kriterien unterteilt.
3.1 Auswahlkriterien
20
3.1.1 Funktionale Kriterien
Die folgenden funktionalen Kriterien basieren hauptsächlich auf den allgemeinen
Grundfunktionalitäten eines CMS (siehe Abschnitt 2.1.3).
• Das System verfügt über eine zentrale Benutzerverwaltung und Rechtevergabe.
• Das System ist modular aufgebaut und erweiterbar, d.h. zusätzliche Funktionalitäten können als Erweiterungen hinzugefügt werden.
• Die Unterstützung von Arbeitsabläufen (Workflow-Management) ist vorhanden.
• Die Inhalte lassen sich in XML und im Newsfeedformat RSS importieren bzw.
exportieren.
• Versionierung von Dokumenten bzw. Inhaltselementen ist im System vorhanden.
• Die Performanz des Systems wird durch Caching unterstützt.
3.1.2 Nicht-funktionale Kriterien
Die nicht-funktionalen Kriterien werden wie folgt aufgeteilt:
• Benutzbarkeits-Kriterien
• Lizenz-Kriterien
• Datenhaltungs-Kriterien
3.1.2.1 Benutzbarkeits-Kriterien
Die Benutzbarkeits-Kriterien berücksichtigen bei weiteren Untersuchungen nur die
Systeme, deren Backend auch von Benutzergruppen mit lediglich durchschnittlichen
Computer-Kenntnissen effizient benutzt werden können und ausreichend Hilfe beim
Umgang und der Weiterentwicklung bieten.
• Die Trennung von Inhalt, Layout und Struktur ist gegeben.
3.1 Auswahlkriterien
21
• Die Inhalte können über einen WYSIWYG-Editor gepflegt werden.
• Das System ist mit Hilfehinweisen ausgestattet.
• Unterstützung durch Handbücher (sowohl für den Benutzer als auch für den
Entwickler), Community-Foren, Tutorials etc. ist vorhanden.
3.1.2.2 Lizenz-Kriterien
Die rechtlichen Rahmenbedingungen für die Nutzung einer Software werden unter einer Lizenz erfasst. Bei einer OS-Lizenz müssen die Nutzungsrechte nach den
Richtlinien der Open Source Initiative (OSI) anerkannt werden. Insgesamt wurden
bereits 66 verschiedene OS-Lizenzen von der OSI anerkannt und auf ihrer offiziellen Internetseite aufgezählt (siehe [Tiemann 2006]). Die am meisten verbreiteten
Lizenzen werden in der Abbildung 3.1 dargestellt.
Somit stellen die folgende Punkte die Lizenz-Kriterien dar:
• Das System steht unter einer der Open-Source-Lizenz.
• Eine Entwickler-Community ist vorhanden.
• Es wird eine Unterstützung durch die Community, Bücher etc. geboten.
3.1.2.3 Datenhaltungs-Kriterien
Da die Datenhaltung in einem CMS einer der Schwerpunkte dieser Arbeit ist, spielt
dieser Aspekt bei der Auswahl der Systeme eine große Rolle. Die zu evaluierenden
Systeme werden in zwei Gruppen unterschieden: zum einen die Produkte mit einer
XML-basierten Datenhaltung und zum anderen Systeme mit einer reinen relationalen Datenbank. Beide Methoden zur Datenhaltung wurden bereits im Abschnitt
2.2.2 vorgestellt und in der Abbildung 2.2 deutlich von einander getrennt. Die zu
untersuchenden CMS müssen somit eine Speicherungsmethode verwenden, die zu
einer der beiden in dieser Abbildung dargestellten Kategorien gehört.
3.2 Marktübersicht
22
Abbildung 3.1: Verteilung der Open-Source-Lizenzen ([Kleijn 2006])
3.2 Marktübersicht
Um die in der Praxis relevantesten Systeme zu finden, werden hier verschiedene
Ansätze angewendet und mehrere Internet-Portale als Analyse-Hilfsmittel herangezogen. Zuerst wird eine grobe Filterung nach vorher definierten Kriterien durchgeführt. Danach werden die am häufigsten verwendeten und bekannten CMS mit Hilfe
verschiedenen Statistiken und Projektteilnahmen bestimmt. Dabei werden immer
die Kriterien zur Datenhaltung berücksichtigt und die beiden erwähnten Gruppen
der Speicherung unterschieden.
3.2.1 Filterung nach K.O.-Kriterien
Für die Filterung der CMS nach den definierten Kriterien wird das webbasierte CMS-Auswahltool (http://www.cms-vergleich.de/) von Stefan Heinrich benutzt, das im Rahmen einer Studienarbeit an der FH Jena entstanden ist. Die Eingabemaske für die Suche der passenden CMS erlaubt es, die im vorherigen Abschnitt
definierten Kriterien einzugeben und die Systeme zu bewerten. Die Anfrage mit den
3.2 Marktübersicht
23
genannten K.O.-Kriterien hat als Ergebnis die folgende Liste an CM-Produkten geliefert:
• OpenPHPNuke
• Contrexx® Open Source WCMS
• Drupal
• TYPO3
• Zikula
• Papaya CMS
• Plone
Da cms-vergleich.de nur K.O.-Kriterien vergleicht, aber keine Angaben zu anderen
Qualitäten (z.B. Benutzbarkeit) macht, werden nun noch weitere Vergleiche herangezogen; dabei soll auch gesehen werden, welche dieser Systeme am häufigsten
verwendet werden.
3.2.2 CMS Award
Seit 2006 findet jährlich ein CMS-Wettbewerb (CMS Award) des englischen Verlages
Packt Publishing statt, bei dem die drei besten OS-CMS in verschiedenen Kategorien prämiert werden. Die Bewertung erfolgt in zwei Runden, wobei die VorrundenEntscheidungswahl den Benutzern überlassen wird, indem jeder sein bevorzugtes
System in entsprechenden Kategorien nominieren kann. In die zweite, finale Runde
kommen die fünf bestplatzierten CMS jeder Kategorie und werden dann von der
Jury, die aus CMS-Experten besteht, beurteilt. Unter der Haupt-Nominierung Best
Overall Open Source CMS werden bei der Systemwahl folgende Kriterien berücksichtigt: Performanz, Benutzbarkeit, Erreichbarkeit, Skalierbarkeit, einfache Installation und Anpassbarkeit (ease of configuration and customization), Sicherheit und
Unterstützung durch Community. Die Gewinner in dieser Kategorie in den letzten
drei Jahren1 sind in der Tabelle 3.1 aufgelistet.
1
die Finalisten des laufenden Jahres 2009 waren zum Zeitpunkt der Sekundäranalyse für diese
Arbeit noch nicht bekannt gegeben
3.2 Marktübersicht
24
1.
2.
3.
2006
Joomla
Drupal
Plone
2007
Drupal
Joomla
CMS Made Simple
2008
Drupal
Joomla
DotNetNuke
Tabelle 3.1: Die Gewinner der CMS Awards (Quelle: http://www.packtpub.com)
So sieht man, welche Systeme von den meisten Benutzern eingesetzt werden und
unter den genannten Kriterien führend sind.
3.2.3 Google Summer of Code
Bei dem Google Summer of Code (GSoC) haben qualifizierte Studenten die Möglichkeit sich durch die Weiterentwicklung ausgewählter OS-Projekte eine Geld-Premie
zu verdienen. Das GSoC-Programm ist auf einen Zeitraum von drei Monaten begrenzt. Dieses Jahr haben es drei CMS (TYPO3, Joomla, Drupal) geschafft, an dem
Projekt teilzunehmen und gehören damit zu den 150 ausgewählten OS-Projekten.
Sie stehen auf der Teilnehmerliste in einer Reihe neben solchen ‚OS-Giganten‘ wie
PHP, MySQL, Debian, Eclipse Foundation, Mozilla Project etc. Die Teilnahme an
dem GSoC-Programm bedeutet für die Systeme und deren Community nicht nur
Erweiterung und Neuentwicklung der Module, sondern auch einen Zuwachs der Entwickler in die Community und natürlich auch einen steigenden Bekanntheitsgrad
(nach [Hedemann 2009a]).
3.2.4 Wappalyzer-Statistik
Wappalyzer ist eine Erweiterung für den Webbrowser Firefox, die gesammelte Daten
über eine in diesem Browser angezeigte Internetseite direkt in dessen Statusleiste
darstellt. Die Daten werden von allen Wappalyzer-Benutzern zusammengefasst und
zentral in der Datenbank erhoben. Bei einer Anzahl von 167.435 Nutzern, die diese Erweiterung installiert haben, wurden bereits 1.135.418 Webseiten analysiert,
die in 78 verschiedenen Systemen (hauptsächlich CMS) aufgebaut sind2 . Mit dem
rasanten Anstieg der Benutzer und der Popularität des Firefox-Browsers hat die
2
Stand von 07.05.2009
3.2 Marktübersicht
25
Statistik-Datenbank von Wappalyzer sich zu einem mächtigen Marketing-Werkzeug
entwickelt (siehe [Hedemann 2009b]).
Die erfassten Daten kann man sich als globale Statistik auf der WappalyzerSeite (http://wappalyzer.com/stats) anzeigen lassen. Die auf CMS-Systeme
beschränkte Übersicht über die meist eingesetzten Systeme für April 2009 wird
in Abbildung 3.2 dargestellt. Wie man hier sehen kann sind Joomla, Drupal und
TYPO3 mit Abstand die beliebtesten Systeme. Von den Systemen die das XML
Format für die Speicherung unterstützen, sind nur wenige dabei (eZ Publish und
Papaya CMS).
Abbildung 3.2: Wappalyzer Statistik für April 2009: 20 meist verwendete CMS
3.2.5 Ergebnisse der Sekundäranalyse
Die Ergebnisse der Sekundäranalyse sind in der Tabelle 3.2 zusammengefasst. Alle
aufgelisteten Systeme erfüllen die gestellten K.O.-Kriterien und werden mit Abstand
am meisten eingesetzt.
3.2 Marktübersicht
26
Auswahlmethode
CMS-Auswahltool
CMS-Awards
GSoC
Wappalyzer
Systeme mit relationaler
Persistenz
OpenPHPNuke, Contrexx®
Open Source WCMS, Drupal, TYPO3, Zikula, Plone
Drupal (x3), Joomla (x3),
Plone, CMS Made Simple,
DotNetNuke
Drupal, Joomla, TYPO3
Joomla, Drupal, TYPO3
Systeme
mit
Persistenz
Papaya CMS
XML-
—
—
eZ Publish, Papaya CMS
Tabelle 3.2: Ergebnisse der Sekundäranalyse
In der ersten Gruppe (auf relationaler DB basierte Systeme) kann man deutlich
drei Favoriten erkennen (Drupal, Joomla, TYPO3), die am meisten (mindestens
dreimal) in den Analyse-Ergebnissen vorkommen. Im Rahmen dieser Arbeit werden
die weiteren Untersuchungen auf die drei Favoriten eingeschränkt.
Zu der zweiten Gruppe (Systeme mit XML-basierter Datenhaltung) wurden insgesamt nur zwei Produkte gefunden (eZ Publish, Papaya CMS). Das zeigt, dass
Systeme auf XML-Basis eher eine Minderheit auf dem freien Markt sind, obwohl
die Technik sehr gut für ein CMS geeignet ist (siehe Abschnitt 2.1.4).
In Grafik 3.3 wird anschaulich dargestellt, welche in Abschnitt 2.2.2 erwähnten
Techniken zur Datenhaltung genau von den ermittelten Systemen verwendet werden. Wie man deutlich erkennen kann, verwenden die beiden Systeme aus der
zweiten Gruppe dieselbe Technik zur XML-Speicherung: die Abbildung der XMLStruktur in einer relationalen Datenbank. Zu den anderen zwei Varianten der XMLDatenhaltung wurden keine Produkte gefunden. Des Weiteren konnte sich kein
System durchsetzen, welches auf reinen XML-Dokumenten basiert, da keines den
aufgestellten Kriterien entspricht. Die Systeme, die auf modernen nativen XML
Datenbankmanagementsystemen (XDBMS) aufgebaut sind, konnten sich ebenfalls
nicht durchsetzen, da XDBMS relativ jung sind und bis heute selten in CMS eingesetzt werden.
3.3 Beschreibung der Systeme
27
Abbildung 3.3: Übersicht der CMS-Datenhaltung und der gewählten Systeme
3.3 Beschreibung der Systeme
In diesem Abschnitt werden die durch die Sekundäranalyse gefundenen Systeme beschrieben. Alle Systeme sind auf die LAMP-Technlogoie zugeschnitten und stehen
unter GPL-Lizenz offen zur Verfügung. Hinter jedem von diesen steht eine starke Community, die Entwickler und Benutzer vernetzt. Außerdem wird eine große
Unterstützung durch Handbücher, Diskussionsforen und Dienstleister zu jedem Produkt geboten. Allerdings verfolgt jedes einzelnes CMS seine eigenen Ziele und besitzt
dadurch seine eigenen Stärken und Schwächen, die im Folgenden kurz angedeutet
werden.
3.3 Beschreibung der Systeme
28
3.3.1 TYPO3
TYPO3 ist bereits seit 1998 auf dem Markt und ist heutzutage eines der umfangreichsten und meist eingesetzten OS-CMS weltweit (vgl. [Lammenett 2007, S. 10]).
TYPO3 ist reich an Funktionen; seine Möglichkeiten gehen weit über die typischen
Aufgaben eines WCMS hinaus. Daher wird das System häufig auch als Framework
oder Entwicklungsplattform eingesetzt und der Enterprise-Klasse zugeordnet (vgl.
[Lammenett 2007, S. 12]). Die damit verbundene Komplexität macht es jedoch für
Entwickler schwer, das System zu erlernen ([typ 2009]).
Die eigene Konfigurationssprache TypoScript ist sehr mächtig, aber mit keiner verbreiteten Programmiersprache vergleichbar und erschwert dadurch den Einstieg.
Mit TypoScript lassen sich nicht nur bestimmte Konfigurationen an der Seite und
den Erweiterungen vornehmen, sondern jede kleinste Komponente der Internetseite
kann dadurch eingestellt, verändert oder neu erstellt werden. So kann die Ausgabe
der Seite extrem automatisiert werden.
Es existieren viele Organisationen bzw. Unternehmen, die sich für TYPO3 entschieden haben und die eigene Internet-Präsenz mit TYPO3 betreiben. Viele davon sind
weltweit bekannt, wie UNICEF, DFB (Deutscher Fussball-Bund), Epson, Philips,
zahlreiche Universitäten und viele mehr.
3.3.2 Joomla
Joomla ist aus dem OS-Projekt Mambo im Jahr 2005 hervorgegangen und ist inzwischen eines der meistverbreiteten CMS weltweit. Joomla wurde mit dem Ziel
entwickelt, die Struktur und Benutzbarkeit des Systems sowohl für Administrator als auch für Redakteur möglichst einfach zu gestalten, um Internettauftritte
schnellstmöglich zu realisieren. Daher wird Joomla als besonders leicht erlernbares System bezeichnetet und ist im Schwerpunkt für kleinere und mittlere Projekte
gedacht; es wurde aber bereits für die Realisierung größerer Internetseiten der unterschiedlichsten Art eingesetzt ([Steyer 2007]). So hat Joomla bei Unternehmen und
Organisationen wie Porsche (in Brasilien), Olympus (in Australien), der Organisation der Vereinten Nationen (UNO), einen der akademischen Einheiten (‚Schools‘)
der Harvard University und vielen anderen an Vertrauen gewonnen.
3.3 Beschreibung der Systeme
29
Das System hat zuerst von dem Vorgänger-Projekt (Mambo) nicht nur die besten
Eigenschaften (wie gute Stabilität), sondern auch die Nachteile der viel kritisierten Struktur übernommen. Dieses wurde mittlerweile in der aktuellen 1.5 Version3
deutlich verbessert, indem die komplette Code-Basis umgeschrieben wurde. So hat
sich Joomla zu einem recht flexiblen und leicht erweiterbaren System sich entwickelt, das alles bietet, was eine moderne Internetseite braucht(vgl. [Graf 2008b, S.
39 f.]).
3.3.3 Drupal
Drupal ist seit 2001 auf dem Markt und hat sich inzwischen auf einem sicheren
Platz neben den großen und erfolgreichen Systemen, wie TYPO3 und Joomla in
der CMS-Welt etabliert. Zwischen allen Drupal-Benutzern, tauchen immer wieder
lauter Prominente Unternehmen und Organisationen auf, wie Warner Brothers,
Amnesty International, Sony BMG, MTV (England), Harvard University und sogar
die Regierung der USA mit dem offiziellen Internetauftritt des Weißen Hauses (vgl.
[Franz 2008, S. 62]).
Drupal ist mehr als ein CMS. Drupal legt den Fokus auf den Aufbau einer Community und stellt eine Plattform für Zusammenarbeit zur Verfügung. So können
die Benutzer beispielsweise eigene Weblogs anlegen, sich in Diskussionsforen austauschen oder Artikel veröffentlichen (vgl. [Graf 2008a, S. 25 f.]).
3.3.4 eZ Publish
eZ Publish wird von der norwegischen Firma eZ Systems zusammen mit einer wachsenden Benutzer- und Entwickler-Community seit 1999 entwickelt. Das System ist
sowohl unter der freien GPL-Lizenz, als auch unter der eZ Publish Professional
Lizenz mit zusätzlicher professioneller Unterstützung erhältlich ([Rutke 2009]).
eZ Publish ist einerseits ein sofort einsetzbares CMS, andererseits liefert es eine Plattform für die Entwicklung von Projekten unterschiedlichster Art. Außer der Pflege von Internetseiten, gibt das System die Möglichkeit des Aufbaus
von Intranet, Extranet, Online-Shops, Medienportalen und wird damit zu der
3
Stand am 23.11.2009
3.3 Beschreibung der Systeme
30
Enterprise-Kategorie gezählt. Somit eignet sich das System zur Erstellung sowohl
von kleinen, individuellen Internetseiten, als auch von großen Business-Lösungen
([Rachbauer 2007, S. 5 f.]). Zu den namhaften Kunden zählen internationale Unternehmen und Einrichtungen wie das Elle Magazine, das Massachusetts Institute
of Technology, MySQL, NASA, National Geographic, T-Mobile, die Vereinten
Nationen und andere. ([Rutke 2009]).
eZ Publish unterstützt offene Standards und speichert die Inhalte vollständig im
XML-Format. Aus diesem Grund ist das System sehr flexibel und kann in bestehende IT-Infrastrukturen problemlos integriert werden.
3.3.5 Papaya CMS
Papaya CMS wurde speziell für den Unternehmenseinsatz vom Mittelstand bis
zum Konzern und Organisationen konzipiert. Das System erfüllt die Anforderungen großer Projekte mit wenig Zeitaufwand und ist seit 20004 erfolgreich im Einsatz. Die Entwicklung findet fast ausschließlich in Deutschland statt, und wird
hauptsächlich von deutschen Unternehmern und Organisationen wie der Arbeitsgemeinschaft Online Forschung (AGOF), der Deutsche Post AG/DHL, der AOKKrankenversicherung und vielen anderen eingesetzt ([pap 2009a]).
Die Besonderheit von Papaya CMS ist die vorhandene Mediendatenbank, welche
die hochwertige Auslieferung von Bildern, Illustrationen und Multimedia-Elementen
wie Flash-Objekten ermöglicht. Dies wird durch die Möglichkeit erreicht, die hochgeladenen Dateien mit Metainformationen zu versehen ([pap 2009b]).
Die Datensätze werden wie bei eZ Publish in einer baumartigen XML-Struktur
abgelegt und verstärken somit das System mit den bereits beschriebenen Vorteilen
der XML-Technologie (siehe Abschnitt 2.1.4). Zum Erstellen der Design-Vorlagen
(Templates) wird XSLT eingesetzt; so ist es nicht notwendig, sich in eine proprietäre
Scriptsprache einzuarbeiten.
4
wurde bis 2005 kommerziell vertrieben und ist seitdem unter der GNU General Public Licence
(GPL) quelloffen
Kapitel 4
Untersuchung
Nach der ersten groben Selektion sind nun noch drei Systeme basierend auf relationaler Datenhaltung und zwei Systeme auf Basis der baumartigen XML-Speicherung
verblieben. Für die Evaluation der Systeme wird in diesem Kapitel die Untersuchungsmethode mit dem Evaluationsverfahren vorgestellt und die hierfür benötigten
Werkzeuge und Ressourcen beschrieben. Zusätzlich wird hier der Kriterienkatalog
mit den daraus abgeleiteten Fragestellungen beschrieben.
4.1 Theoretische Grundlage
Bevor man die Evaluationselemente dieser Arbeit angeht, wird hier eine kurze Einführung in die theoretischen Grundlagen der klassischen Methoden und Modelle
gegeben, die für die Gestaltung des Kriterienkatalogs angewandt wurden.
Um die verbliebenen Systeme zu untersuchen und sie miteinander zu vergleichen,
muss die Qualität der einzelnen Produkte bewertet werden. Die Software-Qualität
an sich ist allerdings nichts Absolutes, das man messen kann; sie besteht aus vielen
Eigenschaften und Merkmalen einer Software, die zur Erfüllung gegebener Erfordernisse bestimmt werden (vgl. [Wallmüller 2001, S. 64], [Balzert 1998, S. 257]).
Die Operationalisierung der Software-Qualität wird in dem Qualitätsmodell durch
das Ableiten von Unterbegriffen ermöglicht. Dabei werden die Qualitätsmerkmale
in Teilmerkmale bzw. Kriterien zerlegt, die wiederum durch Qualitätsindikatoren
bzw. Metriken gemessen werden können (vgl. [Balzert 1998, S. 257 f.]). Der Aufbau
eines solchen Modells wird in Abbildung 4.1 gezeigt.
4.1 Theoretische Grundlage
32
Abbildung 4.1: Aufbau von Qualitätsmodellen ([Wallmüller 2001, S. 257])
Es wurden in der Vergangenheit bereits unterschiedliche Qualitätsmodelle mit eigenen Qualitätsmerkmalen und -Kriterien entwickelt, wie zum Beispiel von Boehm, McCall, Wallmüller etc. Die zentralen Merkmale wurden 1992 standardisiert
und in ISO 9126 festgelegt. Folgende sechs sind die Hauptqualitätsmerkmale (vgl.
[Wallmüller 2001, S. 59 f.]):
• Funktionalität
• Zuverlässigkeit
• Benutzbarkeit
• Effizienz
• Änderbarkeit
• Übertragbarkeit
„Qualitätsmodelle sind eben nur Modelle. Um wirksam zu werden, müssen sie immer
den gegebenen Umständen in den einzelnen Projekten bzw. Entwicklungsprozessen
4.1 Theoretische Grundlage
33
angepasst werden“ ([Wallmüller 2001, S. 71]). Hierfür existieren einige systematische
Vorgehensweisen zur Erstellung eigener Qualitätsmodelle (vgl. [Balzert 1998, S. 263
f.]). Der dafür bekannte Goal-Question-Metric (GQM)-Ansatz von Basili und Rombach wird auch für die Erstellung des Qualitätsmodells dieser Arbeit angewendet
(siehe Abschnitt 4.3). Die systematische Vorgehensweise bei der Erstellung eines
Qualitätsmodells nach dem GQM-Ansatz ist in folgenden sechs Schritten erfasst
(vgl. [Balzert 1998, S. 263 ff.]):
• Auswertungsziele (Qualitätsanforderungen) für alle Qualitätsmerkmale definieren.
• Alle Fragestellungen zur genaueren Definition der Ziele ableiten.
• Alle Metriken ableiten, die zur Beantwortung der Fragen informativ sein können.
• Mechanismus zur Datensammlung entwerfen, der eine möglichst genaue Messung der Metriken erlaubt.
• Die Messwerte bezüglich aller primitiven Maße validieren.
• Messergebnisse interpretieren, die zur Gesamtbewertung der Qualitätsziele
geführt haben.
Dieser Ansatz wird hier jedoch nur relativ oberflächlich angewendet; es wird (lediglich) die Hauptidee übernommen, wonach die Merkmale so zerlegt werden, dass
die Fragestellungen leicht zu erkennen sind, und dies eine Bewertung der Kriterien
anhand der gegebenen Antworten ermöglicht.
4.1.1 Qualitätssicht
Die Qualität der Software ist stark von subjektiven Anforderungen an das System
abhängig. Verschiedene Personengruppen (Stakeholder), die an dem Entwicklungsprozess teilnehmen oder mit dem System später umgehen müssen, haben unterschiedliche Qualitätsanforderungen, weshalb die Qualitätsmerkmale eines Produktes für verschiedene Personenkreise ungleich bedeutend sind. Aus diesem Grund ist
4.2 Evaluationsmethode
34
es sinnvoll, bei der Gestaltung von Qualitätsmodellen die Qualitätsansichten zu berücksichtigen. So wurden bereits in einem der ältesten Qualitätsmodelle von McCall
1977 drei Personengruppen unterschieden (vgl. [Balzert 1998, S. 262]):
• Benutzer
• Entwickler
• Anwender und Entwickler
Dißmann und Zurwehn ([Wallmüller 2001, S. 64 f.]) haben im Jahr 1986 ein anderes
Qualitätsmodell vorgeschlagen, indem sie Qualitätsmerkmale zu den vier verschiedenen Personenkreisen zuordneten:
• Benutzer
• Betreiber
• Designer
• Programmierer
„[...] durch eine Berücksichtigung der verschiedenen Sichten [wird] die Anwendbarkeit eines Qualitätsmodell erleichtert und vereinfacht [...]“ ([Wallmüller 2001, S.
69]).
Die in dieser Arbeit untersuchten Systeme werden aus der Entwicklersicht betrachtet, daher werden die Qualitätskriterien der beiden oben erwähnten Qualitätsmodelle ausschließlich aus der Sicht von Entwickler (McCall) und Programmierer (Dißmann und Zurwehn) berücksichtigt.
4.2 Evaluationsmethode
Für die Untersuchung der Systeme wurde die Methode des Expertenurteils (ExpertenReview) gewählt. „Expertenurteil ist eine der am häufigsten angewendeten Methoden in der Prüfung und Evaluation“ ([Hampe-Neteler 1994, S. 57]). Des Weiteren
ist die Methode für die Untersuchung der Systeme aus der Entwicklersicht gut geeignet, da sie auf spezifische, qualifizierte und kompetente Meinungen der Experten
aufbaut. Man benötigt für die Untersuchung keine große Anzahl an Entwicklern, die
4.3 Evaluationsverfahren
35
befragt werden oder beobachten müssten. Um ein sinnvolles Ergebnis zu erzielen,
reicht es aus nur einen Experten in die Bewertung einzubeziehen, der eine komplette Personengruppe durch sein fachliches, exklusives Wissen und seine Erfahrung
repräsentiert(vgl. [Mayer 2006, S. 37]). Bei der Befragung des Experten werden
weniger seine Emotionen, Motive oder Einstellungen betrachtet, sondern vielmehr
Wert auf seine kognitive Beurteilung und sein Wissen um den interessierenden
Sachverhalt gelegt (vgl. [Aghamanoukjan 2007, S. 428]).
Die Expertenurteile können frei, strukturiert und methodengeleitet dargestellt werden (vgl. [Hampe-Neteler 1994, S. 100 f.]). In dieser Arbeit wurde sich für ein strukturiertes Experten-Review entschieden. Dabei bekommt der Experte detaillierte Angaben zu den Kriterien und den Vorgehensweisen, was im Gegensatz zu einem freien
Urteil mehr Nachvollziehbarkeit der Ergebnisse verspricht. Die Kriterien entstehen
dabei hauptsächlich aus Standards (wie ISO 9126) und Richtlinien.
4.2.1 Experte
Als Experte bezeichnet man eine Person, die ein spezielles Wissen in einem bestimmten Gebiet hat und innerhalb dieses Gebietes Problemlösungen anbieten kann.
Im Vergleich zu anderen mit dem gleichen Problem befassten Personen (NichtExperten), verfügt der Experte über einen exklusiven Wissensstand; sein Wissen
ist nicht für jeden zugänglich ([Bogner 2005, S. 115 f.]).
Für die Untersuchung der Systeme wird der Autor dieser Arbeit als Experte auftreten. Die mehrjährige Erfahrung im Gebiet von CMS-Entwicklung und -Anwendung
und längere Beschäftigung im Bereich von Software-Engineering und -Evaluation
befähigen ihn für diese Aufgabe, die Systeme anhand der gestellten Kriterien und
daraus abgeleiteter Fragestellungen zu beurteilen.
4.3 Evaluationsverfahren
Das Evaluationsmodell ist auf der Basis eines GQM-Ansatzes aufgebaut. Dazu werden im ersten Schritt Qualitätseigenschaften (Hauptmerkmale) erstellt. Diese Eigenschaften werden mit auf dem Standard (ISO 9126) erfassten Qualitätsmerkmalen
4.4 Kriterienkatalog
36
und den wichtigen Merkmalen eines CMS unter Berücksichtigung der EntwicklerQualitätssicht zusammengestellt. Die Hauptmerkmale werden später in Teilmerkmale (Kriterien) verfeinert. Wenn die Auswertungsziele definiert und die Kriterien
detailliert formuliert sind, können die Fragen zur Abdeckung der Kriterien abgeleitet werden. Die Fragen werden in einem Fragenkatalog für die spätere Auswertung
vom Experten zusammengefasst.
Um die Antworten des Experten zu bewerten wird ein sogenanntes Polaritätsprofil
erstellt. Dabei wird zur Beurteilung der Fragestellungen eine bipolare Einstufungsskala angeboten, deren Endpunkte von adjektivischen Gegensatzpaaren (wie z.B.
gut/schlecht, stark/schwach, klein/groß etc.) gebildet werden. Die in dieser Arbeit
verwendete Bewertungsskala bietet folgende fünf unterschiedliche Gewichtungsstufen zur Auswahl: ‚−−‘, ‚−‘, ‚0‘, ‚+‘, ‚++‘. Der Experte hat die Möglichkeit, seinen
Eindruck zu den gestellten Fragen positiv (mit ‚+‘ oder ‚++‘) bzw. negativ (mit
‚−−‘, ‚−‘) zu äußern. Die Unentschlossenheit wird mit neutralen Wert (‚0‘) bewertet. Zusätzlich ist eine Antwort wie ‚k.A.‘ (für keine Angabe) im Falle der Ablehnung
der Frage oder dazu fehlendem Wissen erlaubt. Die mit ‚k.A.‘ bewerteten Fragen
sind für weitere Auswertungen irrelevant und können daher gestrichen werden.
Die eingetragenen Gewichtungen werden im Nachhinein miteinander verbunden,
so dass sich hieraus ein graphisches Profil bildet. Somit bekommt man eine überschaubare Abbildung der Experten-Bewertungen, die sich nachher leicht auswerten
lassen.
Solche Profile werden zuerst zu jedem ausgesuchten CMS erstellt, um zu jedem
System eine einzelne Aussage zu treffen. Danach werden die Systeme gruppenweise
(baumartige XML-Datenhaltung vs. relationale Persistenz) betrachtet und ausgewertet. Hierbei wird das arithmetische Mittel der jeweiligen Bewertungen berechnet.
4.4 Kriterienkatalog
Die Software-Qualität lässt sich gemäß ISO 9126 in sechs Merkmale unterteilen, auf
welche weitere Untergliederungen folgen (siehe Abbildung 4.2). Allerdings sind für
diese Arbeit nur die Merkmale relevant, die für die Entwickler wichtig sind.
4.4 Kriterienkatalog
37
Abbildung 4.2: Merkmale der ISO 9126 ([Balzert 1998, S. 259 f.])
Wie bereits erwähnt, berücksichtigt McCall in seinem Qualitätsmodell exakt die
gleiche Gruppe und unterscheidet drei Qualitätsmerkmale, die lediglich für Entwickler relevant sind. Diese Merkmale sind zusammen mit den abgeleiteten Kriterien in
der Graphik 4.3 abgebildet.
Das Modell von McCall wurde zwar als Basis für viele unternehmensspezifische
Modelle verwendet, ist allerdings ziemlich alt, und neue Erkenntnisse sind in diesem
Modell bisher nicht berücksichtigt. Daher wird noch ein anderes bekanntes Modell
von Dißmann und Zurwehn in Augenschein genommen. Hier sind die Merkmale aus
4.4 Kriterienkatalog
38
Abbildung 4.3: Qualitätsmodell von McCall: relevante Eigenschaften für Entwickler
der Sicht des Programmierers von Bedeutung (siehe Abbildung 4.4).
Zusätzlich zu den Qualitätsmerkmalen aus den klassischen Qualitätsmodellen, die
für alle Software-Produkte allgemein relevant sind, ist es sinnvoll, die zentralen
Kriterien für die Produkte aus der CMS-Welt zu berücksichtigen. Dafür werden
die Kriterien genommen, die bei dem CMS-Award (siehe Abschnitt 3.2.2) für die
Ermittlung der besten CMS berücksichtigt werden: Performanz, Benutzbarkeit, Erreichbarkeit, Skalierbarkeit, Installierbarkeit, Anpassbarkeit und Sicherheit.
Um die Kriterien für die Untersuchung der gewählten Systeme dieser Arbeit zu ermitteln, werden schließlich alle erwähnten Qualitätsmodelle kombiniert und als Gesamtbild betrachtet. Die Tabelle 4.1 listet grundsätzlich die standardisierten Qualitätsmerkmale mit den abgeleiteten Teilmerkmalen aus ISO 9126 ([Balzert 1998, S.
259 f.]) auf. Die wenigen Qualitätsmerkmale bzw. -Kriterien, die in dem Standard
nicht vorkommen, jedoch in den Qualitätsmodellen, die verschiedene Sichten berücksichtigen (McCall, Dißman und Zurwehn), enthalten sind, werden zu der Liste
hinzugefügt. Die Überschneidungen der Merkmale sind durch die Kreuzmarkierungen deutlich dargestellt. Die Kriterien, die sich stark Überschneiden und häufig als
Synonyme bezeichnet werden, sind hier in einem Punkt erfasst.
4.4 Kriterienkatalog
39
Abbildung 4.4: Qualitätsmodell von Dißman und Zurwehn: relevante Eigenschaften für Programmierer ([Wallmüller 2001, S. 68])
Um den Kriterienkatalog für die zu untersuchenden Systeme festzulegen, werden
nun die Hauptmerkmale der ISO-Norm mit den dazu gehörigen Kriterien übernommen, die in den drei anderen Modellen vorkommen. Dafür werden die Qualitätseigenschaften zusammen mit den abgeleiteten Kriterien in der Gesamt-Tabelle
(4.1) als einzelne Blöcke betrachtet. Wenn so ein Block mindestens ein Kriterium zu jedem Modell enthält, wird der ganze Kriterien-Block in den Fragekatalog
übernommen. Dabei werden Modelle, die Entwicklersicht berücksichtigen, zusammengefasst betrachtet. So ergibt sich, dass die CMS in dieser Arbeit unter folgenden
drei Qualitätseigenschaften untersucht werden: Benutzbarkeit, Änderbarkeit, Übertragbarkeit.
Bevor der endgültige Kriterienkatalog dieser Arbeit zusammenstellt ist, wird an
dieser Stelle eine Ausnahme bei dem Untermerkmal Bedienbarkeit gemacht. Be-
4.4 Kriterienkatalog
40
dienbarkeit bezieht sich auf den Aufwand zur Bedienung einer Software; eine Software ist gut bedienbar, wenn die Bedienung intuitiv und schnell stattfinden kann
(vgl. [Balzert 1998, S. 259]). Dieses ist eher für einen Benutzer relevant. Außerdem
gehört dazu die Auswertung der Bedienungsanleitungen (User Manuals), die aber
laut Prof. Dr. A. Hein in seinem Vortrag zur Erstellung und Dokumentation benutzerfreundlicher und fehlertoleranter Software lediglich wichtig für Anwender sind,
die keine technische Sicht auf die Software haben ([Hein 2006]). Also ist die Bedienbarkeit für die Entwickler-Sicht irrelevant und wird nicht in den Kriterienkatalog
übernommen.
Nachdem alle passenden Kriterien aus der Ergebnis-Tabelle selektiert wurden, hat
sich der folgende Kriterienkatalog ergeben:
• Benutzbarkeit
– Verständlichkeit
– Erlernbarkeit
• Änderbarkeit
– Analysierbarkeit
– Modifizierbarkeit
– Stabilität
– Prüfbarkeit
• Übertragbarkeit
– Anpassbarkeit
– Installierbarkeit
– Konformität
– Austauschbarkeit
Die einzelne Qualitätsmerkmale und daraus abgeleitete Unterkriterien werden bei
der Formulierung der dazu passenden Fragestellungen in dem nächsten Kapitel (4.5)
erklärt.
4.4 Kriterienkatalog
41
Softwaremerkmale bzw. -Kriterien
ISO
9126
Funktionalität
Richtigkeit
Angemessenheit
Interoperabilität
Ordnungsmäßigkeit
Sicherheit
Zuverlässigkeit
Reife
Fehlertoleranz
Wiederherstellbarkeit
Benutzbarkeit
Verständlichkeit
Erlernbarkeit
Bedienbarkeit
Effizienz (Performanz)
Zeitverhalten
Verbrauchsverhalten
Änderbarkeit (Wartbarkeit)
Analysierbarkeit
Modifizierbarkeit (Erweiterbarkeit)
Stabilität
Prüfbarkeit (Testbarkeit)
Skalierbarkeit
Strukturiertheit
Übertragbarkeit (Portabilität)
Anpassbarkeit
Installierbarkeit
Konformität
Austauschbarkeit
Erreichbarkeit
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
CMSAward
McCall
Dißmann
und
Zurwehn
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Tabelle 4.1: Qualitätsmerkmale bzw. -Kriterien von McCall, Dißmann und Zurwehn, ISO 9126 und CMS-Award
4.5 Fragenkatalog
42
4.5 Fragenkatalog
In diesem Schritt werden nun die Fragen zu jedem Qualitätskriterium in Bezug
auf die ausgesuchten Systeme formuliert. Für die Nachvollziehbarkeit der Fragestellungen werden verschiedene Hilfsmittel verwendet. Um die Merkmale kurz aufzuklären werden die Definitionen aus der ISO 9126 angewendet ([Balzert 1998, S.
259 f.]) und zusätzlich eine detaillierte Beschreibung der Merkmale aus dem Lernmaterial zu Softwaretechnik II von Prof. Dr. Udo Kelter von der Universität Siegen ([Kelter 2007]) angeschaut. Außerdem werden die im iX-Magazin zur ECMSEvaluation zusammengestellten Fragen ([Popper 2008, S. 78 f.]) untersucht und von
dort die relevanten Fragen übernommen. Die endgültige Entscheidung der FragenFormulierung wurde dem befragten Experten überlassen. Alle Fragestellungen sind
entwicklerorientiert.
4.5.1 Fragen zu Benutzbarkeit
Benutzbarkeit bezieht sich auf den Aufwand, den eine bestimmte Benutzergruppe
für das individuelle Nutzungsverhalten in einem System benötigt.
Für die Entwicklergruppe ist die Benutzbarkeit der für sie relevanten SoftwareBestandteile des Systems von Bedeutung, wie Quellcode, Installation, Konfigurationsmodul, Software-Architektur, Programmierschnittstellen, Datenbankebene etc.
(vgl. [Bennicke 2008, S. 560 ff.]).
4.5.1.1 Verständlichkeit
Verständlichkeit zeigt, wie viel Aufwand wird benötigt, um das Konzept des Systems zu verstehen. Nach Dißmann und Zurwehn zählen zur Verständlichkeit aus
Sicht der Programmierers folgende Kriterien: Dokumentierbarkeit, Selbsterklärbarkeit, Durchschaubarkeit, Einfachheit (siehe Abbildung 4.4). Unter diesem Aspekt
kommen die folgenden Fragestellungen zu Stande.
• Wie ausführlich ist der Quellcode dokumentiert?
• Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
4.5 Fragenkatalog
43
• Wie lesbar ist der Quellcode?
• Wie sind die Variablen in dem Quellcode benannt?
• Wie ausreichend sind die Quellcode-Kommentare?
• Wie umfangreich ist die Software graphisch dokumentiert (z.B. durch UMLDiagramme)?
• Wie gut ist die Programmierschnittstelle zum Systemkern (Core API) beschrieben?
• Wie ausführlich ist die Schnittstelle zur Datenbank dokumentiert?
• Wie viele Erweiterungen haben eine Dokumentation?
• Wie gut sind die Erweiterungen dokumentiert?
4.5.1.2 Erlernbarkeit
Erlernbarkeit zeigt, wie schnell sich die notwendigen Ein- und Ausgaben der Anwendung erlernen lassen.
• Wie schnell ist die System-Architektur erlernbar?
• Wie hilfreich sind die Fehlermeldungen?
• Wie viele Entwicklerhandbücher gibt es?
• Wie groß ist die Entwickler-Community zu dem System?
• Wie viele entwicklerrelevante Tutorials gibt es?
• Wie hoch ist die Dichte der Dienstleister?
4.5.2 Fragen zu Änderbarkeit
Als Änderbarkeit bezeichnet man den Aufwand, der für die Durchführung von zu
erwartenden Änderungen, wie Korrekturen, Verbesserungen oder Anpassungen notwendig ist.
4.5 Fragenkatalog
44
4.5.2.1 Analysierbarkeit
Analysierbarkeit ist der Aufwand, den ein Benutzer betreiben muss, um Fehlerursachen (Mängel) zu analysieren bzw. zu lokalisieren oder von Änderungen betroffene
Stellen zu bestimmen.
• Wie gut lässt sich das Programm auf Fehler durch ein Fehlerprogramm (Debugger) untersuchen?
• Wie komfortabel lassen sich Systemausgaben (Protokoll-Dateien) steuern?
• Wie verständlich sind die Systemausgaben (in einer Protokoll-Datei)?
4.5.2.2 Modifizierbarkeit
Als Modifizierbarkeit bezeichnet man den Aufwand, der zur Ausführung von Verbesserungen, zur Fehlerbeseitigung oder Anpassung an Umgebungsänderungen nötig
ist.
• Wie gut kann das System über Module erweitert oder ausgebaut werden?
• Wie einfach lassen sich die Module anderer Entwickler installieren?
• Wie schwer ist die Struktur für eine Erweiterung anzulegen?
• Wie viele System-Komponenten lassen sich über die Erweiterungen ändern
bzw. ausbauen?
4.5.2.3 Stabilität
Stabilität besagt, wie wahrscheinlich das Auftreten von unerwarteten Nebenwirkungen bei den durchgeführten Änderungen ist.
• Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen
Erweiterung auf?
• Wie gut wird die Software durch die Community in Hinblick auf Fehlerkorrektur und Sicherheit gewartet (z.B. Bug Fixes, Security Updates)?
• Wie groß sind die Auswirkungen kleiner Fehler?
4.5 Fragenkatalog
45
• Wie reagiert das System auf Überlastungen bzw. Fehlermeldungen (zahlreiche,
gleichzeitige Fehler)?
4.5.2.4 Prüfbarkeit
Prüfbarkeit ist der Aufwand, der für die Prüfung der geänderten Software notwendig
ist.
• Wie viele Möglichkeiten gibt es, einzelne System-Module zu testen?
• Wie einfach ist die Prüfung einer Komponente unabhängig vom System möglich?
4.5.3 Fragen zu Übertragbarkeit
Als Übertragbarkeit bezeichnet man den Aufwand, der zum Übertragen einer Software in eine andere Umgebung benötigt wird. Die neue Umgebung können Hardware, Betriebssystem, DBMS und ähnliche Basissysteme oder Bibliotheken sein.
4.5.3.1 Anpassbarkeit
Anpassbarkeit betrifft die Änderungen, die erforderlich sind, eine Software in einer
neuen Umgebung zu konfigurieren.
• Auf wie vielen verschiedenen Plattformen und Betriebssystemen kann das
System laufen?
• Auf wie vielen unterschiedlichen Webservern kann das System laufen?
• Wie viele verschiedene Möglichkeiten (verschiedene DBMS, Dateisystem) stehen für die Datenhaltung zur Verfügung?
• In wie vielen Webbrowsern läuft das System-Backend?
4.5 Fragenkatalog
46
4.5.3.2 Installierbarkeit
Mit der Installierbarkeit wird der Aufwand zum Installieren der Software in einer
festgelegten Umgebung bestimmt.
• Wie komfortabel sind die Installationsroutinen (z.B. DB-Einrichtung, DateisystemKonfiguration)?
• Wie viele zusätzliche (System-)Programme werden vorausgesetzt, um das System vollständig nutzen zu können?
• Wie viele abhängige (System-)Programme müssen unabhängig von der Installation eingestellt werden?
• Wie gut lassen sich die nötigen Parameter der gegebenen Systemumgebung
über das Installationswerkzeug einstellen?
• Wie gut wird die Verfügbarkeit aller für die Programmnutzung notwendigen
Daten und Datenbereiche (Speicherbedarf) während der Installation überprüft?
4.5.3.3 Konformität
Mit der Konformität wird der Grad bezeichnet, in dem die Software die Standards
und Vereinbarungen zur Übertragbarkeit erfüllt.
• Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
• Wie gut wird XML unterstützt?
• Wie gut werden Standards (z.B. SQL92, XML) bei der Datenhaltung eingehalten?
4.5.3.4 Austauschbarkeit
Als Austauschbarkeit wird der Aufwand bezeichnet, der benötigt wird, um die Software anstelle eines anderen spezifizierten Systems in der Umgebung zu verwenden.
• Wie gut lassen sich die Daten exportieren bzw. migrieren?
4.5 Fragenkatalog
47
• Wie gut können spezifische Module in einem neuen System weiterverwendet
werden?
Kapitel 5
Auswertung
In diesem Kapitel werden die Polaritätsprofile zu dem Expertenurteil jedes Systems erstellt und ausgewertet. Es kommen jeweils drei Profile zu jedem System
zu Stande. Damit lassen sich im Folgenden die Aussagen zu den gewählten Qualitätseigenschaften (Benutzbarkeit, Änderbarkeit und Übertragbarkeit) der Systeme
leicht treffen. Zusätzlich wird ein allgemeines Polaritätsprofil zu den beiden Gruppen der Systeme erstellt, die sich nach den in dieser Arbeit gegenüber gestellten
Speicherungsmethoden unterscheiden (baumartige XML- und relationale Speicherung). Durch die Auswertung des allgemeinen Profils werden die Systemgruppen
bezüglich der drei Qualitätseigenschaften miteinander verglichen.
Die Fragestellungen werden auf die Profile nicht übertragen; sie befinden sich im
Anhang (A). Die in dem Anhang nummerierten Fragen stimmen mit der Nummerierung der Antworten der möglichen Gegensatzpaare in dem erstellten Profil
überein. Durch die Nummerierung wird bei der Auswertung der Ergebnisse häufig
auf die Fragen zurückgegriffen, um eine präzise Aussage zu erzielen. Jedes Profil
zu den einzelnen Qualitätseigenschaften ist zusätzlich in einzelne Untermerkmale
aufgeteilt.
Die Frage mit der Nummer 27 zu der Änderbarkeit der Systeme wurde in dem
Polaritätsprofil absichtlich ausgelassen, da sie von dem Experten bei vier von fünf
Systemen als ‚k.A.‘ markiert wurde. Das bedeutet, dass ihm entweder das Wissen
dazu fehlte oder die Frage zu diesen vier Systemen irrelevant war.
5.1 Systeme auf relationaler Basis
49
5.1 Systeme auf relationaler Basis
Zuerst werden die Ergebnisse der drei Systeme mit der relationalen Datenhaltung
ausgewertet. Dazu werden die erstellten Polaritätsprofile zu den drei festgelegten
Qualitätseigenschaften nacheinander ausgewertet. Jedes Profil enthält drei verschiedene Kurven für je ein System, die das Urteil des Experten graphisch darstellen.
Somit sind die Stärken und Schwächen einzelner Systeme gut erkennbar und die
Systeme dadurch leicht miteinander vergleichbar.
5.1.1 Benutzbarkeit
Bezüglich der Benutzbarkeit der für Entwickler wichtigen Software-Bestandteile (interne Dokumentation, API- und Architektur-Beschreibung) haben alle drei Systeme
recht positive Ergebnisse gezeigt (siehe Abbildung 5.1). Die einander stark überschneidenden Kurven besitzen teilweise eine große Schwankungsbreite und erreichen zwar hin und wieder den negativen Bereich, bleiben aber überwiegend in dem
positiven Pol.
Drupal hat besonders gute Ergebnisse erzielt mit dem einzig festgestellten Nachteil, dass sehr wenig graphische Beschreibung der Softwarearchitektur vorhanden ist
und damit die Verständlichkeit der Systemstruktur für einen Entwickler erschwert
wird.
Des weiteren bestätigen die Ergebnisse in der Beschreibung der Systeme den bereits angedeuteten Nachteil von TYPO3 (siehe Abschnitt 3.3.1), dass das System
für Entwickler wegen der komplexen Architektur schwer zu erlernen ist. Gleichzeitig
wiederum wird die Erlernbarkeit des Systems durch die Vielzahl an technischen Büchern, Anleitungen (Tutorials) und einer großen Entwickler-Community erhöht. In
Bezug auf Verständlichkeit ist TYPO3 einerseits mit der Knappheit an QuelltextKommentaren leicht negativ aufgefallen, anderseits zeigte es jedoch Stärken in der
besonders umfangreichen und ausführlichen Dokumentation und einer hervorragenden API-Beschreibung.
In Vergleich zu Drupal und TYPO3 ist die Bewertung von Joomla in puncto Benutzbarkeit etwas schlechter ausgefallen. Das Polaritätsprofil zeigt die großen Nachteile
5.1 Systeme auf relationaler Basis
50
in der Dokumentation der Datenbankschnittstelle und der Erweiterungen. Außerdem werden die Entwickler durch technische Handbücher und Tutorials nur mangelhaft unterstützt. Positiv aufgefallen ist Joomla aber mit dem am meisten verständlichen Quellcode, der gut abstrahiert ist, sehr ausführliche Kommentare enthält und
deren Variablen verständlich benannt sind.
5.1 Systeme auf relationaler Basis
Abbildung 5.1: Polaritätsprofil: relational basierte Systeme bezüglich der Benutzbarkeit
51
5.1 Systeme auf relationaler Basis
52
5.1.2 Änderbarkeit
Die Abbildung 5.2 stellt das Polaritätsprofil zur Änderbarkeit der Systeme auf relationaler Basis dar. Die graphische Darstellung besteht aus stark gekrümmten Linien,
die eine eindeutige Aussage zu den Systemen erschwert. Klar zu erkennen ist aber,
dass Drupal im Vergleich zu den anderen beiden Systemen einen deutlichen Vorteil in Bezug auf Analysierbarkeit und Prüfbarkeit hat. TYPO3 und Joomla fallen
in den anderen beiden Untermerkmalen ähnlich schwach auf. Joomla überzeugt in
puncto Modifizierbarkeit, indem es sich am einfachsten durch die externen Module
erweitern lässt und hierfür keine komplexe Struktur benötigt. Bezüglich der Stabilität hat Joomla zwar keine negativen Seiten gezeigt, bleibt aber zusammen mit
Drupal im neutralen Bereich auf Grund der nur unwesentlichen Vorteile. TYPO3 dagegen hat einerseits große Schwächen, was die Auswirkungen kleiner Fehler auf das
gesamte System angeht, wird allerdings am besten von der Entwickler-Community
bei der Fehlerkorrektur und Sicherheit betreut, was die Stabilität des Systems nach
oben treibt.
5.1 Systeme auf relationaler Basis
Abbildung 5.2: Polaritätsprofil: relational basierte Systeme bezüglich der Änderbarkeit
53
5.1 Systeme auf relationaler Basis
54
5.1.3 Übertragbarkeit
Das in der Abbildung 5.3 abgebildete Polaritätsprofil zeigt anschaulich die Übertragbarkeit der relational-basierten Systeme. Die Profile zu Joomla und Drupal
stellen eine überwiegend in dem positiven Pol liegende Linie dar, die relativ gerade
ist und kaum auffällige Kurven enthält. Dieses ist ein deutliches Indiz dafür, dass
die beiden Systeme anhand aller vier Untermerkmale gut bewertet wurden und mit
wenig Aufwand übertragbar sind. Die graphische Ergebnis-Kurve zu TYPO3 ist dagegen relativ gebogen und zeigt unterschiedliche Stärken und Schwächen bezüglich
verschiedener Untermerkmale. So ist deutlich erkennbar, dass das System sich am
einfachsten in einer neuen Umgebung anpassen lässt mit der besonderen Stärke, etliche DBMS zu unterstützen. Außerdem wurden klare Vorteile an TYPO3 in puncto
Installierbarkeit festgestellt: die nötigen System-Parameter lassen sich besonders gut
durch das Installationswerkzeug einstellen und die notwendigen Daten und Datenbereiche werden hervorragend auf die Verfügbarkeit überprüft. Allerdings erschwert
die große Menge an zusätzlichen, vorausgesetzten Programmen die Installation und
zählt hier zum Nachteil des Systems. Zusätzlich fällt TYPO3 wegen seiner schwer
erlernbaren, nicht konformen Konfigurationssprache negativ auf.
Bezüglich der Austauschbarkeit wurden alle drei Systeme relativ neutral bewertet.
5.1 Systeme auf relationaler Basis
Abbildung 5.3: Polaritätsprofil: relational basierte Systeme bezüglich der Übertragbarkeit
55
5.2 XML-basierte Systeme
56
5.2 XML-basierte Systeme
Nun werden die Systeme mit der XML-basierten Speicherung bezüglich der drei
Software-Qualitätseigenschaften ausgewertet und miteinander verglichen.
5.2.1 Benutzbarkeit
Das Polaritätsprofil zu der Benutzbarkeit der Systeme ist in der Abbildung 5.4
dargestellt. Die klare Überlegenheit von eZ Publish ist in der Abbildung deutlich
zu erkennen. Das System hat keine großen Schwächen bezüglich der Benutzbarkeit gezeigt und hat sich aus Entwicklersicht als sehr verständliches und relativ
gut erlernbares System erwiesen. Papaya CMS ist dagegen durch häufige Kurven
im negativen Bereich aufgefallen, insbesondere in der API-Beschreibung, der Dokumentation der Erweiterungen und der Entwickler-Unterstützung durch Bücher,
Tutorials und eine Community. Papaya CMS konnte lediglich in puncto einfache
und gut strukturierte System-Architektur, die wesentlich schneller erlernbar ist als
die von eZ Publish, positiv hervorstechen.
5.2 XML-basierte Systeme
Abbildung 5.4: Polaritätsprofil: XML-basierte Systeme bezüglich der Benutzbarkeit
57
5.2 XML-basierte Systeme
58
5.2.2 Änderbarkeit
Papaya CMS wurde bezüglich der Benutzbarkeit ziemlich schlecht bewertet, ist aber
unter dem Kriterium Änderbarkeit, wie die Abbildung 5.5 zeigt, ein klarer Favorit.
Wie man sehen kann, hat das System in fast allen zwölf Punkten die maximale
Bewertung von ‚++‘ bekommen und hat sich dadurch als sehr flexibles System erwiesen. eZ Publish zeigt hingegen kleine Nachteile in Hinblick auf Analysierbarkeit
und Modifizierbarkeit, wird aber besser durch die Community bezüglich der Fehlerkorrektur und Sicherheit unterstützt und weist sich dadurch als etwas stabileres
System aus. Die besonderen Schwächen von eZ Publish sind in der Prüfbarkeit des
Systems zu finden.
5.2 XML-basierte Systeme
Abbildung 5.5: Polaritätsprofil: XML-basierte Systeme bezüglich der Änderbarkeit
59
5.2 XML-basierte Systeme
60
5.2.3 Übertragbarkeit
Die Abbildung 5.6 zeigt das Polaritätsprofil zur Übertragbarkeit der XML-basierten
Systeme. In dem Profil ist ein besonders großer Unterschied der beiden Systeme
bezüglich der Installierbarkeit zu beobachten; eZ Publish erweist sich als gut installierbares System, Papaya CMS ist dagegen eher schwach bis sehr schwach. Bezüglich
der anderen Untermerkmale wurden die beiden Systeme relativ gleich positiv bewertet. Papaya CMS konnte in der Anpassbarkeit und Konformität durch minimal
bessere Ergebnisse überzeugen, eZ Publish bekommt hingegen eine etwas bessere
Bewertung in Hinblick auf Austauschbarkeit.
5.2 XML-basierte Systeme
Abbildung 5.6: Polaritätsprofil: XML-basierte Systeme bezüglich der Übertragbarkeit
61
5.3 Vergleich der relationalen und XML-basierten Systeme
62
5.3 Vergleich der relationalen und XML-basierten Systeme
Nachdem die Polaritätsprofile zu den einzelnen Systemen auf relationaler und XMLBasis erstellt und ausgewertet wurden, werden in diesem Abschnitt die Auswertungen der Systeme gruppenweise vorgenommen, um das eigentliche Ziel dieser Arbeit
zu verfolgen und die Systemgruppen miteinander zu vergleichen. Für den Vergleich
der Systeme wurden neue Polaritätsprofile zu den beiden Gruppen erstellt. Dafür
wurden aus den Experten-Bewertungen zu den einzelnen Systemen einer Gruppe
die Durchschnittswerte errechnet und ins neue Profil übertragen. Somit entstanden
zwei neue graphische Darstellungen zu den drei festgelegten Qualitätseigenschaften,
die im Folgendem ausgewertet werden.
5.3.1 Benutzbarkeit
Die Abbildung 5.7 stellt das Polaritätsprofil der beiden Systemgruppen in puncto
Benutzbarkeit dar. Das Profil zeigt, dass die beiden Systemgruppen keine großen
Differenzen haben und insofern gut benutzbar sind. Die beiden Kurven bestehen nur
aus unwesentlichen Schwankungen und befinden sich überwiegend in dem positiven
Pol. Die Unterschiede werden in Bezug auf das Untermerkmal Erlernbarkeit etwas
größer. Die Architektur der XML-basierten Systeme ist etwas schneller erlernbar
und die System-Fehlermeldungen sind etwas hilfreicher als bei den gegenübergestellten Systemen. Die Systeme auf Basis einer rein relationalen Datenbank zeigen
hingegen ihre Stärken in der Entwickler-Unterstützung durch Bücher, Community
und Tutorials.
5.3 Vergleich der relationalen und XML-basierten Systeme
Abbildung 5.7: Polaritätsprofil: relational und XML-basierte Systeme bezüglich
der Benutzbarkeit
63
5.3 Vergleich der relationalen und XML-basierten Systeme
64
5.3.2 Änderbarkeit
Das Polaritätsprofil zur Änderbarkeit der beiden Systemgruppen wird in der Abbildung 5.8 angezeigt. In dem Profil ist deutlich erkennbar, dass sich die XML-basierten
Systeme mit wesentlich geringerem Aufwand ändern lassen als die gegenüber gestellten Systeme. Die graphische Darstellung der Bewertungen liegt komplett in
dem positiven Pol und zeigt damit, dass die Systeme in allen vier Untermerkmalen hervorragend abgeschnitten haben. Die Kurve der relational-basierten Systeme
schwankt dagegen häufiger zu dem negativen Pol und zeigt besonders in puncto
Stabilität und Prüfbarkeit gewisse Schwächen. Die einzige Stelle, an der die Systeme auf relationaler Basis unwesentliche Vorteile zeigen, bezieht sich auf die bessere
Erweiterbarkeit, die durch die externen Module geleistet wird.
5.3 Vergleich der relationalen und XML-basierten Systeme
Abbildung 5.8: Polaritätsprofil: relationale und XML-basierte Systeme bezüglich
der Änderbarkeit
65
5.3 Vergleich der relationalen und XML-basierten Systeme
66
5.3.3 Übertragbarkeit
Das in der Abbildung 5.9 dargestellte Polaritätsprofil lässt keine eindeutige Aussage
zu der Übertragbarkeit im Ganzen zu. Die beiden Kurven korrelieren stark miteinander, bleiben aber dabei weitgehend in dem positiven Bereich. Die Unterschiede
der beiden Systemgruppen werden erst bei der Betrachtung der Kurven bezüglich
der einzelnen Untermerkmale deutlich. In Bezug auf Installierbarkeit haben die
Systeme mit der rein relationalen Datenbank wesentliche Vorteile und lassen sich
durch ihre komfortablen Installationsroutinen schneller und bequemer installieren.
Die XML-basierten Systeme hingegen lassen einerseits ihre Programmteile deutlich
besser durch andere austauschen und sichern andererseits die Übertragung der Systeme in eine neue Umgebung durch den breiteren Einsatz der offenen Standards.
Bezüglich der Anpassbarkeit zeigen die beiden Systemgruppen geringe Unterschiede
mit dem minimalen Vorteil bei den XML-basierten Systemen.
5.3 Vergleich der relationalen und XML-basierten Systeme
Abbildung 5.9: Polaritätsprofil: relationale und XML-basierte Systeme bezüglich
der Übertragbarkeit
67
5.4 Schlussfolgerung
68
5.4 Schlussfolgerung
Abschließend zu dem Kapitel werden in diesem Abschnitt die Ergebnisse der Untersuchung zusammengefasst.
Die Auswertungen der Ergebnisse haben ergeben, dass es keinen klaren Favoriten in
der Gruppe der Systeme auf relationaler Basis gibt; es wurden zu jedem Produkt jegliche Vorteile und Nachteile bezüglich verschiedener Qualitätskriterien festgestellt.
Bei den untersuchten XML-basierten Systemen lassen sich die Unterschiede deutlicher feststellen: eZ Publish ist definitiv besser benutzbar und übertragbar, Papaya
CMS hingegen zeigt sich in Hinblick auf Änderbarkeit überwiegend an vorderer
Stelle.
Im Vergleich der Systeme der einzelnen Gruppen konnten lediglich deutliche Unterschiede bezüglich der Änderbarkeit festgestellt werden. Die Systeme auf XMLBasis benötigen wesentlich weniger Aufwand, um geändert zu werden. Bezüglich
der Übertragbarkeit konnten die XML-basierten Systeme durch die Unterstützung
einer einheitlichen, offenen und standardisierten Technologie überzeugen. Allerdings
wurden wesentliche Schwächen in den Installationsroutinen der Systeme festgestellt,
die die gesamte Bewertung negativ geprägt haben. Die relational-basierten Systeme
haben keine erheblich schlechteren Ergebnisse gezeigt und deckten sogar die Lücke
der Systeme auf XML-Basis bezüglich Installierbarkeit ab. In Hinblick auf Benutzbarkeit sind die Systeme beider Gruppen gut ausgereift und bieten den Entwicklern
eine relativ einfache Benutzung der für sie relevanten Software-Bestandteile.
Kapitel 6
Zusammenfassung und Ausblick
Die Angebotsfülle von OS-CMS ist überwältigend, wobei die Systeme mit verschiedensten Techniken umgesetzt sind. Die Unterschiede liegen hier bereits auf der Ebene der Datenhaltung. Auf LAMP-Technologie zugeschnittene Produkte sind klare
Favoriten auf dem Markt. Diese Systeme sind meistens mit der Skriptsprache PHP
implementiert und verwenden eine relationale Datenbank (überwiegend MySQL)
zur Speicherung der Inhaltsdaten. Eine ziemlich kleine und unbekannte Gruppe von
CMS setzt bei der Datenhaltung XML-Technologie ein. Die Nutzung dieser einheitlichen, offenen und standardisierten Technologie ermöglicht eine effektive Realisierung diverser Aufgaben, die ein modernes CMS heutzutage erfüllen können muss.
Trotz allen XML-Vorteilen konnten sich nur wenige Systeme dieser Art durchsetzen.
Daher war das Ziel dieser Diplomarbeit, die relational- und XML-basierten Systemgruppen einer software-ergonomischen Evaluation zu unterziehen, um die Stärken
bzw. Schwächen und damit auch die Ursprünge für den Erfolg der einen Gruppe
und die Probleme bei der Durchsetzung der anderen festzustellen.
Im ersten Teil der Arbeit wurden verschiedene Klassen der CMS mit ihren unterschiedlichen Ausprägungen und Techniken kurz vorgestellt. Dabei lag die Betonung auf der verwendeten Datenhaltung. Außerdem wurden die Vorteile der XMLTechnologie in dem Datenhaltungs-Einsatz von einem CMS beschrieben.
Im folgenden Teil fand eine Sekundäranalyse statt, mit der die Systeme für die
weitere Untersuchung ausgewählt werden konnten. Die Systeme wurden nach den
festgelegten zentralen Kriterien (K.O.-Kriterien) sondiert. Es wurden drei Systeme
Kapitel 6 Zusammenfassung und Ausblick
70
auf Basis einer rein relationalen Datenbank – TYPO3, Joomla und Drupal – und
zwei XML-basierte Systeme – eZ Publish und Papapya CMS – ermittelt.
Im dritten Teil wurde das Evaluationsverfahren für die Untersuchung der Systeme ausgearbeitet und vorgestellt. Dabei wurde die Methode des Expertenurteils
für die Durchführung der Untersuchung gewählt. Weiterhin wurden die Qualitätseigenschaften für den Kriterienkatalog auf der Basis von ISO 9126 festgelegt. Dabei
wurden die für Entwickler relevanten Merkmale aus den Qualitätsmodellen von
McCall sowie von Dißmann und Zurwehn berücksichtigt. Abgeschlossen wurde das
Kapitel mit der Vorstellung der aus den Kriterien abgeleiteten entwicklerrelevanten Fragestellungen, die zu einem Fragenkatalog zusammengefasst wurden. Gemäß
dem erstellten Kriterienkatalog wurden die Systeme anhand der drei SoftwareQualitätseigenschaften – Benutzbarkeit, Änderbarkeit und Übertragbarkeit – beurteilt. Als Experte ist der Autor dieser Arbeit aufgetreten, der die Systeme mittels
des Fragenkatalogs bewertet hat. Zu den ausgefüllten Fragenkatalogen wurden im
letzten Teil der Arbeit die sogenannten Polaritätsprofile erstellt und ausgewertet.
Die Auswertung der Profile hat ergeben, dass sich die Systeme auf XML-Basis aus
Entwicklersicht von den Systemen auf relationaler Basis positiv abheben konnten.
Sie haben deutlich bessere Ergebnisse bezüglich der Änderbarkeit der Systeme gezeigt und überzeugen in Hinblick auf Übertragbarkeit. Die einzige Schwäche liegt
in den nicht ausgereiften Installationsroutinen, die den gesamten Installationsaufwand erhöhen. Bezüglich der Benutzbarkeit der für Entwickler relevanten SoftwareBestandteile haben sich beide Systemgruppen mit minimalen Unterschieden ziemlich gut dargestellt. Hier haben die Systeme auf XML-Basis kleine Nachteile in der
Unterstützung durch Communitys, entwicklerrelevante Bücher und Anleitungen.
Diese Schwachstelle ist damit verbunden, dass die Systeme weniger bekannt sind
und dadurch nur von einer kleineren Community unterstützt werden.
Anhand der Ergebnisse der Untersuchung kann nun eine mögliche Antwort auf
die Kernfrage – warum sich XML-basierten Systeme trotz besserer Technik nicht
durchsetzten konnten – gegeben werden. Auf Grund des aufwändigen Installationsprozesses kann bereits beim ersten Kontakt mit dem System ein negativer Eindruck
entstehen. Darüber hinaus kann der Entwickler durch geringe Unterstützung abgehalten werden, sich mit der neuen Technik auseinander zu setzten, und kehrt zurück
zum alt bewährten. Dies hat zur Folge, dass die Community nicht erweitert wird
Kapitel 6 Zusammenfassung und Ausblick
71
und weiterhin gering bleibt. Ein System, das nur durch eine kleine Community unterstützt wird, gewinnt nur schwer das Vertrauen der Benutzer. Schließlich wird sich
für ein anderes System mit einer umfangreicheren Community entschieden. Um dem
entgegen zu wirken und weitere Erfolge verzeichnen zu können sollten die genannten
Defizite der XML-basierten Systeme korrigieren werden.
Letztendlich hat diese Arbeit gezeigt, dass sich der Einsatz der XML-Technologie
in einem CMS-System aus der Sicht der Entwickler rentiert. Um dieses Ergebnis
auf die Probe zu stellen und ein objektiveres und umfassenderes Urteil zu erzielen
besteht die Möglichkeit, die K.O.-Kriterien bei der Systemauswahl zu verringern
und dadurch die Anzahl der untersuchten Systeme zu erhöhen. Die Nachteile eines
Systems würden nicht zwangsläufig den gesamten Wert der Systemgruppe negativ
beeinflussen. Im Rahmen dieser Arbeit war es allerdings wichtig, die Auswahlkriterien zu den Systemen genau zu definieren, um die Vielfalt der Systeme auf eine
übersichtliche Anzahl einzugrenzen.
Außerdem wäre es noch interessant, die Systeme beider Gruppen einer Evaluation
aus Benutzersicht zu unterziehen und anschließend die neuen Ergebnisse mit denen
dieser Arbeit zu vergleichen. Die Anforderungen an die CMS wachsen durch den
Benutzer, der seine Ansprüche an die sich ständig entwickelnden Welt anpasst. Die
interne Struktur des Systems interessiert den Benutzer eher nicht; daher wird ein
System, das den Benutzer-Ansprüchen (funktionalen Anforderungen) entspricht,
weiter gut auf dem Markt positioniert. Die Meinung der Entwickler wird hier nicht
weiter beachtet. Ein solcher Vergleich wäre zwar sehr interessant, würde aber den
Rahmen dieser Arbeit sprengen und bleibt daher für folgende Arbeiten offen.
Literaturverzeichnis
[Aghamanoukjan 2007] Aghamanoukjan, A. ; Ruber, R. ; Meyer, M.: Qualitative Interviews. In: Buber, R. ; Holzmüller, H. H.
(Hrsg.): Qualitative Marktforschung. Wiesbaden 2007, S.
415–435
[Ahlswede 2009] Ahlswede, M. ; Schult, T. J.: CMS-Ausstatter: Erweiterungen für Joomla und Typo3. iX (2009) Nr. 3, S. 92–94
[Ansorge 1998] Ansorge, P.: Entwicklungsbegleitende ergonomische Reviews und Usability-Tests.
Softwaretechnik-Trends 18
(1998), S. 11
[Balzert 1998] Balzert, H.: Lehrbuch der Software-Technik: SoftwareManagement, Software-Qualitätssicherung, Unternehmensmodellierung. Bd. 2, Heidelberg 1998
[Baumgartner 2004] Baumgartner, P. ; Häfele, H. ; Maier-Häfele, K.:
Content Management Systeme in e-Education, Innsbruck
2004
[Bennicke 2008] Bennicke, M. ; Hofmann, A. ; Lewerentz, C. ; Wichert, K.-H.: Software Controlling: Qualitätsbezogene
Projektsteuerung. Informatik-Spektrum 31 (2008), S. 556–
564
[Bogner 2005] Bogner, A. ; Littig, B. ; Menz, W.: Das Experteninterview: Theorie, Methode, Anwendung. 2. Aufl., Wiesbaden
2005
Literaturverzeichnis
73
[Braun 2007] Braun, H.:
Website-Baukästen: Freie ContentManagement-Systeme und andere Werkzeuge für dynamische Internet-Auftritte. c’t (2007) Nr. 11, S. 88–95
[Bärwolff 2008] Bärwolff, M.: Monopolelemente bei freier Software. In:
Lutterbeck, B. ; Bärwolff, M. ; Gehring, R. A.
(Hrsg.): Open Source Jahrbuch 2008: Zwischen freier Software und Gesellschaftsmodell. Berlin 2008, S. 71–82
[Christ 2007] Christ, O.: Content Management in der Praxis, Berlin
2007
[Enderle 2001] Enderle, J.: XML in relationalen Datenbanken. Informatik Spektrum 24 (2001) Nr. 6, S. 357–368
[Ensthaler 2009] Ensthaler, J.: Gewerblicher Rechtsschutz und Urheberrecht. 3., überarb. u. erw. Aufl., Berlin 2009
[Franz 2008] Franz, M.: Drupal 6: Neue APIs und mehr Komfort. iX
(2008) Nr. 5, S. 62–64
[Glantschnig 2004] Glantschnig, P.: Innovative Content Management Systeme im Betrachtungsfeld von Java 2 Enterprise Edition,
Technischen Universität Graz, Diplomarbeit, 2004
[Graf 2008a] Graf, H.: Drupal 6: Websites entwickeln und verwalten
mit dem Open Source-CMS, München 2008
[Graf 2008b] Graf, H.: Joomla! 1.5: Websites organisieren und gestalten
mit dem Open Source-CMS, München 2008
[Grume 2003] Grume, M.: Eine Evaluierung kommerzieller Content Management Systeme, Technische Universität Wien, Bakkalaureatsarb., 2003
[Hampe-Neteler 1994] Hampe-Neteler, W.: Software-ergonomische Bewertung zwischen Arbeitsgestaltung und Softwareentwicklung,
Frankfurt a.M. 1994
Literaturverzeichnis
74
[Hasecke 2008] Hasecke, J. U.: Anwenderemanzipation - Wie Nutzer die
Softwareentwicklung beeinflussen können. In: Lutterbeck, B. ; Bärwolff, M. ; Gehring, R. A. (Hrsg.): Open
Source Jahrbuch 2008: Zwischen freier Software und Gesellschaftsmodell. Berlin 2008, S. 13–24
[Hauser 2008] Hauser, T. ; Pietsch, A.: Open Source Content Management - Eine kritische Betrachtung. In: Lutterbeck, B.
; Bärwolff, M. ; Gehring, R. A. (Hrsg.): Open Source
Jahrbuch 2008: Zwischen freier Software und Gesellschaftsmodell. Berlin 2008, S. 245–254
[Hofmann 2008] Hofmann, A. ; Krebs, M. ; Stamm, C. ; Sury, U.: Lancierung und Verwaltung von Open Source Projekten. IMVS
Fokus Report 200 (2008), S. 24–35
[Hüttenegger 2006] Hüttenegger, G.: Open Source Knowledge Management,
Berlin 2006
[Kampffmeyer 2007] Kampffmeyer, U.: Worauf kommt es bei der CMSAuswahl an? In: Schwarz, T. (Hrsg.): Leitfaden OnlineMarketing. Waghäusel 2007, S. 256–263
[Koller 2007] Koller, A.: Web Content und Content Management Systeme: Ohne Struktur kein Semantic Web!, Berlin 2007
[Lammenett 2007] Lammenett, E.: TYPO3 Online-Marketing-Guide, Wiesbaden 2007
[Mayer 2006] Mayer, H.O.: Interview und schriftliche Befragung: Entwicklung, Durchführung und Auswertung. 3. Aufl., Oldenburg 2006
[Moos 2008] Moos, A.: XQuery und SQL/XML in DB2-Datenbanken:
Verwaltung und Erzeugung von XML-Dokumenten in DB2,
Wiesbaden 2008
[Päßler 2006] Päßler, M. ; M., Nicola: Native XML-Unterstützung in
DB2 Viper. Datenbank Spektrum 17 (2006), S. 42–47
Literaturverzeichnis
75
[Pomberger 1996] Pomberger, G. ; Blaschek, G. ; Kepler, J.: Software Engineering: Prototyping und objektorientierte SoftwareEntwicklung. 2. Aufl., München 1996
[Popper 2008] Popper, A.: An der frischen Luft: Enterprise Content Management mit Alfresco. iX (2008) Nr. 7, S. 76–82
[Potschka 2009] Potschka, F.: Mehr Kbytes: Content Management. iX
(2009) Nr. 1, S. 144–145
[Pressman 2005] Pressman, R. S.: Software Engineering: A Practitioner’s
Approach. 6th ed., New York 2005
[Rachbauer 2007] Rachbauer, T.: Evaluierung des Content Management
Systems EZ Publish, Norderstedt, Studienarbeit, 2007
[Schmid 1987] Schmid, W.: Das Anwenderbrevier: Die zehn Tugenden
guter Software, Frankfurt a.M 1987
[Thiess 2003] Thiess, K.: Analyse von Open Source Content Management Systemen als Mittel des Informationsmanagements
und Implementierung einer Beispielanwendung in einem
deutschen Automobilkonzern, Technische Fachhochschule
Wildau, Diplomarbet, 2003
[Wallmüller 2001] Wallmüller, E.: Software-Qualitätsmanagement in der
Praxis. 2. Aufl., München 2001
Onlineverzeichnis
[Efo 2009] http://www.eforia.de/text/eforia_web_manager/
support/begriffserklaerungen_de.html, Abruf: 15.07.2009
[eTe 2007] Content Management Systeme. http://www.e-teaching.org/
technik/distribution/cms/index_html, Abruf: 15.07.2009
[Hedemann 2009a] Hedemann, F.:
Google akzeptiert die Bewerbung von
TYPO3 für den ”Summer of Code 2009”.
http:
//t3n.de/news/typo3-google-akzeptiert-bewerbungtypo3-summer-code-2009-239982/, Abruf: 05.09.2009
[Hedemann 2009b] Hedemann, F.:
Wappalyzer durchleuchtet Websites: Welche Software wird wie oft verwendet?
http:
//t3n.de/news/wappalyzer-durchleuchtet-websiteswelche-software-oft-237871/, Abruf: 01.09.2009
[Hein 2006] Hein, A.:
Hinweise zur Erstellung und Dokumentation benutzerfreundlicher und fehlertoleranter Software.
http://www.informatik.fh-nuernberg.de/professors/
hein/HINTS/Software_Development.pdf, Abruf: 20.12.2009
[Hein 2009] Hein, A.: Content Management: Gestern, heute und morgen.
http://www.contentmanager.de/magazin/artikel_
1977_content_management.html, Abruf: 26.06.2009
[Kelter 2007] Kelter, U.:
Software-Qualitätsmodelle.
http:
//pi.informatik.uni-siegen.de/lehre/2009s/LM/lm_
sqmo_20070505_a5.pdf, Abruf: 19.11.2009
Onlineverzeichnis
77
[Kleijn 2006] Kleijn, A.: Open-Source-Lizenzen. http://www.heise.de/
open/Open-Source-Lizenzen--/artikel/75786/1, Abruf:
27.07.2009
[Krüger 2007a] Krüger, D.:
Kriterien für die (W)CMS-Auswahl.
http://www.jdk.de/de/cms/wcm-cms-web-contentmanagement/auswahlkriterien-wcm.html, Abruf: 20.09.2009
[Krüger 2007b] Krüger, D.:
Was ist Enterprise Content Management
(ECM)?
http://www.jdk.de/de/cms/ecm-enterprisecontent-management/was-ist-ecm.html, Abruf: 18.07.2009
[pap 2009a] papaya CMS 5.0. http://www.contentmanager.de/itguide/
produkt_599_papaya_cms_50_open_source_unter_gpl.
html, Abruf: 26.11.2009
[pap 2009b] papaya CMS: Leistungsmerkmale. http://www.papaya-cms.
com/leistungsmerkmale.29.html, Abruf: 27.11.2009
[Rutke 2009] Rutke, R.: Neue eZ Publish Version 4.1 mit erweiterter Unterstützung für große Unternehmens- und Medienportale in Verbindung mit vollständigem Support und Wartungsangebot des
Herstellers. http://www.pressebox.de/pressemeldungen/
ez-systems-germany-gmbh/boxid-249177.html,
Abruf:
26.11.2009
[Schulz 2008] Schulz, H.:
Bitkom: Vier von fünf deutschen Unternehmen präsentieren sich im Internet.
http:
//www.heise.de/newsticker/Bitkom-Vier-von-fuenfdeutschen-Unternehmen-praesentieren-sich-imInternet--/meldung/109799, Abruf: 28.06.2009
[Sommergut 2005] Sommergut, W.: Freie CMS-Lösungen für Unternehmen.
http://www.computerwoche.de/index.cfm?pid=378&pk=
552813&p=1, Abruf: 18.08.2009
[Stamm 2002] Stamm, M.:
Web Content Management System.
http://www.cyres.de/cms-grundlagen/cms-definition/
web-content-management-system.htm, Abruf: 05.07.2009
Onlineverzeichnis
78
[Steyer 2007] Steyer, R.:
Systemvorstellung: Joomla! im Überblick.
http://www.contentmanager.de/magazin/artikel_1421_
joomla_cms_open_source.html, Abruf: 22.11.2009
[Tiemann 2006] Tiemann, M.:
http://www.opensource.org/licenses/
alphabetical, Abruf: 29.07.2009
[typ 2009] Höchste Performance und Sicherheit mit Typo3. http://www.
24ix.de/Typo3.55.0.html, Abruf: 21.11.2009
[Winkler 2001] Winkler, J.: Content Management mit XML. http://www.
html-world.de/program/xml_6.php, Abruf: 16.07.2009
[Wittenbrink 2003] Wittenbrink, H ; Köhler, W.:
XML.
//www.teialehrbuch.de/Kostenlose-Kurse/XML/,
07.07.2009
http:
Abruf:
Abbildungsverzeichnis
1.1
2.1
2.2
Mögliche Überschneidungen der Entwickler- und Anwendergruppen
in einer OS-Community . . . . . . . . . . . . . . . . . . . . . . . .
5
Aufbau eines CMS . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übersicht der CMS-Datenhaltung: Aufteilung in XML- und relationale Speicherungsgruppen . . . . . . . . . . . . . . . . . . . . . . .
19
3.1
3.2
3.3
Verteilung der Open-Source-Lizenzen . . . . . . . . . . . . . . . . .
Wappalyzer Statistik für April 2009: 20 meist verwendete CMS . . .
Übersicht der CMS-Datenhaltung und der gewählten Systeme . . .
23
26
28
4.1
4.2
4.3
4.4
Aufbau von Qualitätsmodellen . . . . . . . . . . . . . . . . . . . . .
Merkmale der ISO 9126 . . . . . . . . . . . . . . . . . . . . . . . .
Qualitätsmodell von McCall: relevante Eigenschaften für Entwickler
Qualitätsmodell von Dißman und Zurwehn: relevante Eigenschaften
für Programmierer . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
38
39
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Polaritätsprofil: relational basierte Systeme bezüglich der Benutzbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Polaritätsprofil: relational basierte Systeme bezüglich der Änderbarkeit
Polaritätsprofil: relational basierte Systeme bezüglich der Übertragbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Polaritätsprofil: XML-basierte Systeme bezüglich der Benutzbarkeit
Polaritätsprofil: XML-basierte Systeme bezüglich der Änderbarkeit .
Polaritätsprofil: XML-basierte Systeme bezüglich der Übertragbarkeit
Polaritätsprofil: relational und XML-basierte Systeme bezüglich der
Benutzbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
40
52
54
56
58
59
61
63
Abbildungsverzeichnis
5.8
5.9
Polaritätsprofil: relationale und XML-basierte Systeme bezüglich der
Änderbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Polaritätsprofil: relationale und XML-basierte Systeme bezüglich der
Übertragbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
65
67
Tabellenverzeichnis
3.1
3.2
Die Gewinner der CMS Awards . . . . . . . . . . . . . . . . . . . .
Ergebnisse der Sekundäranalyse . . . . . . . . . . . . . . . . . . . .
25
27
4.1
Qualitätsmerkmale bzw. -Kriterien von McCall, Dißmann und Zurwehn, ISO 9126 und CMS-Award . . . . . . . . . . . . . . . . . . .
42
A.1
A.2
A.3
A.4
A.5
A.6
Fragenkatalog
Fragenkatalog
Fragenkatalog
Fragenkatalog
Fragenkatalog
Fragenkatalog
zu
zu
zu
zu
zu
zu
TYPO3 . . .
Joomla . . . .
Drupal . . . .
eZ Publish . .
Papaya CMS .
Joomla . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 88
. 93
. 98
. 103
. 108
. 113
Abkürzungen
API
Application Programming Interface
BSD
Berkeley Software Distribution
CLOB Character Large Object
CM
Content Management
CMS Content Management System
CSS
Cascading Style Sheets
DB
Datenbank
DBMS Datenbankmanagementsystem
DTD Dokumenttypdefinition
ECM Enterprise Content Management
ECMS Enterprise Content Management System
FSF
Free Software Foundation
GQM Goal-Question-Metric
GSoC Google Summer of Code
GPL
General Public License
HTML Hypertext Makrup Language
ISP
Internet Service Provider
J2EE Java 2 Platform, Enterprise Edition
Java EE Java Platform, Enterprise Edition
JCA
Java Connector Architecture
MPL Mozilla Public License
LAMP Linux, Apache, MySQL, PHP (auch Perl oder Python)
LGPL Lesser General Public License
MySQL My Structured Query Language
OS
Open Source
OSD
The Open Source Definition
OSI
Open Source Initiative
Tabellenverzeichnis
PDF
Portable Document Format
PHP
Personal Home Page; PHP Hypertext Preprocessor
SQL
Structured Query Language
XDBMS XML-Datenbankmanagementsystem
XHTML eXtensible Hypertext Makrup Language
XDBMS XML Datenbankmanagementsystem
XML eXtensible Markup Language
XSLT eXtensible Stylesheet Language Transformation
WAP Wireless Access Point
WML Wireless Markup Language
WCMS Web Content Management System
WYSIWYG What You See Is What You Get
WWW World Wide Web
83
Anhang A
Fragenkataloge
Hier sind alle vom Experten ausgewerteten Fragenkataloge zu jedem System angehängt. Jeder Fragenkatalog ist in die festgelegten Merkmale aufgeteilt. Außerdem
sind die Fragen zu den abgeleiteten Untermerkmalen mit Trennlinien von einander abgegrenzt, damit die Aussagen zu jedem einzelnen Qualitästskriterium besser
nachvollziehbar sind.
Die Experten-Bewertungen beziehen sich auf die aktuellen Versionen1 der Systeme,
die als stabil laufend (‚stable‘) bezeichnet sind.
Die zur Bewertung angebotenen adjektivischen Gegensatzpaare sind so angeordnet,
dass die links von ‚0‘ platzierten möglichen Einstufungen von negativer und die
rechten von positiver Bedeutung sind.
1
Stand vom 01.11.2009 bis 01.12.2009
A.1 TYPO3
85
A.1 TYPO3
Die Bewertung der Experten zu TYPO3 in der Version 4.2.10.
Benutzbarkeit
Nr.
Frage
Antwort
1. Wie ausführlich ist der Quellcode
dokumentiert?
k.A.
+ ++ ausführknapp −− − 0 lich
2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
+ ++
schlecht −− − 0 gut
3. Wie lesbar ist der Quellcode?
++
schlecht −− − 0 + gut
4. Wie sind die Variablen in dem
Quellcode benannt?
+ ++ verständunver- −− − 0 ständlich
lich
die
− 0 + ++ ausführknapp −− lich
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
+ ++ umfanggering −− − 0 reich
5. Wie
ausreichend
sind
Quellcode-Kommentare?
7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
++
schlecht −− − 0 + gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
++
schlecht −− − 0 + gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
+ ++
wenige −− − 0 viele
10. Wie gut sind die Erweiterungen
dokumentiert?
+ ++ ausführknapp −− − 0 lich
A.1 TYPO3
Nr.
86
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
−−− 0 + ++
langsam 12. Wie hilfreich sind die Fehlermeldungen?
0 + ++
wenig −− − sehr
hilfreich
hilfreich
schnell
13. Wie viele Entwicklerhandbücher
gibt es?
++
wenige −− − 0 + viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
++
klein −− − 0 + groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
++
wenige −− − 0 + viele
16. Wie hoch ist die Dichte der
Dienstleister?
++
niedrig −− − 0 + hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
+ ++
schlecht −− − 0 k.A.
gut
− 0 + ++ komforta18. Wie komfortabel lassen sich Sys- unkomfor- −− temausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
0 + ++ verständunver- −− − ständlich
lich
A.1 TYPO3
Nr.
87
Frage
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
Antwort
++
schlecht −− − 0 + k.A.
gut
21. Wie einfach lassen sich die Module anderer Entwickler installieren?
0 + ++
schwer −− − einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
−−− 0 + ++
schwer einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
+ ++
wenige −− − 0 viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
0 + ++
oft −− − selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
++
schlecht −− − 0 + 26. Wie groß sind die Auswirkungen
kleiner Fehler?
−−− 0 + ++
groß gut
klein
27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
− 0 + ++
schlecht −− gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
− 0 + ++
wenige −− viele
A.1 TYPO3
Nr.
88
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
−−− 0 + ++
schwer k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
+ ++ auf vielen
auf −− − 0 wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
++
wenige −− − 0 + ++
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 + das System-Backend?
viele
in vielen
+ ++ komforta34. Wie komfortabel sind die unkomfor- −− − 0 Installationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
− 0 + ++
viele −− wenige
A.1 TYPO3
Nr.
89
Frage
Antwort
k.A.
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
+ ++
viele −− − 0 37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
++
schlecht −− − 0 + gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
++
schlecht −− − 0 + gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
−−− 0 + ++
nicht ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
0 + ++
schlecht −− − gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
++
schlecht −− − 0 + gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
+ ++
schlecht −− − 0 gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
− 0 + ++
schlecht −− gut
Tabelle A.1: Fragenkatalog zu TYPO3
wenige
A.2 Joomla
90
A.2 Joomla
Die Experten-Bewertung von Joomla anhand der Version 1.5.15.
Benutzbarkeit
Nr.
Frage
Antwort
1. Wie ausführlich ist der Quellcode
dokumentiert?
k.A.
0 + ++ ausführknapp −− − lich
2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
++
schlecht −− − 0 + gut
3. Wie lesbar ist der Quellcode?
++
schlecht −− − 0 + gut
4. Wie sind die Variablen in dem
Quellcode benannt?
5. Wie
ausreichend
sind
Quellcode-Kommentare?
die
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
++ verständunver- −− − 0 + ständlich
lich
++
knapp −− − 0 + ausführlich
− 0 + ++ umfanggering −− reich
7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
++
schlecht −− − 0 + gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
− 0 + ++
schlecht −− gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
−−− 0 + ++
wenige viele
10. Wie gut sind die Erweiterungen
dokumentiert?
− 0 + ++ ausführknapp −− lich
A.2 Joomla
Nr.
91
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
+ ++
langsam −− − 0 12. Wie hilfreich sind die Fehlermeldungen?
0 + ++
wenig −− − sehr
hilfreich
hilfreich
schnell
13. Wie viele Entwicklerhandbücher
gibt es?
− 0 + ++
wenige −− viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
++
klein −− − 0 + groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
− 0 + ++
wenige −− viele
16. Wie hoch ist die Dichte der
Dienstleister?
++
niedrig −− − 0 + hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
0 + ++
schlecht −− − k.A.
gut
−−− 0 + ++ komforta18. Wie komfortabel lassen sich Sys- unkomfor- temausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
− 0 + ++ verständunver- −− ständlich
lich
A.2 Joomla
Nr.
92
Frage
Antwort
k.A.
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
++
schlecht −− − 0 + gut
21. Wie einfach lassen sich die Module anderer Entwickler installieren?
++
schwer −− − 0 + einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
+ ++
schwer −− − 0 einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
0 + ++
wenige −− − viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
+ ++
oft −− − 0 selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
0 + ++
schlecht −− − 26. Wie groß sind die Auswirkungen
kleiner Fehler?
+ ++
groß −− − 0 27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
schlecht −− − 0 + ++
gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
− 0 + ++
wenige −− viele
gut
klein
X
A.2 Joomla
Nr.
93
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
−−− 0 + ++
schwer k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
− 0 + ++ auf vielen
auf −− wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
0 + ++
wenige −− − viele
+ ++ in vielen
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 das System-Backend?
+ ++ komforta34. Wie komfortabel sind die unkomfor- −− − 0 Installationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
+ ++
viele −− − 0 wenige
A.2 Joomla
Nr.
94
Frage
Antwort
k.A.
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
++
viele −− − 0 + 37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
+ ++
schlecht −− − 0 gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
+ ++
schlecht −− − 0 gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
+ ++
nicht −− − 0 ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
+ ++
schlecht −− − 0 gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
++
schlecht −− − 0 + gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
+ ++
schlecht −− − 0 gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
− 0 + ++
schlecht −− gut
Tabelle A.2: Fragenkatalog zu Joomla
wenige
A.3 Drupal
95
A.3 Drupal
Die Experten-Bewertung von Drupal in der Version 6.15.
Benutzbarkeit
Nr.
Frage
Antwort
k.A.
1. Wie ausführlich ist der Quellcode
dokumentiert?
++
knapp −− − 0 + ausführlich
2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
0 + ++
schlecht −− − gut
3. Wie lesbar ist der Quellcode?
++
schlecht −− − 0 + gut
4. Wie sind die Variablen in dem
Quellcode benannt?
+ ++ verständunver- −− − 0 ständlich
lich
die
++
knapp −− − 0 + ausführlich
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
−−− 0 + ++
gering umfangreich
7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
+ ++
schlecht −− − 0 gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
+ ++
schlecht −− − 0 gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
+ ++
wenige −− − 0 viele
5. Wie
ausreichend
sind
Quellcode-Kommentare?
10. Wie gut sind die Erweiterungen
dokumentiert?
+ ++ ausführknapp −− − 0 lich
A.3 Drupal
Nr.
96
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
0 + ++
langsam −− − 12. Wie hilfreich sind die Fehlermeldungen?
+ ++
wenig −− − 0 sehr
hilfreich
hilfreich
schnell
13. Wie viele Entwicklerhandbücher
gibt es?
+ ++
wenige −− − 0 viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
++
klein −− − 0 + groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
++
wenige −− − 0 + viele
16. Wie hoch ist die Dichte der
Dienstleister?
++
niedrig −− − 0 + hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
− 0 + ++
schlecht −− k.A.
gut
++ komforta18. Wie komfortabel lassen sich Sys- unkomfor- −− − 0 + temausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
+ ++ verständunver- −− − 0 ständlich
lich
A.3 Drupal
Nr.
97
Frage
Antwort
k.A.
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
++
schlecht −− − 0 + 21. Wie einfach lassen sich die Module anderer Entwickler installieren?
+ ++
schwer −− − 0 einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
− 0 + ++
schwer −− einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
++
wenige −− − 0 + viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
+ ++
oft −− − 0 selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
+ ++
schlecht −− − 0 26. Wie groß sind die Auswirkungen
kleiner Fehler?
− 0 + ++
groß −− 27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
schlecht −− − 0 + ++
gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
+ ++
wenige −− − 0 viele
gut
gut
klein
X
A.3 Drupal
Nr.
98
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
0 + ++
schwer −− − k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
+ ++ auf vielen
auf −− − 0 wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
+ ++
wenige −− − 0 ++
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 + das System-Backend?
viele
in vielen
+ ++ komforta34. Wie komfortabel sind die unkomfor- −− − 0 Installationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
+ ++
viele −− − 0 wenige
A.3 Drupal
Nr.
99
Frage
Antwort
k.A.
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
+ ++
viele −− − 0 37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
+ ++
schlecht −− − 0 gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
+ ++
schlecht −− − 0 gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
+ ++
nicht −− − 0 ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
− 0 + ++
schlecht −− gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
++
schlecht −− − 0 + gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
+ ++
schlecht −− − 0 gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
− 0 + ++
schlecht −− gut
Tabelle A.3: Fragenkatalog zu Drupal
wenige
A.4 eZ Publish
100
A.4 eZ Publish
Die Experten-Bewertung von eZ Publish in der Version 4.2.0.
Benutzbarkeit
Nr.
Frage
Antwort
k.A.
1. Wie ausführlich ist der Quellcode
dokumentiert?
++
knapp −− − 0 + 2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
++
schlecht −− − 0 + gut
3. Wie lesbar ist der Quellcode?
++
schlecht −− − 0 + gut
4. Wie sind die Variablen in dem
Quellcode benannt?
ausführlich
++ verständunver- −− − 0 + ständlich
lich
die
0 + ++ ausführknapp −− − lich
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
+ ++ umfanggering −− − 0 reich
5. Wie
ausreichend
sind
Quellcode-Kommentare?
7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
++
schlecht −− − 0 + gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
++
schlecht −− − 0 + gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
10. Wie gut sind die Erweiterungen
dokumentiert?
0 + ++
wenige −− − viele
+ ++ ausführknapp −− − 0 lich
A.4 eZ Publish
Nr.
101
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
0 + ++
langsam −− − 12. Wie hilfreich sind die Fehlermeldungen?
+ ++
wenig −− − 0 sehr
hilfreich
hilfreich
schnell
13. Wie viele Entwicklerhandbücher
gibt es?
0 + ++
wenige −− − viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
++
klein −− − 0 + groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
0 + ++
wenige −− − viele
16. Wie hoch ist die Dichte der
Dienstleister?
0 + ++
niedrig −− − hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
+ ++
schlecht −− − 0 k.A.
gut
− 0 + ++ komforta18. Wie komfortabel lassen sich Sys- unkomfor- −− temausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
0 + ++ verständunver- −− − ständlich
lich
A.4 eZ Publish
Nr.
102
Frage
Antwort
k.A.
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
+ ++
schlecht −− − 0 gut
21. Wie einfach lassen sich die Module anderer Entwickler installieren?
− 0 + ++
schwer −− einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
0 + ++
schwer −− − einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
+ ++
wenige −− − 0 viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
+ ++
oft −− − 0 selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
++
schlecht −− − 0 + 26. Wie groß sind die Auswirkungen
kleiner Fehler?
++
groß −− − 0 + 27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
schlecht −− − 0 + ++
gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
+ ++
wenige −− − 0 viele
gut
klein
X
A.4 eZ Publish
Nr.
103
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
− 0 + ++
schwer −− k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
+ ++ auf vielen
auf −− − 0 wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
+ ++
wenige −− − 0 ++
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 + das System-Backend?
viele
in vielen
++ komforta34. Wie komfortabel sind die unkomfor- −− − 0 + Installationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
+ ++
viele −− − 0 wenige
A.4 eZ Publish
Nr.
104
Frage
Antwort
k.A.
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
+ ++
viele −− − 0 37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
++
schlecht −− − 0 + gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
++
schlecht −− − 0 + gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
+ ++
nicht −− − 0 ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
++
schlecht −− − 0 + gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
++
schlecht −− − 0 + gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
++
schlecht −− − 0 + gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
++
schlecht −− − 0 + gut
Tabelle A.4: Fragenkatalog zu eZ Publish
wenige
A.5 Papaya CMS
105
A.5 Papaya CMS
Die Experten-Bewertung von Papaya CMS anhand der Version 5.0.
Benutzbarkeit
Nr.
Frage
Antwort
1. Wie ausführlich ist der Quellcode
dokumentiert?
k.A.
0 + ++ ausführknapp −− − lich
2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
++
schlecht −− − 0 + gut
3. Wie lesbar ist der Quellcode?
++
schlecht −− − 0 + gut
4. Wie sind die Variablen in dem
Quellcode benannt?
5. Wie
ausreichend
sind
Quellcode-Kommentare?
die
+ ++ verständunver- −− − 0 ständlich
lich
+ ++ ausführknapp −− − 0 lich
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
−−− 0 + ++
gering 7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
−−− 0 + ++
schlecht gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
− 0 + ++
schlecht −− gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
− 0 + ++
wenige −− viele
10. Wie gut sind die Erweiterungen
dokumentiert?
−−− 0 + ++
knapp ausführlich
umfangreich
A.5 Papaya CMS
Nr.
106
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
++
langsam −− − 0 + 12. Wie hilfreich sind die Fehlermeldungen?
+ ++
wenig −− − 0 sehr
hilfreich
hilfreich
schnell
13. Wie viele Entwicklerhandbücher
gibt es?
− 0 + ++
wenige −− viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
− 0 + ++
klein −− groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
−−− 0 + ++
wenige viele
16. Wie hoch ist die Dichte der
Dienstleister?
−−− 0 + ++
niedrig hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
++
schlecht −− − 0 + k.A.
gut
++ komforta18. Wie komfortabel lassen sich Sys- unkomfor- −− − 0 + temausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
+ ++ verständunver- −− − 0 ständlich
lich
A.5 Papaya CMS
Nr.
107
Frage
Antwort
k.A.
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
++
schlecht −− − 0 + gut
21. Wie einfach lassen sich die Module anderer Entwickler installieren?
++
schwer −− − 0 + einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
++
schwer −− − 0 + einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
++
wenige −− − 0 + viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
+ ++
oft −− − 0 selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
+ ++
schlecht −− − 0 26. Wie groß sind die Auswirkungen
kleiner Fehler?
++
groß −− − 0 + 27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
schlecht −− − 0 + ++
gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
++
wenige −− − 0 + viele
gut
klein
X
A.5 Papaya CMS
Nr.
108
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
++
schwer −− − 0 + k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
++ auf vielen
auf −− − 0 + wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
+ ++
wenige −− − 0 ++
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 + das System-Backend?
viele
in vielen
−−− 0 + ++ komforta34. Wie komfortabel sind die unkomfor- Installationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
−−− 0 + ++
viele wenige
A.5 Papaya CMS
Nr.
109
Frage
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
Antwort
0 + ++
viele −− − k.A.
wenige
37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
−−− 0 + ++
schlecht gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
− 0 + ++
schlecht −− gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
++
nicht −− − 0 + ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
++
schlecht −− − 0 + gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
++
schlecht −− − 0 + gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
++
schlecht −− − 0 + gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
+ ++
schlecht −− − 0 gut
Tabelle A.5: Fragenkatalog zu Papaya CMS
A.6 Fragenkatalog
110
A.6 Fragenkatalog
.
Benutzbarkeit
Nr.
Frage
Antwort
1. Wie ausführlich ist der Quellcode
dokumentiert?
k.A.
knapp −− − 0 + ++ ausführlich
2. Wie gut ist die Software abstrahiert (objektorientiert implementiert)?
schlecht −− − 0 + ++
gut
3. Wie lesbar ist der Quellcode?
schlecht −− − 0 + ++
gut
4. Wie sind die Variablen in dem
Quellcode benannt?
5. Wie
ausreichend
sind
Quellcode-Kommentare?
unver- −− − 0 + ++ verständständlich
lich
die
knapp −− − 0 + ++ ausführlich
6. Wie umfangreich ist die Software graphisch dokumentiert (z.B.
durch UML-Diagramme)?
gering −− − 0 + ++ umfangreich
7. Wie gut ist die Programmierschnittstelle zum Systemkern
(Core API) beschrieben?
schlecht −− − 0 + ++
gut
8. Wie ausführlich ist die Datenbankschnittstelle dokumentiert?
schlecht −− − 0 + ++
gut
9. Wie viele Erweiterungen haben
eine Dokumentation?
wenige −− − 0 + ++
viele
10. Wie gut sind die Erweiterungen
dokumentiert?
knapp −− − 0 + ++ ausführlich
A.6 Fragenkatalog
Nr.
111
Frage
Antwort
k.A.
11. Wie schnell ist die SystemArchitektur erlernbar?
langsam −− − 0 + ++
schnell
12. Wie hilfreich sind die Fehlermeldungen?
wenig −− − 0 + ++
sehr
hilfreich
hilfreich
13. Wie viele Entwicklerhandbücher
gibt es?
wenige −− − 0 + ++
viele
14. Wie groß ist die EntwicklerCommunity zu dem System?
klein −− − 0 + ++
groß
15. Wie viele entwicklerrelevante Tutorials gibt es?
wenige −− − 0 + ++
viele
16. Wie hoch ist die Dichte der
Dienstleister?
niedrig −− − 0 + ++
hoch
Änderbarkeit
Nr.
Frage
17. Wie gut lässt sich das Programm
auf Fehler durch ein Fehlersuchprogramm (Debugger) untersuchen?
Antwort
schlecht −− − 0 + ++
k.A.
gut
18. Wie komfortabel lassen sich Sys- unkomfor- −− − 0 + ++ komfortatemausgaben (Protokoll-Dateien)
tabel
bel
steuern?
19. Wie verständlich sind die Systemausgaben (in einer ProtokollDatei)?
unver- −− − 0 + ++ verständständlich
lich
A.6 Fragenkatalog
Nr.
112
Frage
Antwort
k.A.
20. Wie gut kann das System über
Module erweitert oder ausgebaut
werden?
schlecht −− − 0 + ++
gut
21. Wie einfach lassen sich die Module anderer Entwickler installieren?
schwer −− − 0 + ++
einfach
22. Wie schwer ist die Struktur für eine Erweiterung anzulegen?
schwer −− − 0 + ++
einfach
23. Wie viele System-Komponenten
lassen sich über die Erweiterungen ändern bzw. ausbauen?
wenige −− − 0 + ++
viele
24. Wie oft treten unerwartete Nebenwirkungen nach der Installation einer neuen Erweiterung auf?
oft −− − 0 + ++
selten
25. Wie gut wird die Software durch
die Community in Hinblick auf
Fehlerkorrektur und Sicherheit
gewartet (z.B. Bug Fixes, Security Updates)?
schlecht −− − 0 + ++
26. Wie groß sind die Auswirkungen
kleiner Fehler?
groß −− − 0 + ++
27. Wie reagiert das System auf
Überlastungen bzw. Fehlermeldungen (zahlreiche, gleichzeitige
Fehler)?
schlecht −− − 0 + ++
gut
28. Wie viele Möglichkeiten gibt es,
einzelne System-Module zu testen?
wenige −− − 0 + ++
viele
gut
klein
X
A.6 Fragenkatalog
Nr.
113
Frage
Antwort
29. Wie einfach ist die Prüfung einer Komponente unabhängig vom
System möglich?
schwer −− − 0 + ++
k.A.
einfach
Übertragbarkeit
Nr.
Frage
Antwort
k.A.
30. Auf wie vielen verschiedenen
Plattformen und Betriebssystemen kann das System laufen?
auf −− − 0 + ++ auf vielen
wenigen
31. Auf wie vielen unterschiedlichen
Webservern kann das System laufen?
auf −− − 0 + ++ auf vielen
wenigen
32. Wie viele verschiedene Möglichkeiten (verschiedene DBMS,
Dateisystem) stehen für die Datenhaltung zur Verfügung?
wenige −− − 0 + ++
viele
33. In wie vielen Webbrowsern läuft in wenigen −− − 0 + ++ in vielen
das System-Backend?
34. Wie komfortabel sind die unkomfor- −− − 0 + ++ komfortaInstallationsroutinen
(z.B.
tabel
bel
DB-Einrichtung,
DateisystemKonfiguration)?
35. Wie viele zusätzliche (System-)
Programme werden vorausgesetzt, um das System vollständig
nutzen zu können?
viele −− − 0 + ++
wenige
A.6 Fragenkatalog
Nr.
114
Frage
Antwort
k.A.
36. Wie viele abhängige (System-)
Programme müssen unabhängig
von der Installation eingestellt
werden?
viele −− − 0 + ++
37. Wie gut lassen sich die nötigen
Parameter der gegebenen Systemumgebung über das Installationswerkzeug einstellen?
schlecht −− − 0 + ++
gut
38. Wie gut wird die Verfügbarkeit
aller für die Programmnutzung
notwendigen Daten und Datenbereiche (Speicherbedarf) während
der Installation überprüft?
schlecht −− − 0 + ++
gut
39. Wie ähnlich ist die Konfigurationssprache einer offenen Standardsprache?
nicht −− − 0 + ++
ähnlich
sehr
ähnlich
40. Wie gut wird XML unterstützt?
schlecht −− − 0 + ++
gut
41. Wie gut werden Standards (z.B.
SQL92, XML) bei der Datenhaltung eingehalten?
schlecht −− − 0 + ++
gut
42. Wie gut lassen sich die Daten exportieren bzw. migrieren?
schlecht −− − 0 + ++
gut
43. Wie gut können spezifische Module in einem neuen System weiterverwendet werden?
schlecht −− − 0 + ++
gut
Tabelle A.6: Fragenkatalog zu Joomla
wenige
Danksagung
Zu der Entstehung dieser Arbeit haben mehrere Personen beigetragen, denen ich
hiermit danken möchte.
An erster Stelle danke ich meinem Betreuer Prof. Dr. Karl-Heinz Rödiger für seine
intensive Unterstützung, seine ständige Hilfsbereitschaft und seine wertvollen Literaturhinweise. Er hat sich immer auch für spontane Treffen Zeit genommen, um
über neue Ideen oder Probleme bei meiner Arbeit zu sprechen. Außerdem danke ich
herzlich meinem Arbeitgeber und Kollegen Jan-Christoph Kranefeld für seine exklusive technische Beratung und die sehr oft mühsamen Fehlerkorrekturen. Weiterhin
danke ich herzlich Herrn Lukas Kumai für seine hilfreiche Ratschläge und Verbesserungsvorschläge. Ich danke auch meiner Freundin Katrin für die vielen Stunden, die
sie auf mich verzichten musste. Ein letztes Dankeschön geht an ihre Mutter Bärbel
und meinen Kommilitonen Jakob für das abschließende Korrekturlesen.