Diplomarbeit, 2007
139 Seiten, Note: 1,3
Medien / Kommunikation - Multimedia, Internet, neue Technologien
1. Einleitung
1.1 Motivation und Ziel der Arbeit
1.2 Aufbau der Arbeit
2. Begriffserklärungen und Definitionen
2.1 Web 2.0
2.2 Framework, Programmbibliothek
2.3 Objektorientierung
2.4 Agile Softwareentwicklung
2.5 Ruby on Rails
3. Web 2.0
3.1 Einleitung
3.2 O’Reillys Prinzipien des Web 2.0
3.2.1 Einleitung
3.2.2 Das Web als Plattform
3.2.3 Die Nutzung kollektiver Intelligenz
3.2.4 Die Daten als nächstes „Intel Inside“
3.2.5 Abschaffung des Software-Lebenszyklus
3.2.6 Lightweight Programming Models (LPMs)
3.2.7 Software über die Grenzen einzelner Geräte hinaus
3.2.8 Benutzerführung (Rich User Experiences)
3.2.9 Zusammenfassung und Beschreibung der zentralen Kennzeichnung des Web 2.0
3.3 Die Gefahren des Web 2.0
3.3.1 Die Daten
3.3.2 Cyber-Stalking
3.3.3 Barrierefreiheit
3.3.4 Hackerangriffe
3.3.5 Andere Gefahren
4. Ruby on Rails
4.1 Einleitung
4.2 Die Prinzipien
4.2.1 Model-View-Controller (MVC)
4.2.2 Konvention über Konfiguration
4.2.3 DRY (don’t repeat yourself)
4.3 Ordnerstruktur und Rails-Umgebungen
4.3.1 Ordnerstruktur
4.3.2 Rails-Umgebungen
4.4 Rails erweitern
4.4.1 RubyGem
4.4.2 Rails-Plugins
4.5 Generatoren
4.5.1 Scaffold-Generator
4.5.2 Weitere Generatoren
4.6 Versions- und Migrationskontrollen
4.6.1 Migrationskontrolle
4.6.2 Versionskontrolle
4.7 Internationalisierung
4.8 Webservices
4.9 E-Mail
4.10 Tests
4.10.1 Test-Datenbank
4.10.2 Verzeichnisstruktur
4.10.3 Unit-Tests
4.10.4 Funktionale Tests
4.10.5 Integration-Tests
4.10.6 Test-Fixtures
4.10.7 Mocks
4.10.8 Brakepointing
4.11 Rails-Helper
4.11.1 HTML-Tag
4.11.2 Pagination
4.11.3 Formatierung
4.11.4 Debug, Benchmark, Cache
4.11.5 RIA
4.11.6 SQL-Helper
4.11.7 Validierung
4.11.8 Callback
4.12 Skalierbarkeit
4.13 Sicherheit
4.13.1 Barrierefreiheit
4.13.2 Hackerangriffe
4.14 Rails-Anwendungen in der Praxis
4.15 Rails und Web 2.0
4.15.1 Einleitung
4.15.2 Das Web als Plattform nutzen
4.15.3 Die Nutzung kollektiver Intelligenz
4.15.4 Die Daten als nächstes „Intel Inside“
4.15.5 Abschaffung des Software-Lebenszyklus
4.15.6 Lightweight Programming Models (LPM)
4.15.7 Software über die Grenzen einzelner Geräte hinaus
4.15.8 Benutzerführung (Rich User Experiences)
4.15.9 Zusammenfassung
5. Agile Softwareentwicklung
5.1 Begriffsklärung
5.1.1 Software-Entwicklung
5.1.2 System
5.1.3 Modell
5.1.4 Agil
5.1.5 Methode
5.2 Einleitung
5.3 Traditionelle Softwareentwicklung
5.3.1 Wasserfall-Modell
5.3.2 V-Modell
5.3.3 Zusammenfassung
5.4 Das agile Manifest
5.4.1 Einleitung
5.4.2 Werte
5.4.3 Prinzipien
5.4.4 Agile Praktiken
5.4.5 Agile Methodiken
5.5 Extreme Programming (XP)
5.5.1 Einleitung
5.5.2 Werte
5.5.3 Grundprinzipien
5.5.4 Rollen
5.5.5 Prozess
5.5.6 Praktiken
5.5.7 Anwendbarkeit
5.5.8 Zusammenfassung
6. Vorgehensweise und Methodik
6.1 Einleitung und Wahl der Evaluationsmethode
6.2 Vorbereitung der Evaluation
6.2.1 Einleitung
6.2.2 Leichtgewichtigkeit/Einfachheit
6.2.3 Feedback
6.2.4 inkrementell/iterative Entwicklung
6.2.5 Auf Änderungen ausgelegter Softwareentwicklungsprozess
6.2.6 Eignung von Ruby on Rails für die agile Softwareentwicklung
6.3 Überlegungen zu Leistungsstandards
7. Durchführung und Präsentation der Ergebnisse
7.1 Einleitung
7.2 Dokumentation der Untersuchungsdurchführung und Präsentation der Ergebnisse
7.2.1 Leichtgewichtigkeit des Frameworks
7.2.2 Gute Lesbarkeit des Programmcodes
7.2.3 Bereitstellung von Funktionalitäten zur Erstellung leichtgewichtiger Technologien
7.2.4 Bereitstellung von Funktionalitäten zur Erstellung leichtgewichtiger Dokumentationen
7.2.5 Unabhängige Test-Umgebung für Programmtests
7.2.6 Automatisierte Unit-Tests
7.2.7 Bereitstellung von sonstigen Funktionalitäten zur zügigen Feedbackgewinnung
7.2.8 Bereitstellung von Funktionalitäten zur zügigen Prototyp-Entwicklung
7.2.9 Bereitstellung von Funktionalitäten zur inkrementell/iterativen Softwareentwicklung
7.2.10 Objektorientierte Softwareentwicklung
7.2.11 Zentrale Konfigurationsmöglichkeiten des Frameworks
7.2.12 Bereitstellung von Funktionalitäten zur Erweiterbarkeit des Frameworks
7.2.13 Bereitstellung von Funktionalitäten zur einfachen Änderbarkeit von Software
7.2.14 Eignung für die agile Softwareentwicklung
8. Diskussion
8.1 Einleitung
8.2 Bewertung der Ergebnisse und Ableitung von Schlussfolgerungen
8.2.1 Leichtgewichtigkeit/Einfachheit
8.2.2 Feedback
8.2.3 Inkrementell/iterative Entwicklung
8.2.4 Auf Änderungen ausgelegter Softwareentwicklungsprozess
8.2.5 Eignung für die agile Softwareentwicklung
9. Zusammenfassung
10. Ausblick
Die vorliegende Arbeit untersucht das Potential des Web-Frameworks "Ruby on Rails" für die agile Softwareentwicklung. Dabei wird evaluiert, ob und wie das Framework die Anforderungen an moderne Web 2.0-Applikationen erfüllt und welche agilen Vorgehensweisen durch das Framework unterstützt werden.
3.2.4 Die Daten als nächstes „Intel Inside“
Warum nennt O’Reilly die Daten einer Web 2.0 Anwendung das „nächste Intel Inside“?
Intel (ein US-amerikanischer Halbleiterhersteller) begann 1991 mit einer neuen Marketingkampagne. Auf Verpackungen, Prospekten und Computergehäusen wurde der Werbeslogan „Intel Inside“ publiziert. Damit wollte Intel darauf hinweisen, dass „…im Innern des betreffenden PCs ein original Intel Prozessor die eigentliche Arbeit des Computing verrichtete“ [o.A. o.J.: Die Intel Geschichte: Der Weg zum Markenartikel]. Die „Intel Inside“ Kampagne war erfolgreich. Intel machte damit „…auf seine verborgenen High-Tech-Produkte aufmerksam“ [o.A. o.J.: Die Intel Geschichte: Der Weg zum Markenartikel], seine Prozessoren, und etablierte „Intel Inside“ selbst als Markennamen.
NavTeq (navteq.com), ein Anbieter digitalen Kartenmaterials (Landkarten), imitierte Intels Kampagne, indem Endgeräte, wie Navigationsgeräte, mit dem Aufdruck „NavTeq Onboard“ ausgeliefert wurden. [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]
O’Reilly schreibt dazu, „…dass die Kontrolle über die Daten selbst, den Geschäftsvorteil bildet…“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“] und sieht „…Datenbankmanagement als eine Kernkompetenz des Web 2.0“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]. Doch er fügt hinzu, dass eine Web 2.0 Anwendung die Kontrolle über eine „…spezialisierte Datenbank…“ [O’Reilly 2005, Die Daten als nächstes „Intel Inside“] haben muss, welche nur schwer durch Mitbewerber kopierbar sein darf.
Er führt als Beispiel das Online-Versandhaus Amazon (amazon.de) auf. Amazon entnimmt sein Angebot, wie seine Mitbewerber auch, aus einer zentralen Produktdatenbank. Im Gegensatz zur Konkurrenz baut Amazon diese aber unaufhörlich mit zusätzlichen Informationen, wie z.B. Produktbewertungen durch Kunden, Coverbildern, eigenen Identifikationsnummern, aus und macht seine Datenbestände auf diesem Weg einzigartig. [O’Reilly 2005, Die Daten als nächstes „Intel Inside“]
1 Einleitung: Die Arbeit motiviert die Untersuchung von Ruby on Rails als Werkzeug für Web 2.0-Entwicklungen im Kontext agiler Softwareentwicklungsmethoden.
2 Begriffserklärungen und Definitionen: Vermittlung notwendiger Grundlagen zu Web 2.0, Frameworks, Objektorientierung und agilen Konzepten.
3 Web 2.0: Detaillierte Analyse der von O'Reilly definierten Prinzipien des Web 2.0 sowie Betrachtung der technischen und sozialen Risiken.
4 Ruby on Rails: Ausführliche Darstellung der Architektur, Prinzipien (MVC, DRY, Konvention über Konfiguration) und Funktionalitäten des Frameworks.
5 Agile Softwareentwicklung: Einführung in agile Werte und das "Agile Manifest", mit Fokus auf die Methodik Extreme Programming.
6 Vorgehensweise und Methodik: Definition von Hypothesen und Wertekriterien für die Evaluation des Framework-Potentials.
7 Durchführung und Präsentation der Ergebnisse: Messung der definierten Wertekriterien anhand wissenschaftlicher Aussagen und Framework-Features.
8 Diskussion: Zusammenfassende Bewertung der Untersuchungsergebnisse und Ableitung von Schlussfolgerungen über die Eignung des Frameworks.
9 Zusammenfassung: Abschlussbetrachtung der Ziele und zentralen Erkenntnisse der Diplomarbeit.
10 Ausblick: Diskussion künftiger Entwicklungen im Umfeld von Web 2.0 und der weiteren Evolution von Ruby on Rails.
Web 2.0, Ruby on Rails, Agile Softwareentwicklung, Extreme Programming, Framework, MVC, Datenbankmanagement, IT-Sicherheit, Skalierbarkeit, Software-Prozess, AJAX, Webapplikationen, Prototyping, Usability, Datenhaltung
Die Arbeit untersucht das Potential des Frameworks Ruby on Rails zur Entwicklung von Web 2.0-Applikationen und dessen Eignung im Rahmen agiler Softwareentwicklungsprozesse.
Die zentralen Felder sind die Definition und Prinzipien von Web 2.0, die technische Arbeitsweise von Ruby on Rails sowie die theoretischen und praktischen Aspekte der agilen Softwareentwicklung.
Das Ziel ist die wissenschaftliche Evaluation des Potentials von Ruby on Rails. Es soll geklärt werden, ob das Framework die Anforderungen an agile, effiziente Webentwicklung erfüllt.
Es wird eine bewertende Evaluation durchgeführt, bei der das Objekt "Ruby on Rails" anhand von dreizehn abgeleiteten Wertekriterien auf bestimmte Systemeigenschaften geprüft wird.
Der Hauptteil gliedert sich in die theoretische Fundierung (Web 2.0, Rails, Agile Methoden), die Festlegung von Evaluationskriterien und die anschließende praktische Durchführung und Dokumentation der Messung.
Web 2.0, Ruby on Rails, agile Entwicklung, Extreme Programming, MVC-Architektur und Software-Prozessoptimierung.
Das "Don't Repeat Yourself"-Prinzip hilft, Redundanzen im Code zu minimieren, was die Wartbarkeit und Lesbarkeit der Anwendung erheblich steigert.
Der Autor kommt zu dem Ergebnis, dass Ruby on Rails ein hohes Potential für die agile Softwareentwicklung besitzt, da es zwölf von dreizehn definierte Wertekriterien erfüllt.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

