Der Begriff Software

Wie läßt sich der Begriff Software definieren?

Unter Software versteht man im allgemeinen Computer-Programme. Elektronische Dokumente fallen daher nicht unter den Begriff Software, sondern unter Daten.

Programme sind eine Abfolge von Befehlen, die in einer Programmiersprache geschrieben und danach in eine für Computer-Hardware verständliche Form ("Maschinensprache" - Code aus binären Zahlen) übersetzt ("kompiliert") wurden. Die Übersetzung erfordert ein eigenes Kompilierungsprogramm ("Compiler").

Wir unterscheiden zwischen


Vom Problem zum Programm

1. Analyse

Am Anfang steht eine Aufgabe oder ein Problem, das das Progamm bewerkstelligen soll. Diese Aufgabe muss klar definiert bzw. das Problem klar analysiert werden.

2. Design

Nun muss überlegt werden, wie das Problem des täglichen Lebens so abstrahiert werden kann, dass es auf dem Bildschirm optimal darstellbar und lösbar ist.
  • Wie soll die Benutzeroberfläche (GUI) aussehen, welche Werkzeuge/ Befehle stehen zur Verfügung?
  • Welche Anordnung von Elementen ist am ergonomischsten?
  • Wie soll das Programm auf bestimmte Eingaben reagieren?
  • Erstellung eines Programmablauf-Planes.

3. Programmieren

