close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

1 Was ist Software?

EinbettenHerunterladen
I
1 Was ist Software?
Grundsätzlich ist festzuhalten, dass ein Kernstück jeder Wissenschaft eine eigene einheitliche und allgemein anerkannte Begriffswelt ist. Wegen der starken Praxisorientierung der Softwaretechnik
spielt die Begriffsbildung hier sogar eine herausragende Rolle.
Die hohe Innovationsgeschwindigkeit und die Praxisnähe behindern eine solide, konsistente und systematische Begriffsbildung.
Daher gibt es heute für die Softwaretechnik noch keine allgemein
anerkannte und klar definierte Terminologie.
Jeder Begriffssystematik liegt eine bestimmte Sicht auf die Softwaretechnik zugrunde. Hat man eine andere Sicht, dann ist die Begriffssystematik zumindest teilweise ungeeignet. Auf der anderen
Seite sollte man eingebürgerte Begriffe – auch wenn sie einer Systematik zuwiderlaufen – nicht durch neue, theoretisch bessere Begriffe versuchen zu »überschreiben«. Man erhöht dadurch die Missverständnisse noch, anstatt sie zu reduzieren.
Glücklicherweise ist man davon abgekommen, den Begriff Software durch einen »deutschen« Begriff zu ersetzen.
Wie würden Sie den Begriff »Software« definieren?
Zu dem Begriff Software gibt es eine Reihe von Definitionen.
»Software (engl., eigtl. »weiche Ware«), Abk. SW, Sammelbezeichnung für Programme, die für den Betrieb von Rechensystemen
zur Verfügung stehen, einschl. der zugehörigen Dokumentation«
[Broc88].
»Software (kurz SW): Menge von →Programmen oder Daten zusammen mit begleitenden Dokumenten, die für ihre Anwendung notwendig oder hilfreich sind« [HKL+84, S. 204].
»software: (1) Computer programs, procedures, rules, and possibly associated documentation and data pertaining to the operation of a computer system [...]« (IEEE Standard Glossary of Software
Engineering Terminology [ANSI83, S. 31]).
Die Definitionen zeigen, dass Software ein umfassenderer Begriff
als Programm ist. Außerdem gehören zu Software immer auch eine
entsprechende Dokumentation und evtl. zugehörige Daten.
In Zusammenhang mit dem Begriff Software tauchen auch die
Begriffe Softwareprodukt und Softwaresystem auf. Wie würden Sie
diese Begriffe definieren und evtl. voneinander abgrenzen?
»Ein Produkt ist ein in sich abgeschlossenes, i.a. für einen Auftraggeber bestimmtes Ergebnis eines erfolgreich durchgeführten Projekts oder Herstellungsprozesses. Als Teilprodukt bezeichnen wir
einen abgeschlossenen Teil eines Produkts. [...]
3
Frage
Antwort
Frage
Antwort
I 1 Was ist Software?
SW-Produkt: Produkt, das aus →Software besteht. [...]
Unter einem System wird ein Ausschnitt aus der realen oder gedanklichen Welt, bestehend aus Gegenständen (z. B. Menschen, Materialien, Maschinen oder anderen Produkten) und darauf vorhandenen Strukturen (z. B. deren Aufbau aus Teileinheiten oder Beziehungen untereinander) verstanden.« [HKL+84, S. 204 ff.]
Systemteile, die nicht weiter zerlegbar sind oder zerlegt werden
sollen, werden als Systemelemente bezeichnet [HBB+94].
Ein Softwaresystem ist dementsprechend ein System, dessen
Systemkomponenten und Systemelemente aus Software bestehen.
Betrachtet man die drei Begriffe Software, Softwareprodukt und
Softwaresystem im Zusammenhang, dann kann man feststellen, dass
Software der allgemeinere, neutrale aber auch unbestimmtere Begriff ist.
Softwareprodukt betrachtet Software von »außen«, aus Käufer- oder Auftraggebersicht, während Softwaresystem die »innere« Sichtweise darstellt, d. h. so, wie ein Entwickler Software sieht
(Abb. 1.0-1). »software product. A software entity designated for
delivery to a user« [ANSI83, S. 32].
Abb. 1.0-1:
Software,
Softwareprodukt,
und
Softwaresystem.
Software
SW-System
Benutzer
SW-Entwickler
Auftraggeber
SW-Produkt
Soll die spezifische Sicht auf Software nicht besonders betont werden, dann wird in diesem Buch der Begriff Software verwendet.
Softwaresysteme gliedert man oft noch in Anwendungssoftware
und Systemsoftware.
Systemsoftware, auch Basissoftware genannt, ist Software, die
System-SW
für eine Computer-Plattform, eine spezielle Hardware oder eine
Hardwarefamilie entwickelt wurde, um den Betrieb und die Wartung dieser Hardware zu ermöglichen bzw. zu erleichtern. Eine Plattform ist gekennzeichnet durch den jeweils verwendeten Prozessor4
1 Was ist Software? I
typ und das eingesetzte Betriebssystem. Zur Systemsoftware zählt
man immer das Betriebssystem, in der Regel aber auch Compiler,
Datenbanken, Kommunikationsprogramme und spezielle Dienstprogramme. Systemsoftware orientiert sich grundsätzlich an den Eigenschaften der Hardware, für die sie geschaffen wurde und ergänzt
normalerweise die funktionalen Fähigkeiten der Hardware.
Anwendungssoftware (application software), auch Applikationssoftware genannt, ist Software, die Aufgaben des Anwenders mit Hilfe eines Computersystems löst. Anwendungssoftware setzt in der
Regel auf der Systemsoftware der verwendeten Hardware auf bzw.
benutzt sie zur Erfüllung der eigenen Aufgaben. Im Mittelpunkt
dieses Buches steht die Anwendungssoftware.
Anwendungssoftware, Systemsoftware und Hardware bilden zusammen ein Computersystem.
Als Anwender werden alle Angehörigen einer Institution oder organisatorischen Einheit bezeichnet, die ein Computersystem zur Erfüllung ihrer fachlichen Aufgaben einsetzen. Sie benutzen die Ergebnisse der Anwendungssoftware oder liefern Daten, die die Anwendungssoftware benötigt.
Benutzer sind nur diejenigen Personen, die ein Computersystem unmittelbar einsetzen und bedienen, oft auch Endbenutzer oder
Endanwender genannt.
Folgende weitere Begriffe werden häufig verwendet:
Ein technisches System setzt sich aus dem Computersystem
und sonstigen technischen Einrichtungen zusammen.
Anwendungs-SW
Anwender
Benutzer
Technisches
System
Bei einem Computersystem kann es sich zum Beispiel um einen Beispiel
Bordrechner handeln, bei einem technischen System um ein Flugzeug. Ein Zugangskontrollsystem besteht aus einem Ausweisleser
(Computersystem) und der Tür mit dem Schließmechanismus (sonstige technische Einrichtung). Der Ausweisleser selbst besteht aus
einem Rechner im Ausweisleser (Hardware) und der Software zum
Datenabgleich Ausweis-Authentisierung. Bei dem Zugangskontrollsystem handelt es sich also um ein technisches System.
Die Mitarbeiter in ihrer Rolle als Aufgabenträger einschließlich Anwendern und Benutzern werden oft als organisatorisches System
bezeichnet.
Im Zusammenhang mit dem Begriff System ist oft noch die Unterscheidung zwischen Systementwicklung und Softwareentwicklung
wesentlich. Worin besteht Ihrer Meinung nach der Unterschied?
Spricht man von Softwareentwicklung, dann meint man die ausschließliche Entwicklung von Software. Spricht man von Systementwicklung, dann meint man oft die Entwicklung eines Systems, das
5
Organisatorisches System
Frage
Antwort
I 1 Was ist Software?
aus Hardware- und Software-Komponenten besteht. In einem solchen Fall müssen bei der Entwicklung zusätzliche Randbedingungen
berücksichtigt werden.
In diesem Buch wird eine Systementwicklung, die eine HardwareEntwicklung mit berücksichtigt, nicht betrachtet.
Eine wichtige wirtschaftliche Bedeutung haben heute softwareintensive Systeme. In einem softwareintensiven oder softwarebasierten System werden wesentliche Eigenschaften durch die in das
System eingebettete Software realisiert. Im Gegensatz zu reinen Softwarelösungen ist bei softwareintensiven Systemen die Software nur
ein – wenn auch wichtiger – Systembestandteil. Softwareintensive
Systeme werden in diesem Buch ebenfalls behandelt. Auf die besonderen Herausforderungen bei softwareintensiven Systemen wird in
[Broy06] näher eingegangen.
Anwendungen lassen sich nach Komplexitätsarten gliedern. Sechs
Komplexitätsarten Dimensionen der Software-Komplexität können unterschieden werden:
Komplexität der Funktionen:
Softwaresysteme, die eine Vielzahl von Funktionen enthalten.
Textverarbeitungssysteme, DTP-Systeme und integrierte Büroprogramme sind Beispiele dafür. Integrierte Büroprogramme mit
Textverarbeitung, Tabellenkalkulation, Bürografik und Datenbank
besitzen zwischen 1.000 und 1.500 Funktionen. Ein DTP-System
hat einen Funktionsumfang von 700 bis 1.000 Funktionen.
Komplexität der Daten:
Softwaresysteme, die eine Vielzahl von Datenstrukturen oder sehr
komplexe Datenstrukturen enthalten. Ein Beispiel hierfür sind Datenbanksysteme.
Komplexität der Algorithmen:
Softwaresysteme, die z. B. komplexe numerische Berechnungen
durchführen.
Komplexität des zeitabhängigen Verhaltens:
Softwaresysteme, die sich durch nebenläufige Prozesse, gegenseitigen Ausschluss, Synchronisation, definierte Zeitbedingungen
und ähnliches auszeichnen. Beispiele dafür sind Betriebssysteme,
verteilte Systeme, Prozesssteuerungen, softwareintensive Systeme.
Komplexität der Systemumgebung:
Softwaresysteme, die in andere Systeme eingebettet sind
(softwareintensive Systeme, embedded systems). Da diese Softwaresysteme nur Teilkomponenten des Gesamtsystems sind, kommt
es hierbei ganz wesentlich auf das Zusammenwirken von Softwaresystem und Gesamtsystem an. Beispiele hierfür sind Flugzeugsteuerungen, Radaranlagen, Kraftwerkssteuerungen.
6
1 Was ist Software? I
Komplexität der Benutzungsoberfläche:
Softwaresysteme mit komplexer Interaktion zwischen Benutzer
und Computersystem. Beispiele dafür sind CAD- und CASE-Systeme, Spiele, Büroanwendungen, Grafiksysteme, aber auch moderne
Web-Anwendungen.
Anwendungssoftware lässt sich nach diesen Komplexitätsarten klassifizieren:
Administrative, kaufmännische, betriebswirtschaftlich orientierte Software ist gekennzeichnet durch eine Komplexität
der Daten und/oder der Funktionen.
Technisch-wissenschaftliche Software ist gekennzeichnet
durch die Komplexität der Funktionen und der Algorithmen.
Softwareintensive Systeme sind gekennzeichnet durch die
Komplexität der Algorithmen, der Systemumgebung und des zeitabhängigen Verhaltens.
GUI-intensive Software ist gekennzeichnet durch die Komplexität der Benutzungsoberfläche und -interaktion.
7
Document
Kategorie
Internet
Seitenansichten
5
Dateigröße
79 KB
Tags
1/--Seiten
melden