fbpx
Wikipedia

Software

Der Begriff Software ist bis heute nicht einheitlich und auch nicht eindeutig definiert. Das geht u. a. darauf zurück, dass „innerhalb der Softwaretechnik […] eine einheitliche solide, konsistente und systematische Begriffsbildung durch eine hohe Innovationsgeschwindigkeit und Praxisnähe behindert“ wird.:22 Es existieren daher verschiedene Definitionen, die sich je nach Autor und Kontext oft auch nur in Details unterscheiden.

Die Bezeichnung Software wird im allgemeinen Sprachgebrauch meist nur auf Programme bezogen, nicht aber auf andere Daten. Daneben können aber auch der Quelltext, weitere Daten oder die Dokumentation je nach Definition hinzugezählt werden.

Außerdem wird Software auch als Gattungsbegriff für unterschiedliche Arten von Programmen verwendet (Grafiksoftware, Anwendungssoftware, Standardsoftware, Sicherheitssoftware u. v. a.).

Etymologie

Der Ausdruck Software ist ein Kunstwort, das von John W. Tukey im Jahr 1958 imAmerican Mathematical Monthly als Gegenstück zu dem wesentlich älteren Wort Hardware das erste Mal verwendet wurde. Dabei bezeichnet Hardware alle physischen Bestandteile eines Computers. In diesem Sinn könnten unter Software – als dem Gegenstück zur Hardware – grundsätzlich alle elektronisch gespeicherten Daten verstanden werden. Als Definition genügt diese Sichtweise jedoch nicht.

Definitionen nach ISO/IEC-Norm 24765

Die aktuelle ISO/IEC-Norm 24765 ersetzte die DIN-Norm 44300 und enthält für Software folgende Definitionen:

  • Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben.
  • Software sind Programme sowie die zugehörige Dokumentation.
  • Software sind Programme und ggf. die zugehörige Dokumentation und weitere Daten, die zum Betrieb eines Computers notwendig sind.

Welche dieser Definitionen zutrifft, hängt vom jeweiligen Kontext ab, wobei auch hier die Übergänge fließend sind.

Software als Programm

In der Softwaretechnik besteht Software aus „Computerprogrammen in jeder Erscheinungsform, vom Quelltext bis zum direkt ausführbaren Maschinencode“. Computerprogramme bestehen oft aus mehreren Komponenten, die sich auch über mehrere Dateien verteilen können.

Software als Programm und Dokumentation

Im Softwarerecht (oft im Zusammenhang mit dem Softwareerwerb) wird Software auch als Softwareprodukt bezeichnet, das „als Beiwerk zusätzlich Bestandteile wie z. B. die Dokumentation in digitaler oder gedruckter Form enthalten kann oder muss“. So auch im Urheberrecht, bei dem das Entwurfsmaterial zur Software gehört, wie der Quelltext, auch Quellprogramm genannt. D. h. der Urheberrechtsschutz gilt i. d. R. auch für den Quellcode [als Schutzgegenstand].

Software als Programm, Dokumentation und Daten

Einige Definitionen nennen neben dem Programm selbst (und evtl. der Dokumentation) auch weitere Daten als zur Software gehörend („zugehörige Daten“). Im Glossar des IEEE für Softwareentwickler werden Beispiele für derartige nicht-ausführbare Softwareteile genannt, wie Schriftarten, Grafiken, Audio- und Videoaufzeichnungen, Vorlagen, Wörterbücher, Dokumente und Informationsstrukturen (wie Datenbank-Datensätze).

Weiterhin gibt es Software-Definitionen, die sämtliche Daten umschließen, die das Computerprogramm nutzt und darüber hinaus auch die Dokumentation einbeziehen. Demgegenüber gibt es auch Definitionen, die sowohl die Dokumentation als auch die zur Verarbeitung vorgesehenen Daten ausschließen.

Eine klare Trennlinie, die beschreibt, welche Daten konkret gemeint sind, ist jedoch nicht näher definiert (z. B. die zu verarbeitenden Daten oder welche Daten ‚notwendig‘ oder ‚zugehörig‘ sind).

In den 1950er Jahren waren Software und Hardware noch verbunden und als Einheit wahrgenommen. Die Software war dabei Teil der Hardware und wurde als Programmcode bezeichnet. 1958 prägte der Statistiker John W. Tukey den Begriff Software erstmals.

Später sorgte dann die Entscheidung der US-Regierung in den 1970er Jahren für eine Neuheit, dass IBM auf Rechnungen Software und Hardware getrennt zu berechnen und aufzuführen habe. Das entsprach einer Anerkennung der Einzelhaftigkeit von Software von offizieller Seite und einer endgültigen Aufspaltung von Hardware und Software bzw. einer Abgrenzung der Software von der Hardware.

Dieser Entwicklung folgte dann in den 1970er Jahren die Gründung von Firmen, die erstmals nur mit Software handelten und nur Software und keine Hardware entwickelten. Zu diesen Firmen gehörte in den USA Microsoft und in Deutschland SAP. Die Existenz solcher Firmen erscheint im 21. Jahrhundert als Selbstverständlichkeit, stellte damals jedoch eine erhebliche Neuerung dar.

Der logische Übergang zwischen Hard- und Software lässt sich an den frühen Spielhallenspielen verdeutlichen, wie das Spiel Breakout, das im April 1976 veröffentlicht wurde. Damals bestand deren komplettes Programm (der Ablauf, die Logik) bildlich gesehen aus „vorverdrahteten Schalttafeln“. Das von Atari produzierte Spielhallengerät verwendete keinen Prozessor. Bereits ein Jahr später, als das Spiel für den Computer programmiert wurde und man anfing, bei prozessorgesteuerten Geräten zwischen den Begriffen ‚Hardware‘ und ‚Software‘ zu unterscheiden, gab es Breakout als Software. Das Spiel bestand nicht mehr aus „vorverdrahteten Schalttafeln“, sondern aus Anweisungen für einen Prozessor inklusive der für die Abarbeitung notwendigen weiteren Informationen, die gemeinsam auf einem Datenträger hinterlegt wurden.

Software ist immateriell

Software ist immateriell und besteht aus den Sprachen und Notationen, in denen sie formuliert ist.:37 Software kann zwar auf bestimmten Medien gespeichert, gedruckt, angezeigt oder transportiert werden. Diese sind aber nicht die Software, sondern sie enthalten sie nur.

Es ist zwar vorstellbar, Bits sichtbar und greifbar auf einem Trägermedium zu hinterlegen, doch grundsätzlich ist ‚Software‘ ein abstrakter, von Trägermedien unabhängiger Begriff. Das trifft für den Gattungsbegriff ohnehin zu, aber auch für konkrete Ausprägungen wie ein bestimmtes Anwendungsprogramm. Als Analogie dazu ist es für den Begriff ‚Oper‘ oder ‚Zauberflöte‘ nicht begriffsbestimmend, ob sie im Theater aufgeführt, über Radio/TV übertragen oder als CD verkauft oder gehört wird, ob sie im Opernführer beschrieben oder in der Partitur aufgezeichnet ist.

In Details unterschiedliche Bedeutungen

  • Im Zusammenhang mit der Ausführung auf einem Computer wird unter Software primär alles verstanden, was auf dem Rechner ausgeführt werden kann (das Programm im engeren Sinn, bestehend aus Befehlen und Datendefinitionen). Dazu kommen die mit den Programmen verbundenen Ressourcen, die zum Betrieb der Software erforderlich sind. Das sind, abhängig von den verwendeten Entwicklungswerkzeugen, zum Beispiel Konfigurationsdateien, Schriftart-Dateien, Lookup-Tabellen, Datenstrukturen für Datenbanken etc.
  • In engstem Sinn wäre unter ‚Software‘ nur von der Hardware ausführbarer Maschinencode zu verstehen. Jedoch fällt darunter auch alles, was durch beliebige ‚interpretierende Systeme‘, die Teil der Systemsoftware sind, ausgeführt werden kann, wie das bei Verwendung höherer Programmiersprachen und Entwicklungsumgebungen nahezu immer der Fall ist.
  • So ist auch der Quellcode in der Softwareentwicklung (als wesentlicher Arbeitsgegenstand) und in der Qualitätssicherung (als bedeutender Prüfgegenstand; Details siehe Softwarequalität) ein wesentliches Software-Artefakt.
  • Sprachlich wird der Ausdruck ‚Software‘ unterschiedlich verwendet: Er steht für konkret benannte Komponenten (Programm XY, Unterprogramm ABC, Konfigurationsdatei XXX.INI). Er wird als Sammelbegriff für unterschiedliche Gesamtheiten/Mengen von Programmen benutzt, zum Beispiel für eine aus vielen Einzelprogrammen bestehende Buchhaltungssoftware (siehe Software-System), für alle Anwendungen eines Unternehmens („unsere Unternehmenssoftware“), oder als Typ-/Gattungsbegriff für unterschiedliche Arten von Software (wie Grafiksoftware, Standardsoftware, Systemsoftware etc.).

