Anwendungssoftware

Aus besserwiki.de

Ein Anwendungsprogramm (Softwareanwendung oder Applikation oder kurz App) ist ein Computerprogramm, das für eine bestimmte Aufgabe entwickelt wurde, die nicht mit dem Betrieb des Computers selbst zusammenhängt und in der Regel von Endbenutzern verwendet wird. Beispiele hierfür sind Textverarbeitungsprogramme, Media Player und Buchhaltungssoftware. Der Sammelbegriff "Anwendungssoftware" bezieht sich auf alle Anwendungen zusammengenommen. Die anderen Hauptkategorien von Software sind Systemsoftware, die sich auf den Betrieb des Computers bezieht, und Dienstsoftware ("Utilities").

Anwendungen können mit dem Computer und seiner Systemsoftware gebündelt oder separat veröffentlicht werden und können als proprietäre, Open-Source- oder Projekt-Software kodiert sein. Der Begriff "App" bezieht sich in der Regel auf Anwendungen für mobile Geräte wie z. B. Telefone.

Als Anwendungssoftware (auch Anwendungsprogramm, kurz Anwendung oder Applikation; englisch application software) werden Computerprogramme bezeichnet, die genutzt werden, um eine nützliche oder gewünschte nicht systemtechnische Funktionalität zu bearbeiten oder zu unterstützen. Sie dienen der „Lösung von Benutzerproblemen“. Beispiele für Anwendungsgebiete sind: Bildbearbeitung, E-Mail-Programme, Webbrowser, Textverarbeitung, Tabellenkalkulation oder Computerspiele.

Terminologie

In der Informationstechnologie ist eine Anwendung (App), ein Anwendungsprogramm oder eine Anwendungssoftware ein Computerprogramm, das entwickelt wurde, um Menschen bei der Ausführung einer Tätigkeit zu unterstützen. Je nach der Tätigkeit, für die es entwickelt wurde, kann eine Anwendung Text, Zahlen, Audio, Grafiken oder eine Kombination dieser Elemente bearbeiten. Einige Anwendungspakete konzentrieren sich auf eine einzige Aufgabe, wie z. B. Textverarbeitung; andere, so genannte integrierte Software, umfassen mehrere Anwendungen.

Benutzerdefinierte Software passt die Systeme an die spezifischen Bedürfnisse des Benutzers an. Dazu gehören Tabellenkalkulationsvorlagen, Makros für Textverarbeitungsprogramme, wissenschaftliche Simulationen, Audio-, Grafik- und Animationsskripte. Selbst E-Mail-Filter sind eine Art von Anwendersoftware. Die Benutzer erstellen diese Software selbst und übersehen oft, wie wichtig sie ist.

Die Abgrenzung zwischen Systemsoftware, wie z. B. Betriebssystemen, und Anwendungssoftware ist jedoch nicht exakt und gelegentlich Gegenstand von Kontroversen. So war beispielsweise eine der Schlüsselfragen im Kartellverfahren Vereinigte Staaten gegen Microsoft Corp. die Frage, ob Microsofts Webbrowser Internet Explorer Teil des Windows-Betriebssystems oder eine eigenständige Anwendungssoftware ist. Ein weiteres Beispiel: Die Kontroverse um die Namensgebung von GNU/Linux ist zum Teil auf die Uneinigkeit über die Beziehung zwischen dem Linux-Kernel und den Betriebssystemen zurückzuführen, die auf diesem Kernel aufbauen. Bei einigen Arten von eingebetteten Systemen können die Anwendungs- und die Betriebssystemsoftware vom Benutzer nicht unterschieden werden, wie z. B. bei der Software zur Steuerung eines Videorekorders, eines DVD-Players oder eines Mikrowellenherds. Die obigen Definitionen schließen möglicherweise einige Anwendungen aus, die auf einigen Computern in großen Organisationen vorhanden sind. Für eine alternative Definition einer Anwendung: siehe Anwendungsportfolio-Management.

Metonymie

