Agile Entwicklung von Web 2.0Applikationen mit Ruby on Rails |
![]() |
von: Rico Schulz Format: E-Book Sofort verfügbar 29,90 EUR inkl. ges. MwSt. 19.00% versandkostenfrei |
ProduktbeschreibungDas Framework Ruby on Rails 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 ;g ausfü?hrlich dargestellt. Dies soll vorbereitend fü?r die abschließ?ende Evaluation des Potentials von Ruby on Rails fü?r die agile Softwareentwicklung wirken.1 Einleitung 1 1.1 Motivation und Ziel der Arbeit . 2 1. 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. Ruby on Rails. 7 3 Web 2.0.... 8 3.1 Einleitung .. 8 3.2 O ;fReillys Prinzipien des Web 2.0. 9 3.2.1 Einleitung... 9 3.2.2 Das Web als Plattform. 10 3.2.3 Die Nutzung kollektiver Intelligenz .. 13 3.2.4 Die Daten als nä?chstes "?Intel Inside ;g.... 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 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. Andere Gefahren .... 26 4 Ruby on Rails . 28 4.1 Einleitung 28 4.2 Die Prinzipien.... 29 4.2.1 Model-View-Controller (MVC) 29 4.2.2 Konvention ü?ber Konfiguration ... 34 4.2.3 DRY (don ;ft repeat yourself) ... 36 4.3 Ordnerstruktur und Rails-Umgebungen.... 36 4.3.1 Ordnerstruktur ... 36 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 Migrationskontrolle . 41 4.6.2 Versionskontrolle .... 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 4.15.3 Die Nutzung kollektiver Intelligenz ... 55 4.15.4 Die Daten als nä?chstes "?Intel Inside ;g .... 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. 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 Wasserfall-Modell ... 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. 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 6.2.3 Feedback. 87 6.2.4 inkrementell/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. Ü?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 7.2.1 Leichtgewichtigkeit des Frameworks.... 92 7.2.2 Gute Lesbarkeit des Programmcodes.. 93 7.2.3 Bereitstellung von Funktionalitä?ten zur Erstellung leichtgewichtiger Technologien.... 94 7.2.4 Bereitstellung von Funktionalitä?ten zur Erstellung 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 7.2.8 Bereitstellung von Funktionalitä?ten zur zü?gigen Prototyp-Entwicklung.. 96 7.2.9 Bereitstellung von Funktionalitä?ten zur inkrementell/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 7. 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 Inkrementell/iterative Entwicklung . 103 8.2.4 Auf Ä?nderungen ausgelegter Softwareentwicklungsprozess 103 8. Eignung fü?r die agile Softwareentwicklung... 104 9 Zusammenfassung. 105 10 Ausblick.... 106 |
|
|
|||||||||
|
|
|||||||||
|
|
|||||||||