Die vorliegende Bachelorarbeit behandelt die Fragestellung, ob die Anwendung der Clean-Architecture-Prinzipien auf die moderne Android-Entwicklung Vorteile mit sich bringt. Dafür wurde eine Beispielanwendung mit zunehmendem Einbringen dieser Prinzipien in mehreren Ausführungen entwickelt, um diese anschließend miteinander vergleichen und Auswirkungen festhalten zu können.
Um die Forschungsfrage zu beantworten, wurde zuerst eine Android-Applikation in der Programmiersprache Kotlin ohne Beachtung der Clean-Architecture-Prinzipien mit der Model-View-ViewModel-Architektur entwickelt. Anschließend erfolgte die
Entwicklung zweier weiterer Ausführungen der Applikation mit sukzessiver Anwendung der wichtigsten Clean-Architecture Prinzipien, damit die Veränderungen der oben aufgelisteten Eigenschaften schrittweise verglichen werden konnten. Spezifisch wurde auf die Auswirkungen beim Erstellen von Testfällen, das Erweitern des Quellcodes um zusätzliche Funktionen und das Verstehen der Softwareprojektstruktur Bezug genommen.
Während die Testbarkeit und die Erweiterbarkeit anhand des Quellcodes und auf Modellierungsebene untersucht werden konnten, erfolgte für die Evaluierung der Lesbarkeit eine quantitative Studie zur Verständlichkeit der Projektstruktur und des Quellcodes. Die Untersuchung wies eine schrittweise und deutliche Verbesserung der Applikation hinsichtlich der Erweiterbarkeit und Testbarkeit auf. Für die Erweiterbarkeit zeigte sich, dass das Einbringen von ausgewählten Funktionen, um die die Applikation erweitert werden sollte, ohne eine Steigerung der Komplexität erfolgen konnte, während sich das Erstellen von Testfällen zur Validierung der Funktionalitäten als übersichtlich und einfach erwies. Die Umfrage zur Lesbarkeit, die lediglich von Personen mit Programmiererfahrung durchgeführt wurde, ergab, dass die Struktur und der Quellcode der endgültigen Applikation für die befragten Personen am verständlichsten war.
Inhaltsverzeichnis
- Kurzfassung
- Vorwort
- Inhaltsverzeichnis
- Abbildungsverzeichnis
- Tabellenverzeichnis
- Abkürzungsverzeichnis
- 1. Einleitung
- 1.1. Motivation
- 1.2. Problemstellung
- 1.3. Abgrenzung
- 1.4. Ziel der Arbeit
- 1.5. Vorgehen
- 1.6. Ausblick.
- 2. Theoretische Grundlagen
- 2.1. Softwarearchitektur.
- 2.1.1. Definition Softwarearchitektur
- 2.1.2. Bedeutung von Software architektur
- 2.2. Clean-Architecture-Prinzipien nach Robert C. Martin
- 2.2.1. SOLID-Prinzipien . .
- 2.2.2. Schichten entkoppeln
- 2.2.3. Grenzlinien
- 2.2.4. Anwendungsfälle
- 2.2.5. Entitäten .
- 2.2.6. Architektur.
- 2.2.7. Beispiel .
- 2.2.8. Clean Architecture bei clientseitiger Software
- 2.3. Native Android-Appentwicklung
- 2.3.1. Android Studio.
- 2.3.2. Lebenszyklen
- 2.3.3. Layouts.
- 2.3.4. Frameworks und Tools
- 2.4. Programmiersprache Kotlin für native Android-Appentwicklung
- 2.4.1. Kotlin vs Java
- 2.4.2. Asynchrone Programmierung
- 2.4.3. Jetpack Compose
- 2.5. Architekturen für Android-Entwicklung
- 2.5.1. Model-View-Controller
- 2.5.2. Model-View-ViewModel
- 2.5.3. Vergleich
- 2.6. Bewertung von Softwarearchitektur
- 2.6.1. Wartbarkeit
- 2.6.2. Testbarkeit.
Zielsetzung und Themenschwerpunkte
Die Bachelorarbeit befasst sich mit der Frage, ob die Anwendung der Clean-Architecture-Prinzipien von Robert C. Martin in der modernen Android-Entwicklung Vorteile bringt. Hierfür wird eine Android-Applikation in mehreren Ausführungen entwickelt und verglichen, wobei der Fokus auf die Auswirkungen auf Testbarkeit, Erweiterbarkeit und Lesbarkeit liegt.
- Bewertung der Clean Architecture in der Android-Entwicklung
- Analyse der Auswirkungen auf Testbarkeit, Erweiterbarkeit und Lesbarkeit
- Vergleich verschiedener Architekturen für Android-Anwendungen
- Anwendung von Clean Architecture Prinzipien in der Praxis
- Evaluierung der Vorteile von Clean Architecture in Bezug auf die genannten Qualitätsattribute
Zusammenfassung der Kapitel
Die Arbeit beginnt mit einer Einleitung, die die Motivation, die Problemstellung und das Ziel der Arbeit darlegt. Anschließend werden in Kapitel 2 die theoretischen Grundlagen erläutert, die für die Arbeit relevant sind. Dazu gehören die Definition und Bedeutung von Softwarearchitektur, die Clean-Architecture-Prinzipien nach Robert C. Martin, die native Android-Appentwicklung und die Programmiersprache Kotlin. Auch die verschiedenen Architekturen für die Android-Entwicklung und die Bewertung von Softwarearchitektur werden behandelt.
Schlüsselwörter
Softwarearchitektur, Clean Architecture, Android-Entwicklung, Kotlin, Testbarkeit, Erweiterbarkeit, Lesbarkeit, Model-View-ViewModel, SOLID-Prinzipien, Robert C. Martin
- Citar trabajo
- Matthias Kerat (Autor), 2022, Clean Architecture angewandt auf moderne Android-Entwicklung, Múnich, GRIN Verlag, https://www.grin.com/document/1273852