Die Analyse des Web-Frameworks Ruby on Rails (Rails), ist eines von fünf Arbeitsthemen des Spezialisierungsthemengebietes „Web-Engineering“ der Fachhochschule Technikum Wien.
Die Ausarbeitung basiert auf der Beispielanwendung Yet Annother Community (YAC). Diese Applikation wurde von den fünf Studenten des Spezialisierungsthemengebietes „Web-Engineering“ ausgewählt und zwei exemplarische Use Cases wurden implementiert. Beide Use Cases wurden vollständig vertikal implementiert, um herauszufinden wie Rails den agilen Entwicklungsprozess und das Rapid Application Development unterstützt.
Die Vorbereitungsarbeiten (Aufbau der Datenbank, generieren des Rails-Projektes, Scaffolding, Objektrelationales Mapping) für die Implementierung der beiden Use Cases hat gezeigt, dass Rails ein sehr stabiles und zuverlässiges Web-Framework ist und den Programmierer effizient bei der Entwicklung von Webapplikationen mit agilen Prozessen unterstützt.
Alle Hauptanforderungen und die beiden Use Cases „Registrieren eines Users“ und „Login eines Members“ wurden mit den Rails Generatoren „Action Mailer“, „Login_generator“, „Scaffold Generator“ und Modifikationen in den Controllern und Views implementiert. Diese Generatoren bauen eine sehr klare MVC-Struktur auf und erleichtern dadurch die Anpassung der Web-Applikation.
Das konsequente Verfolgen und Umsetzen der MVC Architektur in Verbindung mit den Active Records und den Prinzipien DRY und „Konventionenen statt Konfigurationen“ machen Rails zu einem sehr agilen Web-Framework und daher auch zu einem perfekten Tool für Rapid Application Development.
Inhaltsverzeichnis
1. Problem- und Aufgabenstellung
2. Einleitung
2.1. Motivation
2.2. Einschränkungen
3. Grundlagen
3.1. Ruby
3.1.1. Geschichtliche Entwicklung
3.1.2. Programmierparadigmen
3.1.3. Programmaufbau
3.1.4. Basistypen
3.1.5. Flusskontrolle
3.1.6. Klassen und Objekte
3.1.7. Module und Mixins
3.2. Rails
3.2.1. Model-View-Controller Konzept (MVC)
3.2.2. MVC Umsetzung in Rails
3.2.3. Konfiguration von Rails
3.2.4. Namenskonventionen
3.2.5. Active Records
3.2.6. Layout Templates und Partials
3.2.7. Generatoren
4. Praktischer Teil
4.1. Use Cases
4.1.1. Actoren
4.2. Entity-Relationship-Modell
4.3. Testumgebung
4.4. Umsetzung der zwei exemplarischen Use Cases
4.4.1. Vorgehensweise
4.4.2. Einrichten der Datenbank
4.4.3. Erstellen des Rails-Projektes und Konfiguration
4.4.4. Konfiguration der Startpage
4.4.5. Vertikale Implementierung des Use-Cases „Einloggen eines Members“
4.4.6. Vertikale Implementierung des Use-Cases „Registrieren eines Users“
5. Diskussion
5.1. Das MVC-Konzept
5.2. Active Records
5.3. DRY und Konventionen-statt-Konfigurationen
5.4. Conclusio
Zielsetzung & Themen
Diese Arbeit untersucht die Eignung des Web-Frameworks Ruby on Rails für agile Softwareentwicklungsprozesse und Rapid Application Development, indem der Implementierungsprozess zweier exemplarischer Use Cases einer Beispielanwendung analysiert wird.
- Analyse des MVC-Konzepts innerhalb von Ruby on Rails
- Untersuchung der Active Records zur Implementierung einer Persistenzschicht
- Praktische Umsetzung von Use Cases zur Verifizierung der Agilität
- Bewertung der Kernprinzipien DRY und Konventionen statt Konfigurationen
Auszug aus dem Buch
3.2.1. Model-View-Controller Konzept (MVC)
In der Softwareentwicklung gibt es schon immer die Trennung zwischen Eingabe Verarbeitung-Ausgabe. In GUI-basierenden Systemen wird diese konzeptionelle Trennung über das Model-View-Controller [MVC01] Konzept realisiert.
Model: Diese Schicht ist die Repräsentation der Daten. Der Zustand kann über Methoden der Objekte verändert werden.
View: Die visuelle Aufbereitung der Daten übernimmt der View. Diese Schicht ist die Schnittstelle zum Benutzer
Controller: Diese Schicht definiert das Verhalten der Applikation. Sie ist für die Interaktion der Benutzer mit den Views und dem Model verantwortlich.
Zusammenfassung der Kapitel
1. Problem- und Aufgabenstellung: Einleitung in die Themenstellung des Spezialisierungsgebietes Web-Engineering und die Zielsetzung der Analyse von Ruby on Rails anhand einer Beispielanwendung.
2. Einleitung: Erläuterung der Motivation zur agilen Softwareentwicklung und der Definition des Projektziels unter Verwendung der Beispielanwendung YAC.
3. Grundlagen: Detaillierte Einführung in die Sprache Ruby sowie in die Konzepte und Funktionsweise des Web-Frameworks Rails.
4. Praktischer Teil: Beschreibung der vertikalen Implementierung der Use Cases unter Einbeziehung der Datenbank, der Rails-Generatoren und der Anpassungen für Login und Registrierung.
5. Diskussion: Evaluation der Ergebnisse hinsichtlich der Unterstützung agiler Prozesse durch die MVC-Struktur, Active Records und die Konventionen des Frameworks.
Schlüsselwörter
Ruby on Rails, Web-Engineering, Agile Softwareentwicklung, Rapid Application Development, MVC-Konzept, Active Records, DRY-Prinzip, Konventionen statt Konfigurationen, Datenbank, Web-Framework, Softwareentwicklungsprozess, Objektrelationales Mapping, Use Cases, Implementierung, YAC.
Häufig gestellte Fragen
Worum geht es in dieser Bachelorarbeit grundsätzlich?
Die Arbeit analysiert das Web-Framework Ruby on Rails und untersucht, inwieweit es agile Softwareentwicklungsprozesse und Rapid Application Development unterstützt.
Was sind die zentralen Themenfelder der Arbeit?
Im Fokus stehen die Architekturprinzipien von Rails, wie das MVC-Konzept, das DRY-Prinzip, Active Records und das Framework-eigene Paradigma „Konventionen statt Konfigurationen“.
Was ist das primäre Ziel der Forschungsarbeit?
Ziel ist es, die Funktionsweise von Rails durch die vertikale Implementierung zweier Use Cases einer Beispielanwendung praktisch zu analysieren und deren Nutzen für den Entwickler zu beurteilen.
Welche wissenschaftliche Methode wird für die Analyse verwendet?
Die Arbeit stützt sich auf eine Testimplementierung an einer eigens entworfenen Beispielanwendung (Yet Another Community), um die theoretischen Aspekte des Frameworks in der Praxis zu validieren.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in theoretische Grundlagen zu Ruby und Rails sowie einen umfangreichen praktischen Teil, der die Schritte der Implementierung, von der Datenbankkonfiguration bis hin zum Authentifizierungssystem, beschreibt.
Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?
Ruby on Rails, Agile Softwareentwicklung, MVC-Konzept, Active Records, Rapid Application Development und DRY-Prinzip.
Welche Herausforderungen bei der Implementierung werden im praktischen Teil thematisiert?
Herausforderungen bestanden vor allem in der Erweiterung der standardmäßig generierten Funktionalitäten, wie etwa die Anpassung des Datenbankschemas und der Validierungslogik für die Benutzerregistrierung.
Warum wurde das MVC-Konzept in dieser Arbeit so hervorgehoben?
Da MVC ein zentrales Architektur-Pattern von Rails ist, wurde dessen strikte Trennung von Daten, Steuerung und Präsentation als wesentlicher Faktor für eine schnelle und flexible Softwareentwicklung analysiert.
Welche Schlussfolgerung zieht der Autor über Rails als RAD-Tool?
Der Autor kommt zu dem Schluss, dass Rails aufgrund seiner konsequenten Umsetzung etablierter Softwareentwicklungskonzepte und des effizienten Scaffoldings eine ideale Basis für Rapid Application Development bietet.
- Quote paper
- BSc Roman Badstuber (Author), 2007, Analyse des Web-Frameworks Ruby on Rails anhand einer Beispielanwendung, Munich, GRIN Verlag, https://www.grin.com/document/80030