Auch wenn die ProgrammiererInnen Befehlsfolgen in einer von unzähligen Programmiersprachen (z.B C, C++, Java, etc.) schreiben, benützen sie doch meist ein schon existierendes Programm, das sie beim Programmieren unterstützt - eine so genannte Entwicklungsumgebung. Man kann sich das von der Oberfläche her ähnlich wie ein Textverarbeitungsprogramm vorstellen, mit einem Bereich zum Schreiben und Schaltflächen für gewisse Funktionen. Dieses Programm dient meist gleichzeitig als Compiler, es übersetzt also den Programmcode (z.B. if (a > b) {print "A ist größer als B"; } in die Maschinensprache (0010011000001110...).

4. Testen

Es ist fast unmöglich, alle Kombinationen von Eingaben und Reaktionen des Programms vorherzusehen. Beim Programmieren ist es daher eigentlich ganz normal, dass dauernd irgend etwas nicht so funktioniert, wie man möchte oder man einen Fall nicht bedacht hat, in dem plötzlich etwas völlig Unerwartetes passiert. Also muss getestet werden, getestet und nochmal getestet. Am besten nicht von Programmierern, sondern von Testern, die wie Anwender an die Sache herangehen - allerdings nach einem festgelegten Testschema. Böse Zungen sagen ja, bei bestimmten Firmen seinen die Kunden die Tester.
Oft stellen Software-Hersteller Ihren Kunden tatsächlich so genannte Beta-Versionen zur Verfügung. Dies sind Versionen, die sich noch in der Entwicklung befinden. Die Kunden sollen hier Fehler ("Bugs") aufdecken, dafür erhalten sie die Betaversion gratis (die endgültige Version müssen auch diese Kunden dann kaufen).

Eigentlich hört dieser Prozess nie auf: Programmieren - Testen - Programmieren - Testen - Programmieren - Testen...

Das Betriebssystem

Ohne Betriebssystem können Anwender-Programme weder installiert noch ausgeführt werden. Das Betriebssystem ist die Basis-Software, die den Computer erst zu einem funktionierenden Gerät macht. Es wird während des Startvorgangs ("Booten") in den Arbeitsspeicher geladen. Es kann immer nur ein Betriebssystem auf einem Computer ausgeführt werden. Auch Handys, Videorecorder, die Fahrwerkselektronik eines modernen Autos oder eine moderne Waschmaschine, etc. benötigen ein Betriebssystem (Gott sei Dank läuft nicht alles unter Windows ;-).

1. Komponente (arbeitet im Hintergrund):

  • Verwaltung des Speicherplatzes (Festplatten, Virtueller Speicher, etc.), Dateizugriff
  • Zuweisung von Arbeitsspeicher
  • Aufteilung der Prozessorleistung auf verschiedene Programme, Multitasking
  • Schnittstelle von Soft- und Hardware (Ein- und Ausgabe koordinieren, Peripheriegeräte verwalten)
  • Registrierung, Dateizuordnung (Welcher Dateityp wird mit welchem Programm geöffnet?)
  • Kommunikation mit anderen Computern über ein Netzwerk

Zu viele gleichzeitig geöffnete Programme können die Leistungsfähigkeit des Computers stark einschränken. Ist der Computer in seinen Reaktionen bereits spürbar verlangsamt, sollten Programme beendet werden, die nicht unmittelbar benötigt werden.

2. Komponente (Dialog mit dem Benutzer):

  • Starten und Beenden von Programmen, Fehlerbehandlung (Beenden abgestürzter Programme)
  • Zugriff auf Speichermedien, Dateioperationen
  • Zugriff auf Einstellungen der Hardware, Systemeinstellungen
  • Zusatzprogramme zur Wartung des Systems
Verschiedene Betriebssysteme:
MS-DOS "MicroSoft Disk Operating System"- das "Ur-PC-Betriebssystem" von Microsoft. MS-DOS 1.0 erscheint 1981 und akzeptiert zunächst nur Befehle, die von Hand mit der Tastatur eingegeben wurden. Erst 1988 erscheint eine Version mit einer sog. DOS-Shell - einer grafischen Benutzerführung.
Windows Ursprünglich eine grafische Erweiterung für das Betriebssystems MS-DOS, erst später ein eigenständiges Betriebssystem. Windows liegt inzwischen in der x-ten Version vor.
1990: Windows 3.0 (die vorherigen Versionen waren noch nicht wirklich brauchbar)
1992: Windows 3.1 , WFW (Windows For Workgroups)
1993: Windows NT
1994: WFW 3.11
1995: Windows 95
1997: Windows NT 4.0
1998: Windows 98
2000: Windows 2000, Windows ME (Millenium Edition)
2001: Windows XP
2007: Windows Vista
Linux Open Source Betriebssystem. 1991 veröffentlicht der Finne Linus Torvalds die Unix-Variante Linux mitsamt dem Code, der daraufhin von Programmierern auf der ganzen Welt weiterentwickelt wird. Die eigentliche Lizenz ist kostenlos - es gibt allerdings verschiedene "Distributionen" mit unterschiedlichen zusätzlichen Werkzeugen, grafischen Oberflächen, etc.
Mac-OS
OS X
Betriebssystem für Apple Macintosh-Rechner ("Mac").
Das Mac-OS wurde 1984 eingeführt und war das erste kommerzielle Betriebssystem mit einem GUI - damit also das erste mit Maus-Bedienung.
Nach Version 9 kam 2001 die erste Version der aktuellen mit OS X bezeichneten Betriebssysteme heraus.
Novell Netware Netzwerk-Betriebssystem der Firma Novell
OS/2 OS/2 entstand Mitte der 80er Jahre als Gemeinschaftsprojekt von IBM und Microsoft. Nach dem Ausstieg von Microsoft 1990 wurde es bis Mitte der 90er von IBM weiterentwickelt.
Unix entstand 1971 als Multiuser-Betriebssystem für Großrechner. Es war der Nachfolger des 1969 entwickelten "Unics" und der Vorläufer heutiger Systeme wie Linux oder Solaris.
Sun Solaris Neuerer Ableger von Unix

Anwender-Programme

Anwender-Programme gibt es inzwischen wohl für jeden vorstellbaren Anwendungsbereich. Von allgemein üblichen Programmen wie z.B. Textverarbeitungsprogrammen oder Internetbrowsern bis zu sehr spezialisierten branchenspezifischen Lösungen für einen kleinen Anwenderkreis. Hier die üblichsten Kategorien und Beispiele:

Einige Kategorien: Bekannte Programme:
Office-Pakete Microsoft - MS Office
OpenOffice
Sun - StarOffice
Lotus - SmartSuite
Corel - WordPerfect Office
Textverarbeitung Microsoft - Word
Corel - WordPerfect
Lotus - Word Pro
Write (OpenOffice)
Tabellenkalkulation  Microsoft - Excel
Corel - Quattro Pro
Lotus 1-2-3
Calc (OpenOffice)
Datenbanken Microsoft - Access
FileMaker
MySql
Oracle
Präsentationen Microsoft - PowerPoint
Lotus Freelance
Starimpress
Internet-Browser Microsoft - Internet Explorer
Mozilla/ Firefox
Opera
E-Mail, Organizer Microsoft Outlook/ Outlook Express
Lotus Notes, Organizer
Mizilla Thunderbird
Grafik Adobe- Photoshop
Macromedia - Fireworks/ Freehand
Corel Draw
Webdesign Macromedia - Dreamweaver/ Flash/ ...
Adobe GoLive
Microsoft - Frontpage
DTP - Desktop Publishing Adobe - Illustrator
Microsoft Publisher
Quark - XPress
CAD - Computer Aided Design Autodesk - AutoCAD
OCR - Optical Character Recognition Omnipage
Textbridge
CBT - Computer Based Training z.B. die Lern CD-ROMs für den ECDL von Bitmedia, Herdt-Verlag, etc...