Please wait
Please install the Adobe Flash Player if no e-book is displayed.
Diploma Thesis, 2007, 140 Pages
Author: Dipl.-Ing.(FH) Rico Schulz
Subject: Communications: Multimedia, Internet, New Technologies
Details
Year: 2007
Pages: 140
Grade: 1,3
Language: German
ISBN (E-book): 978-3-640-34600-4
Other users also were interested in the following titles:
Abstract
Die vorliegende Arbeit beschäftigt sich mit Web 2.0, Ruby on Rails und der agilen Softwareentwicklung. Es wird zunächst der Begriff „Web 2.0“ anhand dessen Prinzipien vorgestellt. Dabei werden die zentralen Kennzeichen des Web 2.0 herauskristallisiert und anschließend in kurzer ausformulierter Form dargelegt. Desweiteren wird Ruby on Rails vorgestellt. Dieses Framework dient der Entwicklung von datenbankbasierten Webapplikationen. Es soll durch innovative Funktionalitäten die Webentwicklung effizienter gestalten. Im weiteren Verlauf wird geprüft, ob sich Ruby on Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte. Desweiteren wird das Konzept der agilen Softwareentwicklung beschrieben. Es wird dabei in kurzer Form auf die traditionellen Vorgehensweisen der Softwareentwicklung eingegangen. Später wird das Agile Manifest und der populärste agile Vertreter „Extreme Programming“ ausführlich dargestellt. Dies soll vorbereitend für die abschließende Evaluation des Potentials von Ruby on Rails für die agile Softwareentwicklung wirken.
Excerpt (computer-generated)
Agile Entwicklung von Web 2.0 Applikationen
mit Ruby on Rails
Diplomarbeit
Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH)
Fachbereich Medien
Studiengang Medientechnik
Vorgelegt von:
Rico Schulz
Leipzig, den 15.05.2007
Bibliografischer Nachweis und Autorreferat
Bibliografischer Nachweis
Schulz, Rico
Agile Entwicklung von Web 2.0 Applikationen mit Ruby on Rails
Diplomarbeit, Hochschule für Technik, Wirtschaft und Kultur Leipzig (FH),
Fachbereich Medien, Studiengang Medientechnik, 2007
131 Seiten, 29 Bilder, 1 Tabelle, 75 Quellenangaben
Autorreferat
Die vorliegende Arbeit beschäftigt sich mit Web 2.0, Ruby on Rails und der agilen
Softwareentwicklung. Es wird zunächst der Begriff ,,Web 2.0" anhand dessen Prinzipien
vorgestellt. Dabei werden die zentralen Kennzeichen des Web 2.0 herauskristal isiert und
anschließend in kurzer ausformulierter Form dargelegt.
Desweiteren wird Ruby on Rails vorgestel t. Dieses Framework dient der Entwicklung von
datenbank-basierten Webapplikationen. Es soll durch innovative Funktionalitäten die
Webentwicklung effizienter gestalten. Im weiteren Verlauf wird geprüft, ob sich Ruby on
Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte.
Desweiteren wird das Konzept der agilen Softwareentwicklung beschrieben. Es wird dabei in
kurzer Form auf die traditionellen Vorgehensweisen der Softwareentwicklung eingegangen.
Später wird das Agile Manifest und der populärste agile Vertreter ,,Extreme Programming"
ausführlich dargestellt. Dies sol vorbereitend für die abschließende Evaluation des
Potentials von Ruby on Rails für die agile Softwareentwicklung wirken.
Inhaltsverzeichnis
Inhaltsverzeichnis
1
Einleitung 1
1.1
Motivation und Ziel der Arbeit 2
1.2
Aufbau der Arbeit 2
2
Begriffserklärungen und Definitionen 4
2.1
Web 2.0 4
2.2
Framework, Programmbibliothek 4
2.3
Objektorientierung 5
2.4
Agile Softwareentwicklung 6
2.5
Ruby on Rails 7
3
Web 2.0 8
3.1
Einleitung 8
3.2
O′Reil ys Prinzipien des Web 2.0 9
3.2.1 Einleitung 9
3.2.2 Das Web als Plattform 10
3.2.3 Die Nutzung kol ektiver Intel igenz 13
3.2.4 Die Daten als nächstes ,,Intel Inside" 16
3.2.5 Abschaffung des Software-Lebenszyklus 17
3.2.6 Lightweight Programming Models (LPMs) 18
3.2.7 Software über die Grenzen einzelner Geräte hinaus 19
3.2.8 Benutzerführung (Rich User Experiences) 20
3.2.9 Zusammenfassung und Beschreibung der zentralen Kennzeichnung des Web
2.0
23
3.3
Die Gefahren des Web 2.0 24
3.3.1 Die Daten 24
3.3.2 Cyber-Stalking 25
3.3.3 Barrierefreiheit 25
3.3.4 Hackerangriffe 25
3.3.5 Andere Gefahren 26
4
Ruby on Rails 28
4.1
Einleitung 28
4.2
Die Prinzipien 29
4.2.1 Model-View-Control er (MVC) 29
4.2.2 Konvention über Konfiguration 34
4.2.3 DRY (don′t repeat yourself) 36
4.3
Ordnerstruktur und Rails-Umgebungen 36
4.3.1 Ordnerstruktur 36
Inhaltsverzeichnis
4.3.2 Rails-Umgebungen 37
4.4
Rails erweitern 38
4.4.1 RubyGem 38
4.4.2 Rails-Plugins 39
4.5
Generatoren 39
4.5.1 Scaffold-Generator 39
4.5.2 Weitere Generatoren 40
4.6
Versions- und Migrationskontrollen 41
4.6.1 Migrationskontrol e 41
4.6.2 Versionskontrol e 42
4.7
Internationalisierung 42
4.8
Webservices 43
4.9
E-Mail 43
4.10
Tests 43
4.10.1
Test-Datenbank 44
4.10.2
Verzeichnisstruktur 44
4.10.3
Unit-Tests 44
4.10.4
Funktionale Tests 44
4.10.5
Integration-Tests 44
4.10.6
Test-Fixtures 45
4.10.7
Mocks 45
4.10.8
Brakepointing 45
4.11
Rails-Helper 45
4.11.1
HTML-Tag 46
4.11.2
Pagination 46
4.11.3
Formatierung 47
4.11.4
Debug, Benchmark, Cache 47
4.11.5
RIA 47
4.11.6
SQL-Helper 48
4.11.7
Validierung 48
4.11.8
Callback 49
4.12
Skalierbarkeit 50
4.13
Sicherheit 51
4.13.1
Barrierefreiheit 51
4.13.2
Hackerangriffe 52
4.14
Rails-Anwendungen in der Praxis 54
4.15
Rails und Web 2.0 54
4.15.1
Einleitung 54
4.15.2
Das Web als Plattform nutzen 55
Inhaltsverzeichnis
4.15.3
Die Nutzung kol ektiver Intel igenz 55
4.15.4
Die Daten als nächstes ,,Intel Inside" 56
4.15.5
Abschaffung des Software-Lebenszyklus 56
4.15.6
Lightweight Programming Models (LPM) 57
4.15.7
Software über die Grenzen einzelner Geräte hinaus 57
4.15.8
Benutzerführung (Rich User Experiences) 57
4.15.9
Zusammenfassung 58
5
Agile Softwareentwicklung 59
5.1
Begriffsklärung 59
5.1.1 Software-Entwicklung 59
5.1.2 System 59
5.1.3 Modell 60
5.1.4 Agil 60
5.1.5 Methode 60
5.2
Einleitung 60
5.3
Traditionelle Softwareentwicklung 61
5.3.1 Wasserfal -Model 63
5.3.2 V-Modell 64
5.3.3 Zusammenfassung 65
5.4
Das agile Manifest 65
5.4.1 Einleitung 65
5.4.2 Werte 66
5.4.3 Prinzipien 67
5.4.4 Agile Praktiken 70
5.4.5 Agile Methodiken 71
5.5
Extreme Programming (XP) 73
5.5.1 Einleitung 73
5.5.2 Werte 74
5.5.3 Grundprinzipien 75
5.5.4 Rollen 76
5.5.5 Prozess 78
5.5.6 Praktiken 81
5.5.7 Anwendbarkeit 84
5.5.8 Zusammenfassung 85
6
Vorgehensweise und Methodik 86
6.1
Einleitung und Wahl der Evaluationsmethode 86
6.2
Vorbereitung der Evaluation 86
6.2.1 Einleitung 86
6.2.2 Leichtgewichtigkeit/Einfachheit 86
Inhaltsverzeichnis
6.2.3 Feedback 87
6.2.4 inkrementel /iterative Entwicklung 88
6.2.5 Auf Änderungen ausgelegter Softwareentwicklungsprozess 89
6.2.6 Eignung von Ruby on Rails für die agile Softwareentwicklung 90
6.3
Überlegungen zu Leistungsstandards 91
7
Durchführung und Präsentation der Ergebnisse 92
7.1
Einleitung 92
7.2
Dokumentation der Untersuchungsdurchführung und Präsentation der Ergebnisse
92
7.2.1 Leichtgewichtigkeit des Frameworks 92
7.2.2 Gute Lesbarkeit des Programmcodes 93
7.2.3 Bereitstellung von Funktionalitäten zur Erstel ung leichtgewichtiger
Technologien 94
7.2.4 Bereitstellung von Funktionalitäten zur Erstel ung leichtgewichtiger
Dokumentationen 94
7.2.5 Unabhängige Test-Umgebung für Programmtests 95
7.2.6 Automatisierte Unit-Tests 95
7.2.7 Bereitstellung von sonstigen Funktionalitäten zur zügigen Feedbackgewinnung
95
7.2.8 Bereitstellung von Funktionalitäten zur zügigen Prototyp-Entwicklung 96
7.2.9 Bereitstellung von Funktionalitäten zur inkrementel /iterativen
Softwareentwicklung 97
7.2.10
Objektorientierte Softwareentwicklung 98
7.2.11
Zentrale Konfigurationsmöglichkeiten des Frameworks 98
7.2.12
Bereitstellung von Funktionalitäten zur Erweiterbarkeit des Frameworks 99
7.2.13
Bereitstellung von Funktionalitäten zur einfachen Änderbarkeit von Software
99
7.2.14
Eignung für die agile Softwareentwicklung 100
8
Diskussion 101
8.1
Einleitung 101
8.2
Bewertung der Ergebnisse und Ableitung von Schlussfolgerungen 101
8.2.1 Leichtgewichtigkeit/Einfachheit 103
8.2.2 Feedback 103
8.2.3 Inkrementel /iterative Entwicklung 103
8.2.4 Auf Änderungen ausgelegter Softwareentwicklungsprozess 103
8.2.5 Eignung für die agile Softwareentwicklung 104
9
Zusammenfassung 105
10
Ausblick 106
Inhaltsverzeichnis
Glossar 108
Abbildungsverzeichnis 118
Literaturverzeichnis 120
Thesen zur Diplomarbeit
Einleitung
1
1 Einleitung
Seit den 60er Jahren, mit Beginn der immer stärker werdenden Nutzung von Computern,
begannen auch Unternehmen die Vorteile dieser technischen Errungenschaft für sich zu ent-
decken. Im Laufe der Zeit stel ten sie stetig wachsende und komplexere Anforderungen an
die zu entwickelnde Software. Diese wachsenden Anforderungen brachten die Softwareent-
wicklungsbranche an ihre Grenzen, was sich durch viele gescheiterte Projekte äußerte. Es
wurde zunehmend von einer Softwarekrise gesprochen. Mittels Adaptierung typischer Vor-
gehensweisen der traditionellen Ingenieursdisziplin wurde versucht, den ganzheitlichen
Prozess der Softwareentwicklung strukturierbar und kalkulierbar zu machen und somit diese
Krise zu beenden. Doch die letzen Jahre zeigten, dass ein Softwareentwicklungsprozess
keinesfal s planbar und berechenbar wie beispielsweise ein Hausbau ist, sondern sich in
ständiger Bewegung befindet. [Dogs & Klimmer 2005: 15-18] Diese Erkenntnisse versucht,
die seit dem Jahr 2000 immer populärer werdende agile Softwareentwicklung zu berück-
sichtigen, welche eines von drei Themen dieser Arbeit ist.
Desweiteren wird das Thema ,,Web 2.0" Bestandteil dieser Arbeit sein. In den letzten Jahren
ist der Begriff ,,Web 2.0" immer mehr zum Trendthema geworden. In den Medien wurde und
wird, sowohl positiv als auch zunehmend kritisch, darüber berichtet. (siehe [Ristau 2006]
[Lennartz 2006] [Braun & Weber 2006] [Puscher 2007]) Der Inhalt des Marketingbegriffs
,,Web 2.0" entstand aus Beobachtungen der in den letzten Jahren neu entstandenen, erfolg-
reichen Internetunternehmen und der im Jahr 2000 stattgefundenen Internetkrise. Diese
äußerte sich dadurch, dass die damals an den Börsen gelisteten Internetunternehmen ihren
Börsenwert innerhalb von zwei Jahren auf ein Minimum reduzierten oder sogar Zahlungs-
unfähigkeit anmelden mussten. Ein Grund dafür waren die zu hoch gesteckten Erwartungen
an diese Internetunternehmen. Dieses Ereignis des Wertverfal s wurde später mit dem
Marketing-Ausdruck das ,,Platzen der Dotcom Blase"1 beschrieben. [o.A. o.J.:
Lexikon
Freenet: Definition Dotcom-Blase
]
Ein weiteres Thema dieser Arbeit wird Ruby on Rails (kurz Rails) sein. Rails ist ein junges
Framework2, welches innovative Neuerungen für die Entwicklung von datenbankbasierten
Internetanwendungen3 bereitstel en soll. Auch über Rails wurde in der letzten Zeit viel in den
1 Dotcom (eng. Punkt com) Synonym für Unternehmen, die im Zusammenhang mit dem Internet
Dienstleitungen erbringen. / Blase etwas Aufgeblähtes, ohne Substanz
2 Siehe Abschnitt 2.2 Frameworks geben dem Entwickler ein Programmgerüst der zu entwickelnden
Software vor, um die Softwareentwicklung effizienter zu machen.
3 Anwendungen im Internet, welche ihre Daten in Datenbanksystemen verwalten.
Einleitung
2
Medien berichtet (siehe [Lenz 2007] [Broersma 2006] [Hinterndorfer 2006]). Es sol den
Entwicklern einen ,,...neue[n] Ansatz für die Web-Entwicklung" [Hinterndorfer 2006] bieten.
1.1 Motivation und Ziel der Arbeit
Die agile Softwareentwicklung soll, durch ihre andere Sichtweise auf den ganzheitlichen
Prozess der Softwareentwicklung, helfen, die Krise in dieser Branche zu beenden. Web 2.0
beschreibt eine veränderte Sichtweise auf das Internet und soll damit neue Ansatzpunkte für
die Nutzung des Internets geben. Ruby on Rails sol , als Werkzeug zur Erstellung von
Webapplikationen, eine andere Herangehensweise für die Entwicklung dieser aufzeigen.
Die Motivation dieser Arbeit besteht darin, al diese Themen miteinander zu verbinden. Der
bis heute teils unverstandene Begriff ,,Web 2.0" wird näher beleuchtet und dessen zentrale
Kennzeichen herauskristal isiert. Anschließend wird Ruby on Rails näher vorgestellt, um
darauf folgend aufzuzeigen, ob sich Ruby on Rails für die Entwicklung von Web 2.0 Appli-
kationen eignen könnte. Der Vorgang der agilen Softwareentwicklung sol näher betrachtet
und abschließend das Potential von Ruby on Rails für die agile Softwareentwicklung evalu-
iert werden.
Heinemeier Hansson4 und Thomas gehen in ihrem Buch ,,Agile Webentwicklung mit Rails" in
dem Abschnitt ,,Rails ist agil" auf nur eineinhalb Seiten auf die Agilität von Rails ein. Sie
schreiben, dass ,,Agilität [...] [ein] Bestandteil der Struktur von Rails" [Thomas & Heinemeier
Hansson 2006: 3] ist und ,,Statt ständig zu versuchen, einen Zusammenhang zwischen den
Rails-Prozessen und den agilen Grundsätzen herzustel en, haben wir uns entschieden, das
Framework für sich selbst sprechen zu lassen" [Thomas & Heinemeier Hansson 2006: 4].
Diese Vorgehensweise kann für ein Lehrbuch über Ruby on Rails durchaus praktikabel sein,
aber die sehr kurze Abhandlung von Agilität stel t eine weitere Motivation für diese Arbeit
dar, wissenschaftlich zu prüfen, ob sich Rails wirklich für die agile Softwareentwicklung eig-
net.
1.2 Aufbau der Arbeit
Zum Grundverständnis des Themas der Arbeit werden in dem Kapitel ,,Begriffserklärung und
Bedeutung" essentielle Kenntnisse vermittelt.
4 Webentwickler beim Web 2.0 Unternehmen ,,37signals" und Erfinder von Ruby on Rails
Einleitung
3
Im dritten Kapitel wird beschrieben, was sich hinter dem Begriff ,,Web 2.0" verbirgt. Darüber
hinaus werden die zentralen Kennzeichen von Web 2.0 in knapper, ausformulierter Form
fixiert und anschließend auf die Gefahren von Web 2.0 hingewiesen.
In dem Kapitel über Ruby on Rails wird dieses Entwicklungsframework präzise dargestel t.
Warum erfreut sich gerade Ruby on Rails in den letzten Monaten immer wachsender Be-
liebtheit bei Entwicklern von Webapplikationen? Welche Prinzipien vertritt Ruby on Rails und
welche Funktionalitäten bietet es? Im späteren Verlauf dieses Kapitels soll geklärt werden,
ob sich Ruby on Rails für die Entwicklung von Web 2.0 Applikationen eignen könnte.
Im darauf folgenden Kapitel wird das Konzept der agilen Softwareentwicklung beschrieben
und die Unterschiede zur traditionellen Softwareentwicklung aufgezeigt. Anschließend wird
das ,,Agile Manifest"5 näher betrachtet und der populärste agile Vertreter ,,Extreme Program-
ming" ausführlich vorgestel t.
Die Vorgehensweise und verwendete Methodik für die Evaluation werden im Kapitel sechs
dargelegt. Es werden Hypothesen aufgestellt und Wertekriterien für die im anschließenden
Kapitel durchzuführende Messung des Potentials von Ruby on Rails für die agile Software-
entwicklung herausgearbeitet.
Im Kapitel ,,Durchführung und Präsentation der Ergebnisse" wird die Evaluation durch-
geführt, dokumentiert und die Ergebnisse präsentiert. Diese Ergebnisse werden im Kapitel
acht vor dem Hintergrund der aufgestel ten Hypothesen diskutiert, bewertet und daraus
Schlussfolgerungen abgeleitet.
Abschließend sollen die Ergebnisse dieser Arbeit zusammengefasst und vor dem Hinter-
grund, ob sich Ruby on Rails für die agile Entwicklung von Web 2.0 Applikationen eignen
könnte, zusammengeführt werden.
5 Erklärung von 17 Befürwortern der agilen Softwareentwicklung über Gemeinsamkeiten
Comments
No comments yet
Other users also were interested in the following titles:
Formatvorlage / Vorlage für eine Diplomarbeit - Formatvorlage / Vorlage für eine Hausarbeit für Microsoft Word
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 6,99 EUR
Formatvorlage / Vorlage für eine Diplomarbeit - Formatvorlage / Vorlage für eine Hausarbeit für OpenOffice.org
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 9,99 EUR
Formatvorlage zur Erstellung einer Diplomarbeit / Vorlage zur Erstellung einer Hausarbeit
Author: Marco FeindlerPresentations, Models, Tutorials, Instructions, 2005 Download as PDF-file for 6,99 EUR
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Author: GRIN VerlagPresentations, Models, Tutorials, Instructions, 2008 Download as PDF-file for 6,99 EUR
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wissenschaftlichen Arbeit
Author: Zoran ZivkovicPresentations, Models, Tutorials, Instructions, 2004 Download as PDF-file for 5,99 EUR
Erstellen einer schriftlichen Hausarbeit
Author: Claudia NickelPresentations, Models, Tutorials, Instructions, 2006 Download as PDF-file for 4,99 EUR
Grundtechniken wissenschaftlichen Arbeitens
Author: Maik PhilippPresentations, Models, Tutorials, Instructions, 2004 Download as PDF-file for 5,99 EUR
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - Hausarbeiten - Seminararbeiten
Author: Mark RichterPresentations, Models, Tutorials, Instructions, 2008
This text can be quoted and accessed from this url: