g.heyer digitale informationsverarbeitung 1 definition: software software: (engl. eigentlich weiche...
TRANSCRIPT
G.Heyer Digitale Informationsverarbeitung1
Definition: Software
Software: (engl. eigentlich „weiche Ware“), Abk. SW,
Sammelbezeichnung für Programme, die für den Betrieb von Rechensystemen zur Verfügung stehen, einschl. der zugehörigen Dokumentation ( Brockhaus-Enzyklopädie).
Software: die zum Betrieb einer Datenverarbeitungsanlage erforderlichen nichtapparativen Funktionsbestandteile (Fremdwörter-Duden)
Software: ... unter Software subsumiert man alle immateriellen Teile d. h. alle auf einer Datenverarbeitungsanlage einsetzbaren Programme (Lexikon der Informatik und Datenverarbeitung / Schneider 86/).
G.Heyer Digitale Informationsverarbeitung2
Software:Menge von Programmen oder Daten zusammen mit begleitenden Dokumenten, die für ihre Anwendung notwendig oder hilfreich sind (Ein Begriffssystem für die Softwaretechnik / Hesse et al. 84/).
Software: 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 / ANSI 83 /).
G.Heyer Digitale Informationsverarbeitung3
Definition der Begriffe: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.
SW-Produkt: Produkt, das aus Software besteht.
Unter einen System wird eine 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. (Hesse et al. 84).
Ein Software-System ist dementsprechend ein System, dessen Systemkomponenten und Systemelemente aus Software bestehen.
G.Heyer Digitale Informationsverarbeitung4
Systemsoftware,auch Basissoftware genannt, ist Software, die für eine spezielle Hardware
oder eine Hardwarefamilie entwickelt wurde, um den Betrieb und die Wartung dieser Hardware zu ermöglichen bzw. zu erleichtern.
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 Computersystem löst. Anwendungssoftware setzt in der Regel auf der Systemsoftware der verwendeten Hardware auf bzw. benutzt sie zur Erfüllung der eigenen Aufgaben.
G.Heyer Digitale Informationsverarbeitung5
Abb. Software, Software-Produkt und Software-System
Benutzer Auftrags-
geber
SW-System
SW-Entwickler
SW- Produkt
Software
G.Heyer Digitale Informationsverarbeitung6
Als Anwenderwerden 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.
Ein technisches System setzt sich aus dem Computersystem und sonstigen technischen Einrichtungen zusammen.
Beispiele:
Bei einem Computersystem kann es sich z. B. um einen Bordrechner handeln,
bei einem technischen System um ein Flugzeug.
G.Heyer Digitale Informationsverarbeitung7
organisatorisches System
Weiteres Beispiel :
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
bezeichnet.
Ein organisatorisches System zusammen mit sonstigen technischen
Einrichtungen bilden ein Informationssystem.
G.Heyer Digitale Informationsverarbeitung8
Ein Informationssystem
besteht also aus Menschen und Maschinen, die Informationen erzeugen und / oder benutzen und die durch Kommunikationsbeziehungen miteinander verbunden sind.
Enthält ein Informationssystem ein oder mehrere Computer-Systeme,
dann spricht man von einem rechnergestützten Informationssystem oder einem Anwendungssystem in der
Kurzform oft auch Anwendung oder Applikation genannt.
Ein rechnergestütztes Informationssystem bzw. ein
Anwendungssystem ist ein System, bei dem die Erfassung, Speicherung, Übertragung, Auswertung und / oder Transformation von Information durch Computersysteme teilweise automatisiert ist.
Im Zusammenhang mit dem Begriff System ist oft noch die Unterscheidung zwischen System-Entwicklung und Software-Entwicklung wesentlich.
G.Heyer Digitale Informationsverarbeitung9
Abb. Begriffsbildungen im Zusammenhang mit System
Rechnergestütztes Informationssystem / Anwendungssystem
DV-System
Computersystem
SWAnwendungs-SW
System-SW
Hardware
Technisches System
Sonstige
technische
Einrichtungen
Informations-SystemOrganisatorisches
System
Benutzer
Anwender
Mitarbeiter
Systemkomponente bzw. Systemelement
G.Heyer Digitale Informationsverarbeitung10
Software ist ein immaterielles ProduktSoftware kann man nicht „anfassen“, nicht „sehen“. Das was die
Dokumentation beschreibt, stimmt oft nicht hundertprozentig mit dem lauffähigen Code der Software überein.
Software unterliegt keinem Verschleiß
Technische Produkte nutzen sich im Laufe der Zeit ab, Software kann beliebig oft ablaufen, ohne daß Abnutzungserscheinungen auftreten.
Software wird nicht durch physikalische Gesetze begrenzt
Software ist ein künstliches Produkt des menschlichen Erfindungsgeistes. Es basiert nicht auf physikalischen Gesetzen und erlaubt dem Schöpfer der Software daher einen großen Gestaltungsspielraum.
Software ist im allgemeinen leichter und schneller änderbar
als ein technisches Produkt. Um technische Produkte zu ändern, müssen oft erst neue Werkzeuge hergestellt werden. Ist Software gut strukturiert und modularisiert, dann können Änderungen schnell und einfach durchgeführt werden.
G.Heyer Digitale Informationsverarbeitung11
Für Software gibt es keine Ersatzteile
Bei technischen Produkten werden Produktteile, die verschlissen oder fehlerhaft sind, ausgetauscht und durch in der Regel vorproduzierte Ersatzteile ersetzt.
Für Software geht dies nicht. Es würde bedeuten, Softwarekomponenten mehrfach zu entwickeln. Tritt ein Fehler in einer Komponente auf, dann müßte man darauf hoffen, daß in der ausgetauschten Komponente nicht zufällig derselbe Fehler auftaucht.
Außerdem müßten die Schnittstellen und ihre Semantik exakt definiert sein.
Software altert
Auf den ersten Blick erscheint die Aussage unglaubwürdig, zumal oben festgestellt wurde, daß Software keinem Verschleiß unterliegt. Beobachtet man jedoch, daß sich die Umgebung, in der eine Software eingesetzt wird, ständig ändert, dann wird diese Aussage verständlich.
G.Heyer Digitale Informationsverarbeitung12
Software ist schwer zu „vermessen“
Technische Produkte kann man mit Hilfe von Meßgeräten in der Regel sehr exakt vermessen. Anhand der Maße können die Produkte dann sowohl untereinander als auch mit einem anderen Standard oder einer Vorgabe verglichen werden.
Das ist bei Software nur bedingt möglich.
• Erstens ist die Qualität für Software schwer definierbar und
quantifizierbar.
• Zweitens ist die Korrelation zwischen dem, was man messen kann, und
dem, was als Qualität gefordert ist, nicht oder nur in Ansätzen bekannt.
G.Heyer Digitale Informationsverarbeitung13
Software hat sich in den letzten 10 Jahren stark verändert:
•Zunehmende Bedeutung
•Wachsende Komplexität
•Zunehmende Qualitätsanforderungen
•Nachfragestau und Engpaßfaktor
•Mehr Standardsoftware
•Zunehmend „Altlasten“
•Zunehmend „Außer-Haus-Entwicklung“
Diese Veränderungen sind nicht isoliert voneinander zu sehen, sondern sie
stehen in Wechselwirkung und bedingen sich teilweise gegenseitig.
In zunehmendem Maße entwickelt sich Software zu einem eigenständigen
Wirtschaftsgut und spielt eine entscheidende Rolle in der Gesellschaft.
G.Heyer Digitale Informationsverarbeitung14
Zunehmende QualitätsanforderungenSoftware wird immer mehr in Bereichen eingesetzt, wo eine Versagen
nicht nur zu wirtschaftlichen Verlusten führt, sondern auch Menschenleben gefährdet sind.
Erfahrungen haben gezeigt, daß für 50 Prozent der Ausfälle im industriellen Sektor Software-Fehler verantwortlich sind.
Das Akzeptieren eines 0,1%-Defektniveaus bedeutet:
- pro Jahr: 20.000 fehlerhafte Medikamente
300 versagende Herzschrittmacher
- pro Woche: 500 Fehler bei medizinischen Operationen
- pro Tag: 16.000 verlorene Briefe in der Post
16 Flugzeugabstürze
- pro Stunde: 22.000 Schecks nicht korrekt gebucht
G.Heyer Digitale Informationsverarbeitung15
Warum ist marktreife Software so schwer zu entwickeln?Will man Produkte für den Markt entwickeln, dann muß jede
Produktentwicklung versuchen, folgende Anforderungen einzuhalten:
a) Funktionstreue, d. h. die Übereinstimmung der definierten
Produktanforderungen mit dem fertiggestellten Produkt.
b) Qualitätstreue, d. h. die Übereinstimmung der definierten
Qualitätsanforderungen mit dem fertiggestellten Produkt.
c) Termintreue, d. h. die Einhaltung der im Entwicklungsplan
festgelegten und dem Kunden bzw. dem Marketing zugesagten
Fertigstellungstermine.
d) Kostentreue, d. h. die Einhaltung des in der Wirtschaftlichkeits-
Rechnung geplanten Personal- und Sachaufwandes für die
Produkt-Erstellung und -Pflege.
G.Heyer Digitale Informationsverarbeitung16
Was ist Software-Technik?
Software Engineering: The practical application of scientific
knowledge in the design and construction of computer programs and
associated documentation required to develop, operate, and maintain them / Boehm 76, S. 1226/.
Software Engineering: The systematic approach to the development,
operation, maintenance, and requirement of software (IEEE Standard
Glossary of Software Engineering Terminology /ANSI 83/).
Software-Engeneering: das ist ingenieurmäßiges Entwerfen,
Herstellen und Implementieren von Software sowie die
ingenieurwissenschaftliche Disziplin, die sich mit Methoden und
Verfahren zur Lösung der damit verbundenen Problemstellung befaßt (Brockhaus-Enzyklopädie).
G.Heyer Digitale Informationsverarbeitung17
Software-Technik (syn.: Software Engineering):
Fachgebiet der Informatik, das sich mit der Bereitstellung und
systematischen Verwendung von Methoden und Werkzeugen für die
Herstellung und Anwendung von Software beschäftigt
(Ein Begriffssystem für die Softwaretechnik / Hesse et al. 84/).
Software-Technik: Zielorientierte Bereitstellung und systematische
Verwendung von Prinzipien, Methoden, Konzepten, Notationen und
Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und
Anwendung von umfangreichen Software-Systemen.
Zielorientiert bedeutet die Berücksichtigung z. B. von Kosten, Zeit und Qualität.
G.Heyer Digitale Informationsverarbeitung18
Definition und Erläuterung der Begriffe:
Prinzipien:
sind Grundsätze, die man seinem Handeln zugrunde legt.
Prinzipien sind allgemeingültig, abstrakt, allgemeinster Art. Sie bilden
eine theoretische Grundlage. Prinzipien werden aus der Erfahrung und
Erkenntnis hergeleitet und durch sie bestätigt.
Prinzipien sagen nichts darüber aus, wie man sie - bezogen auf ein
konkretes Anwendungsgebiet - erreichen kann.
Außerdem sind sie weitgehend unabhängig vom Anwendungsgebiet.
Das Prinzip der Abstraktion wird z. B. in der Philosophie ebenso
angewandt wie in der Mathematik, in der Informatik usw.
G.Heyer Digitale Informationsverarbeitung19
Methodensind planmäßig angewandte, begründete Vorgehensweisen zur
Erreichung von festgelegten Zielen (im allgemeinen im Rahmen
festgelegter Prinzipien).
Methoden enthalten also den Weg zu etwas hin, d. h. sie machen
Prinzipien anwendbar. Planmäßig bedeutet, daß beim Einsatz einer
Methode nicht herumprobiert wird.
Methoden sollen konkret sein, im Sinne einer Wegleitung, einer
Aufteilung der Arbeitsschritte.
Anwendung und Erfolg einer Methode sollen verifizierbar und meßbar sein.
Methoden entstehen manchmal als Verallgemeinerung der Erkenntnisse
bei der Entwicklung von Verfahren.
G.Heyer Digitale Informationsverarbeitung20
Prinzip Methode
Hierarchisierung Zerlegung eines Problems in Teilprobleme,
so daß eine Baumhierarchie entsteht.
Modularisierung Entwicklung von Produkten oder Teil-
Produkten, die nur über eine definierte
Schnittstelle mit der Umwelt kommunizieren
können und sonst kontextunabhängig sind.
Strukturierung Entwurf von Programmen, so daß nur
Sequenz, Auswahl und Wiederholung
vorkommen.
G.Heyer Digitale Informationsverarbeitung21
Verfahren
Eine Methode kann durch mehrere alternative oder sich ergänzende
unterstützt werden.
Verfahren sind ausführbare Vorschriften oder Anweisungen zum
gezielten Einsatz von Methoden.
Sie beschreiben konkrete Wege zur Lösung bestimmter Probleme oder
Problemklassen.
Ein Verfahren ist im allgemeinen wegen seiner Beschränkung stärker
einsatzbezogen als eine Methode.
Verfahren beinhalten meist formale Vorschriften und bilden oft den
Inhalt von Standards.
G.Heyer Digitale Informationsverarbeitung22
Methode Verfahren
Anwendung der Bei der Entwicklung von PASCAL -
Kontrollstrukturen Programmen dürfen nur die
Sequenz, Auswahl Kontrollstrukturen:
und Wiederholung begin-end, if-then,
if-then-else,case-of,
repeat-until, while-do,
for-to (downto)-do
verwandt werden.
G.Heyer Digitale Informationsverarbeitung23
Konzepteerlauben es also, definierte Sachverhalte unter einem oder mehreren
Gesichtspunkten zu modellieren.
Zur Beschreibung von Konzepten werden
Notationen verwendet.
Eine Notation stellt Informationen durch Symbole dar. Ein Konzept
kann durch eine oder mehrere Notationen dargestellt werden.
Beispiele:
Die Kontrollstrukturen Sequenz, Auswahl und Wiederholung sind
Konzepte zur Modellierung von Algorithmen.
Diese Konzepte können in den Notationen Strukturdiagramm,
Programmablaufplan, Jackson-Diagramm, Pseudo-Code und Syntax
einer gewählten Programmiersprache dargestellt werden.
G.Heyer Digitale Informationsverarbeitung24
Werkzeuge (tools)dienen der automatisierten Unterstützung von Methoden, Verfahren,
Konzepten und Notationen.
Beispiele:
Verfahren Werkzeuge
Festgelegte Überprüfung, ob keine
Kontrollstrukturen Label-Vereinbarung oder kein
in PASCAL goto verwendet wurde.
Durch Werkzeuge kann die Einhaltung von Methoden, Verfahren, Standards, Konzepten und Notationen erzwungen werden und die Produktivität erhöht werden.
Insbesondere sollten solche Tätigkeiten automatisiert werden, die hohe Präzision erfordern, die oft wiederholt werden müssen und die eine Überprüfung erfordern.
G.Heyer Digitale Informationsverarbeitung25
Abb. Die Software-Technik innerhalb der Informatik
Ingenieur-Wissenschaften
Natur-Wissenschaften
Mathematik
Software-Technik
Technische Informatik
Theoretische Informatik
Geistes-Wissenschaften
Kerninformatik
Praktische Informatik
G.Heyer Digitale Informationsverarbeitung26
Abb. Teildisziplinen der Software-Technik
Ent-wicklung
Manage-ment
Wartung und Pflege
Qualitäts-sicherung
Software-Erstellung
und AnwendungInterdependenzen