Was ist Software (Computerprogramme)?
Ein Programm ist eine Folge der Anweisungen nach der Regel einer Programmiersprache, mit dem man Aufgaben mit Hilfe eines Computers lösen kann.
Der Begriff Software bezeichnet die Gesamtheit der Programme für den Computer.
Über die Software (erstellt mit Hilfe einer Programmiersprache) erfolgt die Kommunikation mit dem Computer.
Der Sinn und Zweck, Programme für einen Computer zu schreiben, liegt in der Datenverarbeitung, die dieser viel besser und schneller erledigen kann als der Mensch. Das Prinzip, das dahinter steckt, kennzeichnet das Verhältnis von Mensch und Maschine. Dieses Prinzip nennt sich EVA-Prinzip:
E Eingabe
V Verarbeitung
A Ausgabe
Software ist ein immaterielles Wirtschaftsgut und ist (außer von triviellen Programmen) mit das komplexeste Gebilde, die Menschen je geschlafen haben.
Die Fehlerrate in Software ist in den letzten Jahren stetig gesunken Dank des Einsatzes von modernem Software-Engineering und von verbesserten Qualitätssicherungs-Massnahmen.
Software Engineering umfasst vor allem jene Aspekte, die sich mit der Planung, Entwicklung sowie der Anwendung und Instandhaltung von Software befassen. Sein Ziel ist, effiziente und zuverlässig funktionierende Software unter wirtschaftlichen Gesichtspunkten herzustellen. Die Teilbereiche des Software Engineerings beinhalten grundsätzlich die Softwareentwicklung, das Projektmanagement, die Softwarequalitätssicherung sowie die Softwaretechnologie.
Die Welt kann heutzutage nicht ohne Software existieren.
In Deutschland nutzen ca. 36 Millionen Menschen Software für ihre tägliche Arbeit.
Multiprocessing
- Echte Gleichzeitigkeit
- Aufteilung der Instruktionsbearbeitung auf Mehrkernprozessoren
Vorteile:
- kostengünstiger, da mehrereschwächere Prozessoren - leichter mehr Leistung zu erzielen
- Arbeitsteilung nach Gebieten (z.B. ein Kern für Physikberechnung)
Nachteile:
- Software kann ausbremsen, da Instruktionen parallelisiertwerden müssen
Ausblick (gegenwärtig)
- Ausbau des Multiprocessing durch den Einsatz von mehr Kernen - Voranschreitende Miniaturisierung der Bauelemente
- Prozessorkerne in der Größevon roten Blutkörperchen (ca. 7,5 μm)
- Mooresches Gesetz: Verdoppelung der Anzahl der Transistoren pro Flächeneinheit alle 18 bis 24 Monate
- Grid-Computing: Zusammenschluss mehrerer Computer zu einem einzigen Supercomputer
- Beispiel: Blizzard im DKRZ: 8448 Prozessoren, über 20 TeraByte Speicher, Leistung von 158 TeraFLOPS (Floating Operations Per Second)
- Cloud-Computing: Auslagerung von Ressourcen
- Erweiterung der I/O-Schnittstelle (z.B. Bewegungssteuerung, augmented reality)
Ausblick (zukünftig)
- Einsatz von Licht als Informationsträger
- Biocomputer (Einsatz von DNS als Speichermedium)
- Quantencomputer
Software ist präsent als PC-Programm, als Smartphone-App oder als eingebettete Software (Firmware) in jedem komplexen System. So findet man Software in der Infrastruktur, in der industriellen Produktion, in Roboter, im Transportwesen, im Finanzwesen, in der Medizin (Diagnostik - z.B. Röntgen oder Computertomografie, Patienten-Vitalfunktionen-Überwachungsgeräte), bei Computer-Simulationen, im Filmwesen, an der Supermarkt-Kasse, in den Flughafen-Scanner, in Haushaltsgeräten, elektronische Unterhaltung, in Autos, in Flugzeugen, in Züge und in Schiffe, in Satelliten und Raumschiffe, bei der Künstlichen Intelligenz, dem Internet der Dinge, im Maschinellen Lernen, in der Mustererkennung, in der kognitiven Modellierung, im Erkennung natürlicher Sprache und ihrer Übersetzung, bei der Erkennung und Verarbeitung von Bildern, Digitalkameras, Smart-TVs, Druckern, den meisten Automaten, beim assistierten Fahren und Navigation, bei der Wettervorhersage, in der Wissenschaft und Forschung (z.B. Windtunnel-Berechnungen, Modellierung von Anlagen zur Kernfusion, Modellierung komplexer Moleküle und Lösung komplexer mathematischer Probleme).
Software-Herstellung ist auch deswegen so teuer weil bei großen Software-Projekten hunderte von Entwickler mitwirken und auch weil kleinste (fehlerhafte) Änderungen im Source Code zu unerwartete Effekte und fehlerhafte Funktionalität des Softwares führen können und dann die aktuelle Entwicklung zurückgefahren werden muß (die letzte korrekte Version des Quellcodes muss aus der Repository geholt werden oder der letzte Backup wird wieder eingesetzt), weil seine Qualitätssicherung große Ressourcen in Anspruch nimmt und auch weil bei älteren Software fast immer eine teuere Refactoring notwendig ist.
Die Fertigstellung einer durchschnittlichen Individualsoftware kostet um die 50000€.
Die durchschnittliche Zeit für die Erstellung einer App liegt bei etwa 20 bis 22 Wochen.
Weil der Source Code so leicht veränderbar ist, spielen die Software-Qualitätssicherung, die Software-Sicherung (Backup) und die Software-Versionierung eine zentrale Rolle in der Software-Herstellung.
Die größten Software-Hersteller 2021 weltweit sind Apple (366 Milliarden $), Alphabet-Google (256 Milliarden $ Umsatz), Microsoft (194 Milliarden $ Umsatz), IBM, Accenture, Facebook, Oracle, SAP und Hewlett Packard.
Die größten IT-Firmen in Deutschland sind SAP SE (31 Milliarden $ Umsatz), Microsoft Deutschland (2,8 Milliarden $ Umsatz), Diebold Nixdorf Systems GmbH, Software AG (958 Millionen € Umsatz), adesso SE (920 Millionen€ Umsatz), Vector Informatik GmbH (799 Millionen € Umsatz), Teamviewer (566 Millionen € Umsatz), IBM Deutschland, Avira Operations, Plankraft, Instaffo und Oracle.
Die größten Softwareunternehmen im Großraum Stuttgart sind Microsoft Deutschland (2,8 Milliarden $ Umsatz), Vector Informatik GmbH (799 Millionen € Umsatz), RIB Software SE (215 Millionen € Umsatz) und CENIT AG (172 Millionen € Umsatz).