Fließende Grenze zwischen Software und Daten

Zur Verarbeitung bestimmte Daten zählen im allgemeinen Sprachgebrauch nicht zum Begriff Software. Jedoch ist die Grenze zwischen Software und Daten fließend, denn je nach Situation können Daten und Programme in unterschiedlichen Rollen auftreten und die Begriffe dabei vertauscht werden:

  • Auf der Dateiebene können Mischformen auftreten, beispielsweise in Office-Dokumenten oder bei einer Tabellenkalkulationsdatei. Hier enthält eine Datei sowohl Daten im Sinne von das Bearbeitete (Texte oder Zelleninhalte) als auch funktionale Anweisungen (Makroanweisungen, Zellformeln).
  • Vertauscht sind die Rollen beispielsweise, wenn ein Quellprogramm von einem Compiler in ein Maschinenprogramm umgewandelt wird: Sowohl das Quellprogramm als auch das erzeugte Binärprogramm sind ‚Daten‘, der Compiler ist die Software. Ebenso verwendet ein Interpreter ein Quellprogramm oder ein Emulator ein Binärprogramm als Daten und erzeugt daraus speicherintern den ausführbaren Code. Die so verarbeiteten Programmdateien sind Software, rollenspezifisch aber gleichzeitig Daten.

Dieser Zusammenhang, dass ein Programm sowohl als Daten als auch als Funktion auftreten kann, ist zentral in verschiedenen Disziplinen der Informatik, darunter die theoretische Informatik (u. a. Rekursionstheorie, Automatentheorie, Domaintheorie) und die technische Informatik (z. B. Von-Neumann-Architektur).

Unterscheidung zwischen Hard- und Software

Je nach Zusammenhang ist bei der Unterscheidung zwischen Hard- und Software eine oder mehrere der folgenden Bedeutungen gemeint:

  • Leicht veränderbare Komponente (Software) vs. schwer veränderbare Komponente (Hardware) in einem Computerdesign.
  • Instruktionskode (Software) vs. universelle Maschine (Hardware).
  • Nicht-greifbar im Sinne von Funktionsbestandteilen eines Computersystems, die sich „nicht anfassen lassen (Software) vs. greifbare Komponenten (Hardware). Software ließe sich über eine Telefonleitung übertragen, Hardware dagegen nicht.

Die Gegensätze sind in der englischsprachigen Begriffsprägung (soft=weich, hard=hart) beabsichtigt.

Software kann aus vielen unterschiedlichen Gesichtspunkten betrachtet werden, zum Beispiel:

Zusammenwirken mit der Hardware (Execution)

Software: Typisierung, Zusammenhänge, Überblick

„Zwischen Hard- und Software besteht eine gewisse Aufgabenverteilung: Die Hardware garantiert […] Quantität, also Tempo und Speicherkapazität, die Software sorgt für […] die Abbildung der Anforderungen […] auf die strukturell primitive Hardware“

Software Engineering:38

Obwohl dem Begriff ‚Software‘ teilweise Attribute wie Flexibilität, Individualität, Leistungsfähigkeit etc. zugeschrieben werden, wird letztlich alles, was der Computer ‚tatsächlich tut‘, nicht von der Software, sondern ausschließlich durch die Hardware ausgeführt. Software ‚beschreibt‘ lediglich, was getan werden soll und in welcher Form das geschieht.

Dazu wird auf unterster Ebene der Maschinencode der Software unter Nutzung des Betriebssystems (d. h. ebenfalls durch dessen Maschinenbefehle) in den Hauptspeicher des Computers geladen und dem Rechenwerk Schritt für Schritt (siehe Befehlszähler) zur Ausführung zugeführt. Dieses Arbeitsprinzip gilt für jede Art von Software, auch wenn sie z. B. von Interpretern ausgeführt wird: Diese sind ebenfalls Software, deren Maschinencode an der Hardwareschnittstelle ebenfalls wie beschrieben ausgeführt wird und die Maschinenbefehle nur speicherintern erzeugt. Auch Compiler, Makroprozessoren und jede andere Art von Systemsoftware werden nach diesem Prinzip ausgeführt.

Der Maschinencode muss dafür in einer Form/Struktur vorliegen, die von der Hardware über deren darin implementierte Schnittstelle interpretiert und ausgeführt werden kann. Die Befehle zeigen durch ihren Inhalt und ihre Struktur an, was zu tun ist, welche Datenbereiche im Hauptspeicher dabei benutzt oder verändert werden sollen (über im Befehl enthaltene Adressierungsangaben) und gegebenenfalls an welcher Stelle das Programm fortzusetzen ist.

Bei der Ausführung wirken also viele Schichten zusammen und führen als Gesamtheit zu Zustandsänderungen in der Hardware bzw. final zu den vorgesehenen Ergebnissen, etwa der Ausgabe einer Druckzeile, einem Datenzugriff oder der Anzeige eines Feldinhalts am Bildschirm. Bei in höheren Programmiersprachen entwickelten Anwendungen können so schon für relativ einfache Funktionen (wie Lesen aus der Datenbank) oft Hunderttausende oder Millionen von Maschinenbefehlen durchlaufen werden.

Das in modernen Computern mögliche parallele Ausführen mehrerer Programme/Prozesse wird im Wesentlichen durch das Betriebssystem bewirkt, das bei bestimmten Ereignissen den Wechsel von einer zur anderen Task einleitet und verwaltet. Siehe auch Multitasking.

Im systematischen Zusammenwirken vieler Komponenten, das nur unter Anwendung klar definierter Schnittstellen möglich ist, „gehört Software also zu den komplexesten Artefakten, die Menschen bislang geschaffen haben“.:37

Die Software trägt zudem maßgeblich dazu bei, wie effizient die Hardware genutzt wird. Je nach Gestaltung der Algorithmen können mit derselben Hardware unterschiedliche Systemleistungen erreicht werden.

Entwicklung von Software

Hauptartikel: Softwaretechnik

Die Entwicklung von Software ist ein komplexer Vorgang. Dieser wird durch die Softwaretechnik, ein Teilgebiet der Informatik, systematisiert. Hier wird die Erstellung der Software schrittweise in einem Prozess von der Analyse über die Softwaremodellierung bis hin zum Testen als wiederholbarer Prozess beschrieben.

In aller Regel wird die Software nach der Entwicklung mehrfach angepasst und erweitert. Der Software-Lebenszyklus kann durchaus mehrere Jahre betragen.

  • Software wird unter Nutzung bestimmter Verfahren, Methoden und ‚Werkzeuge‘ entwickelt. Dabei werden unterschiedliche Entwicklungsstadien durchlaufen, in denen jeweils unterschiedliche Zwischenstände der Software entstehen: Analysetätigkeiten (zahlreiche Entwicklungsdokumente) > Programmierung (Quellcode) > im Betrieb (Maschinencode oder ausführbarer Code). Im engeren Sinn der Ausführung auf dem Computer gilt lediglich Letzteres als ‚Software‘. Siehe auch Softwareentwicklung.
  • In diesem Zusammenhang ist Software Bearbeitungsgegenstand von Systemprogrammen: Wenn z. B. ein Compiler den Quellcode eines Programms liest, verarbeitet und einen Maschinen- oder Zwischencode erzeugt, so sind das aus dessen Sicht ‚Daten‘.
  • Einmal erzeugte Software kann mit verhältnismäßig geringen Kosten vervielfältigt werden, die meist durch Datenträger, Werbung und das Herstellen von Verpackung und zu Papier gebrachten Dokumentationen anfallen.
  • Software verschleißt nicht durch Nutzung, unterliegt jedoch mit der Zeit der Softwarealterung.
  • Software ist meist austauschbar, fähig zur Aktualisierung, korrigierbar und erweiterbar, insbesondere dann, wenn bestehende Richtlinien eingehalten werden und der Quelltext verfügbar ist.
  • Software tendiert dazu, umso mehr Fehler zu enthalten, je komplexer sie ist. Fehler werden in aktualisierten Softwareversionen oder mithilfe eines Patches und i. d. R. nach Durchführung von Softwaretests behoben. Softwarefehler bezeichnet man auch als Programmfehler oder als „Bugs“.
  • Weil Software unter Einsatz vieler unterschiedlicher Programmiersprachen und in vielen unterschiedlichen Betriebssystemen und Systemumgebungen entwickelt werden kann, sind Softwarestandards erforderlich, um Informationen system- und unternehmensübergreifend ‚verstehbar‘ und austauschbar zu machen. Siehe auch Elektronischer Datenaustausch (Beispiele), Programmierstil.

Auswahl von Software

Hauptartikel: Softwarebeschaffung

