Evaluation of software development paradigms and processes for web application engineering
Autor: | Lichtenecker, Thomas |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2011 |
DOI: | 10.25365/thesis.17636 |
Popis: | Die Diplomarbeit beschäftigt sich mit dem Fachgebiet des Software Engineerings. Im Speziellen wird hierbei auf das Gebiet des Web Engineerings eingegangen. Das Hauptziel ist es, festzustellen, ob ein signifikanter Unterschied zwischen der Entwicklung klassischer Software (wie etwa für den Desktop) und der von Web-Applikationen besteht. Weiters werden sowohl agile, als auch traditionelle Entwicklungs-Methotologien auf ihre Anwendbarkeit auf den diskutierten Einsatzzweck hin untersucht. Um das allgemeine Verständnis zu gewährleisten, gibt die Arbeit einen kurzen Einblick in die Technologien, auf denen das Web aufbaut --- wie etwa HTTP und HTML. Darauf folgt eine Einführung in die Disziplin des Web Engineerings anhand von relevanter Literatur. Dieses Thema wird weiter vertieft, indem eine Kategorisierung anhand der Faktoren Zeit und technischer Komplexität vorgenommen wird. Ferner werden die Charakteristiken des Web Engineerings anhand der Perspektiven des Entwicklers, des Users und des Managements betrachtet. In einem weiteren Schritt wird untersucht, ob gängige Software Engineering Methodologien auf Web basierte Entwicklung anwendbar sind. Zu diesem Zweck werden drei bekannte Methodiken im Detail präsentiert: der Rational Unified Process, Scrum und Extreme Programming (XP). Um sie auf ihre Andwendbarkeit hin zu beurteilen, werden diese Methodiken kategorisiert und nach ihren Stärken, Schwächen, sowie bezüglich ihrer Abdeckung des Entwicklungsprozesses bewertet. Nach dem Abwägen dieser Information im Verhältnis zu jenen Charakteristiken, die Web Engineering auszeichnen, stellt die Arbeit noch einen Risiko-basierten Ansatz vor, welcher die Auswahl eines Entwicklungs-Ansatzes anhand diverser Faktoren ermöglicht. Basierend auf den Erkenntnissen, die aus dem theoretischen Teil gezogen werden können, konzentriert sich der Implementiertungs-Teil der Arbeit darauf, diese auf ein Beispiel aus der Praxis anzuwenden. Im Besonderen wird auf die Kommunikationsbedürfnisse eines Teams eingegangen, welches Web Projekte nach agilen Gesichtspunkten abwickelt. Konkret wird die Entwicklung einer Aufgaben-Verwaltungs-Lösung basierend auf dem Microsoft Team Foundation Server beschrieben. Hierfür werden bestehende Templates extensiv angepasst und erweitert um alle benötigten Anwendungsfälle abzudecken. This thesis deals with the process of software development in general and Web engineering in particular. Its main purposes are to determine whether there is a significant difference between developing classical (desktop-centric) software and applications being distributed via the World Wide Web (WWW) and to introduce agile and traditional software development methodologies to evaluate if using these is valuable for the discussed purpose. To enhance common understanding, the thesis gives a brief introduction into the technologies behind the Web, such as HTTP and HTML. This leads to a general introduction of Web engineering as it is described in the relevant literature. Web engineering is then further categorized according to complexity and technological novelty and common characteristics affecting users, management, and development. Further, this thesis examines if well known software development paradigms are suitable for Web centric development, or if new solutions are needed. To support this, three well-known development methodologies are presented in detail --- the Rational Unified Process, Extreme Programming, and Scrum. Consequently, the strengths, weaknesses, and process coverage of all three processes are discussed in order to judge on their applicability. The processes are then weighed against the Web engineering characteristics found in earlier parts. Based on this information and by combining it with an established risk driven approach, a recommendation for choosing the right methodology for the different engineering categories is provided. The practical part concentrates on the insights gained in the theoretical chapters and describes the support of a Web engineering process in a real live work environment by leveraging the capabilities of Microsoft's Team Foundation Server. Here the work focuses on the communicative part of the process and heavily customizes the standard templates in order to create a central communication tool. This tool acts as a central communication hub providing a unified interface for all departments. |
Databáze: | OpenAIRE |
Externí odkaz: |