Schiller-Stoff, Sebastian David; sebastian.stoff@uni-graz.at
Das Standard Glossary of Software Engineering Terminology definiert Software als: “Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system” ("Computerprogramme, Verfahren und möglicherweise zugehörige Dokumentation und Daten, die sich auf den Betrieb eines Computersystems beziehen") und wird als Gegensatz von Computer-Hardware angeführt. (IEEE 1990, S. 66)
Es gibt keine einheitliche Kategorisierung von Software und laut Starke et al. ist es auch fraglich ob jemals eine zufriedenstellende universelle Systematisierung erreicht werden kann. (Lilienthal 2020, S. 19; Starke et al. 2020 S. 16)
Das Standard Glossary of Software Engineering Terminology verweist unter Software (bei “see also”) jedenfalls auf die direkten Subkonzepte “Application Software” (Anwendungssoftware) , “Support Software” (Unterstützungssoftware) und “System Software” (Systemsoftware). (IEEE 1990, S.66; Starke et al. 2020, S. 15)
Eine weitere geläufige Systematisierung von Software ist die Unterteilung in Individualsoftware (Software, die selbst entwickelt wird) und Standardsoftware (Software, die nachgenutzt und nicht selbst entwickelt wird ). (Starke et al. 2020, S. 15)
Weit verbreitet ist es auch, Softwaresysteme bzw. softwareintensive Systeme zu unterscheiden. Starke et al. unterteilen diese weiter in 1. Informationssysteme, 2. Eingebettete Systeme und 3. Mobile Systeme. (Starke et al. 2020, S. 17f.)
Zusammengefasst ergibt das die folgende grobe Systematisierung von Software mit Beispielen aus dem spezifischen Kontext der Digitalen Geisteswissenschaften – je nach Disziplin kann die Systematisierung abweichen:
Software-Systematisierung
- Systematisierung nach Art der Entstehung
- Standardsoftware
- z. B. Installation und Nutzung von Transkribus zur Erfassung mittelalterlicher Urkunden
- Individualsoftware
- z. B. Entwicklung eigener Python- oder XSLT-Programme für die NLP-Analyse mittelalterlicher Texte.
- Standardsoftware
- Systematisierung nach Art der Nutzung
- Anwendungssoftware
- z. B. DARIAH Corpus Explorer oder DARIAH Geobrowser
- Unterstützungssoftware (Code-Editoren, Compiler etc.)
- z. B. Oxygen XML-Editor, TEI-XML Validatoren, Versionskontrollsysteme wie GIT zur Versionierung von Forschungsdaten.
- Systemsoftware
- z. B. REST-API für das Anbieten von DH-spezifischen Webservices wie zum Beispiel WebLicht oder REST-Endpunkte für ein digitales Archiv.
- Anwendungssoftware
- Systematisierung nach Art des Bedeutungszusammenhangs
- Softwaresysteme
- Restliche Software (Skripte)
- z. B. kleinere Skripte zur Bereinigung von Datenfehlern.
Literatur:
- Dowalil, Herbert. 2020. Modulare Softwarearchitektur: Nachhaltiger Entwurf durch Microservices, Modulithen und SOA 2.0 Modulare Softwarearchitektur. München.
- 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology. URL: https://ieeexplore.ieee.org/document/159342
- Lilienthal, Carola. 2019. Langlebige Software-Architekturen. Technische Schulden analysieren, begrenzen und abbauen. Heidelberg. URL: https://www.langlebige-softwarearchitekturen.de.
- Richards, Mark; Ford, Neal. 2020. Handbuch moderner Softwarearchitektur: Architekturstile, Patterns und Best Practices Handbuch moderner Softwarearchitektur. Heidelberg.
- Starke, Gernot. 2002. Effektive Software-Architekturen: Ein praktischer Leitfaden Effektive Software-Architekturen. München Wien.
- Gharbi, Mahbouba; Koschel, Arne; Rausch, Andreas; Starke, Gernot. 2020. Basiswissen für Softwarearchitekten. Aus- und Weiterbildung nach iSAQB-Standard zum Certified Professional for Software Architecture. Heidelberg. URL: https://dpunkt.de/produkt/basiswissen-fuer-softwarearchitekten-3/.