In der Entscheidung zur Anschaffung von Software lässt sich i. W. der Einsatz von Standardsoftware oder die eigene Herstellung (Individualsoftware) unterscheiden. Besonders im betrieblichen Umfeld zieht diese Entscheidung häufig hohe Kosten nach sich. Auch können solche Entscheidungen Grundlage zur Umsetzung der Unternehmensstrategie sein oder sollen Unternehmensprozesse maßgeblich verbessern. Zur Vermeidung von Fehlinvestitionen sollte der Anschaffung ein systematischer Entscheidungsprozess vorausgehen.

Betrieb von Software

Hauptartikel: IT-Service-Management
  • Der Einsatz von Software erfordert je nach Einsatzbereich ein gewisses Maß an Organisation, um die zusammengehörenden Teile richtig einzusetzen und durch neue Versionen abzulösen (zum Beispiel in größeren Unternehmen im Releasemanagement).
  • Mitunter kann Software vorkonfiguriert werden, um so eine Neuinstallation zu beschleunigen und um Fehler bei der Konfiguration zu minimieren.

Software aus Sicht der Betriebswirtschaft und Arbeitssoziologie

Im Wesentlichen für betriebliche Anwendungssoftware geltend kann Software aus (betriebs-)wirtschaftlicher Sicht als ‚im Voraus geleistete geistige Arbeit‘, also als Investition betrachtet werden. Zum Beispiel erarbeiten die Programmautoren ein Lösungsverfahren für die korrekte Trennung aller deutschen Wörter in einem Textverarbeitungsprogramm. Damit ist im Voraus, also bevor diese Tätigkeit tatsächlich anfällt, schon für alle Schreiber, die mit diesem Textverarbeitungsprogramm arbeiten, die geistige Arbeit „korrektes Trennen deutscher Wörter“ geleistet. Dabei wird die Eigenschaft von Computern genutzt, auf sie verlagerte Aufgaben erheblich schneller und zuverlässiger ausführen zu können als es bisher Menschen möglich war. Besonders auch in der Softwareentwicklung wird intensiv auf „im Voraus“ entwickelte Algorithmen und Codeteile – als Teile eines Programms – zurückgegriffen (‚Software-Wiederverwendung‘).

Ein ähnlicher Zusammenhang wird in der Arbeitssoziologie gesehen: Derartige softwarebasierte Maßnahmen sind geeignet, Arbeitsinhalte und -abläufe erheblich zu verändern. Die Bandbreite reicht dabei vom Bereitstellen einfacher Hilfsmittel (etwa zur Summierung oder Durchschnittsermittlung) bis hin zur völligen Umgestaltung von Prozessen (durch Konzentration früher getrennter oder durch Zerlegung früher zentralisierter Arbeitsabläufe) – oder gar bis zu deren vollständigem Ersatz durch IT-Lösungen. Brödner u. a. nennen das „materialisierte“ Kopfarbeit. Siehe auch Rationalisierung, Optimierung, Taylorismus.

Qualität von Software

Hauptartikel: Softwarequalität

Für die Erstellung und den Betrieb von Software wurden bestimmte Qualitätskriterien festgelegt. Diese sollen als funktionale oder nicht-funktionale Eigenschaften von Software implementiert werden und beziehen sich auf die Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änbderbarkeit und Übertragbarkeit.

Detailliertere Angaben zu jedem dieser Haupt-Qualitätskriterien nennt beispielsweise die Norm ISO/IEC 9126. Für jeden Einzelfall von Softwareerstellung soll/kann festgelegt werden, welche konkreten Anforderungen im Detail zu berücksichtigen sind.

Nach ISO/IEC 2382 wird Software wie folgt gegliedert (und bezeichnet):

Unterteilung nach dem Grad der Individualität

  • Standardsoftware wird von einem Softwareanbieter zum Einsatz bei mehreren/vielen Kunden erstellt, die diese Software erwerben können.
  • Individualsoftware wird für einen einzelnen Anwender zur Lösung einer spezifischen Aufgabenstellung individuell erstellt oder modifiziert, alternativ durch einen Softwareanbieter oder durch eigene Entwickler bzw. Entwicklungsabteilungen eines Unternehmens.

Rechtlich wird beim Erwerb von Software zwischen Individualsoftware und Standardsoftware unterschieden: Für Individualsoftware wird ein Werkvertrag bzw. Werklieferungsvertrag abgeschlossen, der Erwerb von Standardsoftware gilt als Sachkauf.

Unterteilung nach der Art der erzeugten Ergebnisse

Diese entstehen im Verlauf des Herstellungsprozesses von Software und können beispielsweise sein:

Software nach der Art der Einbettung

  • Nicht eingebettete Software, die nachträglich installiert wird
  • Fest in einem Gerät zu dessen Steuerung untergebrachte Software (z. B. in einem ROM oder als Teil eines eingebetteten Systems) bezeichnet man als Firmware oder auch als eingebettete (oder ‚embedded‘) Software

Einstufung nach Nutzungsrecht (Lizenz)

Unterteilung nach Quellcode-Verfügbarkeit

Einstufung nach Verfügbarkeit

  • Abandonware, veraltete Produkte, die nicht mehr gewartet und unterstützt werden
  • Vaporware, Software, die nach Ankündigung nicht oder verspätet erscheint

Weitere Softwarebegriffe

Die Verbreitung und Nutzung von Software unterliegt dem Urheberrecht. In diesem Zusammenhang gibt es mehrere typische Überlassungsmodelle:

Verkauf
Der vollständige Verkauf von Software, inklusive der Überlassung von Weiterverbreitungsrechten, kommt praktisch nur zwischen Unternehmen vor, in der Regel im Rahmen von Auftragsprogrammierung oder beim Verkauf eines Softwareentwicklungsunternehmens.
Nutzungsrecht
Bei der meisten Software, die zum Beispiel für PCs „gekauft“ werden kann, wird in Wirklichkeit nur ein Nutzungsrecht überlassen. Dieses Modell ist auch bei der Auftragsprogrammierung üblich, bei der ein Unternehmen ein Programm für den Eigengebrauch eines anderen Unternehmens speziell entwickelt. Bei Freeware ist dieses Recht kostenlos, was nicht mit freier Software verwechselt werden darf.
Software as a Service
Die Software wird bei einem Dienstleister gehostet, die eigentliche Nutzung der Software kann entweder pro Zeitraum oder pro Nutzungseinheit berechnet werden. sie findet oft auf einem einfachen PC und z. B. per Webbrowser statt.
Freie Software/Open Source/GPL
Freie Software darf von jedem genutzt, beliebig verändert und weiterverbreitet werden. Oft unterliegt dieses Recht gewissen Einschränkungen, wie zum Beispiel der Nennung des Autors oder der Verpflichtung, veränderte Versionen unter die gleiche Lizenz zu stellen (GPL). Software, die nicht zu dieser Gruppe zählt, wird proprietär genannt.

Zwischen den oben genannten Hauptformen der Softwareverbreitung gibt es zahlreiche Zwischen- und Mischstufen.

Hauptartikel: Freie Software und Open Source

‚Freie Software‘ ist eine soziale Bewegung, die unfreie Software als gesellschaftliches Problem begreift. Wobei „frei“ hier nicht ‚kostenlos‘ bedeutet (‚Freie Software‘ ist nicht dasselbe wie ‚Freeware‘), sondern die Freiheiten für die Gesellschaft meint, die ein derart lizenziertes (auch kommerzielles) Produkt bietet. In den Augen der von Richard Stallman 1985 gegründeten Free Software Foundation (FSF) ist die Entscheidung für oder gegen freie Software deshalb primär eine ethische und soziale Entscheidung.

Dagegen begreift die 1998 gegründete Open Source Initiative (OSI) quelloffene Software als bloßes Entwicklungsmodell, wobei die Frage, ob Software quelloffen sein sollte, dort eine rein praktische und keine ethische Frage darstellt. Die FSF wirft der OSI daher eine Ablenkung von den wesentlichen Punkten vor. Eric S. Raymond hat den Begriff ‚Open Source‘ in der Annahme eingeführt, dass das unpopuläre Thema ‚Freiheit‘ Geldgeber für solche Projekte abschrecken könne.

Auch wenn es sich heute um zwei unterschiedliche Bewegungen mit unterschiedlichen Ansichten und Zielen handelt, verbindet sie die gemeinsame Wertschätzung für quelloffenen Code, was in zahlreichen Projekten mündet, in denen sie zusammenarbeiten.

  • John W. Tukey: The Teaching of Concrete Mathematics. In: The American Mathematical Monthly. Vol. 65, no. 1, Jan. 1958, S. 2. (Erstmalige Verwendung des Begriffs Software im heutigen Sinn), JSTOR
  • F. R. Shapiro: Origin of the term software: Evidence from the JSTOR electronic journal archive. In: IEEE Annals of the History of Computing. 22, April–Juni 2000, S. 69.
  • Friedrich Kittler: „Es gibt keine Software“. In: ders.: Draculas Vermächtnis. Technische Schriften. Reclam, Leipzig 1993, ISBN 3-379-01476-1.
  • Sebastian von Engelhardt: Die ökonomischen Eigenschaften von Software. (= Jenaer Schriften zur Wirtschaftswissenschaft. 14/2006). Friedrich-Schiller-Universität Jena, Wirtschaftswissenschaftliche Fakultät,ISSN .
