Diplomarbeit, 2006
114 Seiten, Note: 1.7
1 Einleitung
2 Grundlagen
2.1 Programmierparadigmen
2.1.1 Prozedurale Programmierung
2.1.2 Objektorientierte Programmierung
2.1.3 Aspektorientierte Programmierung
2.1.4 Generative Programmierung
2.1.5 Übersicht
2.2 Architekturmuster
2.2.1 MDA
2.2.2 MVC
2.2.3 PAC
2.3 Frameworks
2.3.1 Prado
2.3.2 Symfony
2.3.3 Zend Framework
2.3.4 Fehleranalyse
2.3.5 Zusammenfassung
3 Individualsoftware
3.1 Performance versus Flexibilität
3.2 Generierung
3.3 Tests
3.3.1 Testverfahren
3.3.2 Integrationstests auf der Zielplattform
3.3.3 Selbsttests nach Generierung
3.4 Anpassung
3.4.1 Anpassbarkeit bei Installation
3.4.2 Anpassbarkeit im Betrieb
3.4.3 Architekturmuster
3.5 Aktualisierung
3.6 Praktischer Nachweis
3.6.1 Projekt ConfMaster
3.6.2 Generierung
3.6.3 Performancevergleich
4 Zusammenfassung
5 Ausblick
Die Arbeit untersucht Methoden und Werkzeuge zur Entwicklung und Wartung individualisierbarer und anpassbarer webbasierter Applikationen mit dem Ziel, einen effizienten Konsens zwischen Performance und Flexibilität unter Verwendung moderner Software-Engineering-Ansätze zu finden.
3.1 Performance versus Flexibilität
In diesem Kapitel werden Wege besprochen, um einen Konsens zwischen den zwei, in der Regel widersprüchlichen Anforderungen Flexibilität und Performance zu finden. Grundsätzlich können dabei beide Anforderungen zur Laufzeit und während der Entwicklung betrachten werden.
Performance wird allgemein als die Leistung pro Zeiteinheit verstanden. Es ist also eine messbare und objektiv vergleichbare Größe. Zur Laufzeit eines Systems wird Performance anhand einer durchschnittlichen Verarbeitungsanzahl von Aufträgen pro Zeiteinheit, meist Sekunde oder Millisekunde, angegeben. Bei einem Webserversystem wäre dies z.B. die durchschnittliche Verarbeitungsanzahl von Requests pro Millisekunde. Performante Systeme erreichen ihre Leistungsfähigkeit durch Vermeidung unnötiger Operationen (Effizienz) und sinnvoller Zwischenspeicherung bereits berechneter Ergebnisse (Caching).
Flexible Software zeichnet sich dadurch aus, dass sie „[…] bei Bedarf in seiner Funktionsfähigkeit erweitert, abgerüstet oder geändert werden kann“ ([LiTr88] S.18). Weiterhin können Eigenschaften wie paralleles Ablaufen verschiedener Versionen und Portabilität (vgl. [ClSc01]) unter Flexibilität verstanden werden.
Die Flexibilität zur Laufzeit kann in interpretative, generative (vgl. [KlKl06]) und argumentative Flexibilität unterteilt werden. Interpretative und generative Flexibilitäten verfolgen gleiche Ziele und werden an dieser Stelle näher betrachtet, argumentative Flexibilität wird im Abschnitt „Grenzen generativer Flexibilität“ in diesem Kapitel näher dargestellt. Interpretative Flexibilität wird durch Konfigurationsdateien erreicht. Diese werden eingelesen, von der Software interpretiert, validiert und wirken auf den Programmablauf ein. Somit lässt sich generische Software individualisieren.
1 Einleitung: Beschreibt die Herausforderungen der wachsenden Softwarekomplexität und die Zielsetzung der Arbeit, individualisierbare Web-Applikationen mittels moderner Methoden flexibler und performanter zu gestalten.
2 Grundlagen: Bietet einen Überblick über relevante Programmierparadigmen, Architekturmuster und die Evaluierung dreier PHP-Frameworks zur Vorbereitung auf den Hauptteil.
3 Individualsoftware: Der Hauptteil der Arbeit, der sich mit dem Konsens zwischen Performance und Flexibilität, generativen Ansätzen, Testverfahren, Anpassbarkeit und deren praktischer Anwendung in einem Konferenzverwaltungssystem befasst.
4 Zusammenfassung: Fasst die Ergebnisse der Arbeit zusammen und betont die Notwendigkeit von Softwaregeneratoren zur Steigerung der Produktivität.
5 Ausblick: Skizziert zukünftige Forschungsrichtungen, wie etwa die Entwicklung einer webbasierten IDE zur automatisierten Softwareerstellung.
Web-Engineering, Individualisierbarkeit, Anpassbarkeit, Performance, Flexibilität, Software-Engineering, Generative Programmierung, MVC-Muster, PHP, Applikationsgenerierung, Softwarearchitektur, Testverfahren, Konfigurationsmanagement, Web-Applikationen, Frameworks
Die Arbeit befasst sich mit der Entwicklung und Wartung von individualisierbaren und anpassbaren webbasierten Applikationen unter Berücksichtigung der Performance.
Die Schwerpunkte liegen auf Programmierparadigmen, Architekturmustern (wie MVC), Framework-Evaluationen und vor allem auf generativen Methoden zur effizienten Softwareentwicklung.
Das Ziel ist es, Methoden und Verfahren zu identifizieren, die den Entwicklungsaufwand verkürzen und dabei einen optimalen Kompromiss zwischen der Flexibilität der Anwendung und ihrer Performance finden.
Die Arbeit kombiniert theoretische Analysen von Architekturmodellen mit einer Evaluierung von Frameworks sowie einer praktischen Untersuchung anhand eines Konferenzverwaltungssystems (ConfMaster), inklusive Performancemessungen.
Der Hauptteil behandelt den Zielkonflikt zwischen Performance und Flexibilität, Strategien zur Generierung von Softwarekomponenten, Testmethoden für generative Systeme und Verfahren zur Anpassung und Aktualisierung von Applikationen.
Zu den wichtigsten Begriffen gehören Web-Engineering, generative Programmierung, MVC-Architektur, Software-Flexibilität und Performancesteigerung.
Interpretative Flexibilität basiert auf dem Einlesen von Konfigurationsdaten zur Laufzeit, während generative Flexibilität diese Logik in einen Generierungsprozess verlagert, um zur Laufzeit effizienteren Code zu nutzen.
MVC ist ein weit verbreitetes Architekturmuster für Web-Applikationen, das durch die klare Trennung von Datenmodell, Präsentation und Steuerung eine modulare Struktur bietet, die sich sehr gut für generative Ansätze eignet.
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!