Das als Adjektiv verwendete Wort "Anwendung" ist nicht auf die Bedeutung "von oder in Bezug auf Anwendungssoftware" beschränkt. Begriffe wie Anwendungsprogrammierschnittstelle (API), Anwendungsserver, Anwendungsvirtualisierung, Application Lifecycle Management und portable Anwendung gelten beispielsweise für alle Computerprogramme gleichermaßen, nicht nur für Anwendungssoftware.

Anwendungen und Killeranwendungen

Einige Anwendungen sind in Versionen für mehrere verschiedene Plattformen erhältlich, andere funktionieren nur auf einer und werden daher als Geografieanwendung für Microsoft Windows, als Android-Anwendung für den Bildungsbereich oder als Linux-Spiel bezeichnet. Manchmal taucht eine neue und beliebte Anwendung auf, die nur auf einer Plattform läuft und die Attraktivität dieser Plattform erhöht. Dies wird als Killer-Anwendung oder Killer-App bezeichnet. VisiCalc war beispielsweise die erste moderne Tabellenkalkulationssoftware für den Apple II und trug dazu bei, die damals neuen Personal Computer in Büros zu verkaufen. Bei Blackberry war es die E-Mail-Software.

In den letzten Jahren hat sich der verkürzte Begriff "App" (der 1981 oder früher geprägt wurde) als Bezeichnung für Anwendungen für mobile Geräte wie Smartphones und Tablets durchgesetzt, wobei die verkürzte Form zu deren typischerweise geringerem Umfang im Vergleich zu Anwendungen auf PCs passt. In jüngerer Zeit wird die Kurzform auch für Desktop-Anwendungssoftware verwendet.

Klassifizierung

Es gibt viele verschiedene und alternative Möglichkeiten, Anwendungssoftware zu klassifizieren.

Aus rechtlicher Sicht wird Anwendungssoftware hauptsächlich mit einem Black-Box-Ansatz klassifiziert, bei dem es um die Rechte der Endnutzer oder Abonnenten geht (mit eventuellen Zwischen- und abgestuften Abonnementstufen).

Anwendungssoftware wird auch in Bezug auf die Programmiersprache, in der der Quellcode geschrieben oder ausgeführt wird, sowie in Bezug auf ihren Zweck und ihre Ergebnisse klassifiziert.

Nach Eigentums- und Nutzungsrechten

Anwendungssoftware wird in der Regel in zwei Hauptklassen unterschieden: Closed-Source- bzw. Open-Source-Softwareanwendungen und freie oder proprietäre Softwareanwendungen.

Proprietäre Software steht unter dem ausschließlichen Urheberrecht, und eine Softwarelizenz gewährt begrenzte Nutzungsrechte. Der Grundsatz "offen-geschlossen" besagt, dass Software "nur zur Erweiterung, nicht aber zur Änderung offen" sein darf. Solche Anwendungen können nur von Dritten hinzugefügt werden.

Freie und quelloffene Software darf zu jedem Zweck ausgeführt, verteilt, verkauft oder erweitert werden, und - da sie offen ist - darf sie auf dieselbe Weise verändert oder umgekehrt werden.

FOSS-Softwareanwendungen, die unter einer freien Lizenz veröffentlicht werden, können unbefristet und auch lizenzgebührenfrei sein. Möglicherweise sind der Eigentümer, der Inhaber oder ein Dritter, der ein Recht durchsetzt (Urheberrecht, Warenzeichen, Patent oder ius in re aliena), berechtigt, Ausnahmen, Beschränkungen, zeitliche Abläufe oder Verfallsdaten zu den Nutzungsbedingungen der Lizenz hinzuzufügen.

Public-Domain-Software ist eine Art von FOSS, die lizenzfrei ist und - offen oder unter Vorbehalt - ausgeführt, verteilt, modifiziert, rückgängig gemacht, neu veröffentlicht oder in abgeleiteten Werken erstellt werden kann, ohne dass ein Urheberrechtsvermerk und damit ein Widerruf erfolgt. Sie kann sogar verkauft werden, ohne dass das gemeinfreie Eigentum auf andere Subjekte übertragen wird. Gemeinfreie SW kann unter einer (un)lizenzrechtlichen Erklärung freigegeben werden, die diese Bedingungen für eine unbestimmte Dauer (lebenslang oder für immer) durchsetzt.

