1. Einleitung: Systementwicklung und Formale Spezifikationen
|
|
- Birgit Frei
- vor 8 Jahren
- Abrufe
Transkript
1 Grundlagen der Systementwicklung Seite 1 Einführung: Systementwicklung und formale Methoden 1. Einleitung: Systementwicklung und Formale Spezifikationen Ziele: * Phasenmodell der Systementwicklung und die Rolle von Validierung und Verifikation verstehen * * (Technische) Probleme bei der Systementwicklung aufzeigen * * Historische Übersicht über formale Methoden zur Systementwicklung geben. Verwandte Lehrveranstaltungen: Objekt-Orientierte Software-Entwicklung Formale Objekt-Orientierte Software-Entwicklung Software-Engineering-Praktikum. Temporale Logik Praktikum über Modelcheking
2 Seite 2 Grundlagen der Systementwicklung Folien 1 Beispiel 1: Bedeutung korrekter Software Ariane 5: Softwarefehler führt zum Verlust von mehr als 10 9 DM Telecom: 1. Januar 1996 ist kein Feiertag Windows-Taschenrechner (Version ): Therac 25 (Strahlengerät zur Krebsbehandlung): Fehlerhafte Programmierung führt zu Verbrennungen und Todesfällen Deutsches Autobahnmautsystem Schlechte Plnung und Projektmangemenent führt zu Verzögerung der Auslieferung von zwei Jahren und damit zu Mindersteuereinnahmn in Höhe von meheren Milliarden Euro.
3 Grundlagen der Systementwicklung Seite 3 Einführung: Systementwicklung und formale Methoden System-Engineering Techniken der Systementwicklung von der ersten informellen Beschreibung eines System bis hin zu einer software-intensiven Lösung. Software Engineering Systematische Techniken zur Konstruktion qualitativ hochwertiger Programme.
4 Seite 4 Grundlagen der Systementwicklung Folien Der Software - Lebenszyklus : Anforderungsanalyse und -spezifikation Systementwurf und -spezifikation Validation Verifikation Detaillierter Entwurf Implementierung Integration <Software-System> Wartung
5 Grundlagen der Systementwicklung Seite 5 Einführung: Systementwicklung und formale Methoden Anforderungsanalyse und -spezifikation Erstellung eines Dokuments, das eine Beschreibung enthält, was das System tun soll, aber nicht, wie es das tun soll. Systementwurf und -spezifikation Spezifikation der Architektur des Systems und der Aufgaben seiner Komponenten Detaillierter Entwurf Verfeinerung des Entwurfs bis zum einem Detaillierungsgrad, der es ermöglicht, den Code zu erstellen Implementierung Codierung der Komponenten des Entwurfs in einer konkreten Programmierspache Integration Zusammenführung der einzelnen Systemkomponenten zum Gesamtsystem Wartung Fehlerkorrektur und Änderung des fertigen Systems während des Praxiseinsatzes
6 Seite 6 Grundlagen der Systementwicklung Folien 1 Validierung Prüfung, ob ein Produkt die Benutzeranforderungen erfüllt. Bauen wir das richtige Produkt? Verifikation Prüfung, ob jede Phase der System-Entwicklung die Intentionen der vorhergehenden Phase erfüllt. Bauen wir das Produkt richtig? Testen Prozeß des Ausführens eines vollständigen Systems zur Überprüfung, daß es die Anforderungen erfüllt; Teil der Validierung. Testen in frühen Phasen der Entwicklung: Simulation, Prototyping, Symbolische Ausführung, statische und dynamische Analyse.
7 Grundlagen der Systementwicklung Seite 7 Einführung: Systementwicklung und formale Methoden Beispiel 2: Analogie zum Bau einer Autobahnbrücke Anforderungsanalyse: * Größe, Länge, Höhe, * Kapazität, * Bodenbeschaffenheit, * Anforderungsspezifikation: Technisches Dokument. Systemspezifikation: Entwurf der Struktur der Brücke, bei einfacheren Lösungen unter Benutzung von Standard- Komponenten (zur Kosten- und Zeiteinsparung). Wartung: a) kleine Entwurfs- und Baufehler werden während der Benutzung beseitigt, b) bei größeren Problemen: z.b. Neukonstruktion der Brükke, oder wie vor ein paar Jahren in London die Sperrung der neuen Brücke des Stararchitekten Foster.
8 Seite 8 Grundlagen der Systementwicklung Folien 1 Beispiel 3: Kosten von Software im Lebenszyklus Zwei Arten von Kosten: a) Kosten der Software-Konstruktion, b) Kosten der Wartung sowohl für Fehlerkorrektur als auch Änderung der Anforderungen Die Kosten von a) betragen 20% oder weniger, die Kosten der Wartung - b)- mindestens 80%. Kosten Neue Entwicklungen Neue Anwendungen Wartung Totale EDV-Ausgaben Jahre
9 Wiederverwendbarkeit Grundlagen der Systementwicklung Seite 9 Einführung: Systementwicklung und formale Methoden Vorteile: - spart Zeit und Kosten, - weniger fehleranfällig, - länger verwendete Software ist robuster, -Wiederverwendbarkeit auf allen Ebenen, insbesondere von Spezifikationen Probleme: - not invented here Syndrom, d.h. man traut der fremden Software nicht. - Wiederverwendung ist schwierig, wenn der Code an das neue Problem angepasst werden muss. - die Entwicklung generischer Software ist aufwendig In den letzten Jahren Verwendung von Programmbibliotheken (API) Verwendung von Komponenten (z.b. Java beans)
10 Seite 10 Grundlagen der Systementwicklung Folien Probleme bei der System - Entwicklung Tabelle 1: typischer Entwicklungsprozeß Entwicklungs schritt Anforderungsspezifikation Entwurfsspezifikation Detaillierte Spezifikation Implementierung Notation in natürlicher Sprache mit Bildern und Tabellen in graphischer Notation und in natürlicher Sprache; formale Spez. bei sicherheitskritischen Systemen in Programmnotation vermischt mit natürlicher Sprache in Programmiersprache
11 Grundlagen der Systementwicklung Seite 11 Einführung: Systementwicklung und formale Methoden Probleme: 1. Natürliche Sprache ist nicht präzise genug, zu viele Details 2. Zu viele verschiedene Notationen, häufig in jeder Phase andere Notation. Fehler besonders an den Schnittstellen zwischen den Phasen. 3. Fehler in der Anforderungsdefinition oder im Entwurf sind meist schwerer zu beheben und damit teuerer als Fehler in späteren Phasen.
12 Seite 12 Grundlagen der Systementwicklung Folien 1 Beispiel 4: Mangel an Präzision Die Schnittstelle zum System, das von Radaroperatoren benutzt wird, soll benutzerfreundlich sein. Die virtuelle Schnittstelle soll auf wenigen einfachen allgemeinen Konzepten beruhen, die eine klare Benutzerführung bieten und klar zu verstehen sind. Die Voltzahl der Lampe ist immer eine ganze Zahl zwischen 3 und 6 Volt. Heißt dies Voltzahl >= 3 und Voltzahl <= 6 oder Voltzahl > 3 und Voltzahl < 6? Unerfüllbarkeit: Der Wasserstand der letzten drei Monate soll auf einem magnetischen Band gespeichert werden., (welches ein Teil der Hardwareanforderungen eines zukünftigen Systems sein kann) und der Satz: Das Kommando PRINT_LEVEL druckt den durchschnittlichen Wasserstand für einen spezifizierten Tag der letzten drei Monate aus. Die Antwortzeit soll nicht länger als drei Sekunden betragen.
13 Grundlagen der Systementwicklung Seite 13 Einführung: Systementwicklung und formale Methoden Unvollständigkeit: Das System soll die stündlichen Temperaturen überwachen, die von Sensoren an den laufenden Reaktoren gemessen werden. Diese Werte sollen für die letzten drei Monate gespeichert werden. Die Funktion des Kommandos AVERAGE ist es, auf einer Benutzerkonsole die durchschnittliche Temperatur eines Reaktors für einen spezifizierten Tag anzuzeigen. Was wird angezeigt, wenn um 14 Uhr das Mittel der heutigen Temperatur verlangt wird: error oder Mittel der Temperatur bis 14 Uhr? Zweideutigkeit: Das Operatorkennzeichen besteht aus dem Operatornamen und seinem Paßwort; das Paßwort besteht aus sechs Ziffern. Es soll auf der Sicherheitskonsole angezeigt werden und in der Logindatei gespeichert werden, wenn ein Operator sich einloggt. Wenn ein Fehler bei einer Reaktorüberlastung entdeckt wird, soll der Fehlerbildschirm 1 auf der Masterkonsole angezeigt werden und der Fehlerbildschirm 2 soll auf der Verbindungskonsole angezeigt werden mit einer blinkenden Kopfzeile. Bezieht sich Es auf password oder operator identity? Sollen beide Konsolen blinkende Kopfzeilen haben?
14 Seite 14 Grundlagen der Systementwicklung Folien Formale Methoden in der Informatik Formale Methoden: Verwendung von mathematischen Notationen zur Beschreibung von Anforderungs- und Entwurfsspezifikationen zusammen mit Validierungs- und Verifikationstechniken Geschichtlich: ab ca. 1960: formale Sprachen und Automaten: Untersuchung der Syntax von formalen Sprachen. Operationelles Verhalten von Programmen: Chomsky-Hierarchie, endliche Automaten, reguläre Ausdrücke und Turing-Maschinen. ab ca. 1970:Semantik von Programmiersprachen (Scott, Strachey): Zuordnung einer Bedeutung zur Syntax durch Abbildung auf bekannte mathematische Strukturen: Semantik des λ Kalküls, denotationelle Semantik : Beweise von Programmen, Zusicherungskalküle (Dijkstra, Hoare, Floyd) Zusammenhang von Programmen mit logischen Eigenschaften vor und nach der Ausführung des Programms.
15 Grundlagen der Systementwicklung Seite 15 Einführung: Systementwicklung und formale Methoden ab ca. 1975:Algebraische Spezifikation (Guttag, ADJ) abstrakte Beschreibung von Programmen/Problemeigenschaften durch Axiome ( Algebraische bzw. Axiomatische Spezifikation ), bzw. basierend auf Modellen und Mengenlehre ( Modellorientierte Spezifikation ). ab ca. 1970:Formale Programmentwicklung (CIP, Burstall/ Darlington, Hoare) Studium der Beziehungen zwischen Abstraktionsebenen der Beschreibung,Programmtransformationen, Wechsel der Datenstruktur (heute bei Microsoft: Intentional Programming). ab ca. 1980: Temporale Logik (Kröger, Manna, Pnueli) zur Beschreibung des dynamischen Verhaltens von Systemen. ab ca. 1990:Integration diagrammatischer Notationen mit formalen Techniken, semantische Fundierung graphischer Notationen. ab ca. 1995: große Erfolge der Temporallogik durch Einsatz von Modelchecking (endlicher Automaten) zur Verifikation/Falsifizierung von Sicherheits- und Lebendigkeitseigenschaften von Kontrollsystemen.
16 Seite 16 Grundlagen der Systementwicklung Folien 1 Modellorientierte Methoden VDM [Jones 90], B, Z. Algebraische Ansätze Larch, LOTOS, Maude, CASL. Temporal-logische Ansätze LTL, CTL, TLA, MTLA (für mobile Systeme)
17 Grundlagen der Systementwicklung Seite 17 Einführung: Systementwicklung und formale Methoden Modell-orientierte Spezifikationen Beschreibung imperativer Konzepte durch Zusicherungen (Vor- und Nachbedingungen) der Form {φ} P {ψ}. Beispiel 5: {n 0} s := n; Q {s = fac(n)} Spezifikation eines Programms Q, das die Fakultätsfunktion berechnet. s eine Programmvariable, n eine mathematische oder logische Variable fac bekannte Fakultätsfunktion.
18 Seite 18 Grundlagen der Systementwicklung Folien 1 Axiomatische Spezifikationen funktionales Verhalten von Rechenstrukturen. Beschreibung durch Schnittstelle (oder Signatur), und charakteristische Eigenschaften durch (Gleichungs-) Axiome und durch Termersetzung (für nebenläufiges Verhalten) o Beispiel 6: Keller Schnittstelle: Datentypen: Stack, Data Charakteristische Funktionen sind empty : Stack; push : Data Stack Stack; top : Stack Data; pop : Stack Stack; Charakteristische Eigenschaften: top (push (d, s)) = d; pop (push (d, s)) = s.
19 Grundlagen der Systementwicklung Seite 19 Einführung: Systementwicklung und formale Methoden Modell-orientierte Beschreibung. Prozeduren: New(s) weist der Variablen s den leeren Keller zu, Push(s,n) fügt das Symbol n zum Keller hinzu, Pop(s) entfernt das oberste Kellersymbol, Top(s,m) weist den obersten Eintrag des Kellers s der Variablen m zu, Isempty(s, b) weist der Variablen b den Wert true zu, falls s leer ist, andernfalls erhält b den Wert false I Beschreibung des Verhaltens von Kellern durch endliche Sequenzen. mittels der Spezifikation: {true} New(s) {s = ε} {s = t m = n} Push(s, m){s = cons(t, n)} {s = cons(t,n)} Pop(s){s = t} {s = cons(t,n)} Top(s, m){m = n} wobei ε die leere Sequenz, cons(t, n) Anhängen von n an t. s, m Programmvariablen, t, n logische Variablen
20 Seite 20 Grundlagen der Systementwicklung Folien 1 Unterstützungswerkzeuge. Tabelle 2: Beispiele für Beweisunterstützende Systeme System Entwickler Bemerkungen LCF R. Milner Logic for Computable Functions PVS John Rushby, N. Shankar (SRI) Interaktiver Beweiser für Logik höherer Ordnung, seit 1980 Isabelle L. Paulson, T. Nipkow Interaktiver Beweiser Weiterentwicklung von LCF Cambridge, seit 1985 Larch DEC Palo Alto / MIT seit 1989 Guttag, Horning Z/Eves Dan Craigen Analyse-Werkzeug für Z, seit 1990 NUPRL Constable, Cornell U. Weiterentwicklung von LCF Modelchecker HOL- CASL Beweis von Eigenschaften endlicher Automaten (auch bei Echtzeit) z.b. SMV, SPIN, UPPAAL Till Mossakowski, Univ. Bremen ca. seit 1990 Parser und Beweisunterstützung, seit 2000
21 Grundlagen der Systementwicklung Seite 21 Einführung: Systementwicklung und formale Methoden Tabelle 2: Beispiele für Beweisunterstützende Systeme System Entwickler Bemerkungen Maude Jose Meseguer Simulation und Analyse alg. Spezifikation, Modellierung nebenläufiger System HUGO A. Knapp, S. Merz Modellchecker für UML-Statecharts
22 Seite 22 Grundlagen der Systementwicklung Folien Zusammenfassung * Systementwicklung kann in Phasen eingeteilt werden, beginnend mit der Anforderungsbeschreibung und endend mit der Wartung. In allen Phasen benötigt man Validierung und Verifikation zur Überprüfung der Resultate. * Mangel an Präzision, Unvollständigkeit und Zweideutigkeit sind häufige Fehlerquellen, die durch formale (möglichst automatische) Analysen besser entdeckt werden können. * Grundlegende formale Techniken sind - axiomatische Spezifkationen zur Beschreibung von Daten und des funktionalen Verhaltens, - modell-orientierte temporal-logische Spezifikationen zur Beschreibung von dynamischem und reaktivem Verhalten.
Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)
Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrDSL Entwicklung und Modellierung
DSL Entwicklung und Modellierung Dipl. Inform. Rolf Hänisch Übersicht DSL, was bedeutet das für uns? Eine Anwendung aus der Automatisierungstechnik Sprachen und Werkzeuge Ergebnisse und Erfahrungen GI
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrPHP - Projekt Personalverwaltung. Erstellt von James Schüpbach
- Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6
MehrQualitätssicherung. Was ist Qualität?
Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 1. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierung Was ist das? Warum
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrSudoku-Informatik oder wie man als Informatiker Logikrätsel löst
Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Kurzvorlesung am Studieninformationstag, 13.05.2009
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de
MehrZusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrC++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang
Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrT1 - Fundamentaler Testprozess
AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In
MehrWinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon
WinWerk Prozess 6a Rabatt gemäss Vorjahresverbrauch 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052-740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Ablauf der Rabattverarbeitung...
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrReaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit
18:13:55 2015-07-14 1 [16] Reaktive Programmierung Vorlesung 16 vom 14.07.2015: Theorie der Nebenläufigkeit Christoph Lüth & Martin Ring Universität Bremen Sommersemester 2015 2 [16] Organisatorisches
MehrHandbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen
Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Dateiname: ecdl_p3_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
MehrWas ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrOECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
MehrXesar. Die vielfältige Sicherheitslösung
Xesar Die vielfältige Sicherheitslösung Xesar Die professionelle Lösung für Ihr Unternehmen Xesar Sicher und flexibel Xesar ist das vielseitige elektronische Schließsystem aus dem Hause EVVA. Komplexe
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
Mehretutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:
MehrEberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.
3 Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995 Inhaltsverzeichnis Vorwort 5 1. Komplexe Software - Projekte - Software-Engineering 7 1.1 Komplexe
MehrLehrpläne NRW Sek.stufe 2. Lernen im Kontext
Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche
MehrWege zur Patientensicherheit - Fragebogen zum Lernzielkatalog für Kompetenzen in der Patientensicherheit
Wege zur Patientensicherheit - Fragebogen zum Lernzielkatalog für Kompetenzen in der Patientensicherheit der Arbeitsgruppe Bildung und Training des Aktionsbündnis Patientensicherheit e. V. Seit Dezember
MehrSerienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
MehrEntwicklungsprozesse und -werkzeuge
Entwicklungsprozesse und -werkzeuge Boris Nikolai Konrad boris.konrad@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Entwicklungsprozesse Unterstützungsprozesse Kernprozess Entwicklungswerkzeuge
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrFormale Methoden: Ein Überblick
Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, 2004-09-16, p. 1 Formale Methoden: Ein Überblick Heinrich Rust Lehrstuhl für Software-Systemtechnik BTU Cottbus 2004-09-16
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrThe B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode
The B Method B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode P. Schmitt: Formal Specification and Verification of Software p.1 The B Method
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrSichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der
Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang
MehrSoftwareentwicklung aus Sicht des Gehirns
Softwareentwicklung aus Sicht Business Unit Manager Folie 1 3. Juli 2008 Ziele Das Ziel ist die Beantwortung der folgenden Fragen: 1. Wie lösen Softwareentwickler Probleme kognitiv? 2. Welche Auswirkungen
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
Mehr2. Vorlesung. Slide 40
2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrGrundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
MehrSoftware Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik
Martin Glinz Harald Gall Software Engineering Wintersemester 2005/06 Kapitel 21 Dokumentation Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrSCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...
Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie
MehrPRAKTIKUMSBERICHT. AMCON GmbH Osterstraße 15 49661 Cloppenburg
PRAKTIKUMSBERICHT Betriebspraktikum vom 01.02.2016-12.02.2016 Fachlehrer: Herr Wöste Abgabedatum: Freitag, der 19.02.2016 AMCON GmbH Osterstraße 15 49661 Cloppenburg Von Marina Hivric Klasse 10d Inhaltsverzeichnis
MehrVeröffentlichen von Apps, Arbeitsblättern und Storys. Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. Alle Rechte vorbehalten.
Veröffentlichen von Apps, Arbeitsblättern und Storys Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. Alle Rechte vorbehalten. Copyright 1993-2015 QlikTech International AB. Alle Rechte
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrPflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?
Connext GmbH Balhorner Feld 11 D-33106 Paderborn FON +49 5251 771-150 FAX +49 5251 771-350 hotline@connext.de www.connext.de Pflegeberichtseintrag erfassen Produkt(e): Vivendi Mobil Kategorie: Allgemein
Mehrteamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
MehrAbschnitt 16: Objektorientiertes Design
Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen
Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrHandout 6. Entwicklung von Makros
Handout 6 Entwicklung von Makros Cinderella kann eine Sequenz von Konstruktionsbefehlen aufzeichnen und sie als neues Werkzeug speichern. Dies bezeichnet man als Makro-Konstruktion. Mit diesen Aufgaben
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrInformationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung
MehrFunktionaler Zusammenhang. Lehrplan Realschule
Funktionaler Bildungsstandards Lehrplan Realschule Die Schülerinnen und Schüler nutzen Funktionen als Mittel zur Beschreibung quantitativer Zusammenhänge, erkennen und beschreiben funktionale Zusammenhänge
MehrBrowsereinstellungen für moneycheck24 in Explorer unter Windows
Browsereinstellungen für moneycheck24 in Explorer unter Windows Wichtige Einstellungen im + Um zu prüfen, welche Version Sie nutzen Einstellungen: Klicken Sie im Menü INTERNETOPTIONEN Extras [oder Tastenkürzel
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrInstallations Guide für YAJSW und DTLDAP
YAJSW - DTLDAP Installation Guide Installations Guide für YAJSW und DTLDAP Erstellt für: Helsana AG, Franz Schnyder Erstellt von: Skypro AG, Thomas Bucher 9. Mai 2013 thomas@skypro.ch http://www.skypro.ch
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrEinrichtung eines e-mail-konto mit Thunderbird
Einrichtung eines e-mail-konto mit Thunderbird In diesem Tutorial zeigen wir Ihnen, wie Sie im Mozilla Thunderbird E-Mailclient ein POP3- Konto einrichten. Wir haben bei der Erstellung des Tutorials die
Mehr17 Architekturentwurf Vorgehen und Dokumentation
17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen
MehrBedienungsanleitung GYMplus
Bedienungsanleitung GYMplus SOFTplus Entwicklungen GmbH GYMplus allgemein GYMplus ist ein Computerprogramm, mit welchem Sie individuell angepasste Übungen und Verhaltensanweisungen für Patienten zusammenstellen
MehrMarkus Pister (Autor) Integration formaler Fehlereinflussanalyse in die Funktionsentwicklung bei der Automobilindustrie
Markus Pister (Autor) Integration formaler Fehlereinflussanalyse in die Funktionsentwicklung bei der Automobilindustrie https://cuvillier.de/de/shop/publications/1145 Copyright: Cuvillier Verlag, Inhaberin
MehrTesten Prinzipien und Methoden
Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrFAQs zum Bachelorstudiengang Software Engineering PO-Version 2010. Allgemeine Informationen zum Bachelorstudiengang Software Engineering
FAQs zum Bachelorstudiengang Software Engineering PO-Version 2010 Allgemeine Informationen zum Bachelorstudiengang Software Engineering Wann kann das Studium begonnen werden? Im Winter- und Sommersemester
MehrWord 2010 Schnellbausteine
WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren
MehrBinärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:
Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):
MehrÜbungsaufgaben Tilgungsrechnung
1 Zusatzmaterialien zu Finanz- und Wirtschaftsmathematik im Unterricht, Band 1 Übungsaufgaben Tilgungsrechnung Überarbeitungsstand: 1.März 2016 Die grundlegenden Ideen der folgenden Aufgaben beruhen auf
MehrMusterfragen ALLGEMEINE Systemlehre
Musterfragen ALLGEMEINE Systemlehre (2.4.01) 1 Musterfragen ALLGEMEINE Systemlehre Die angeführten Fragen sind als Beispiele zu verstehen. Es gibt keine Garantie, daß diese und genau diese Fragen kommen.
MehrSoftware Engineering. Dokumentation! Kapitel 21
Martin Glinz Thomas Fritz Software Engineering Kapitel 21 Dokumentation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet;
MehrDer Kopf ist rund, damit das Denken die Richtung
Der Kopf ist rund, damit das Denken die Richtung Francis Picabia wechseln kann. Beste Perspektiven für Andersdenker. Erfolgreiche Unternehmen brauchen individuelle IT-Lösungen. Und dafür brauchen wir Sie.
MehrHandbuch Amos Ersteller: EWERK MUS GmbH Erstellungsdatum: 17.02.2011
Handbuch Amos Ersteller: EWERK MUS GmbH Erstellungsdatum: 17.02.2011 Inhalt 1 Vorwort... 3 2 Installation... 4 2.1 Voraussetzungen... 4 2.2 Installation... 4 3 Einstellungen und Funktionen... 5 3.1 ankommende
MehrGI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrMarkttest zur Reisequalität in der S-Bahn.
Markttest zur Reisequalität in der S-Bahn. 1 Warum ein Markttest? 2 Das will die SBB wissen. Die SBB führt im November und Dezember 2013 auf der S1 zwischen Basel und Frick/Laufenburg einen Markttest durch.
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrInformatik I Debugging
Der erste Computer-Bug Informatik I G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Grace Hopper Admiral, US Navy 2 4 Folgen von Programmfehlern 1962 führte ein fehlender Bindestrich
MehrIn diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.
Datensicherung Jack Inhalt Allgemeines Warum muss eine Datensicherung durchgeführt werden Wohin werden Daten gesichert Was soll von Jack alles gesichert werden Vorbereitungen zur Datensicherung Datensicherung
Mehr