Wiktionary: Software – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
  1. Duden, Informatik : ein Sachlexikon für Studium und Praxis. Dudenverlag, Mannheim u. a. 1993, ISBN 3-411-05232-5.
  2. Wolfgang Lassmann: Wirtschaftsinformatik : Nachschlagewerk für Studium und Praxis. Gabler, Wiesbaden 2006, ISBN 3-409-12725-9, Kap. 4.1 Grundlagen. Zitat „Software ist ein Sammelbegriff für die Gesamtheit der Programme, die zugehörigen Daten und die notwendige Dokumentation, die es erlauben, mit Hilfe eines Computers Aufgaben zu erledigen.“
  3. Lehr- und Übungsbuch Informatik: Grundlagen und Überblick. Band 1, Hanser Verlag, 2003, ISBN 3-446-22543-9, S. 311.
  4. Tessen Freund: Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse. Berlin 2007, ISBN 978-3-940019-11-0, Kap. 2.1.1 „Software“, S. 25, Zitat Edmunds „Software includes computer programs and data that is used by theses programs […] Software determines what a computer does and how it does it.“;
  5. Tessen Freund: Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse. Berlin 2007, ISBN 978-3-940019-11-0, Kap. 2.1.1 „Software“, S. 25, Zitat Rothhardt;
  6. Helmut Balzert: Lehrbuch der Software-Technik. 2. Auflage. Spektrum Akademischer Verlag, 2000, ISBN 3-8274-0480-0, S. 23 f.
  7. Auszug aus lexikon.meyer.de, Software: „[…] Im allgemeinen Sprachgebrauch wird die Bezeichnung Software meist nur auf Programme bezogen, nicht aber auf andere Daten […]“ (eine Verlinkung dahin ist nicht mehr möglich, da „Meyers Lexikon Online“ zum 23. März 2009 eingestellt wurde)
  8. John W. Tukey: The Teaching of Concrete Mathematics. In: The American Mathematical Monthly. Vol. 65, no. 1, Jan. 1958, S. 2. (Erstmalige Verwendung des Begriffs Software im heutigen Sinn), JSTOR .
    Tukey schreibt:„Today the ‘software’ comprising the carefully planned interpretive routines, compilers, and other aspects of automative programming are at least as important to the modern electronic calculator as its ‘hardware’ of tubes, transistors, wires, tapes and the like.“
  9. Jochen Ludewig, Horst Lichter: Software Engineering. 1. Auflage. dpunkt Verlag, 2007, ISBN 978-3-89864-268-2, S. 34. Zitat „Software umfasst Programme, Abläufe, Regeln, auch Dokumentation und Daten, die mit dem Betrieb eines Rechnersystems zu tun haben.“
  10. , Zitat: “[…] In a broader sense it can also refer to all information (i.e., both programs and data) in electronic form, and it can provide a distinction from hardware, which refers to media and systems on which software can exist and be used […]”
  11. ISO IEC 24765:2010, Zitat „[Software is] 1. all or part of the programs, procedures, rules, and associated documentation of an information processing system 2. computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system 3. program or set of programs used to run a computer“
  12. , Wirtschaftslexikon gabler.de
  13. , Wirtschaftslexikon gabler.de
  14. softwarepatents.eu,
  15. ; IEEE Computer Society, 2012, S. 1, Anmerkung zu ISO/IEC 26514:2008 4.46
  16. , law.cornell.edu
  17. Stefan Schneider: Empirische Evidenz für die Relevanz des Geschäftsmodells Softwareentwicklung und-absatz. In: Stefan Schneider: Auslegung der International Financial Reporting Standards am Bilanzierungsobjekt Softwarrentwicklung. DUV, Wiesbaden 2006, ISBN 3-8350-0197-3, S. 58–71. Zitat „Software umfasst neben dem Computerprogramm ferner die zum Betrieb notwendigen Daten und die zugehorige Dokumentation.“
  18. Steve Wozniak: iWoz – Wie ich den Personal Computer erfand und Apple mitgründete. Deutscher Taschenbuchverlag, 2008, ISBN 978-3-423-34507-1, S. 144–149.
  19. Rechtliche Rahmenbedingungen von Serviceorientierten Architekturen mit Web Services. Univ.-Verlag Göttingen, Göttingen 2010, ISBN 978-3-941875-29-6, S. 35: „Weil Software Gegenstand einer schöpferischen Leistung ist, die man nicht anfassen kann, wird ihr zum Teil die Sachqualität abgesprochen.“
  20. Helmut Balzert: Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering. 3. Auflage. Spektrum, Akad. Verlag, Heidelberg 2009, ISBN 978-3-8274-1705-3, S. 9: „Software ist ein immaterielles Produkt. Software kann man nicht anfassen und nicht sehen.“
  21. Klaus Wüst: Mikroprozessortechnik: Grundlagen, Architekturen, Schaltungstechnik und Betrieb von Mikroprozessoren und Mikrocontrollern. Springer-Verlag, 2009, ISBN 978-3-8348-0461-7, Kap. 7.5.4 ISA – Instruction Set Architecture Die ISA [Diese Form] ist genau das, was für die Erstellung von Maschinenprogrammen bekannt sein muss.
  22. Rajiv D. Banker, Srikant M. Datar, Dani Zweig: Software Complexity and Maintainability (PDF) Proceedings of the Tenth International Conference on Information Systems, 1989, S. 247–255. ( (Memento vom 8. August 2014 im Internet Archive))
  23. Der programmierte Kopf. In: P. Brödner, D. Krüger, B. Senf: Eine Sozialgeschichte der Datenverarbeitung. 1982, ISBN 3-8031-2082-9, S. 53.
  24. ISO/IEC 2382-1:1993 - Information technology — Vocabulary — Part 1: Fundamental terms.
  25. Georg Herzwurm: (PDF) (Nicht mehr online verfügbar.) Uni Stuttgart, 18. Januar 2006,S. 5(33), archiviert vomOriginal am16. Juli 2014; abgerufen am 23. November 2015.
  26. Enzyklopedia.com
  27. (aktualisierte Fassung): „Open Source ist ein Entwicklungsmodell. Freie Software ist eine soziale Bewegung. Für die Open-Source-Bewegung ist nicht-freie Software eine suboptimale Lösung. Für die Freie-Software-Bewegung ist nicht-freie Software ein soziales Problem und freie Software ist die Lösung.“ : „Für die Freie-Software-Bewegung ist freie Software ein ethisches Gebot … nicht-freie Software ist ein gesellschaftliches Problem …“
  28. auf: gnu.org
Normdaten (Sachbegriff): GND:(, )