Nach Kodierungssprache

Seit der Entwicklung und der nahezu universellen Verbreitung des Internets hat sich eine wichtige Unterscheidung herausgebildet zwischen Webanwendungen - die mit HTML, JavaScript und anderen webbasierten Technologien geschrieben werden und in der Regel einen Webbrowser erfordern - und den traditionelleren nativen Anwendungen, die in den für den jeweiligen Computertyp verfügbaren Sprachen geschrieben werden. In der Computerbranche gibt es eine kontroverse Debatte darüber, ob Webanwendungen native Anwendungen für viele Zwecke ersetzen, insbesondere auf mobilen Geräten wie Smartphones und Tablets. Webanwendungen haben in der Tat für einige Zwecke stark an Popularität gewonnen, aber die Vorteile von Anwendungen lassen es unwahrscheinlich erscheinen, dass sie bald verschwinden werden, wenn überhaupt. Darüber hinaus können sich die beiden Anwendungen ergänzen und sogar integriert werden.

Eine besondere Form von Anwendungssoftware sind Webanwendungen. Auf diese wird vom Arbeitsplatzrechner oder Mobilgerät über einen Webbrowser zugegriffen und sie laufen im Browser ab. Webanwendungen erfordern im Gegensatz zu Desktop-Anwendungen kein spezielles Betriebssystem, teilweise jedoch spezielle Laufzeitumgebungen.

Nach Zweck und Leistung

Anwendungssoftware kann auch als entweder horizontal oder vertikal betrachtet werden. Horizontale Anwendungen sind beliebter und weiter verbreitet, da sie für allgemeine Zwecke eingesetzt werden, z. B. Textverarbeitungsprogramme oder Datenbanken. Vertikale Anwendungen sind Nischenprodukte, die für einen bestimmten Industriezweig, ein bestimmtes Unternehmen oder eine bestimmte Abteilung innerhalb einer Organisation entwickelt wurden. Integrierte Softwaresuiten versuchen, alle spezifischen Aspekte von z. B. Produktions- oder Bankangestellten, Buchhaltung oder Kundendienst abzudecken.

