Definition: Software Software: (engl. eigentlich „weiche Ware“), Abk. SW, Sammelbezeichnung für Programme, die für den Betrieb von Rechensystemen zur.

Slides:



Advertisements
Ähnliche Präsentationen
eAQUA Workshop Einführung Software Engineering
Advertisements

Lexikon der Qualität Begriffe in Verbindung mit Qualität und ISO9000 finden sie auch im Lexikon der Qualität erläutert (
Qualität „Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener.
Das V - Modell - Überblick
Von David Keß, Heinrich Wölk, Daniel Hauck
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Das „Vorgehensmodell“
Projektumfeld Gesellschaftliche Strömungen Strukturen/ Gliederung
10. Grundlagen imperativer Programmiersprachen
Ontologien- Query 1 Teil2
Inhaltsverzeichnis Einleitung zum Thema Was ist ein Lastenheft?
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Konzeption und Realisierung eines Text- Analysesystems zur Automatisierung der Bewerberauswahl von diesem Datenformat jede beliebige Anwendung adaptieren.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Nutzung und Bedeutung von Business Intelligence und Business Intelligence Methoden und -Werkzeugen Durch die Analyse des BI mit dem Fokus der Managementunterstützung.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE Capability Maturity Model Tailoring Tailoring bedeutet ungefähr: Maßschneidern.
Was ist Qualität ? Qualität von Produkten oder Dienstleistungen ist das Gesamtergebnis aller Aktivitäten in jeder Phase des gesamten Leistungsprozesses.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
RUP-Elemente (Schlüsselkonzepte)
Das V - Modell - Überblick
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Rational Unified Process (RUP) - Definitionen
Informatik Klasse 7 Grundlagen.
Access 2000 Datenbanken.
Was sind Histogramme? (1)
Datenbankentwurfsprozess
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
UML Begleitdokumentation des Projekts
Kontrollfragen zu Kapitel 1
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering WS 2009
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
? Was ist Informatik? Was ist Informatik? Alexander Lange
Internet und Intranet im Krankenhaus
Gliederung Einleitung eID-Infrastruktur und Komponenten
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Die Planungsphase Durchführbarkeitsuntersuchung: fachlich, personell und wirtschaftlich Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan.
Dr. Rolf Haenni, University of KonstanzNovember 28, 2002 Page 1/15 Aspekte eine echten Informationstheorie 1.Einführung 2.Informationsalgebren 3.Unsicherheit.
Definitionen der SWT (1)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Wasserfallmodell und Einzelbegriffe
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
PRO:CONTROL Ziel des Moduls Arbeitspakete
Ein Vortrag von Elisa Beyer und Melanie Erker
Fragen und Einwände hinsichtlich der Möglichkeit einer Schöpfungsforschung Thomas Waschke
Algorithmen und Datenstrukturen Übungsmodul 3
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Lehrplan Technik GOSt.
Software Engineering Grundlagen
Von Unternehmen und Unternehmern
Messergebnis Das Messergebnis ist der Näherungswert für den wahren Wert der Messgröße, der durch Auswertung der mit einer Messeinrichtung gewonnenen Messwerte.
XML Die “E-Lance Economy” oder die “Digital Economy” stellt neue Anforderungen an Funktionalität im Netz. XML wurde vom World Wide Web Consortium (W3C)
Qualitätsmanagement nach ISO 9001:2000 in der Zahnarztpraxis
Präsentation Unternehmens- organisation.
4) Kaufmännische Realisierung
ResA am Arbeitsplatz Das Vorgehen ist angelehnt an „5 S“ und bietet Ihnen die Möglichkeit das Konzept der 5 Disziplinen ressourcenschonenden Arbeitens.
 Präsentation transkript:

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/).

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 /).

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.

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.

Abb. Software, Software-Produkt und Software-System SW-System Benutzer SW-Entwickler Auftrags- geber SW- Produkt

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. 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.

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 organisatorisches System bezeichnet. Ein organisatorisches System zusammen mit sonstigen technischen Einrichtungen bilden ein Informationssystem.

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.

Abb. Begriffsbildungen im Zusammenhang mit System Rechnergestütztes Informationssystem / Anwendungssystem Informations-System Organisatorisches System Technisches System DV-System SW Anwendungs-SW System-SW Benutzer Sonstige technische Einrichtungen Anwender Hardware Computersystem Mitarbeiter Systemkomponente bzw. Systemelement

Software ist ein immaterielles Produkt Software 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.

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.

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.

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.

Zunehmende Qualitätsanforderungen Software 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

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.

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).

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.

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.

Methoden sind 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.

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.

Eine Methode kann durch mehrere alternative oder sich ergänzende Verfahren 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.

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.

Konzepte Notationen verwendet. erlauben 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.

Werkzeuge (tools) Verfahren Werkzeuge 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.

Abb. Die Software-Technik innerhalb der Informatik Kerninformatik Theoretische Informatik Praktische Informatik Technische Informatik Software-Technik Mathematik Natur-Wissenschaften Ingenieur-Wissenschaften Geistes-Wissenschaften

Abb. Teildisziplinen der Software-Technik Software-Erstellung Ent-wicklung Qualitäts-sicherung Manage-ment Wartung und Pflege Interdependenzen und Anwendung