Software
software, sammelbegriff, für, ausführbare, programme, zugehörigen, daten, sprache, beobachten, bearbeiten, titel, dieses, artikels, mehrdeutig, weitere, bedeutungen, sind, unter, begriffsklärung, aufgeführt, ˈsɒf, wɛː, weiche, ware, soft, leicht, veränderbare,. Software Sammelbegriff fur ausfuhrbare Programme und die zugehorigen Daten Sprache Beobachten Bearbeiten Der Titel dieses Artikels ist mehrdeutig Weitere Bedeutungen sind unter Software Begriffsklarung aufgefuhrt Software ˈsɒf t wɛː dt weiche Ware von soft leicht veranderbare Komponenten Komplement zu Hardware fur die physischen Komponenten 1 ist ein Sammelbegriff fur Programme und die zugehorigen Daten 2 Sie kann als Beiwerk zusatzlich Bestandteile wie z B die Softwaredokumentation in der digitalen oder gedruckten Form eines Handbuchs enthalten 3 Software bestimmt was ein softwaregesteuertes Gerat tut und wie es das tut in etwa vergleichbar mit einem Manuskript 4 Die Hardware das Gerat selbst fuhrt Software aus arbeitet sie ab und setzt sie so in die Tat um Software ist die Gesamtheit von Informationen die man der Hardware hinzufugen muss damit ein softwaregesteuertes Gerat fur ein definiertes Aufgabenspektrum nutzbar wird 5 Durch das softwaregesteuerte Arbeitsprinzip kann eine starre Hardware individuell arbeiten Es wird heute nicht nur in klassischen Computern angewendet sondern auch in vielen eingebetteten Systemen wie beispielsweise in Waschmaschinen Mobiltelefonen Navigationssystemen und modernen Fernsehgeraten Inhaltsverzeichnis 1 Definition 1 1 Etymologie 1 2 Definitionen nach ISO IEC Norm 24765 2 Geschichte 3 Besondere Merkmale von Software 3 1 Software ist immateriell 3 2 In Details unterschiedliche Bedeutungen 3 3 Fliessende Grenze zwischen Software und Daten 3 4 Unterscheidung zwischen Hard und Software 4 Verschiedene Blickwinkel auf Software 4 1 Zusammenwirken mit der Hardware Execution 4 2 Entwicklung von Software 4 3 Auswahl von Software 4 4 Betrieb von Software 4 5 Software aus Sicht der Betriebswirtschaft und Arbeitssoziologie 4 6 Qualitat von Software 5 Kategorisierung von Software 6 Lizenzmodelle 7 Freie Software und Open Source 8 Siehe auch 9 Literatur 10 Weblinks 11 EinzelnachweiseDefinitionDer Begriff Software ist bis heute nicht einheitlich und auch nicht eindeutig definiert Das geht u a darauf zuruck dass innerhalb der Softwaretechnik eine einheitliche solide konsistente und systematische Begriffsbildung durch eine hohe Innovationsgeschwindigkeit und Praxisnahe behindert wird 6 22 Es existieren daher verschiedene Definitionen die sich je nach Autor und Kontext oft auch nur in Details unterscheiden Die Bezeichnung Software wird im allgemeinen Sprachgebrauch meist nur auf Programme bezogen nicht aber auf andere Daten 7 Daneben konnen aber auch der Quelltext weitere Daten 2 oder die Dokumentation 3 je nach Definition hinzugezahlt werden Ausserdem wird Software auch als Gattungsbegriff fur unterschiedliche Arten von Programmen verwendet Grafiksoftware Anwendungssoftware Standardsoftware Sicherheitssoftware u v a Etymologie Der Ausdruck Software ist ein Kunstwort das von John W Tukey im Jahr 1958 im American Mathematical Monthly 8 als Gegenstuck zu dem wesentlich alteren Wort Hardware das erste Mal verwendet wurde 9 Dabei bezeichnet Hardware alle physischen Bestandteile eines Computers In diesem Sinn konnten unter Software als dem Gegenstuck zur Hardware grundsatzlich alle elektronisch gespeicherten Daten verstanden werden 10 Als Definition genugt diese Sichtweise jedoch nicht 9 Definitionen nach ISO IEC Norm 24765 Die aktuelle ISO IEC Norm 24765 ersetzte die DIN Norm 44300 und enthalt fur Software folgende Definitionen 11 Software ist ein Programm oder eine Menge von Programmen die dazu dienen einen Computer zu betreiben Software sind Programme sowie die zugehorige Dokumentation Software sind Programme und ggf die zugehorige Dokumentation und weitere Daten die zum Betrieb eines Computers notwendig sind Welche dieser Definitionen zutrifft hangt vom jeweiligen Kontext ab wobei auch hier die Ubergange fliessend sind Software als Programm In der Softwaretechnik besteht Software aus Computerprogrammen in jeder Erscheinungsform vom Quelltext bis zum direkt ausfuhrbaren Maschinencode 5 Computerprogramme bestehen oft aus mehreren Komponenten die sich auch uber mehrere Dateien verteilen konnen Software als Programm und Dokumentation Im Softwarerecht oft im Zusammenhang mit dem Softwareerwerb wird Software auch als Softwareprodukt bezeichnet das als Beiwerk zusatzlich Bestandteile wie z B die Dokumentation in digitaler oder gedruckter Form enthalten kann oder muss 3 So auch im Urheberrecht bei dem das Entwurfsmaterial zur Software gehort 12 wie der Quelltext auch Quellprogramm genannt 13 D h der Urheberrechtsschutz gilt i d R auch fur den Quellcode als Schutzgegenstand 14 Software als Programm Dokumentation und Daten Einige Definitionen nennen neben dem Programm selbst und evtl der Dokumentation auch weitere Daten als zur Software gehorend zugehorige Daten 2 Im Glossar des IEEE fur Softwareentwickler werden Beispiele fur derartige nicht ausfuhrbare Softwareteile genannt wie Schriftarten Grafiken Audio und Videoaufzeichnungen Vorlagen Worterbucher Dokumente und Informationsstrukturen wie Datenbank Datensatze 15 Weiterhin gibt es Software Definitionen die samtliche Daten umschliessen die das Computerprogramm nutzt und daruber hinaus auch die Dokumentation einbeziehen 4 Demgegenuber gibt es auch Definitionen die sowohl die Dokumentation als auch die zur Verarbeitung vorgesehenen Daten ausschliessen 16 Eine klare Trennlinie die beschreibt welche Daten konkret gemeint sind ist jedoch nicht naher definiert z B die zu verarbeitenden Daten 4 oder welche Daten notwendig 17 9 oder zugehorig 2 sind GeschichteIn den 1950er Jahren waren Software und Hardware noch verbunden und als Einheit wahrgenommen Die Software war dabei Teil der Hardware und wurde als Programmcode bezeichnet 1958 pragte der Statistiker John W Tukey den Begriff Software erstmals 8 Spater sorgte dann die Entscheidung der US Regierung in den 1970er Jahren fur eine Neuheit dass IBM auf Rechnungen Software und Hardware getrennt zu berechnen und aufzufuhren habe Das entsprach einer Anerkennung der Einzelhaftigkeit von Software von offizieller Seite und einer endgultigen Aufspaltung von Hardware und Software bzw einer Abgrenzung der Software von der Hardware Dieser Entwicklung folgte dann in den 1970er Jahren die Grundung von Firmen die erstmals nur mit Software handelten und nur Software und keine Hardware entwickelten Zu diesen Firmen gehorte in den USA Microsoft und in Deutschland SAP Die Existenz solcher Firmen erscheint im 21 Jahrhundert als Selbstverstandlichkeit stellte damals jedoch eine erhebliche Neuerung dar Der logische Ubergang zwischen Hard und Software lasst sich an den fruhen Spielhallenspielen verdeutlichen wie das Spiel Breakout das im April 1976 veroffentlicht wurde Damals bestand deren komplettes Programm der Ablauf die Logik bildlich gesehen aus vorverdrahteten Schalttafeln 18 Das von Atari produzierte Spielhallengerat verwendete keinen Prozessor Bereits ein Jahr spater als das Spiel fur den Computer programmiert wurde und man anfing bei prozessorgesteuerten Geraten zwischen den Begriffen Hardware und Software zu unterscheiden gab es Breakout als Software 18 Das Spiel bestand nicht mehr aus vorverdrahteten Schalttafeln sondern aus Anweisungen fur einen Prozessor inklusive der fur die Abarbeitung notwendigen weiteren Informationen die gemeinsam auf einem Datentrager hinterlegt wurden Besondere Merkmale von SoftwareSoftware ist immateriell Software ist immateriell und besteht aus den Sprachen und Notationen in denen sie formuliert ist 9 37 Software kann zwar auf bestimmten Medien gespeichert gedruckt angezeigt oder transportiert werden Diese sind aber nicht die Software sondern sie enthalten sie nur Es ist zwar vorstellbar Bits sichtbar und greifbar auf einem Tragermedium zu hinterlegen doch grundsatzlich ist Software ein abstrakter von Tragermedien unabhangiger Begriff Das trifft fur den Gattungsbegriff ohnehin zu aber auch fur konkrete Auspragungen wie ein bestimmtes Anwendungsprogramm 19 Als Analogie dazu ist es fur den Begriff Oper oder Zauberflote nicht begriffsbestimmend ob sie im Theater aufgefuhrt uber Radio TV ubertragen oder als CD verkauft oder gehort wird ob sie im Opernfuhrer beschrieben oder in der Partitur aufgezeichnet ist In Details unterschiedliche Bedeutungen Im Zusammenhang mit der Ausfuhrung auf einem Computer wird unter Software primar alles verstanden was auf dem Rechner ausgefuhrt werden kann das Programm im engeren Sinn bestehend aus Befehlen und Datendefinitionen Dazu kommen die mit den Programmen verbundenen Ressourcen die zum Betrieb der Software erforderlich sind Das sind abhangig von den verwendeten Entwicklungswerkzeugen zum Beispiel Konfigurationsdateien Schriftart Dateien Lookup Tabellen Datenstrukturen fur Datenbanken etc In engstem Sinn ware unter Software nur von der Hardware ausfuhrbarer Maschinencode zu verstehen Jedoch fallt darunter auch alles was durch beliebige interpretierende Systeme die Teil der Systemsoftware sind ausgefuhrt werden kann wie das bei Verwendung hoherer Programmiersprachen und Entwicklungsumgebungen nahezu immer der Fall ist 9 So ist auch der Quellcode in der Softwareentwicklung als wesentlicher Arbeitsgegenstand und in der Qualitatssicherung als bedeutender Prufgegenstand Details siehe Softwarequalitat ein wesentliches Software Artefakt Sprachlich wird der Ausdruck Software unterschiedlich verwendet Er steht fur konkret benannte Komponenten Programm XY Unterprogramm ABC Konfigurationsdatei XXX INI Er wird als Sammelbegriff fur unterschiedliche Gesamtheiten Mengen von Programmen benutzt 2 zum Beispiel fur eine aus vielen Einzelprogrammen bestehende Buchhaltungssoftware siehe Software System fur alle Anwendungen eines Unternehmens unsere Unternehmenssoftware oder als Typ Gattungsbegriff fur unterschiedliche Arten von Software wie Grafiksoftware Standardsoftware Systemsoftware etc Fliessende Grenze zwischen Software und Daten Zur Verarbeitung bestimmte Daten zahlen im allgemeinen Sprachgebrauch nicht zum Begriff Software 7 Jedoch ist die Grenze zwischen Software und Daten fliessend denn je nach Situation konnen Daten und Programme in unterschiedlichen Rollen auftreten und die Begriffe dabei vertauscht werden Auf der Dateiebene konnen Mischformen auftreten beispielsweise in Office Dokumenten oder bei einer Tabellenkalkulationsdatei Hier enthalt eine Datei sowohl Daten im Sinne von das Bearbeitete Texte oder Zelleninhalte als auch funktionale Anweisungen Makroanweisungen Zellformeln Vertauscht sind die Rollen beispielsweise wenn ein Quellprogramm von einem Compiler in ein Maschinenprogramm umgewandelt wird Sowohl das Quellprogramm als auch das erzeugte Binarprogramm sind Daten der Compiler ist die Software Ebenso verwendet ein Interpreter ein Quellprogramm oder ein Emulator ein Binarprogramm als Daten und erzeugt daraus speicherintern den ausfuhrbaren Code Die so verarbeiteten Programmdateien sind Software rollenspezifisch aber gleichzeitig Daten Dieser Zusammenhang dass ein Programm sowohl als Daten als auch als Funktion auftreten kann ist zentral in verschiedenen Disziplinen der Informatik darunter die theoretische Informatik u a Rekursionstheorie Automatentheorie Domaintheorie und die technische Informatik z B Von Neumann Architektur Unterscheidung zwischen Hard und Software Je nach Zusammenhang ist bei der Unterscheidung zwischen Hard und Software eine oder mehrere der folgenden Bedeutungen gemeint Leicht veranderbare Komponente Software vs schwer veranderbare Komponente Hardware in einem Computerdesign 1 Instruktionskode Software vs universelle Maschine Hardware Nicht greifbar im Sinne von Funktionsbestandteilen eines Computersystems die sich nicht anfassen lassen 20 Software vs greifbare Komponenten Hardware Software liesse sich uber eine Telefonleitung ubertragen Hardware dagegen nicht Die Gegensatze sind in der englischsprachigen Begriffspragung soft weich hard hart beabsichtigt Verschiedene Blickwinkel auf SoftwareSoftware kann aus vielen unterschiedlichen Gesichtspunkten betrachtet werden zum Beispiel Zusammenwirken mit der Hardware Execution Software Typisierung Zusammenhange Uberblick Zwischen Hard und Software besteht eine gewisse Aufgabenverteilung Die Hardware garantiert Quantitat also Tempo und Speicherkapazitat die Software sorgt fur die Abbildung der Anforderungen auf die strukturell primitive Hardware Software Engineering 9 38 Obwohl dem Begriff Software teilweise Attribute wie Flexibilitat Individualitat Leistungsfahigkeit etc zugeschrieben werden wird letztlich alles was der Computer tatsachlich tut nicht von der Software sondern ausschliesslich durch die Hardware ausgefuhrt Software beschreibt lediglich was getan werden soll und in welcher Form das geschieht Dazu wird auf unterster Ebene der Maschinencode der Software unter Nutzung des Betriebssystems d h ebenfalls durch dessen Maschinenbefehle in den Hauptspeicher des Computers geladen und dem Rechenwerk Schritt fur Schritt siehe Befehlszahler zur Ausfuhrung zugefuhrt Dieses Arbeitsprinzip gilt fur jede Art von Software auch wenn sie z B von Interpretern ausgefuhrt wird Diese sind ebenfalls Software deren Maschinencode an der Hardwareschnittstelle ebenfalls wie beschrieben ausgefuhrt wird und die Maschinenbefehle nur speicherintern erzeugt Auch Compiler Makroprozessoren und jede andere Art von Systemsoftware werden nach diesem Prinzip ausgefuhrt Der Maschinencode muss dafur in einer Form Struktur vorliegen die von der Hardware uber deren darin implementierte Schnittstelle interpretiert und ausgefuhrt werden kann 21 Die Befehle zeigen durch ihren Inhalt und ihre Struktur an was zu tun ist welche Datenbereiche im Hauptspeicher dabei benutzt oder verandert werden sollen uber im Befehl enthaltene Adressierungsangaben und gegebenenfalls an welcher Stelle das Programm fortzusetzen ist Bei der Ausfuhrung wirken also viele Schichten zusammen und fuhren als Gesamtheit zu Zustandsanderungen in der Hardware bzw final zu den vorgesehenen Ergebnissen etwa der Ausgabe einer Druckzeile einem Datenzugriff oder der Anzeige eines Feldinhalts am Bildschirm Bei in hoheren Programmiersprachen entwickelten Anwendungen konnen so schon fur relativ einfache Funktionen wie Lesen aus der Datenbank oft Hunderttausende oder Millionen von Maschinenbefehlen durchlaufen werden Das in modernen Computern mogliche parallele Ausfuhren mehrerer Programme Prozesse wird im Wesentlichen durch das Betriebssystem bewirkt das bei bestimmten Ereignissen den Wechsel von einer zur anderen Task einleitet und verwaltet Siehe auch Multitasking Im systematischen Zusammenwirken vieler Komponenten das nur unter Anwendung klar definierter Schnittstellen moglich ist gehort Software also zu den komplexesten Artefakten die Menschen bislang geschaffen haben 9 37 Die Software tragt zudem massgeblich dazu bei wie effizient die Hardware genutzt wird Je nach Gestaltung der Algorithmen konnen mit derselben Hardware unterschiedliche Systemleistungen erreicht werden Entwicklung von Software Hauptartikel Softwaretechnik Die Entwicklung von Software ist ein komplexer Vorgang Dieser wird durch die Softwaretechnik ein Teilgebiet der Informatik systematisiert Hier wird die Erstellung der Software schrittweise in einem Prozess von der Analyse uber die Softwaremodellierung bis hin zum Testen als wiederholbarer Prozess beschrieben In aller Regel wird die Software nach der Entwicklung mehrfach angepasst und erweitert Der Software Lebenszyklus kann durchaus mehrere Jahre betragen Software wird unter Nutzung bestimmter Verfahren Methoden und Werkzeuge entwickelt Dabei werden unterschiedliche Entwicklungsstadien durchlaufen in denen jeweils unterschiedliche Zwischenstande der Software entstehen Analysetatigkeiten zahlreiche Entwicklungsdokumente gt Programmierung Quellcode gt im Betrieb Maschinencode oder ausfuhrbarer Code Im engeren Sinn der Ausfuhrung auf dem Computer gilt lediglich Letzteres als Software Siehe auch Softwareentwicklung In diesem Zusammenhang ist Software Bearbeitungsgegenstand von Systemprogrammen Wenn z B ein Compiler den Quellcode eines Programms liest verarbeitet und einen Maschinen oder Zwischencode erzeugt so sind das aus dessen Sicht Daten Einmal erzeugte Software kann mit verhaltnismassig geringen Kosten vervielfaltigt werden die meist durch Datentrager Werbung und das Herstellen von Verpackung und zu Papier gebrachten Dokumentationen anfallen Software verschleisst nicht durch Nutzung unterliegt jedoch mit der Zeit der Softwarealterung Software ist meist austauschbar fahig zur Aktualisierung korrigierbar und erweiterbar insbesondere dann wenn bestehende Richtlinien eingehalten werden und der Quelltext verfugbar ist Software tendiert dazu umso mehr Fehler zu enthalten je komplexer sie ist 22 Fehler werden in aktualisierten Softwareversionen oder mithilfe eines Patches und i d R nach Durchfuhrung von Softwaretests behoben Softwarefehler bezeichnet man auch als Programmfehler oder als Bugs Weil Software unter Einsatz vieler unterschiedlicher Programmiersprachen und in vielen unterschiedlichen Betriebssystemen und Systemumgebungen entwickelt werden kann sind Softwarestandards erforderlich um Informationen system und unternehmensubergreifend verstehbar und austauschbar zu machen Siehe auch Elektronischer Datenaustausch Beispiele Programmierstil Auswahl von Software Hauptartikel Softwarebeschaffung In der Entscheidung zur Anschaffung von Software lasst sich i W der Einsatz von Standardsoftware oder die eigene Herstellung Individualsoftware unterscheiden Besonders im betrieblichen Umfeld zieht diese Entscheidung haufig hohe Kosten nach sich Auch konnen solche Entscheidungen Grundlage zur Umsetzung der Unternehmensstrategie sein oder sollen Unternehmensprozesse massgeblich verbessern Zur Vermeidung von Fehlinvestitionen sollte der Anschaffung ein systematischer Entscheidungsprozess vorausgehen Betrieb von Software Hauptartikel IT Service Management Der Einsatz von Software erfordert je nach Einsatzbereich ein gewisses Mass an Organisation um die zusammengehorenden Teile richtig einzusetzen und durch neue Versionen abzulosen zum Beispiel in grosseren Unternehmen im Releasemanagement Mitunter kann Software vorkonfiguriert werden um so eine Neuinstallation zu beschleunigen und um Fehler bei der Konfiguration zu minimieren Software aus Sicht der Betriebswirtschaft und Arbeitssoziologie Im Wesentlichen fur betriebliche Anwendungssoftware geltend kann Software aus betriebs wirtschaftlicher Sicht als im Voraus geleistete geistige Arbeit also als Investition betrachtet werden Zum Beispiel erarbeiten die Programmautoren ein Losungsverfahren fur die korrekte Trennung aller deutschen Worter in einem Textverarbeitungsprogramm Damit ist im Voraus also bevor diese Tatigkeit tatsachlich anfallt schon fur alle Schreiber die mit diesem Textverarbeitungsprogramm arbeiten die geistige Arbeit korrektes Trennen deutscher Worter geleistet Dabei wird die Eigenschaft von Computern genutzt auf sie verlagerte Aufgaben erheblich schneller und zuverlassiger ausfuhren zu konnen als es bisher Menschen moglich war Besonders auch in der Softwareentwicklung wird intensiv auf im Voraus entwickelte Algorithmen und Codeteile als Teile eines Programms zuruckgegriffen Software Wiederverwendung Ein ahnlicher Zusammenhang wird in der Arbeitssoziologie gesehen Derartige softwarebasierte Massnahmen sind geeignet Arbeitsinhalte und ablaufe erheblich zu verandern Die Bandbreite reicht dabei vom Bereitstellen einfacher Hilfsmittel etwa zur Summierung oder Durchschnittsermittlung bis hin zur volligen Umgestaltung von Prozessen durch Konzentration fruher getrennter oder durch Zerlegung fruher zentralisierter Arbeitsablaufe oder gar bis zu deren vollstandigem Ersatz durch IT Losungen Brodner u a nennen das materialisierte Kopfarbeit 23 Siehe auch Rationalisierung Optimierung Taylorismus Qualitat von Software Hauptartikel Softwarequalitat Fur die Erstellung und den Betrieb von Software wurden bestimmte Qualitatskriterien festgelegt Diese sollen als funktionale oder nicht funktionale Eigenschaften von Software implementiert werden und beziehen sich auf die Funktionalitat Zuverlassigkeit Benutzbarkeit Effizienz Anbderbarkeit und Ubertragbarkeit Detailliertere Angaben zu jedem dieser Haupt Qualitatskriterien nennt beispielsweise die Norm ISO IEC 9126 Fur jeden Einzelfall von Softwareerstellung soll kann festgelegt werden welche konkreten Anforderungen im Detail zu berucksichtigen sind Kategorisierung von SoftwareNach ISO IEC 2382 wird Software wie folgt gegliedert und bezeichnet 24 25 Systemsoftware Anwendungsunabhangige Software die das Ausfuhren von Anwendungssoftware ermoglicht bzw unterstutzt z B Betriebssystem sowie Geratetreiber und Dienstprogramme Unterstutzungssoftware d h Programme die bei der Entwicklung Wartung helfen oder eine nicht anwendungsspezifische Leistung erbringen z B Editoren Compiler Virenscanner Datenbankmanagementsysteme Anwendungssoftware die den Benutzer bei der Ausfuhrung seiner Aufgaben unterstutzt und ihm dadurch erst den eigentlichen unmittelbaren Nutzen stiftet z B eine Tabellenkalkulation Unterteilung nach dem Grad der Individualitat Standardsoftware wird von einem Softwareanbieter zum Einsatz bei mehreren vielen Kunden erstellt die diese Software erwerben konnen Individualsoftware wird fur einen einzelnen Anwender zur Losung einer spezifischen Aufgabenstellung individuell erstellt oder modifiziert alternativ durch einen Softwareanbieter oder durch eigene Entwickler bzw Entwicklungsabteilungen eines Unternehmens Rechtlich wird beim Erwerb von Software zwischen Individualsoftware und Standardsoftware unterschieden Fur Individualsoftware wird ein Werkvertrag bzw Werklieferungsvertrag abgeschlossen der Erwerb von Standardsoftware gilt als Sachkauf Unterteilung nach der Art der erzeugten Ergebnisse Diese entstehen im Verlauf des Herstellungsprozesses von Software und konnen beispielsweise sein Quellcode Zwischencode Maschinencode Geratetreiber und andere erforderliche Module als Programmbibliothek ausgeliefert Installationsprogramme und dazugehorende Anweisungen Weitere Unterlagen wie die Dokumentation fur Softwareentwickler und Softwarebenutzer Software nach der Art der Einbettung Nicht eingebettete Software die nachtraglich installiert wird Fest in einem Gerat zu dessen Steuerung untergebrachte Software z B in einem ROM oder als Teil eines eingebetteten Systems bezeichnet man als Firmware oder auch als eingebettete oder embedded Software Einstufung nach Nutzungsrecht Lizenz Adware Software mit Werbeeinblendungen Beerware frei benutzbar verbunden mit der Bitte dem Autor ein Bier auszugeben Cardware auch Postcardware genannt vergleichbar auch Emailware frei benutzbar verbunden mit der Bitte dem Autor eine Postkarte oder E Mail zu schicken die Lizenz bleibt beim Autoren Careware Crippleware Donationware Freeware Nagware Shareware Freie Software Unterteilung nach Quellcode Verfugbarkeit Freie Software Open Source Proprietare Software Einstufung nach Verfugbarkeit Abandonware veraltete Produkte die nicht mehr gewartet und unterstutzt werden Vaporware Software die nach Ankundigung nicht oder verspatet erscheint Weitere Softwarebegriffe Portable Software Auf verschiedenen Computer typen lauffahig Native Software Zur Ausfuhrung auf einem bestimmten Computersystem erstellt oder kompiliert Der Programmcode nutzt die individuelle Funktionalitat eines bestimmten Systemtyps Allgemeingultigkeit und Portabilitat gelten nicht als Entwicklungsziel 26 Bananenware unausgereifte Software die nach der Auslieferung reift Schlangenol Programm ohne echte Funktion wird aber als Wundermittel angepriesen Shovelware Sammlung von Software wobei die Quantitat zahlt Riskware Bloatware mit Funktionen ohne synergetischen Nutzen uberladene Software Crapware Spyware Gebraucht SoftwareLizenzmodelleDie Verbreitung und Nutzung von Software unterliegt dem Urheberrecht In diesem Zusammenhang gibt es mehrere typische Uberlassungsmodelle Verkauf Der vollstandige Verkauf von Software inklusive der Uberlassung von Weiterverbreitungsrechten kommt praktisch nur zwischen Unternehmen vor in der Regel im Rahmen von Auftragsprogrammierung oder beim Verkauf eines Softwareentwicklungsunternehmens Nutzungsrecht Bei der meisten Software die zum Beispiel fur PCs gekauft werden kann wird in Wirklichkeit nur ein Nutzungsrecht uberlassen Dieses Modell ist auch bei der Auftragsprogrammierung ublich bei der ein Unternehmen ein Programm fur den Eigengebrauch eines anderen Unternehmens speziell entwickelt Bei Freeware ist dieses Recht kostenlos was nicht mit freier Software verwechselt werden darf Software as a Service Die Software wird bei einem Dienstleister gehostet die eigentliche Nutzung der Software kann entweder pro Zeitraum oder pro Nutzungseinheit berechnet werden sie findet oft auf einem einfachen PC und z B per Webbrowser statt Freie Software Open Source GPL Freie Software darf von jedem genutzt beliebig verandert und weiterverbreitet werden Oft unterliegt dieses Recht gewissen Einschrankungen wie zum Beispiel der Nennung des Autors oder der Verpflichtung veranderte Versionen unter die gleiche Lizenz zu stellen GPL Software die nicht zu dieser Gruppe zahlt wird proprietar genannt Zwischen den oben genannten Hauptformen der Softwareverbreitung gibt es zahlreiche Zwischen und Mischstufen Siehe auch Lizenzen der freien Software und LizenzmanagementFreie Software und Open Source Hauptartikel Freie Software und Open Source Freie Software ist eine soziale Bewegung die unfreie Software als gesellschaftliches Problem begreift 27 Wobei frei hier nicht kostenlos bedeutet Freie Software ist nicht dasselbe wie Freeware sondern die Freiheiten fur die Gesellschaft meint die ein derart lizenziertes auch kommerzielles Produkt bietet In den Augen der von Richard Stallman 1985 gegrundeten Free Software Foundation FSF ist die Entscheidung fur oder gegen freie Software deshalb primar eine ethische und soziale Entscheidung Dagegen begreift die 1998 gegrundete Open Source Initiative OSI quelloffene Software als blosses Entwicklungsmodell wobei die Frage ob Software quelloffen sein sollte dort eine rein praktische und keine ethische Frage darstellt Die FSF wirft der OSI daher eine Ablenkung von den wesentlichen Punkten vor 28 Eric S Raymond hat den Begriff Open Source in der Annahme eingefuhrt dass das unpopulare Thema Freiheit Geldgeber fur solche Projekte abschrecken konne Auch wenn es sich heute um zwei unterschiedliche Bewegungen mit unterschiedlichen Ansichten und Zielen handelt verbindet sie die gemeinsame Wertschatzung fur quelloffenen Code was in zahlreichen Projekten mundet in denen sie zusammenarbeiten Siehe auchSoftwarekrise ISO IEC 9126 Softwarequalitat nach ISO SoftwareunternehmenLiteraturJohn W Tukey The Teaching of Concrete Mathematics In The American Mathematical Monthly Vol 65 no 1 Jan 1958 S 2 Erstmalige Verwendung des Begriffs Software im heutigen Sinn JSTOR 2310294 F R Shapiro Origin of the term software Evidence from the JSTOR electronic journal archive In IEEE Annals of the History of Computing 22 April Juni 2000 S 69 Friedrich Kittler Es gibt keine Software In ders Draculas Vermachtnis Technische Schriften Reclam Leipzig 1993 ISBN 3 379 01476 1 Sebastian von Engelhardt Die okonomischen Eigenschaften von Software Jenaer Schriften zur Wirtschaftswissenschaft 14 2006 Friedrich Schiller Universitat Jena Wirtschaftswissenschaftliche Fakultat ISSN 1611 1311 ideas repec org Weblinks Wiktionary Software Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen Software Wiki Geschichte der Softwareprogrammierung Software s origin englisch Ursprung des Wortes Software englisch Einzelnachweise a b Duden Informatik ein Sachlexikon fur Studium und Praxis Dudenverlag Mannheim u a 1993 ISBN 3 411 05232 5 a b c d e Wolfgang Lassmann Wirtschaftsinformatik Nachschlagewerk fur Studium und Praxis Gabler Wiesbaden 2006 ISBN 3 409 12725 9 Kap 4 1 Grundlagen Zitat Software ist ein Sammelbegriff fur die Gesamtheit der Programme die zugehorigen Daten und die notwendige Dokumentation die es erlauben mit Hilfe eines Computers Aufgaben zu erledigen books google de a b c Lehr und Ubungsbuch Informatik Grundlagen und Uberblick Band 1 Hanser Verlag 2003 ISBN 3 446 22543 9 S 311 books google de a b c Tessen Freund Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse Berlin 2007 ISBN 978 3 940019 11 0 Kap 2 1 1 Software S 25 Zitat Edmunds Software includes computer programs and data that is used by theses programs Software determines what a computer does and how it does it books google de a b Tessen Freund Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse Berlin 2007 ISBN 978 3 940019 11 0 Kap 2 1 1 Software S 25 Zitat Rothhardt books google de Helmut Balzert Lehrbuch der Software Technik 2 Auflage Spektrum Akademischer Verlag 2000 ISBN 3 8274 0480 0 S 23 f a b Auszug aus lexikon meyer de Software Im allgemeinen Sprachgebrauch wird die Bezeichnung Software meist nur auf Programme bezogen nicht aber auf andere Daten eine Verlinkung dahin ist nicht mehr moglich da Meyers Lexikon Online zum 23 Marz 2009 eingestellt wurde a b John W Tukey The Teaching of Concrete Mathematics In The American Mathematical Monthly Vol 65 no 1 Jan 1958 S 2 Erstmalige Verwendung des Begriffs Software im heutigen Sinn JSTOR 2310294 Tukey schreibt Today the software comprising the carefully planned interpretive routines compilers and other aspects of automative programming are at least as important to the modern electronic calculator as its hardware of tubes transistors wires tapes and the like a b c d e f g Jochen Ludewig Horst Lichter Software Engineering 1 Auflage dpunkt Verlag 2007 ISBN 978 3 89864 268 2 S 34 dpunkt de Leseprobe PDF Zitat Software umfasst Programme Ablaufe Regeln auch Dokumentation und Daten die mit dem Betrieb eines Rechnersystems zu tun haben linfo org Software Definition Zitat In a broader sense it can also refer to all information i e both programs and data in electronic form and it can provide a distinction from hardware which refers to media and systems on which software can exist and be used ISO IEC 24765 2010 Zitat Software is 1 all or part of the programs procedures rules and associated documentation of an information processing system 2 computer programs procedures and possibly associated documentation and data pertaining to the operation of a computer system 3 program or set of programs used to run a computer ISO IEC IEEE 24765 2010 auf der ISO Homepage Definition Computerprogramm Wirtschaftslexikon gabler de Definition Programm Wirtschaftslexikon gabler de softwarepatents eu Programmcode in seiner linguistischen Form als Sprachwerk Software and Systems Engineering Vocabulary IEEE Computer Society 2012 S 1 Anmerkung zu ISO IEC 26514 2008 4 46 Rights in Technical Data law cornell edu Stefan Schneider Empirische Evidenz fur die Relevanz des Geschaftsmodells Softwareentwicklung und absatz In Stefan Schneider Auslegung der International Financial Reporting Standards am Bilanzierungsobjekt Softwarrentwicklung DUV Wiesbaden 2006 ISBN 3 8350 0197 3 S 58 71 Zitat Software umfasst neben dem Computerprogramm ferner die zum Betrieb notwendigen Daten und die zugehorige Dokumentation a b Steve Wozniak iWoz Wie ich den Personal Computer erfand und Apple mitgrundete Deutscher Taschenbuchverlag 2008 ISBN 978 3 423 34507 1 S 144 149 Rechtliche Rahmenbedingungen von Serviceorientierten Architekturen mit Web Services Univ Verlag Gottingen Gottingen 2010 ISBN 978 3 941875 29 6 S 35 Weil Software Gegenstand einer schopferischen Leistung ist die man nicht anfassen kann wird ihr zum Teil die Sachqualitat abgesprochen Helmut Balzert Lehrbuch der Softwaretechnik Basiskonzepte und Requirements Engineering 3 Auflage Spektrum Akad Verlag Heidelberg 2009 ISBN 978 3 8274 1705 3 S 9 Software ist ein immaterielles Produkt Software kann man nicht anfassen und nicht sehen Klaus Wust Mikroprozessortechnik Grundlagen Architekturen Schaltungstechnik und Betrieb von Mikroprozessoren und Mikrocontrollern Springer Verlag 2009 ISBN 978 3 8348 0461 7 Kap 7 5 4 ISA Instruction Set Architecture Die ISA Diese Form ist genau das was fur die Erstellung von Maschinenprogrammen bekannt sein muss books google de Rajiv D Banker Srikant M Datar Dani Zweig Software Complexity and Maintainability PDF Proceedings of the Tenth International Conference on Information Systems 1989 S 247 255 citeseerx ist psu edu PDF Memento vom 8 August 2014 im Internet Archive Der programmierte Kopf In P Brodner D Kruger B Senf Eine Sozialgeschichte der Datenverarbeitung 1982 ISBN 3 8031 2082 9 S 53 ISO IEC 2382 1 1993 Information technology Vocabulary Part 1 Fundamental terms iso org Georg Herzwurm Grundlagen von Betriebssystemen PDF Nicht mehr online verfugbar Uni Stuttgart 18 Januar 2006 S 5 33 archiviert vom Original am 16 Juli 2014 abgerufen am 23 November 2015 Native Software Enzyklopedia com The Selected Essays of Richard Stallman aktualisierte Fassung Open Source ist ein Entwicklungsmodell Freie Software ist eine soziale Bewegung Fur die Open Source Bewegung ist nicht freie Software eine suboptimale Losung Fur die Freie Software Bewegung ist nicht freie Software ein soziales Problem und freie Software ist die Losung ursprungliche Fassung Fur die Freie Software Bewegung ist freie Software ein ethisches Gebot nicht freie Software ist ein gesellschaftliches Problem Warum Freie Software besser ist als Open Source auf gnu orgNormdaten Sachbegriff GND 4055382 6 OGND AKS Abgerufen von https de wikipedia org w index php title Software amp oldid 214400413, wikipedia, wiki, deutsches

deutschland

buch, bücher, bibliothek

artikel

lesen, herunterladen

kostenlos

kostenloser herunterladen, MP3, Video, MP4, 3GP, JPG, JPEG, GIF, PNG, Bild, Musik, Lied, Film, Buch, Spiel, Spiele