Es gibt viele Arten von Anwendungssoftware:

  • Eine Anwendungssuite besteht aus mehreren gebündelten Anwendungen. Sie haben in der Regel verwandte Funktionen, Merkmale und Benutzeroberflächen und können miteinander interagieren, z. B. die Dateien der anderen öffnen. Geschäftsanwendungen werden oft in Suiten angeboten, z. B. Microsoft Office, LibreOffice und iWork, die ein Textverarbeitungsprogramm, eine Tabellenkalkulation usw. enthalten; es gibt aber auch Suiten für andere Zwecke, z. B. für Grafik oder Musik.
  • Unternehmenssoftware ist auf die Anforderungen der Prozesse und Datenflüsse eines gesamten Unternehmens ausgerichtet, und zwar über mehrere Abteilungen hinweg, oft in einer großen verteilten Umgebung. Beispiele hierfür sind Enterprise Resource Planning Systeme, Customer Relationship Management (CRM) Systeme, Datenreplikations-Engines und Supply Chain Management Software. Software für Abteilungen ist eine Unterart der Unternehmenssoftware, die sich auf kleinere Organisationen oder Gruppen innerhalb einer großen Organisation konzentriert. (Beispiele sind Reisekostenmanagement und IT-Helpdesk).
  • Unternehmensinfrastruktursoftware bietet allgemeine Funktionen, die zur Unterstützung von Unternehmenssoftwaresystemen benötigt werden. (Beispiele hierfür sind Datenbanken, E-Mail-Server und Systeme zur Verwaltung von Netzwerken und Sicherheit).
  • Application Platform as a Service (aPaaS) ist ein Cloud-Computing-Dienst, der Entwicklungs- und Bereitstellungsumgebungen für Anwendungsdienste bietet.
  • Information-Worker-Software ermöglicht es Benutzern, Informationen zu erstellen und zu verwalten, oft für einzelne Projekte innerhalb einer Abteilung, im Gegensatz zur Unternehmensverwaltung. Beispiele hierfür sind Zeitmanagement, Ressourcenmanagement, Analyse-, Kollaborations- und Dokumentationstools. Textverarbeitungsprogramme, Tabellenkalkulationen, E-Mail- und Blog-Clients, persönliche Informationssysteme und individuelle Medieneditoren können bei verschiedenen Aufgaben von Information Workern helfen.
  • Software für den Zugriff auf Inhalte wird in erster Linie für den Zugriff auf Inhalte ohne Bearbeitung verwendet, kann aber auch Software enthalten, die die Bearbeitung von Inhalten ermöglicht. Diese Software ist auf die Bedürfnisse von Einzelpersonen und Gruppen ausgerichtet, die digitale Unterhaltung und veröffentlichte digitale Inhalte konsumieren möchten. (Beispiele sind Media Player, Webbrowser und Hilfebrowser).
  • Lernsoftware ist mit Software für den Zugang zu Inhalten verwandt, hat aber Inhalte oder Funktionen, die für die Verwendung durch Lehrkräfte oder Schüler angepasst sind. So kann sie beispielsweise Bewertungen (Tests) liefern, den Lernfortschritt verfolgen oder Funktionen für die Zusammenarbeit enthalten.
  • Simulationssoftware simuliert physische oder abstrakte Systeme zu Forschungs-, Schulungs- oder Unterhaltungszwecken.
  • Medienentwicklungssoftware erzeugt gedruckte und elektronische Medien, die von anderen konsumiert werden können, meist in einem kommerziellen oder pädagogischen Umfeld. Dazu gehören Grafiksoftware, Desktop-Publishing-Software, Multimedia-Entwicklungssoftware, HTML-Editoren, Digitalanimations-Editoren, digitale Audio- und Videokomposition und viele andere.
  • Produktentwicklungssoftware wird bei der Entwicklung von Hardware- und Softwareprodukten eingesetzt. Dazu gehören computergestütztes Design (CAD), computergestütztes Engineering (CAE), Tools zur Bearbeitung und Kompilierung von Computersprachen, integrierte Entwicklungsumgebungen und Schnittstellen für Anwendungsprogrammierer.
  • Unterhaltungssoftware kann sich auf Videospiele, Bildschirmschoner, Programme zur Anzeige von Filmen oder zum Abspielen von Musikaufnahmen und andere Formen der Unterhaltung beziehen, die durch die Verwendung eines Computergeräts erlebt werden können.
Eine Tabellenkalkulation als weiteres Beispiel

Nach Plattform

Anwendungssoftware steht (nach ISO/IEC 2382) im Gegensatz zu Systemsoftware und Dienstprogrammen. Dazu „zählen die Programme, die für den korrekten Ablauf einer Rechenanlage erforderlich sind, sowie alle Programme, die die Programmerstellung unterstützen, z. B. Übersetzer und Testwerkzeuge und allgemeine Dienstleistungen bereitstellen [… Formatierung, Dateiverwaltung, Datentransfer …]“, die aber keinen Endbenutzer-bezogenen ‚Nutzen‘ bringen. Beispiele sind das Betriebssystem, Compiler für verschiedene Programmiersprachen oder Datenbanksysteme.

Anwendungssoftware kann sowohl lokal auf einem Desktop-Computer (Desktop-Anwendung) bzw. auf einem Mobilgerät installiert sein oder auf einem Server laufen, auf den vom Desktop-Computer bzw. Mobilgerät zugegriffen wird (Client-Server- bzw. Webanwendung). Sie kann, abhängig von der technischen Implementierung, im Modus Stapelverarbeitung oder im Dialogmodus (mit direkter Benutzer-Interaktion) ausgeführt werden. Diese beiden Unterscheidungen gelten aber für alle Computerprogramme, grundsätzlich auch für Systemsoftware.

