Informatik Spektrum - Software Engineering E-ID-Gesetz und Datenschutz Informatikunterricht in Deutschland - eine Übersicht - GI Radar
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Organ der Gesellschaft für Informatik e.V. Band 44 • Heft 2 • April 2021 und mit ihr assoziierter Organisationen Informatik Spektrum Software Engineering E-ID-Gesetz und Datenschutz 123 Informatikunterricht in Deutschland – eine Übersicht
ZUM TITELBILD Informatik Spektrum Organ der Gesellschaft für Informatik e. V. und mit ihr assoziierter Organisationen Physikalisch plausible monokulare 3D-Bewegungserfassung Unser neues Framework „PhysCap“ erfasst umfassende menschliche 3D-Bewegungen in einer physikalisch plausiblen Weise aus 2D-Videos in Echtzeit, automatisch und ohne den Einsatz von Markern. Die Abbildung zeigt einen Standweitsprung und unsere 3D-Rekonstruktionen. Dank seiner Entwicklung auf der Basis physikalisch basierter Dynamik, kann unser Algorithmus komplexe menschliche 3D-Bewegungen, die in 2D aufgenommen wurden, wiederherstellen und Artefakte wie das Gleiten der Füße, das Durchdringen des Fußbodens, unnatürliche Körperneigung und Flackern vermeiden, die früheren monokularen Posenschätzungsmethoden Probleme bereiteten. Quelle: Max-Planck-Institut für Informatik A2
INHALT Informatik Spektrum Band 44 | Heft 2 | April 2021 Organ der Gesellschaft für Informatik e. V. und mit ihr assoziierter Organisationen EDITORIAL Peter Pagel 81 Ist ja alles so schön bunt hier … HAUPTBEITRÄGE Michael Felderer · Ralf Reussner · Bernhard Rumpe 82 Software Engineering und Software-Engineering-Forschung im Zeitalter der Digitalisierung. Ein Beitrag über das aktuelle und zukünftige Selbstverständnis des Software Engineering Richard Schwarz · Lutz Hellmig · Steffen Friedrich 95 Informatikunterricht in Deutschland – eine Übersicht Bernhard G. Humm · Hermann Bense · Michael Fuchs · Benjamin Gernhardt · Matthias Hemmje · Thomas Hoppe · Lukas Kaupp · Sebastian Lothary · Kai-Uwe Schäfer · Bernhard Thull · Tobias Vogel · Rigo Wenning 104 Machine intelligence today: applications, methodology, and technology. Selected results of the 1st online Dagstuhl workshop on applied machine intelligence Mathias Ellmann 115 Fernlehren und Fernlernen von Objektorientierter Programmierung (OOP) AKTUELLES SCHLAGWORT Ernst Denert 122 Software Engineering KOLUMNE Gunter Dueck 126 Digitaler Workaround ist keine Digitalisierung. Wem berechtigte Kritik egal ist, der siecht dahin REZENSION Frank J. Furrer 129 Buchrezension. Ada Byron Lovelace and the Thinking Machine FORUM Stefan Ullrich · Rainer Rehak 131 Gewissensbits – wie würden Sie urteilen? Ursula Sury 134 E-ID-Gesetz und Datenschutz Reinhard Wilhelm 136 Verifizierter Interessenskonflikt. Einsichten eines Informatikers von geringem Verstande Rolf Windenberg 138 Um etliche Ecken ged8. Gehirn-Jogging auf Basis der math.- und informatisch-orientierten Rechtschreibreform MITTEILUNGEN 140 Mitteilungen der GI im Informatik Spektrum 2/2021
Informatik Spektrum Organ der Gesellschaft für Informatik e. V. und mit ihr assoziierter Organisationen Hauptaufgabe dieser Zeitschrift ist die Weiterbil- der Schweiz oder eines Staates der Europäischen Prof. Dr. H. Federrath, Universität Hamburg dung aller Informatiker durch Veröffentlichung Gemeinschaft ist, kann unter bestimmten Voraus- Prof. O. Günther, Ph. D., Universität Potsdam aktueller, praktisch verwertbarer Informationen setzungen an der Ausschüttung der Bibliotheks- und Prof. Dr. D. Herrmann, über technische und wissenschaftliche Fort- Fotokopietantiemen teilnehmen. Nähere Einzelhei- Otto-Friedrich-Universität Bamberg schritte aus allen Bereichen der Informatik und ten können direkt von der Verwertungsgesellschaft Prof. Dr. W. Hesse, Universität Marburg ihrer Anwendungen. Dies soll erreicht werden WORT, Abteilung Wissenschaft, Goethestr. 49, Dr. Agnes Koschmider, Universität Kiel durch Veröffentlichung von Übersichtsartikeln und 80336 München, eingeholt werden. Dr.-Ing. C. Leng, Google einführenden Darstellungen sowie Berichten über Die Wiedergabe von Gebrauchsnamen, Han- Prof. Dr. F. Mattern, ETH Zürich Projekte und Fallstudien, die zukünftige Trends delsnamen, Warenbezeichnungen usw. in dieser Prof. Dr. K.-R. Müller, TU Berlin aufzeigen. Zeitschrift berechtigt auch ohne besondere Kenn- Prof. Dr. W. Nagel, TU Dresden Es sollen damit unter anderem jene Leser an- zeichnung nicht zu der Annahme, dass solche Namen Prof. Dr. E. Portmann, Universität Fribourg gesprochen werden, die sich in neue Sachgebiete im Sinne der Warenzeichen- und Markenschutz- Prof. Dr. F. Puppe, Universität Würzburg der Informatik einarbeiten, sich weiterbilden, sich Gesetzgebung als frei zu betrachten wären und daher Prof. Dr. R.H. Reussner, Universität Karlsruhe einen Überblick verschaffen wollen, denen aber von jedermann benutzt werden dürfen. Prof. Dr. S. Rinderle-Ma, Universität Wien das Studium der Originalliteratur zu zeitraubend Prof. Dr. O. Spaniol, RWTH Aachen oder die Beschaffung solcher Veröffentlichungen Vertrieb, Abonnement, Versand Dr. D. Taubner, München (bis 2020: msg systems ag) nicht möglich ist. Damit kommt als Leser nicht nur Papierausgabe: ISSN 0170-6012 Sven Tissot, Iteratec GmbH, Hamburg der ausgebildete Informatikspezialist in Betracht, elektronische Ausgabe: ISSN 1432-122X Prof. Dr. Herbert Weber, TU Berlin sondern vor allem der Praktiker, der aus seiner Ta- Erscheinungsweise: zweimonatlich gesarbeit heraus Anschluss an die wissenschaftliche Entwicklung der Informatik sucht, aber auch der Den Bezugspreis können Sie beim Customer Studierende an einer Fachhochschule oder Univer- Service erfragen: customerservice@springernature. sität, der sich Einblick in Aufgaben und Probleme com. Die Lieferung der Zeitschrift läuft weiter, wenn der Praxis verschaffen möchte. sie nicht bis zum 30.9. eines Jahres abbestellt wird. Impressum Durch Auswahl der Autoren und der The- Mitglieder der Gesellschaft für Informatik und der Verlag: men sowie durch Einflussnahme auf Inhalt und Schweizer Informatiker Gesellschaft erhalten die Springer, Tiergartenstraße 17, Darstellung – die Beiträge werden von mehreren Zeitschrift im Rahmen ihrer Mitgliedschaft. 69121 Heidelberg Herausgebern referiert – soll erreicht werden, dass Bestellungen oder Rückfragen nimmt jede möglichst jeder Beitrag dem größten Teil der Le- Buchhandlung oder der Verlag entgegen. Redaktion: ser verständlich und lesenswert erscheint. So soll SpringerNature, Kundenservice Zeitschriften, Peter Pagel, Vanessa Keinert diese Zeitschrift das gesamte Spektrum der Infor- Tiergartenstr. 15, 69121 Heidelberg, Germany Tel.: +49 611 787 8329 matik umfassen, aber nicht in getrennte Sparten Tel. +49-6221-345-0, Fax: +49-6221-345-4229, e-mail: Peter.Pagel@springer.com mit verschiedenen Leserkreisen zerfallen. Da die e-mail: customerservice@springernature.com Informatik eine sich auch weiterhin stark ent- Geschäftszeiten: Montag bis Freitag 8–20 h. wickelnde anwendungsorientierte Wissenschaft ist, Bei Adressänderungen muss neben dem Ti- Herstellung: die ihre eigenen wissenschaftlichen und theore- tel der Zeitschrift die neue und die alte Adresse Madeleine Schnurr, tischen Grundlagen zu einem großen Teil selbst angegeben werden. Adressänderungen sollten e-mail: Madeleine.Schnurr@springer.com entwickeln muss, will die Zeitschrift sich an den mindestens 6 Wochen vor Gültigkeit gemeldet Problemen der Praxis orientieren, ohne die Auf- werden. Hinweis gemäß §4 Abs. 3 der Postdienst- Redaktion Gl-Mitteilungen: gabe zu vergessen, ein solides wissenschaftliches Datenschutzverordnung: Bei Anschriftenänderung Cornelia Winter Fundament zu erarbeiten. Zur Anwendungsori- des Beziehers kann die Deutsche Post AG dem Verlag Gesellschaft f¨ur Informatik e.V. (GI) entierung gehört auch die Beschäftigung mit den die neue Anschrift auch dann mitteilen, wenn kein Wissenschaftszentrum, Problemen der Auswirkung der Informatikan- Nachsendeauftrag gestellt ist. Hiergegen kann der Ahrstraße 45, D-53175 Bonn, wendungen auf den Einzelnen, den Staat und die Bezieher innerhalb von 14 Tagen nach Erscheinen Tel.: +49 228-302-145, Fax: +49 228-302-167, Gesellschaft sowie mit Fragen der Informatik- dieses Heftes bei unserer Abonnementsbetreuung Internet: http://www. gi.de, Berufe einschließlich der Ausbildungsrichtlinien widersprechen. e-mail: gs@gi.de und der Bedarfsschätzungen. Elektronische Version Wissenschaftliche Kommunikation: springerlink.com Anzeigen: Eva Hanenberg Urheberrecht Abraham-Lincoln-Straße 46 Mit der Annahme eines Beitrags überträgt der Au- 65189 Wiesbaden tor Springer (bzw. dem Eigentümer der Zeitschrift, Hinweise für Autoren Tel.: +49 (0)611/78 78-226 sofern Springer nicht selbst Eigentümer ist) das http://springer.com/journal/00287 Fax: +49 (0)611/78 78-430 ausschließliche Recht zur Vervielfältigung durch eva.hanenberg@springer.com Druck, Nachdruck und beliebige sonstige Verfahren das Recht zur Übersetzung für alle Sprachen und Hauptherausgeber Prof. Dr. Dr. h. c.mult. Wilfried Brauer (1978–1998) Satz: Länder. Prof. Dr. Dr. h. c. Arndt Bode, le-tex publishing services GmbH, Leipzig Die Zeitschrift sowie alle in ihr enthaltenen Technische Universität München (1999–2019) einzelnen Beiträge und Abbildungen sind urhe- Prof. Dr. T. Ludwig, Druck: berrechtlich geschützt. Jede Verwertung, die nicht Deutsches Klimarechenzentrum GmbH, Hamburg Printforce, ausdrücklich vom Urheberrechtsgesetz zugelassen (seit 2019) The Netherlands ist, bedarf der vorherigen schriftlichen Zustim- mung des Eigentümers. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Herausgeber springer.com Mikroverfilmungen und die Einspeicherung und Prof. Dr. S. Albers, TU München Verarbeitung in elektronischen Systemen. Jeder Prof. A. Bernstein, Ph. D., Universität Zürich Eigentümer und Copyright Autor, der Deutscher ist oder ständig in der Bundes- Prof. Dr. T. Braun, Universität Bern © Springer-Verlag GmbH Deutschland, republik Deutschland lebt oder Bürger Österreichs, Prof. Dr. O. Deussen, Universität Konstanz ein Teil von Springer Nature, 2021 A4
Informatik Spektrum (2021) 44:81 https://doi.org/10.1007/s00287-021-01350-2 EDITORIAL Ist ja alles so schön bunt hier ... Peter Pagel1 Angenommen: 10. März 2021 © Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature 2021 einigen ist es sicher schon aufgefallen, seit der vergange- Workaround keine Digitalisierung ist. Wir wünschen allen nen Ausgabe sind die Abbildungen im Informatik Spektrum Lesern eine spannende Lektüre und viele neue Sichtweisen farbig. Bislang waren diese schwarzweiß – ein Relikt aus und Anregungen. der Historie dieser traditionsreichen Zeitschrift. Farbe ist bekanntlich mehr als Schmuck, viele Grafiken und Illustra- Bleiben Sie gesund! tionen sind leichter zu erfassen oder aussagekräftiger, wenn mehrere Farben und nicht nur Grauschattierungen verwen- Peter Pagel det werden – vielleicht ein Grund mehr, um über ein Abon- Chefredakteur nement des gedruckten Heftes nachzudenken? Peter Pagel Mit Heft 1/2021 hatten wir uns einem ungewöhnlichen Thema gewidmet, der digitalen Kunst. Uns und den Betei- ligten hat das viel Spaß gemacht, wir hoffen, Ihnen ebenso. Sollten Sie Ideen oder konkrete Vorschläge für außerge- wöhnliche Inhalte mit IT-Bezug haben, hat die Redaktion dafür immer ein offenes Ohr. Wir freuen uns auf Nachrich- ten von Ihnen. Das aktuelle Heft wendet sich wieder allgemeinen The- men zu. Die hier gesammelten Texte drehen sich um so unterschiedliche Themen wie den Informatikunterricht in Deutschland, Machine Intelligence, die Fernlehre zu Objek- torientierter Programmierung sowie Software Engineering. Außerdem erklärt Gunter Dueck, weshalb ein digitaler Peter Pagel peter.pagel@springer.com 1 Wiesbaden, Deutschland K
Informatik Spektrum (2021) 44:82–94 https://doi.org/10.1007/s00287-020-01322-y HAUPTBEITRAG Software Engineering und Software-Engineering-Forschung im Zeitalter der Digitalisierung Ein Beitrag über das aktuelle und zukünftige Selbstverständnis des Software Engineering Michael Felderer1 · Ralf Reussner2 · Bernhard Rumpe3 Online publiziert: 13. November 2020 © Der/die Autor(en) 2020 Zusammenfassung Die Digitalisierung und der damit verbundene digitale Wandel durchdringen alle Lebensbereiche. Qualitativ hochwertige Software ist der zentrale Baustein und Treiber der Digitalisierung. Damit nimmt auch das ingenieurmäßige Erstellen von Software, das Software Engineering, eine zentrale Rolle im digitalen Wandel ein und ist dabei selbst großen Veränderungen unterworfen. Dieser Artikel versucht deshalb eine Standortbestimmung des Software Engineering und seiner Forschung im Zeitalter der Digitalisierung vorzunehmen. „Die Informatik verändert sich. Deshalb müssen auch Software und damit das Software Engineering zum kriti- die Informatiker Ihre Rolle in der Gesellschaft neu schen Baustein und zentralen Innovationstreiber der Digi- überdenken.“ talisierung in allen Lebensbereichen. Auch wissenschaft- von Ranga Yogeshwar 2018 auf der Informatik lich ergeben sich neue Chancen und Herausforderungen für Tagung der GI. das Software Engineering als treibende Disziplin bei der Entwicklung jedweder technischer Innovation. Gerade die Chancen dürfen allerdings auch nicht dem Wettbewerb um bibliometrische Zahlen als Selbstzweck geopfert werden. Aktueller Stand und Beobachtungen Trends Die Digitalisierung wirkt sich nicht nur auf die Gesellschaft aus, sie verlangt auch eine Neubestimmung des Standorts Konkret können wir gegenwärtig wenigstens diese sieben der Informatik und der InformatikerInnen, wie sie der Wis- Trends über Software und das Software Engineering beob- senschaftsjournalist Yogeshwar in seinem obigen Zitat an- achten: regt. Da gerade sämtliche Aspekte der Digitalisierung auf 1. Software spielt in vielen Produkten die Rolle des we- Software beruhen, soll dieser Artikel der Versuch einer sentlichen Innovationstreibers oder Produkte werden Neubestimmung insbesondere der Rolle des Software En- durch softwarebasierte Dienstleistungen ergänzt, um gineering und seiner Forschung sein. Schon jetzt haben sich am Markt wesentlich zu differenzieren. Beispiele softwarebasierte Produkte, Systeme oder Dienstleistungen sind automatisiertes Fahren oder die Digitalisierung von praktisch alle Lebensbereiche durchdrungen. Dadurch wird Geschäftsprozessen. 2. Software integriert Geräte und Dienstleistungen und ist damit der Kern sogenannter Systems-of-Systems. Bei- Michael Felderer michael.felderer@uibk.ac.at spiele sind die Themen zusammengefasst unter „Indus- trie 4.0“, das Smart Energy Grid oder moderne multimo- 1 Universität Innsbruck, Innsbruck, Österreich dale Mobilitätssysteme. 2 KIT Karlsruhe, Karlsruhe, Deutschland 3. Software wird sogar noch zunehmend von Personen ent- 3 wickelt, die dies nicht primär gelernt haben. Das liegt RWTH Aachen, Aachen, Deutschland K
Informatik Spektrum (2021) 44:82–94 83 zum Teil an der Unterversorgung des Arbeitsmarkts und Mit der Industrialisierung und der Vergesellschaftung zum Teil an dem zur Entwicklung notwendigen Domä- von Software und Daten einhergehend ist auch zu beob- nenwissen. Notwendiger- und glücklicherweise wird zu- achten, dass immer mehr Menschen aktiv in die Entwick- mindest die Programmierung von Software zum Com- lung von Software eingebunden sind, sei es durch die Be- modity, deren Möglichkeiten und Grundzüge allerdings reitstellung von Anforderungen, das Testen von Systemen jeder wenigstens ansatzweise verstehen sollte. im Feld oder die Teilnahme an der Softwareentwicklung 4. Software nutzt zunehmend KI-Techniken, um Funk- selbst und dass mit immer kürzeren Innovationszyklen auch tionalitäten zu lernen, zu verbessern oder anzupassen. immer kürzere Entwicklungszyklen einhergehen. Konkret Dadurch wird die Überprüfung von Qualitätseigenschaf- wird Software zur Laufzeit durch nachladbare Komponen- ten während der Entwicklungszeit eingeschränkt und ten und Apps stark veränderlich, erweiter- und anpassbar. manchmal sogar verhindert, da das eigentliche Verhalten Der Mensch ist als Datenquelle heute (mehr passiv) Teil der Software erst nach der Trainingsphase absehbar ist, von Softwareökosystemen. Aber auch zur aktiven Konfi- und nicht nur durch bloße Analyse des Codes oder das guration (z. B. der vielen einzelnen Geräte im zukünfti- klassische Testen von Anforderungen deduziert werden gen E-Home) werden immer mehr Menschen die Fähigkeit kann. Beispiele finden sich etwa in der Bild- und Sprach- benötigen, rudimentär Software zu programmieren („Pro- verarbeitung und damit auch in sicherheitskritischen gramming as a Commodity“). Zudem rückt der Mensch als Systemen wie autonomen Fahrzeugen. Obwohl dies zum User immer mehr in den Fokus der Entwicklung, um durch Beispiel aufgrund der Nutzung von Datenbanken im- neue Interfaces wie Sprachein- und -ausgabe oder Aug- mer schon partiell so war, übernehmen nun die Daten mented Reality die User Experience zu optimieren. Soft- eine stärkere Rolle bei der Definition des Verhaltens von ware Engineering muss sich also in Zukunft nicht nur mit Software. Zudem haben KI-Techniken (etwa durch neue der Entwicklung von Software beschäftigen, sondern auch Verfahren der Bild- und Spracherkennung) auch zu einer mit deren hoch-adaptiver Konfigurierbarkeit, Benutzerak- Erweiterung des Spektrums der Benutzerschnittstellen zeptanz und der Qualitätssicherung von konfigurierter und und damit der Bedeutung der User Experience beigetra- durch Daten trainierter Software. gen. Schon aus technischer Perspektive ergeben sich aus den 5. Auch für den Forschungsprozess im Software Enginee- obigen Beobachtungen neue Herausforderungen, die auch ring selbst sind Daten entscheidend, um Hypothesen eine neue Standortbestimmung der nunmehr 50 Jahre alten empirisch zu prüfen. Allerdings birgt die beinahe belie- Disziplin des Software Engineering [1–4] erfordern: bige Verfügbarkeit von Daten im Software Engineering 1. Software Engineering nimmt Regulationen und Werte- auch Gefahren für den Forschungsprozess. Zu häufig verständnisse auf und versucht Verfahren, Algorithmen werden Daten etwa aus Softwarerepositorien oder durch und deren Konfigurationsdaten sowie Architekturen zu Umfragen generiert und anschließend publiziert ohne entwickeln, um diese systematisch umzusetzen. diese durch eine Theorie, eine genaue Kontextdefiniti- 2. Software Engineering verpackt Softwareansätze so, dass on oder eine Vision zur Entwicklung einer Methode zu auch Nicht-SoftwaretechnikerInnen sie nutzen können. fundieren, wodurch der Nutzen dieser Arbeiten für die Als Beispiel und Vorbild können Datenbanksysteme gel- Disziplin des Software Engineering unklar bleibt. ten, die auch von Nicht-InformatikerInnen sinnvoll ein- 6. Software greift immer normativer in Lebensrealitäten gesetzt werden können. Die Nutzbarmachung wesentli- ein. Softwareprodukte haben bereits heute institutionel- cher Algorithmen, insbesondere des maschinellen Ler- len Charakter: Sie regeln und machen Vorgaben, aller- nens, ist für andere Disziplinen eine weitere Schnittstel- dings oft ohne die Legitimation der üblichen Institu- le, zugegebenermaßen nicht nur, aber auch zu den Sozial- tionen. Sie werden daher in Zukunft notwendigerweise und Gesellschaftswissenschaften. zunehmend von staatlicher Seite reguliert. Dazu ge- 3. Software Engineering beschäftigt sich natürlich primär hört insbesondere der Schutz personenbezogener Daten mit Software und den notwendigen Grundlagen ihrer als essenzielle Komponente des Schutzes der Personen Entwicklung. Aber auf beide Bereiche haben Menschen selbst. und Organisationen einen entscheidenden Einfluss. Die 7. Der Umgang mit Software wirkt sich auch auf die Ko- Entwicklung und Untersuchung von Software-Enginee- gnition und die Persönlichkeit der BenutzerInnen sowie ring-Artefakten bedarf deshalb die Einbeziehung des auf die Gesellschaft als Ganzes aus. Diese Wirkungen Entstehungs- und des Anwendungskontextes. Unter an- sind heute zwar erkennbar, aber noch nicht wirklich ab- derem deshalb ist die Anwendung von empirischen For- geschätzt oder gar reflektiert bei der Entwicklung der schungsmethoden und Theorien aus den Sozialwissen- Software. schaften wie Psychologie oder Soziologie notwendig, um menschliche und organisatorische Kontextfaktoren K
84 Informatik Spektrum (2021) 44:82–94 geeignet in den Software-Engineering-Forschungspro- ware werden einzelne Produkte und Dienstleistungen zess weiter zu integrieren. Software Engineering hat in vernetzt. Damit ergibt sich durch Software oft erst die diesem Sinne nicht nur Züge von traditionellen Inge- Möglichkeit, innovative Szenarien umzusetzen, z. B. für nieurswissenschaften wie Maschinenbau oder Elektro- Energieversorgung mit regenerativen Energieformen, technik, sondern unterscheidet sich von diesen durch Mobilität in der Kombination verschiedener Verkehrsträ- diesen zusätzlichen sozialwissenschaftlichen Charakter. ger oder zur komplexen Wertschöpfungsketten vernetzte Produktionsanlagen. Dadurch kommt den Softwarein- genieurInnen aber auch eine wesentliche Rolle in der Konsequenzen für das Software Engineering „Findung“ oder sogar „Erfindung“ und Definition der eigentlichen Funktionalität des Systems-of-Systems zu. Daraus lassen sich einige Konsequenzen für Software En- Während sich durch die Vernetzung die Produkte im- gineering ableiten: mer mehr integrieren, differenzieren sich die Rollen und Fähigkeiten der an einem Produkt beteiligten Entwickle- 1. Eine der wesentlichsten Konsequenzen aus diesen Be- rInnen immer weiter aus. Dies gilt sowohl für Produkte, obachtungen ist, dass Software bzw. die Handlungen, als auch für die immer stärker vernetzte und digitalisier- Vorschläge und Entscheidungen, die Software trifft oder te Welt der Produktion. Dabei nicht zu vernachlässigen ausführt, in Zukunft besser nachvollziehbar sein müs- sind auch die immer komplexeren Softwarewerkzeuge, sen. Dies gilt insbesondere bei adaptiver Software, bei die zur Entwicklung selbst eingesetzt werden und auf- lernender Software und bei Software, die in dem oben grund der Vernetzung ihrerseits die Verbindung zum genannten Maß durch EndnutzerInnen modifizierbar sein ausgelieferten, aber beobachtbaren und aktualisierbaren soll. Solche Software zu erstellen ist natürlich auch für Produkt halten werden. Software Engineering eine Herausforderung, da sowohl 4. Software wird datengetrieben adaptiv. Durch den Einsatz die Form der Erklärung für NutzerInnen einfach und gut von Verfahren des maschinellen Lernens zur Erbringung verstehbar sein muss, als auch zum Beispiel bei adaptiver von Softwarefunktionalität kann diese häufig nicht mehr und lernender Software Erklärungen nicht notwendiger- zur Entwicklungszeit überprüft werden, da die Funktio- weise vorab bereits definiert und fixiert werden können. nalität nicht nur durch den Code, sondern auch durch 2. Software Engineering drängt sich vermehrt in die Rol- (Trainings-)Daten festgelegt wird. Hier müssen wir ver- le des umfassenderen Systems Engineering. Durch die stehen lernen, unter welchen Bedingungen und inwieweit zunehmend dominierende Rolle von Software in tech- ein zu bauendes System noch zur Entwicklungszeit ab- nischen Systemen verändert sich der Zusammenhang sicherbar ist, unter welchen Bedingungen eine Laufzeit- von Software und Systems Engineering. Konnte man überwachung durch sogenannte „Monitore“ möglich ist, Software Engineering bisher als einen Teil des Systems wann eine A-posteriori-Analyse von Fehlern noch zuläs- Engineering betrachten, so bietet heute Software Engi- sig ist oder auch wann ein System nicht gebaut werden neering selbst oft die grundlegenden Methoden für die darf, da es nicht mehr absicherbar ist. Und dies gilt so- Entwicklung softwareintensiver technischer Systeme. wohl dann, wenn das Training selbst bereits in der Ent- Software Engineering entwickelt sich deshalb von ei- wicklungszeit abgeschlossen wird, als auch dann, wenn ner „Nebenbeschäftigung“ des Systems Engineers zum das System in Betrieb weiter lernt („life-long learning“). primären Treiber der Entwicklung. Daraus lassen sich 5. Software muss normen- und gesetzessicher gebaut wer- einige Konsequenzen ableiten, die vor allem Entwick- den. Durch die notwendige zunehmende Regulierung lungsprozesse betreffen. Immer noch beißen sich der softwarebasierter Produkte und Dienstleistungen gerade funktionsorientierte Softwareentwicklungsprozess mit im Bereich des Datenschutzes und der Personensicher- dem vor allem geometrisch dekomponierenden Syste- heit ergeben sich neue Anforderungen an die Software mentwicklungsprozess. Viele Methoden zur Systemati- und ihre Entwicklungsmethodik. Bisher können An- sierung und Automatisierung der Software-Engineering- forderungen wie der Schutz personenbezogener Daten Aktivitäten bei Dekomposition, Synthese, Qualitätssi- gemäß sich wechselnder Einverständniserklärungen für cherung, aber auch im Management von Evolution und verschiedene sich ändernde Arten der Datennutzung über Varianten müssen noch in den Systementwicklungs- den gesamten Lebenszyklus der Software nicht systema- prozess übertragen werden. Erst dann lassen sich auch tisch umgesetzt geschweige denn nachgewiesen werden. die von vielen gewünschten agilen Vorgehensmethoden stärker und gewinnbringend in die Systementwicklung Gemeinsam ist all diesen Herausforderungen, dass zum einbringen. einen dadurch die Komplexität der Software weiter massiv 3. Software Engineering war es immer und wird es noch ansteigen wird, zum anderen, dass immer mehr Menschen stärker werden: eine Integrationsdisziplin. Durch Soft- in verschiedenen Rollen mit Software und ihrer Entwick- K
Informatik Spektrum (2021) 44:82–94 85 lung zu tun haben werden und von ihrer Funktionalität und Software Engineering in Kombination mit anderen Diszi- von ihren Entscheidungen noch stärker als bisher abhängen plinen ist in den nächsten Jahren essenziell. In den letzten werden. Insbesondere ist eine oben genannte Konsequenz 50 Jahren hat sich innerhalb des Software Engineering We- daraus, dass auch der Bedarf an Nachvollziehbarkeit und sentliches getan. Eine solide und große Sammlung an Me- Erklärbarkeit von Software steigen wird. Nur so wird auch thoden erlaubt uns, punktgenau Agilität mit der konstrukti- die notwendige Akzeptanz beim Nutzer, bei Organisationen ven Entwicklung und Synthese der Software und der ana- und in der Gesellschaft insgesamt erreichbar sein. Auch ist lytischen Qualitätssicherung zu verzahnen. Requirements klar, dass es noch weniger als heute Personen geben wird, Engineering ist seinem Wesen nach schon immer eine hoch- die ein Gesamtverständnis – oder auch nur einen detail- gradig an Innovationen interessierte Methodik. Softwarear- lierten Überblick – haben werden. Die Konsistenzhaltung chitektur erlaubt es, funktionsorientiert, aufgabenorientiert, der verschiedenen Sichten auf ein System wird also immer orientiert an den physikalischen Gegebenheiten oder da- wichtiger. tenorientiert komplexe Herausforderungen zu zerlegen, zu organisieren und in robuste Lösungen umzusetzen. Modell- Weiterentwicklung des Software Engineering bildung hat als Wesenszug zur Abstraktion und Darstellung der funktionalen Essenz eines Systems in der Software- Im Zuge des Jubiläums „50 Jahre Software Engineering“ entwicklung unter anderem durch die Standards UML und [1] – seit der NATO Konferenz 1968 – gibt es mehrere SysML, aber auch durch domänenspezifische Sprachent- Diskussionen über deren Essenz und weitere Entwicklung wicklungen Einzug gehalten. Varianten- und Versionsma- des Software Engineering als Disziplin. Basierend auf der nagement befinden sich genauso in der Werkzeugkiste der hohen praktischen Relevanz von Software-Engineering-Lö- SoftwareingenieurInnen wie Simulations-, Testautomatisie- sungen schlagen Basili und Briand [2] eine stärkere Kon- rungs- und Analysewerkzeuge zur Qualitätssicherung sowie textorientierung der Software-Engineering-Forschung vor, Messwerkzeuge verschiedenster Arten. da die Anwendbarkeit und Skalierbarkeit von Software-En- Eine der großen Herausforderungen für Software-Engi- gineering-Lösungen zentral von Kontextfaktoren wie dem neering-Forschungsergebnisse selbst bleibt allerdings ihre Menschen (etwa seines Persönlichkeitstyps und Wissens- praktikable Umsetzbarkeit durch Werkzeuge. Werkzeuge hintergrunds), der Organisation (etwa Kosten- und Zeitre- entstehen häufig als Nebenprodukt wissenschaftlicher For- striktionen) oder der Domäne (wie etwa der Kritikalität oder schung oder werden durch eine gemeinsame Community der geforderten Compliance zu Standards) abhängt. In ih- als Open-Source-Werkzeuge so weit vorangetrieben, wie rem kontextgetriebenen Forschungsparadigma für das Soft- es dieser Community möglich ist. Werkzeuge sind heute ware Engineering schlagen sie demnach vor, nicht mehr hochkomplex und benötigen sowohl einen guten Bedie- weiter primär top-down allgemeine Ansätze ohne Berück- nungskomfort, als auch die relevante Funktionssicherheit sichtigung von Kontextfaktoren zu entwickeln, sondern bot- und müssen auf große Projekte skalieren. tom-up in Kollaboration mit Praktikern innovative Lösun- gen zu entwickeln und dabei Zusammenhänge zu erken- nen, Theorien zu entwickeln und wissenschaftlich vor al- Was hat Software Engineering auch für lem durch den Einsatz empirischer Methoden zu evaluieren. andere Disziplinen zu bieten? Damit in Verbindung stehend hebt Broy [3] den integrati- ven Charakter des Software Engineering für alle etablier- Software Engineering ist zunächst wie jede Ingenieursdis- ten Ingenieursdisziplinen hervor sowie die Notwendigkeit ziplin eine konstruktive Wissenschaft. In den 50 Jahren seit die Software-Engineering-Ausbildung aufgrund der strate- Bestehen der Disziplin wurde zunehmend gelernt, welche gischen und gesellschaftlichen Bedeutung von Software da- Konsequenzen sich aus der Besonderheit von Software ab- hingehend zu erweitern, dass SoftwareingenieurInnen kom- leiten, nicht materiell zu sein. Aktuell ist Software dabei, petent Entscheidungen von strategischer Tragweite treffen den Alltag von Individuen, Organisationen und letztlich der können. Booch [4] sieht Abstraktion, Separation of Con- Gesellschaft in jeder Hinsicht so schnell wie kaum eine an- cerns, Verteilung von Verantwortlichkeiten sowie Einfach- dere Disziplin zuvor zu verändern. Nahezu alle Disziplinen heit zum Management von Komplexität als zentrale Funda- und Domänen sind in Begriff, sich zu digitalisieren. Für mente des Software Engineering, die es zukünftig etwa auf eine Standordbestimmung setzen wir deshalb das Software KI-Systeme anzuwenden gilt, um Antworten auf zentrale Engineering sowohl zu den anderen Ingenieurswissenschaf- Fragen in diesen Systemen, wie etwa nach ihrem Lebens- ten als auch den Sozialwissenschaften in Bezug. zyklus, ihre Qualitätssicherung oder ihre Konfiguration, zu- friedenstellend beantworten zu können. Wir denken, die Weiterentwicklung des Software Engi- neering und insbesondere die integrative Anwendung des K
86 Informatik Spektrum (2021) 44:82–94 Bezug zu anderen Ingenieurswissenschaften Dadurch ergeben sich für die Entwicklung softwarein- tensiver technischer Systeme eine Reihe von Möglichkei- Wie einleitend, beschrieben wird der Bezug zu anderen In- ten, Einsichten aus dem Software Engineering zu übertra- genieurswissenschaften gegenwärtig geprägt durch gen. Dazu gehören zum Beispiel Vorgehensmodelle, die nicht mehr von der Vorausplanbarkeit eines ganzen Sys- a. den steigenden Anteil von Software in vielen technischen tems ausgehen, sondern eine dezentrale Entwicklung von Systemen, Systemen erlauben, die lose gekoppelt sind und keinem ge- b. der Vernetzung dieser Systeme zu Systems-of-Systems meinsamen Entwicklungsprozess unterliegen, obwohl sie durch Software, Systemkomponenten und -schnittstellen teilen. Dazu gehö- c. dem hohen Anteil an Software beim Innovationsgrad ren zum Beispiel auch agile Verfahren zur Unterstützung technischer Systeme sowie schneller Innovationszyklen. Da Software letztlich auch ein d. dem antizipierten Nutzen, wenn spezifische software- Modell der Realität mehr oder weniger explizit und ausführ- technische Vorgehensweisen auch im Systems Enginee- lich in sich trägt, sind Verfahren der Modellierung aus dem ring angewandt werden. Software Engineering, wie zum Beispiel die UML, SysML Letztlich bedingen diese Faktoren einander, sodass wir oder Meta-Modellierung, sowie die Synthese, Analyse und sie gemeinsam mit dem letzten beginnend ausführen. Transformation von Modellen von besonderem Interesse für Im Vergleich zu den Artefakten anderer Ingenieursdiszi- das Systems Engineering, zumal der Umgang mit Modellen plinen ermöglicht die Eigenschaft von Software, nicht mate- und deren Analyse und Simulation ohnehin zum bestehen- riell zu sein, einen größeren Entwurfsraum, der kaum durch den Ingenieursvorgehen passt. In der Praxis zeigt sich aber, physische Materialeigenschaften eingeschränkt ist. Werk- dass die Modelle der Software Engineering und des Sys- zeuge und Methoden sind unter dem Stichwort Agilität in tems Engineering bzw. die zugrunde liegenden Paradigmen den letzten Jahren intensiv weiterentwickelt worden, sodass nicht einfach vereint werden können und daher noch viel schnelle Feedback- und Innovationszyklen in der Software grundlegende Forschung notwendig ist. üblich sind. Seit etwa 2000 wissen wir, dass die Time-to- Besonders sichtbar ist die Nutzung von Modellierungs- Market im Internetzeitalter noch viel wichtiger geworden ist techniken, wenn diese nicht nur zur Entwicklung, sondern und im Internet „ein Jahr nur drei Monate“ dauert. Negative auch während des Betriebs der Software im Einsatz sind. Auswüchse des schnellen Entwickelns, wie etwa der Bana- Traditionell sind das zum Beispiel explizite Datenmodel- nensoftware, die erst beim Kunden reift, sind durch metho- le oder Geschäftsprozessmodelle, die manchmal in Gren- dische Maßnahmen, wie etwa aktive Beta-Tester, testgetrie- zen, aber öfter auch flexibel anpassbar sein sollen. In der bene Entwicklung, frühe Reviews (z. B. auch Pair-Program- Produktwelt sind das digitale Twins, also rein virtuelle, ming) oder kontinuierliches Monitoring des Kundenverhal- durch Modelle und Simulationen betriebene „Zwillinge“ tens und damit auch der Kundenzufriedenheit abgefangen physischer Artefakte, die auch Meta-Information enthalten worden. und durch prädiktive Techniken zur Vorhersage von Eigen- Wenn Software selbst keine physikalische Manifestation schaften, aber insbesondere zur Kontrolle und Steuerung hat, ist ihre „Produktion“ reduziert auf den Build-Prozess, ihrer physischen Zwillinge eingesetzt werden können. Die das Deployment und die Konfiguration. Da diese Vorgänge gemeinsame, weil eng verzahnte Entwicklung des physi- weitgehend automatisierbar sind, ist vor allem der Entwick- schen Produkts und seines virtuellen Zwillings erfordert lungsprozess, um den sich traditionell ja das Software En- neue Techniken. Dies ist auch deshalb notwendig, weil auch gineering kümmert, der limitierende Faktor. Dabei spielen viele physische Produkte mit der Zeit ergänzt, erweitert, die einzelnen entwickelnden Menschen, die Teamstruktur aktualisiert oder durch Ersatzteile modifiziert werden und und -zusammensetzung sowie die Randbedingungen durch ein digitaler Zwilling dies reflektieren und idealerweise so- die Organisation eine größere Rolle als bei anderen Inge- gar antizipieren muss. Hier wird das bestehende Verständ- nieurswissenschaften. Sie prägen den Prozess der Produkt- nis von „Digital Engineering“ substanziell erweitert, indem entwicklung erheblich und beeinflussen damit letztlich auch nicht „nur“ bestehende Entwicklungsprozesse durch Soft- Qualitätseigenschaften des Produkts selbst intensiv. Diese ware unterstützt werden, sondern nun auch softwaretech- menschlichen und organisatorischen Faktoren sind deshalb nische Methoden neue Entwicklungsprozesse ermöglichen. ebenfalls ein wichtiger Einflussfaktor und damit Untersu- Eine Vision wäre die integrierte Modellierung und Analyse chungsgegenstand des Software Engineering. Darüber hi- in einem gemeinsamen Entwurfsraum, im dem Software, naus bietet das Software Engineering als Disziplin eine aber auch physische Artefakte methodisch gemeinsam be- Fülle an Techniken und Methoden, welche die Effizienz handelt werden. Natürlich müssen diese Verfahren systema- und Effektivität der menschlichen Interaktion im Kontext tisch mit Fragen der unterschiedlichen Lebenszyklen von der Softwareentwicklung optimieren. Software und physischen Artefakten umgehen und dabei ihre Konsistenz sicherstellen. K
Informatik Spektrum (2021) 44:82–94 87 Bezug zu den Sozialwissenschaften können Untersuchungen über die langfristigen Konse- quenzen und Diskussionen über das, was gesellschaftlich Es ist wie immer im Software Engineering: Die Einführung wünschenswert ist, ausgelöst und faktenorientiert geführt neuer Systeme verändert die Verhaltensweisen und Aktivi- werden. täten (Geschäftsmodelle und -prozesse, Support, etc.) der 2. Software Engineering nimmt Regulationen und Werte- NutzerInnen. Das muss so sein, denn sonst wäre die Soft- verständnisse auf und versucht, Verfahren, Algorithmen ware sinnlos. Die zurzeit massiv voranschreitende Digitali- und Architekturen zu entwickeln, um diese systematisch sierung wird daher starke Konsequenzen für Individuen, Or- umzusetzen. Dieser Punkt ist gewissermaßen das Gegen- ganisationen, Unternehmen und die Gesellschaft haben, die stück zum vorherigen Punkt, wo das Software Enginee- durchaus mit denen der Industrialisierung im 19. Jahrhun- ring Szenarien liefert; hier nimmt es solche von den So- dert vergleichbar sind. Offensichtlich hat sich das Kommu- zialwissenschaften auf. nikationsverhalten bereits massiv verändert. Untersuchun- 3. Software Engineering unterstützt Softwareentwicklungs- gen zeigen aber auch Änderungen der menschlichen Ko- ansätze mit Methoden und Werkzeugen, sodass auch gnition durch die allgegenwärtige Nutzbarkeit digitaler Ge- Nicht-SoftwaretechnikerInnen sie nutzen können. Als räte oder der Arbeitsweisen von Teams. Die Auswirkungen Beispiel können die bereits genannten Datenbanksyste- neu entstehender Geschäftsmodelle und ihrer gesellschaft- me gelten oder auch das Enduser-Computing, das in ver- lichen Auswirkungen können im sozialen und im Arbeits- schiedensten Formen weitere Verbreitung findet. Dazu leben immens sein, wenn die Wertschöpfung durch Au- gehören einfache und intuitive Konfigurationssprachen, tomatisierung und dem damit auch verbundenen Wegfall wie sie etwa im Bereich der Home-Automatisierung traditioneller Arbeitsplätze zugunsten neu geschaffener di- angeboten werden, oder auch Wizards für bestimmte gitaler Arbeitsplätze einhergeht. Dazu kommen Geschäfts- partikulare Probleme. Darüber hinaus trägt das Software modelle, die aus personenbezogenen Daten Werte schöpfen Engineering auch zur Nutzbarmachung wesentlicher Al- und Social-Media-Anwendungen, die durch das permanente gorithmen bei, insbesondere im Bereich des maschinel- Feedback zu den Handlungen einzelner auch grundlegen- len Lernens von Zusammenhängen aus Datenmengen, de Rechte wie Privatheit oder Gleichbehandlung zumindest wodurch den Sozialwissenschaften neue quantitative neu austarieren. Methoden effektiv zur Verfügung stehen. Die Erforschung dieser Effekte auf Einzelne, Organisa- 4. Mit der Durchdringung aller Lebensbereiche mit soft- tionen und die Gesellschaft insgesamt ist in den Sozialwis- warebasierten Produkten und Dienstleistungen rückt der senschaften als Technologiefolgenabschätzung bereits im Mensch als Nutzer, dessen User Experience es zu opti- Gange und beeinflusst auch das Software Engineering. mieren gilt, immer mehr in den Fokus der Entwicklung. Daher gibt es mehrere Schnittstellen des Software En- Solche Usability-Aspekte können nur mit sozialwissen- gineering zu den Sozialwissenschaften, die auch deshalb schaftlichen Methoden, insbesondere aus der Psycholo- relevant sind, weil viele Möglichkeiten der Digitalisierung gie, adäquat adressiert werden. Die Bedeutung der User und die daraus folgenden Verwendungsformen aktuell noch Experience für den Erfolg von softwarebasierten Lösun- nicht umgesetzt sind, sondern höchstens angedacht wer- gen hat zusätzlich durch eine Vielzahl neuer Benutzer- den. Dazu gehören sowohl Techniken der Speicherung und schnittstellen wie etwa für die Sprachein- und -ausga- Verarbeitung personenbezogener Daten im Bereich Data be oder Augmented bzw. Virtual Reality stark zugenom- Science als natürlich auch die Methoden der künstlichen men. Intelligenz, die im aktuellen Hype-Zyklus einige weitere 5. Wie bereits besprochen haben Menschen und Organi- Probleme lösen wird, aber auch dieses Mal alle nicht Pro- sationen einen entscheidenden Einfluss auf das Soft- bleme, zu deren Lösung Intelligenz notwendig ist, in den ware Engineering. Die Entwicklung und Untersuchung Griff bekommen dürfte. Software Engineering steht dem- von Software-Engineering-Artefakten bedarf deshalb nach zu den Sozialwissenschaften in folgenden Wechsel- der Anwendung von empirischen Forschungsmethoden wirkungen: und Theorien aus den Sozialwissenschaften wie der Psychologie oder Soziologie, um menschliche und orga- 1. Software Engineering kann Szenarien liefern, die ver- nisatorische Kontextfaktoren geeignet in den Software ständlich machen, welche Softwarefunktionalitäten in Engineering Forschungsprozess integrieren zu können. der nächsten Zukunft realisierbar sind oder realisierbar Software Engineering hat in diesem Sinne nicht nur Züge werden können. Hier sind durchaus auch sowohl Sze- von traditionellen Ingenieurswissenschaften wie Maschi- narien interessant, die das Wohl einzelner oder das Ge- nenbau oder Elektrotechnik, sondern unterscheidet sich samtwohl der Menschen verbessern, aber auch Szenarien von diesen durch diesen ausgeprägteren sozialwissen- beschreibbar, die nach dem aktuellen Werteverständnis schaftlichen Charakter. zwar möglich, aber nicht wünschenswert sind. Dadurch K
88 Informatik Spektrum (2021) 44:82–94 Eigentlich war es schon immer eine Aufgabe des Soft- Was macht moderne Software-Engineering- ware Engineering, sicherzustellen, dass Software nachvoll- Forschung aus und welche Themen müssen ziehbar ist. Allerdings steigt die Komplexität von Soft- diskutiert werden? ware, die aus immer umfangreicheren Technologie-Stacks sowie aus immer mehr und stärker vernetzten Anwendungs- Um aktuelle und zukünftige Forschungsbeiträge des Soft- komponenten entsteht, weiter deutlich an. Es werden im- ware Engineering abzustecken und den Bezug zu anderen mer häufiger selbstlernende Komponenten, aber auch tradi- Wissenschaften zu präzisieren, ist es notwendig, die moder- tionell programmierte intelligentere („smarte“) Komponen- ne Software-Engineering-Forschung im Zeitalter der Digi- ten zur Kontrolle immer kritischerer und mit immer mehr talisierung zu charakterisieren. Sensorik behafteter und daher unsicherer Systeme einge- Abb. 1 zeigt die Kernbereiche der Software-Engineering- baut werden. Machine-Learning-Komponenten komplizie- Forschung und ihre Wechselbeziehungen zu Anwendungs- ren dies weiter. Die Verstehbarkeit von Software, also ins- domänen und zu Grundlagenwissenschaften. Im Sinne der besondere die Nachvollziehbarkeit der Entscheidungen und oben genannten Kontextorientierung des Software Enginee- Kontrolle, die Software trifft bzw. ausübt, wird daher in der ring [2] und der Durchdringung aller Lebensbereiche mit nächsten Zeit deutlich wichtiger. Dabei ist Nachvollzieh- Software liefern Anwendungsdomänen wie die Produkti- barkeit während der Nutzung aber auch „post mortem“, on, die Logistik, das Gesundheitswesen, aber auch Wis- zum Beispiel zur Verbesserung der Software oder für ge- senschaftsdisziplinen selbst (insbesondere auch die Infor- richtliche Klärungen, notwendig. Sollte das nicht nachhaltig matik) den Kontext, d. h. Daten und Problemstellungen aus gelingen, werden roboterpsychologische Analysen für das einem bestimmten Sachzusammenhang, für die Software- Verhalten intelligenter Maschinen im Sinne von Asimovs Engineering-Forschung. In der Software-Engineering-For- notwendig. schung werden Artefakte (etwa Werkzeuge oder Entwick- Während die anderen Ingenieurswissenschaften im We- lungsmethoden) und Evidenz, d. h. empirisch oder formal sentlichen die Naturwissenschaften und die Mathematik als fundierte Einsichten, bereitgestellt, um die Problemstellung Grundlagenwissenschaften nutzen, sind dies für das Soft- im Anwendungskontext zufriedenstellend zu adressieren. ware Engineering vor allem die Mathematik, aber auch die Als Ingenieursdisziplin greift die Software-Engineering- Sozialwissenschaften, weshalb eine Befruchtung in beide Forschung dabei neben eigenen Forschungsansätzen auf Richtungen (zwischen Software Engineering und Sozial- Grundlagenwissenschaften wie Mathematik, Informatik, wissenschaften) sinnvoll und notwendig ist. andere Ingenieurswissenschaften oder Sozialwissenschaf- ten zurück. Diese liefern Algorithmen und Theorien und unterstützen dabei das Design von Lösungen und die Wis- sensgewinnung im Software Engineering. In den folgenden Abschnitten behandeln wir den Kern des Software Engi- Soware-Engineering-Forschung Artefakte, Theorien, Evidenz Algorithmen Einflussfaktoren Usability Nachhalgkeit Verlässlichkeit Grundlagenwissenschaen Informak Mathemak Anwendungsdomänen Unterhaltung Informak Handel Programm, Mensch, Mobilität Künstliche Intelligenz Spezifikaon Organisaon Energie Data Science Wissenscha Psychologie Produkon Logisk Kommunikaon Produkt, Methode, Betriebswirtschaslehre Finanzwirtscha System Werkzeug Elektrotechnik Gesundheitswesen Soziologie Einflussgruppen Wirtscha Staat Gesellscha Kontext Fragestellungen Abb. 1 Software-Engineering-Forschung sowie Verbindung zu Anwendungsdomänen und Grundlagenwissenschaften K
Informatik Spektrum (2021) 44:82–94 89 neering, also auch den Bezug zu Anwendungsdomänen und 2. Der Mensch (als Entwickler, Anwender oder in einer der Grundlagenwissenschaften ausführlich. vielen weiteren Rollen) und die Organisation (Entwick- lungsteam, Integration in eine Gesamtorganisation) Kern der Software-Engineering Forschung 3. Das Produkt (etwa die softwaregetriebene Innovation, die Qualität, die Softwarelogistik) oder System (etwa die In- Software Engineering und die zugehörige Forschung sind tegration von Software mit Hardware oder die Integration seit langem klar definiert, daran ändern auch aktuelle Dis- von Systemen) kussionen wie hier oder im Zuge von 50 Jahre Software 4. Die Methode (das Verfahren, die menschliche Aktivität, Engineering [1] nichts. Die folgende, bereits 1990 im IEEE der automatisierte Bearbeitungsalgorithmus im Werk- Glossary of Software Engineering Terminology [5] vorge- zeug, Prozessmodelle) oder das Werkzeug zur Unter- nommene Definition ist auch heute noch gültig und muss stützung aller Phasen des Softwarelebenszyklus (etwa aus Sicht der Autoren nicht adaptiert werden: Modellierungs- oder Testwerkzeuge) 1. The application of a systematic, disciplined, quantifia- Als Ingenieursdisziplin folgt das Software Engineering ble approach to the development, operation, and mainte- sinnvollerweise einem Design-Science-Ansatz, bei dem Ar- nance of software; that is, the application of engineering tefakte sich auf alle vorhin genannten Untersuchungsgegen- to software. stände des Software Engineering beziehen können. Der Be- 2. The study of approaches as in (1). griff „Artefakt“ ist dabei relativ breit angelegt und schließt Sie definiert das Software Engineering als Ingenieurs- Werkzeuge, zum Beispiel automatisierende oder unterstüt- disziplin („application of engineering to software“) mit ei- zende Algorithmen etwa zur Testfallgenerierung, Templates ner eigenen Methodik („systematic, disciplined, quantifia- zur Dokumentation von Anforderungen oder eine Methodik ble approach“), angewendet auf alle Phasen des Lebenszy- für die Aufwandsschätzung von Softwareprojekten mit ein. klus von Software („development, operation, and mainte- Mit der Durchdringung diverser Produkte und Dienstleis- nance of software“). Der zweiteilige Aufbau der Definiti- tungen mit Software nimmt neben der systematischen Kon- on bringt auch die enge Verzahnung von Software Engi- struktion von Artefakten die kreative Innovation eine immer neering (1) und Software-Engineering-Forschung (2) zum bedeutendere Rolle ein und wird auch zunehmend durch Ausdruck. Die Grenzen zwischen beiden verschwimmen Ansätze wie das Design Thinking oder Continuous Experi- bisweilen. In der Software-Engineering-Forschung ist auf mentation unterstützt. Werkzeuge spielen eine herausragen- alle Fälle die systematische Reflexion deutlich ausgepräg- de Rolle im Software Engineering, da sie die entwickel- ter und der angestrebte Nutzen sowie die Generalisierbar- ten Artefakte für die praktische Nutzung zugänglich ma- keit der Ergebnisse jenseits einzelner Projekte deutlich grö- chen. Erst die Existenz bestimmter Arten von Werkzeugen ßer. Eine scharfe Trennung kann jedoch nicht gezogen wer- haben moderne Entwicklungsmethoden, wie zum Beispiel den, da zum Beispiel die Entwicklung eines Frameworks, agile Entwicklung, möglich gemacht. Extreme Program- Werkzeugs oder Meta-Modells gleichzeitig sowohl Anwen- ming wäre ohne leichtgewichtige Testinfrastruktur, schnelle dungs- als auch Forschungscharakter haben kann. Generatoren und Übersetzer sowie Entwicklungsumgebun- Klassischerweise differenziert sich Software-Enginee- gen mit integrierten Refactoring-Werkzeugen undenkbar. ring-Forschung selbst in die spezifische Betrachtung der Der Komfort von spezifischen Editoren für Programmier- unterschiedlichen Aktivitäten im Softwarelebenszyklus. sprachen (typspezifische Autovervollständigung, Highligh- Diese sind Analyse, Design, Implementierung, Testen, ting, Refactoring im Editor) hat die Programmierweise der Deployment und Wartung. Hinzu kommen Querschnitts- Entwickler massiv verändert. Hätten wir solche Werkzeu- aktivitäten wie Projektmanagement, Qualitätsmanagement, ge auch in den früheren Phasen, wären auch Requirements Modellierung und Modellierungssprachen oder Varianten- Engineering, Architektur und Design wesentlich effizienter. management, die ebenfalls Teil der Software-Engineering- Auch fehlen uns gute Werkzeuge zur Nachverfolgung von Forschung sind. Den zentralen Untersuchungsgegenstän- Anforderungen und Designentscheidungen, die man drin- den in all diesen Kern- und Querschnittsaktivitäten des gend benötigt, um den Impact von Änderungen zu antizi- Softwarelebenszyklus können vier Bereichen zugeordnet pieren. werden: Software Engineering bzw. die Anwendung in konkreten Projekten beinhaltet typischerweise eine ausgeprägte Re- 1. Das Programm (der Code oder dessen Ausführung) und flexion, die sowohl zur Optimierung innerhalb des Projekts die Spezifikation (das informelle Diagramm, das formale als auch zur Weitergabe von projektübergreifendem Wissen textuelle oder grafische Modell, die natürlichsprachliche genutzt werden. Daraus ergibt sich die Konsequenz, dass Anforderung) ein Teil der Software-Engineering-Forschung notwendiger- weise im industriellen Kontext vorgenommen werden muss K
90 Informatik Spektrum (2021) 44:82–94 und es deshalb des Einsatzes empirischer Methoden be- Charakter komplexer. Natürlich sind die Informatik, die darf, um im industriellen Kontext Evidenz abzuleiten, etwa etwa genetische Algorithmen für das Search-Based Soft- um Entscheidungen zu unterstützen, welches Prozessmodell ware Engineering oder die damit verwandte künstliche In- in welcher Adaptierung in welchem Kontext am effektivs- telligenz bereitstellt, und das Data Science als Datenwis- ten funktioniert. Das „Manifest für Agile Softwareentwick- senschaft wichtige Grundlagendisziplinen für das Software lung“ [7] etwa wurde 2001 auf einem Treffen von Prakti- Engineering. Mit der zunehmenden Bedeutung der cyber- kern formuliert und von diesen in die Praxis der Software- physikalischen Systeme sind auch andere technische Wis- entwicklung getragen. Die Aufgabe der Software-Enginee- senschaften wie die Elektrotechnik oder der Maschinen- ring-Forschung ist es, in diesem Zusammenhang die Metho- bau bzw. die Physik als deren Grundlage wichtige Grund- den wissenschaftlich fundiert weiterzuentwickeln und deren lagendisziplinen. Wie bereits erwähnt sind aber auch die praktischen Einsatz kritisch und empirisch fundiert zu hin- Wirtschafts- und Sozialwissenschaften wie die Betriebs- terfragen und zu bewerten, um sie dadurch abhängig vom wirtschaftslehre, die Soziologie oder die Psychologie wich- Anwendungskontext durch die Bereitstellung von Evidenz tige Grundlagenwissenschaften für die Software-Enginee- zu optimieren. ring-Forschung. Wenn demnächst biologische Informati- Aufgrund der Anwendungsorientierung und der durch onsverarbeitung stärker eine Rolle spielt, wie das heute Hu- Software getriebenen Digitalisierung spielen auch Einfluss- man-Brain-Projekte oder Modellierung biologischer Syste- faktoren und Einflussgruppen für die Software-Enginee- me mit Informatikmethoden andeuten, werden auch Biolo- ring-Forschung eine große Rolle. Zu den Einflussfaktoren gie und Chemie als Grundlage noch relevanter. gehören die Verlässlichkeit („Dependability“), die Nach- Der enge Bezug des Software Engineering zu Grund- haltigkeit („Sustainability“) und die Benutzerfreundlichkeit lagenwissenschaften ist bereits im Software Engineering („Usability“). Verlässlichkeit ist traditionell stark vom Ein- Body of Knowledge (SWEBoK) [6] sichtbar, in dem ei- satz softwarebasierter Systeme in kritischen Domänen wie gene Kapitel Computing Foundations, Mathematical Foun- der Luftfahrt beeinflusst und umfasst Attribute wie Zuver- dations und Engineering Foundations im Wesentlichen auf lässigkeit („Reliability“), Sicherheit („Safety“), Verfügbar- die Grundlagenwissenschaften Informatik, Mathematik und keit („Availability“ und damit letztlich auch Performanz), Ingenieurswissenschaften verweisen. Wartbarkeit („Maintainability“) und Informationssicherheit In der Software-Engineering-Forschung entstehen dabei („Security“), aber zunehmend auch Nachvollziehbarkeit bestimmte Fragestellungen, die mithilfe der Grundlagen- und Erklärbarkeit, speziell im Kontext moderner daten- wissenschaften adressiert werden. Diese stellen Algorith- getriebener Anwendungen. Ausgehend vom ökologisch men oder Theorien bereit, die formal-mathematischer, phy- geprägten schonenden Umgang mit Ressourcen beinhaltet sikalischer oder sozialwissenschaftlicher Natur sein kön- die Nachhaltigkeit auch ethische Aspekte wie die Fair- nen, die im Forschungsprozess des Software Engineering ness von Entscheidungsalgorithmen. Usability steht für in die Entwicklung und Evaluierung von Lösungen ein- die Benutzerfreundlichkeit oder Gebrauchstauglichkeit ei- fließen und die als Artefakte und Evidenz wieder in die nes softwarebasierten Produkts oder eine Dienstleistung Anwendungsdomänen zurückfließen können. und gewinnt insbesondere mit neuen Benutzerschnittstellen Je nach betrachtetem Untersuchungsgegenstand kann zunehmen an Bedeutung. Software Engineering daher sehr mathematiknah und ana- Als Einflussgruppen spielen die Wirtschaft, der Staat lytisch formal sein, zum Beispiel, um formale Modelle oder und die Gesellschaft eine große Rolle, etwa indem sie den Programme zu behandeln, aber auch sehr empirisch und rechtlichen Rahmen für die Entwicklung und den Einsatz experimentell, um etwa spezifische Hypothesen über den von Software abstecken, wie zum Beispiel durch die Da- menschlichen Faktor bei der Entwicklung und der Nutzung tenschutzgrundverordnung in Bezug auf die Verarbeitung zu untersuchen. Die dritte große Säule des Erkenntnisge- personenbezogener Daten. winns, die Simulation, ist im Software Engineering als Test bereits intensiv im Einsatz und wird bei integrierter Relation des Software Engineering zu ihren Qualitätssicherung von Software (beispielsweise durch Ar- Grundlagenwissenschaften chitektur- oder Verhaltenssimulation) in einem komplexen System wie etwa einer Smart City auch in anderen Formen Als Ingenieurswissenschaft ist das Software Engineering noch intensiver eine Rolle spielen. Im Software Engineering wie andere Ingenieurswissenschaften auch auf die Erkennt- fehlen aber immer noch Eigenschaften klassischer Inge- nisse von Grundlagenwissenschaften angewiesen. Für die nieursdisziplinen, wie der durchgängigen modellbasierten anderen Ingenieurswissenschaften sind im Wesentlichen die Simulation vor der Realisierung zur frühen Qualitätsbewer- Naturwissenschaften und die Mathematik die Grundlagen- tung. Abgesehen von einzelnen Ansätzen (wie Software- wissenschaften, im Software Engineering ist die Situati- Architektursimulation) ist allerdings auch unklar, ob eine on durch den immateriellen und den immanent humanen solche frühe Simulation auf Modellbasis zur Qualitätsbe- K
Sie können auch lesen