Java
Java ist eine weit verbreitete, objektorientierte Programmiersprache, die für ihre Plattformunabhängigkeit bekannt ist.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypTechnisch
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Veraltete Bibliotheken können Sicherheitsrisiken darstellen.
- Schwierigkeiten bei der Migration auf neue Versionen.
- Mangelnde Kenntnisse in der Community können zu Problemen führen.
- Regelmäßige Code-Reviews durchführen.
- Automatisierte Tests implementieren.
- Dokumentation aktuell halten.
I/O & Ressourcen
- Entwicklungsumgebung einrichten.
- Benötigte Bibliotheken installieren.
- Anforderungen definieren.
- Funktionierende Anwendung.
- Dokumentation.
- Testberichte.
Beschreibung
Java wurde in den 1990er Jahren von Sun Microsystems entwickelt und ist eine der am häufigsten verwendeten Programmiersprachen weltweit. Sie ermöglicht die Entwicklung von plattformunabhängigen Anwendungen durch die Verwendung der Java Virtual Machine (JVM). Java wird häufig in Unternehmensanwendungen, Webanwendungen und mobilen Anwendungen eingesetzt.
✔Vorteile
- Plattformunabhängigkeit.
- Große Community und Unterstützung.
- Reiche Sammlung von Bibliotheken und Frameworks.
✖Limitationen
- Höherer Speicherbedarf im Vergleich zu einigen anderen Sprachen.
- Langsame Startzeiten für Anwendungen.
- Komplexität bei der Verwaltung von Abhängigkeiten.
Trade-offs
Metriken
- Leistungskennzahlen
Messung der Anwendungsleistung.
- Fehlerquote
Anzahl der Fehler pro 1000 Zeilen Code.
- Entwicklungszeit
Zeit, die für die Entwicklung benötigt wird.
Beispiele & Implementierungen
Spring Boot für Webanwendungen
Spring Boot ist ein Framework, das die Entwicklung von Java-Webanwendungen erleichtert.
Android-Entwicklung
Java wird häufig für die Entwicklung von Android-Anwendungen verwendet.
Java EE für Unternehmensanwendungen
Java EE bietet eine Plattform für die Entwicklung von robusten Unternehmensanwendungen.
Implementierungsschritte
Entwicklungsumgebung einrichten.
Prototyp erstellen.
Code testen und optimieren.
⚠️ Technische Schulden & Engpässe
Tech Debt
- Veraltete Abhängigkeiten.
- Schlechte Codequalität.
- Mangelnde Dokumentation.
Bekannte Engpässe
Beispiele für Missbrauch
- Unnötige Komplexität durch übermäßige Vererbung.
- Ignorieren von Sicherheitspraktiken.
- Mangelnde Tests vor der Bereitstellung.
Typische Fallen
- Annahme, dass alle Bibliotheken sicher sind.
- Übersehen von Performance-Problemen.
- Ignorieren von Benutzerfeedback.
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Einhaltung von Sicherheitsstandards.
- • Notwendigkeit der Plattformunabhängigkeit.
- • Integration in bestehende Systeme.