Anwendungen können auch nach Computerplattformen klassifiziert werden, z. B. als Desktop-Anwendung für ein bestimmtes Betriebssystem, als Bereitstellungsnetzwerk wie beim Cloud Computing und bei Web 2.0-Anwendungen oder als Bereitstellungsgeräte wie mobile Anwendungen für mobile Geräte.

Das Betriebssystem selbst kann als Anwendungssoftware betrachtet werden, wenn es einfache Rechen-, Mess-, Rendering- und Textverarbeitungsaufgaben ausführt, die nicht zur Steuerung von Hardware über eine Befehlszeilenschnittstelle oder eine grafische Benutzeroberfläche verwendet werden. Dies gilt nicht für Anwendungssoftware, die in Betriebssystemen gebündelt ist, wie z. B. ein Taschenrechner oder ein Texteditor.

Mobile Apps können über einen in das mobile Betriebssystem integrierten App Store bezogen und direkt auf dem Gerät installiert werden. Mobile Web-Apps werden über den Webbrowser des Mobilgeräts abgerufen und müssen nicht installiert werden.

Software für Informationsarbeiter

  • Buchhaltungssoftware
  • Datenverwaltung
    • Kontakt-Manager
    • Tabellenkalkulation
    • Datenbank-Software
  • Dokumentation
    • Automatisierung von Dokumenten
    • Textverarbeitung
    • Desktop-Publishing-Software
    • Software für Diagrammerstellung
    • Software für Präsentationen
    • E-Mail
    • Blog-Software
  • Unternehmensressourcenplanung
  • Finanz-Software
    • Bankensoftware
    • Clearing-Systeme
    • Finanzbuchhaltungs-Software
    • Finanz-Software
  • Außendienst-Management
    • Software für die Verwaltung von Arbeitskräften
  • Projektmanagement-Software
    • Kalender-Software
    • Software für die Personaleinsatzplanung
    • Arbeitsablauf-Software
  • Reservierungssysteme

Unterhaltungs-Software

  • Bildschirmschoner
  • Videospiele
    • Arcade-Spiele
    • Konsolenspiele
    • Mobile Spiele
    • Spiele für Personal Computer
  • Software-Kunst
    • Demo
      • 64K-Einführung

Pädagogische Software

  • Klassenzimmer-Management
  • Referenz-Software
  • Software zur Verkaufsvorbereitung
  • Verwaltung von Umfragen
  • Software für Enzyklopädien

Infrastruktur-Software für Unternehmen

  • Künstliche Intelligenz für den IT-Betrieb (AIOps)
  • Software für Geschäftsabläufe
  • Datenbankverwaltungssystem (DBMS)
  • Software für die Verwaltung digitaler Bestände (DAM)
  • Software für die Dokumentenverwaltung
  • Geografisches Informationssystem (GIS)

Simulations-Software

  • Computer-Simulatoren
    • Wissenschaftliche Simulatoren
    • Soziale Simulatoren
    • Schlachtfeld-Simulatoren
    • Notfall-Simulatoren
    • Fahrzeug-Simulatoren
      • Flugsimulatoren
      • Fahrsimulatoren
    • Simulationsspiele
      • Fahrzeug-Simulationsspiele

Software für die Medienentwicklung

  • 3D-Computergrafik-Software
  • Animations-Software
  • Software für grafische Gestaltung
    • Editor für Rastergrafiken
    • Editor für Vektorgrafiken
  • Bildbearbeitungsprogramm
  • Software zur Videobearbeitung
  • Software zur Audiobearbeitung
    • Digitaler Audio-Arbeitsplatz
  • Musik-Sequenzer
    • Notenschreiber
  • HTML-Editor
  • Werkzeug zur Spieleentwicklung

Software für die Produktentwicklung

  • Hardware-Entwicklung
    • Computergestütztes Engineering
    • Computergestützter Entwurf (CAD)
    • Computergestützte Fertigung (CAM)
    • Finite-Elemente-Analyse

Software-Entwicklung

  • Compiler-Software
  • Integrierte Entwicklungsumgebung
    • Compiler
    • Linker
    • Debugger
  • Versionskontrolle
  • Werkzeug zur Spieleentwicklung
  • Lizenz-Manager