- Matthias Eschhold
Steve Walter - Dienstag, 07. Dez 2021
- 15:00 - 15:45
- Track 2
- Session
Die Paketstruktur ist eine der grundlegenden Strukturierungsmittel von objektorientierten Softwaresystemen. Sie bildet nicht nur die Basis zur Gruppierung von Klassen, sondern ist auch für jeden Entwickler im Rahmen der täglichen Arbeit relevant. Paketstrukturen helfen Strukturen innerhalb der Anwendung schnell zu erfassen und zu verstehen. Ist es möglich die Fachlichkeit anhand des Paketnamen abzuleiten und auf der fachlichen Ebene über das System zu sprechen? Eine sinnvolle Strukturierung der Anwendung hilft bei der Umsetzung von neuen Anforderungen und bei der Wartung, weil dadurch eine höhere Umsetzungsgeschwindigkeit erzielt werden kann.
In vielen Projekten orientiert sich die Paketstruktur anhand der dort abgelegten Stereotypen, wie Controllern, Services oder Factories. Diese technische Strukturierung ist in kleineren Softwaresystemen ein intuitives Verfahren, welches in größeren Softwaresystemen zu erheblichen Nachteilen führt. Grund dafür ist, dass das daraus resultierende mangelnde Systemverständnis zu unklaren Verantwortlichkeiten, ungewünschten Abhängigkeiten, Zyklen und hoher Komplexität führt. Letztendlich bewirkt dies, dass Anwendungen oft unbemerkt erodieren und technische Schulden aufgebaut werden. Diese technischen Schulden führen auf lange Sicht zu einer Reduktion der Produktivität.
Eine alternative Art der Systemdekomposition hilft die aufgeführten negativen Effekte zu vermeiden. Eine Orientierung am mentalen Modell des Nutzers bzw. Entwicklers, führt zu einer sogenannten funktionalen Systemzerlegung. Diese wird diskutiert an Anwendungsfällen, die jedermann verstehen kann und reale Geschäftsvorfälle abbilden.