Ich begrüße Sie ganz herzlich zu einem neuen Abschnitt in der Vorlesung,
Softwaretechnik in der Donnerstagsvorlesung Matthias Riebisch und wir sind jetzt
beim Abschnitt Wartung und Re-Engineering angekommen, das Kapitel 4.
In diesem Kapitel beschäftigen wir uns damit, was mit existierender Software denn passiert.
Denn am Ende ist der kleinste Teil von Softwareentwicklung,
den wir Tuition haben, wirklich neue Entwicklung. Alles,
was Sie bisher gehört haben, beschäftigt es sich aber im Wesentlichen mit Neuentwicklung,
von der Menge der Tätigkeiten sind viel mehr Informatiker mit Weiterentwicklung beschäftigt.
Und das sind die Themen, mit dem wir uns beschäftigen,
diese Fragen drücken das so ein bisschen aus,
was der erste Abschnitt ist, was sind geschäftskritische Systeme,
Änderungen, Ablösungen durch Neuentwicklung, ist das dann eine Alternative,
wir diskutieren, worauf kommt es bei Reingenieuren und anderen,
das Staged Model und hier gibt es einen Begriff Technical Debt und dann ein paar Begriffe,
das ist sozusagen Einführung in das Kapitel, der Hauptteil wird sich um Refactoring drehen.
Das ist eine ganz wichtige Technik, insgesamt möchten wir,
haben wir nicht sehr sehr viel Zeit,
im Master gibt es tatsächlich eine ganze Veranstaltung zu Software Reingenieeering,
hier können wir uns nur kurz damit beschäftigen,
es ist jedoch für ihre berufliche Tätigkeit total wichtig,
dass sie diese, das Augenmerk legen können, auch darauf,
wie Softwaresysteme weiterentwickeln.
Wir fangen gleich an mit der ersten Frage.
Da geht es darum, was sind denn Geschäftsgeschäftskritische Systeme?
Geschäftskritisch, das sind Systeme, die wir,
das sagt der Name schon,
geschäftskritische Software
Systeme, das sind Systeme, ohne die wir in der,
die eine Firma nicht nur beläuft.
Das kann man so sagen, die also das Wesentliche,
die wesentlichen Services, die wesentlichen Dienstleistungen, die wesentlichen Produkte enthält.
Das ist also auch gleich die Frage 1 natürlich.
Wesentlich für den Geschäftserfolg. Ja, ich kann ein bisschen
besser schreiben eigentlich, wo ich mir Mühe gebe.
Das werde ich jetzt mal tun für Sie
Puh. So, so ein System bedeutet also,
oder für die Firma bedeutet das,
wenn das System nicht verfügbar ist,
kann die Leistung nicht
erbracht werden
Damit können wir, um ein Beispiel zu bringen,
ein Paketdienstleister braucht die Software zum Verfolgen, zum Koordinieren der Paketströme,
zum Routing, auch zur Verhersage der,
wie viel wird ein Morgen dort und dort zu transportieren sein,
braucht er unbedingt, um das zu machen können.
Eine Versicherung kann aber durchaus ohne die Software zur Verwaltung der Schlüssel für
die Zimmer oder zum zum Vermieten von Immobilien kann sie durchaus leben.
Sie musste das nur dann ein bisschen anders organisieren.
Also das ist der Unterschied zwischen dem Geschäftskritischen und nicht-geschäftskritischen Systemen.
Wir können aber etwas zu Kennzeichen sagen,
von solchen Systemen oder was sind Eigenarten, die für uns besonders wichtig sind als Softwareentwickler.
Änderungen solcher Systeme sind besonders wichtig
Warum? Weil wir, wenn wir ein System haben,
was wesentlich für den Geschäftserfolg ist und die Welt ändert sich ständig,
dann muss dieses System entsprechend sich mit der Welt mitändern.
Es muss angepasst werden, es darf nicht einfach so bleiben.
Deswegen sind diese Änderungen wichtig. Häufig sind die Systeme komplex. Was heißen soll,
sie haben viele Teile, die Teile sind eng miteinander verkoppelt,
es ist eng mit anderen Unternehmen, mit anderen Systemen,
Fotokoppelt, mit irgendwelchen speziellen Hardwarehersteuerungen,
Geräten,
Maschinen,
was auch immer
Häufig stark gekoppelt mit anderen Systemen. Wir können sagen,
wenn Sie wichtig für den Geschäftserfolg sind und der Geschäftserfolg soll ja
andauern und das Geschäft ändert sich nicht im Kern so sehr,
dann sollen Sie auch langfristig nutzbar sein
Und zwar deswegen, weil die Prozesse im Kern langfristig stabil sind.
Also Händler haben schon seit dem Mittelalter das so gemacht,
dass sie in großen Mengen eingekauft haben und in kleinen Mengen verkauft haben.
Versicherungen haben seit ihrer Existenz seit 200 Jahren,
300 Jahren, oder wie lange es die schon gibt,
das immer so gemacht, dass sie Risiken,
gleichartige Risiken gebündelt haben und diese weiterverkauft haben,
ein anderer
Rückversicherer haben gerade dieses Risiko aufgekauft.
Also so etwas gab es in verschiedener Form schon immer.
Ja, und Menschen ändern ihr Verhalten nicht so sehr stark.
Deswegen müssen wir da erwarten, dass sich auch in Zukunft
im Kern das nicht so stark ändert.
Wenn jemand von ihnen jetzt der Meinung sei,
ihr seid doch ein Widerspruch, in dem ich sage,
die Änderungen sind ganz wichtig und das Ganze bleibt erhalten.
Das ist natürlich irgendwo zwei Seiten der gleichen Medaille. Ja,
wir haben langfristig schon das Gleiche, aber wir müssen es
immer anpassen an das, was sich in der Welt ändert.
Wir müssen im Konkurrenzkampf besser werden,
wir müssen unsere Prozesse optimieren, bis hin zu technischen Plattformen,
all diese Änderungen.
Aber das ist ja schon
die nächste Frage
Wir hatten ja hier die Frage, geschäftskritische Systeme,
worin liegt die Bedeutung des Re-Engineering?
Dann lassen wir uns gleich zur zweiten Frage gehen,
endlich diesen Änderungen. Was sind das eigentlich für Änderungen?
Fangen wir hier an eine neue Folie an,
die wir hier haben können,
indem wir erst mal auftragen,
was wir schreiben hier,
was für Änderungen
Und es geht uns hier um Änderungen während der Erwartung von
solchen Systemen. Und Wartung ist die Dauer,
sie sind alles nach, was nach der Freigabe passiert,
zu dieser Definition kommen wir, glaube ich, nochmal.
Jedenfalls möchte ich erst mal drei wesentliche Gruppen von Änderungen hier nennen,
die passieren, wenn jemand von ihnen denkt,
Fehlerbehandlung ist das Wichtigste.
Tatsächlich gibt es auch Fehlerbehandlungen, aber ich fange mal mit was anderem an.
Ich fange mal damit an,
dass wir Verbesserungen von Qualitätseigenschaften haben
Zum Beispiel, wir wollen Richtung Performance besser werden Richtung Skalierbarkeit
besser werden, weil das Unternehmen wächst.
Skalierbarkeit oder Sicherheit nimmt heute einen Stellenwert ein,
den es vor 20 Jahren diesem Thema keiner eingeräumt hätte
Dazu gehört auch zu solchen Qualitätseigenschaften, gehören auch funktionale Erweiterungen.
Das sind auch Sachen, die neu hinzukommen,
die sich verändern und ich möchte hier noch ein paar angeben,
was da alles, wo die so herkommen können.
Nehmen wir, fangen wir statt mir mal mit gesetzlichen Änderungen.
Ja, es gibt ganze prangischen, die davon abhängen,
was der Bundestag in jedem Jahr so für Neuigkeiten an steuerlichen und Sozialversicherungs-, Sozialgesetzgebungssachen rausbringt.
Da gibt es an dem Minijob noch irgendeine Änderung und da gibt es
die und die Abrechnung und da die Geldwertervorteil muss anders versteuert werden.
Das hat eine enorme Auswirkung auf alles, was mit Lohnbuchhaltung,
Sozialversicherung und so weiter zu tun hat.
Das muss in diese Systeme eingebaut werden und zwar immer noch vor Jahreswechsel.
Der Bundestag beschließt irgendwie in irgendeiner November-Sitzung, wobei die bunten Abgeordneten sich denken,
naja, bis Januar ist noch ein bisschen Zeit bis 31.12..
Ja, und die Softwarefirmen, die haben dann,
die stehen dann schon in den Startlöchern,
haben schon den Referentenentwurf vorher, sich angeschaut,
wie können das ungefähr laufen,
so wie es beschlossen ist,
wird das so schnell es geht
in die Software genagelt
Ja, und da muss es ganz schnell freigetestet werden,
freigegeben werden, damit es beim Kunden zum 1. Januar im Einsatz ist.
Also Änderungen gesetzlicher Ort, gesetzliche Änderungen, ist der erste Punkt.
Der zweite Punkt ist ganz klar, wir sind im wirtschaftlichen
Konkurrenzumfeld, man versucht immer besser zu werden.
Optimierung von Geschäftsprozessen
Was kann man irgendwie schneller machen, einfacher machen, weglassen,
umbauen, ja, und wie kann man besser werden,
was macht die Konkurrenz, das sind alles Sachen,
wo sich die Leute in der Fachlichkeit,
also wie Papier hergestellt wird, wie der Begleitungshandel läuft,
wie man Blumengroßhandel organisiert, was auch immer,
man versenkt sich da was Neues aus und dann soll das Softwaresystem,
das Bitte ganz schnell unterstützen.
Das sind also, meistens sind das neue Features,
manchmal sind das auch neue Strukturen, ja,
manchmal ändern sich aber eigentlich Kundenwünsche ein,
das nehmen wir auch noch mit hier auf
Änderung von Kunden wünschen. Ja, also sowas vorher
wollte man das so, jetzt möchte man es anders.
Das ist einfach nur so aus den Wunschen entständen.
Wir sind da bereit, Geld für auszugeben. Und natürlich
gibt es auch noch Organisatorische Änderungen. Was meine ich damit?
Sie hören vielleicht gelegentlich der und der Kaufhauskonzern wird jetzt zusammengelegt mit einem anderen.
Irgendjemand kauft die. Der macht das ja nicht, um sein Geld anzulegen,
sondern die brauchen einander, die wollen gemeinsam mehr einkaufen,
damit sie billiger die Bettwäsche und die Töpfe und Sporzellanen kriegen,
weil sie größere Mengen abnehmen.
Bis dahin, dass sie natürlich versuchen, richtige Marktmacht darzustellen und unter ihrem Marketingabteilung.
Das mache ich jetzt. Eine Fernsehwerbung löhnt sich viel mehr,
wenn ich in ganz Deutschland vertreten bin und viel mehr Filialen fahre.
Also solche Organisationen, das führt zu Umstrukturierungen, der Einkauf wird zusammengelegt,
das Marketing wird zusammengelegt und die Software muss natürlich diese andere Anzahl von Abteilungen,
die andere Buchführung oder wie auch immer, eben auch abbilden.
So, und das war der erste Punkt immer noch.
Wir sind immer noch beim großen ersten Punkt,
deswegen kommt ja vorne ein neuer Strich,
dann nennen wir durchaus etwas Technisches,
ein Passion,
ein Technologieänderungen
Nehmen wir mal in Anführungszeichen ein technischer Fortschritt.
Also man wechselt von Windows 7 zu Windows 10.
Man wechselt von der und der Datenbank-Plattform zur nächsten.
Es gibt Veränderungen in dem Rui-Framework, die ich irgendwie
mit einsetzen muss, muss ich dich übernehmen muss.
All solche Sachen müssen wir,
muss die Softwarefirma überprüfen
Rücken unter, du musst sie auch umnehmen, damit das Software
weiterlaufen kann. Und natürlich jetzt, kommt der Punkt,
den vielleicht manche von ihnen zuerst erwartet hatten, Fehler beheben.
Tatsächlich passieren auch noch Fehlerbehebungen, aber eigentlich bei guter Software sollten das nicht so furchtbar viele sein.
In der Tat sind diese drei großen Gruppen hier,
vielleicht nenne ich sie, ich mache mal hier vorne rein,
Sternchen, damit sie das besser unterscheiden können, ja,
sind ungefähr Circa sieht das so aus,
wenn wir so ein Tottendiagramm haben.
Je ein Drittel, ja, von Nummer 1,
Nummer 2, Nummer 3. Das haben Sie vielleicht nicht so erwartet,
aber es hängt natürlich auch ein bisschen von der Branche ab, ja.
Da, wo das frischer ist, neuer ist,
da gibt es Sim vielleicht die Fehlerbehebung ein bisschen häufiger.
Und da, wo mit neuester Technologie gearbeitet wird,
sind diese technologischen Änderungen vielleicht ein bisschen häufiger. Und da,
wo man ganz viel mit dem Markt spielt oder wo ganz viele gesetzliche Änderungen sind,
da ist das vielleicht ein bisschen neuer Hilfe.
Aber ansonsten sind wir mit dieser Dritteleinteilung schon relativ gut
Das sind diese Änderungen, all diese Änderungen müssen gemacht werden,
damit die Software weiter im Betrieb bleibt.
Ja, wir zurückgehend zu diesem geschäftskritischen System,
ohne das Software-System kann die Leistung nicht erbracht werden.
Und das Software-System kann natürlich nur verwendet werden,
wenn es passt zu den gesetzlichen Regelungen.
Wenn es läuft mit dem, mit dem Brieframe wirkt,
ja, und wenn es natürlich die und die Fehler eben nicht hat.
Das ist die Antwort auf die Frage hier,
welche Rollen spielen Änderungen für die Anwendbarkeit eines Software-Systems ohne Durchführung dieser Änderungen,
kann das System nicht angewendet werden in dem geänderten Umfeld