4.A Programmierung. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren

Größe: px
Ab Seite anzeigen:

Download "4.A Programmierung. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren"

Transkript

1 ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste

2 4.A Programmierung Programmieren, oder besser, Computer Programmieren, ist der Prozess, Instruktionen für einen Computer zu schreiben, die den Computer veranlassen, eine vorbestimmte Aufgabe zu erledigen. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren Ergebnis ist Software: lauffähige Programme oder verwendbare Bibliotheken.

3 4.B Software Engineering Software Engineering beschreibt eine systematische Vorgehensweise für Entwicklung von Software Betrieb von Software Pflege von Software Sterben von Software Begleitet also die gesamte Lebenszeit einer Software (software life-cycle). Es existieren verschiedene Systematiken für einzelne Bausteine. Systematiken sind notwendig/sinnvoll für Arbeiten im Team: Jeder weiß, wer was wie macht. Einhalten von Systematiken gehört zum Qualitätsmanagment, kurz QM.

4 4.C Algorithmen Ganz grob ist ein Algorithmus ein Lösungsverfahren für eine Klasse von Problemen. Vergleichbar einem Rezept, Prozess, Methode, Technik, Prozedur, Routine. Beispiele für Problemklassen und ihre Algorithmusidee: Bestimmen des größten gemeinsamen Teilers: Euklidischer Algorithmus Lösung einer quadratischen Gleichung: p-q-formel Lösung eines linearen Gleichungssystems: Gauss-Algorithmus Sortieren von Patientendaten: Sortieren durch Auswahl Öffnen einer Tür: trainierter Reflex?

5 1) The Art of Computer Programming I, pp. 4 4.C Algorithmen Formale Definition (nach Knuth 1) ): Ein Algorithmus ist ein endlicher Satz von Anweisungen zur Lösung einer gegebenen Klasse von Aufgaben. Zusätzlich muss ein Algorithmus die folgenden fünf Kriterien erfüllen: 1. Endlichkeit (finiteness): Ein Algorithmus terminiert in allen Fällen nach einer endlichen Anzahl von Schritten. 2. Bestimmtheit (definitness): Jede Anweisung eines Algorithmus ist klar, unzweideutig und durchführbar. 3. Eingabe (input): Ein Algorithmus hat Null oder mehr Eingaben: Objekte, die zu Beginn oder zur Laufzeit extern eingegeben werden. 4. Ausgabe (output): Ein Algorithmus hat eine oder mehr Ausgaben: Objekte, die in einer spezifischen Relation zur Eingabe stehen. 5. Effizienz (effectiveness): Jede Anweisung eines Algorithmus muss so grundlegend sein, dass sie im Prinzip von jedermann mit Papier und Bleistift in endlicher Zeit ausgeführt werden kann.

6 4.C Algorithmen Zwischen Algorithmus und Programm wird in der Informatik unterschieden. Ein Programm muss beispielsweise nicht endlich sein. Etwa wartet eine vergessene grafische Oberfläche endlos auf Benutzereingaben, wenn das Betriebssystem des Computers nicht abstürzt. Darüber hinaus muss das Programm so formuliert sein, dass es auf einem Rechner lauffähig ist. Ein Algorithmus kann auf verschiedene Weisen formuliert werden: in natürlicher Sprache, in Pseudo Code, in grafischer Darstellung (Struktogramm, Flußdiagramm),....

7 4.D Programmiersprachen Programmiersprachen: Zu klären ist: Wie rede ich mit meinem Computer? Wie bringe ich ihm bei, dass zu tuen, was ich von ihm will? Wie setze ich konkret einen Lösungsalgorithmus auf dem Rechner um? Wir brauchen eine Programmiersprache. Diese fallen in drei Kategorien: 1. Maschinensprache, 2. Assembler und 3. Höher Programmiersprache.

8 4.D Programmiersprachen Maschinensprache: Einzige Sprache, die direkt vom Computer verstanden wird. Definiert durch das Hardware Design des Rechners: maschinenabhängig. Unverständlich für den Menschen: Strom von 0en und 1en. Kaum bis gar nicht für den Menschen programmierbar. Führte zu den Assemblern. Anfang von hello.exe hexadezimal: f 464c a2c c c f f f b b a0 96b a b c d d d e f c2f c2f 2d64 696c 756e

9 4.D Programmiersprachen Assembler: Englisch ähnliche Abkürzungen, die elementare Operationen des Rechners darstellen. Ebenfalls maschinenabhängig. Spricht Prozessor, Register und RAM direkt an. Werden in die Maschinensprache übersetzt. Übersetzung geht schnell. Deutlich lesbarer als Maschinencode. Aber immer noch viele Instruktionen für einfache Aufgaben. Aufgabe: total = LDA 5 STA num1 LDA 4 ADD num1 STA total Einsatz für System-Software und Speziallösungen z.b. Signalprozessoren und Grafikchips. Führt zu höheren Programmiersprachen.

10 4.D Programmiersprachen Höhere Programmiersprachen: Einzelne Anweisungen führen komplexe Aufgaben aus. Maschinenunabhängig. Compiler Sprachen: Werden nach Maschinensprache übersetzt: Compiler. Übersetzung benötigt relativ viel Zeit. Schnelle Laufzeit der Programme. Interpreter Sprachen: Lassen Programme ohne Compilierung laufen. Rapid Development. Deutlich langsamere Laufzeiten der Programme. Für beide gilt: Anweisungen sind lesbar für den Menschen. Klingen nach alltäglichen Englisch. Enthalten übliche mathematische Notationen.

11 4.D Programmiersprachen Es gibt viele Hundert verschiedene höhere Programmiersprachen: Ada, Algol, APL, awk, Basic, C, C++, Cobol, Delphi, Eiel, Euphoria, Forth, Fortran, (HTML), Icon, Java, Javascript, Lisp, Logo, Mathematica, Matlab, Miranda, Modula-2, Oberon, Pascal, Perl, PL/1, Prolog, Python, Rexx, SAS, Scheme, sed, Simula, Smalltalk, Snobol, SQL, Visual Basic, Visual C++, (XML), The Language Guide: Computer Languages History: C Dennis Ritchie (Bell Laboratories) 1971 C++ Bjarne Stroustrup (Bell Laboratories) Juli 1983 Fortran John Backus (IBM) Nov Java James Gosling (Sun Labs) Mai 1995 Mathematica Stephen Wolfram (Wolfram Research) 1988 Pascal Nikolaus Wirth (ETH) 1970 Python Guido Van Rossum (Stichting) 1991 Ruby Yukihiro Matsumoto, Feb. 1993

12 4.D Programmiersprachen Was jede höhere Programmiersprache unterstützt sind Input: Lesen von Werten in das Programm Output: Schreiben von Werten aus dem Programm Mathematik: Rechenoperationen auf Zahlen Bedingungen: Bedingte Ausführung von Anweisungen Wiederholungen: Wiederholte Ausführung von Anweisungen Und das genügt auch, um all das zu programmieren, was gebraucht wird. Was meist noch dazukommt sind Funktionen oder Unterprogramme, Bibliotheken für das modulare Programmieren.

13 4.D Programmiersprachen,Hello world Traditionell beginnt jedes Lernen einer Programmiersprache mit einem Programm, dass Hello World! auf dem Monitor ausgibt. Wir schauen uns das an in C++, Java und Python. Wer noch mehr Beispiele sehen möchte: Hello, World Page! Page!:

14 4.D Programmiersprachen,Hello world in C++:./src/hello.cpp // "Hello world!" in C++ #include <iostream> int main(void) { std::cout << "Hello world!" << std::endl; return 1; } Dann compilieren (erzeugt hello.o): C:\> g++ -c hello.cpp Dann linken (erzeugt hello.exe): C:\> g++ -o hello.exe hello.o Starten mit C:\> hello

15 4.D Programmiersprachen Und nochmal,hello world in Java:./src/hello.java // "Hello world!" in Java class hello { public hello() { } public static void main(string[] args args) { System.out.println("Hello world!"); } } Dann compilieren (erzeugt hello.class): C:\> javac hello.java Starten mit C:\> java hello

16 4.D Programmiersprachen Zuletzt,Hello world in Python:./src/hello.py # "Hello world!" in Python print "Hello world!" Starten mit C:\> python hello.py Und alle drei Programme erzeugen die Ausgabe Hello world!

17 4.B Softwareentwicklung Statistische Angaben aus der Praxis - Nur 5 % aller SW-Projekte werden termingerecht fertig (Wallmüller 90, S. 2) % des Entwicklungsaufwandes (oder oft mehr) für Fehlersuche und Fehlerbehebung aufgewendet (Wallmüller 90, S. 3). - Von 8 großen Softwareprojekten werden durchschnittlich 2 abgebrochen (Spektrum der Wissenschaft). - 3 / 4 aller komplexen SW-Projekte funktionieren am Ende nicht wie gedacht bzw. werden nicht eingesetzt (SdW).

18 Softwareentwicklung

19 Konsequenzen Nach Erhalt einer SW-Entwicklungsaufgabe: - nicht sofort drauflos programmieren - zunächst gründlich die Aufgabe durchdenken, Unklarheiten beim Kunden nachfragen Programmierung macht bei der SW-Entwicklung nur einen kleineren Anteil aus. Genauso wichtig sind Fähigkeiten wie exakte Problemdefinition finden, systematische Fehlersuche u. a. Bereits bei der Programmierung muss an die Zeit nach der Auslieferung der SW gedacht werden (Wartung): lesbare, gut strukturierte, gut kommentierte Programme SW-Entwicklung bedeutet immer Teamarbeit

20 Konsequenzen Softwaresysteme gehören zu den komplexesten Gebilden, die je von Menschenhand geschaffen wurden. Strukturen und Abläufe in großen Systemen sind im einzelnen oft nicht mehr überschaubar. Man kann sie weder im vorhinein, beim Entwurf, noch im nachhinein, beim Testen, im Betrieb und in der Wartung vollständig verstehen. (Denert, Software-Engineering, S. 4) Das entscheidende Charakteristikum der industriell einsetzbaren Software ist, daß es für den einzelnen Entwickler sehr schwierig, wenn nicht gar unmöglich ist, alle Feinheiten des Designs zu verstehen. Einfach ausgedrückt, überschreitet die Komplexität solcher Systeme die Kapazität der menschlichen Intelligenz. (Booch, Objektorientierte Analyse und Design, S.18)

21 Software = Programme, Daten, Dokumentation Eigenschaften von Software: (vgl. Balzert, S. 26 f., Denert) - kein Verschleiß (keine Abnutzung beim Einsatz) - leicht kopierbar ( auch Fehler) -altert *) (SW wird ständig angepaßt) - lange in Benutzung **) - schwer zu vermessen (Metriken: Qualität, Quantität) - äußerst komplex (in der Praxis) *) nach 10 Jahren Einsatzzeit existiert oft keine Originalzeile mehr (Faustregel, nach Pagel, Six S. 35) **) durchschnittlich Jahre, (Wallmüller 90, S. 3) bis zu 30 Jahren (Hausi Müller)

22 Softwaregröße Klassifikation der Softwaregröße: klein: bis 2000 Zeilen Quelltext mittel: groß: sehr groß: > 1 Mio. Durchschnittliche Größe verwalteter Software unter den 100 größten USA-Firmen: 35 Mio Zeilen Quellcode. z. B.USA, DoD: 1,4 Mia. Quelltextzeilen (verteilt über 1700 Datenzentren) Betriebskosten für diese Systeme: 9 Mia. Dollar / Jahr.

23 Qualitätskriterien für SW-Produkte (nach Pagel/Six, Pomberger, Meyer, Marciniak) Korrektheit, Robustheit (z. B. bei Fehlbedienung), Effizienz, Benutzerfreundlichkeit, Dokumentation (Beschreibung der Programme), Modifizierbarkeit Lesbarkeit (Verständlichkeit, Kommentare, sinnvolle Bezeichnerwahl, Formatierung...), Wiederverwendbarkeit, Modularität (zerlegt in Module / Komponenten), Portabilität (übertragbar auf anderen Rechner) Integrität (Schutz gegen unberechtigten Zugriff)

24 Modularisierung Eine bekannte Technik zur Beherrschung von Komplexität ist der antike Grundsatz: Devide et Impera (Teile und herrsche). Nur durch eine Einteilung in Einzelteile (Module) können mehrere Personen an einem Gesamtsystem arbeiten. Ein Modul verbirgt wichtige Entwurfsentscheidung und bietet nur seine dokumentierte Funktionalität und den Aufruf der Funktionalität (Signatur) an.

25 Kriterien für Module

26 Kriterien für Module

27 Strukturierte Analyse und Design

28 Modelle der Softwareentwicklung Prozedurale / modulare Programme lassen sich mit der SA/SD (Strukturierte Analyse/ strukturiertes Design) beschreiben. Objektorientierte Programme benötigen anderen Ansatz UML (Unified Modelling Language)

29 Klassisches Wasserfallmodell, auch Stufenmodell

30 Phasen der Softwareentwicklung Analyse und Definition Analyse des Problems + Definition der Anforderungen an das SW-Produkt Gegenstand: Außenverhalten des SW-Systems Auftraggeber Auftragnehmer Produktdefinition (Systemspezifikation, Anforderungsdefinition, Pflichtenheft) Entwurf (Design) Struktur, Aufbau, Komponenten der SW und ihre Beziehungen festlegen Software-Architektur Implementation Software-Architektur ausgefüllt : Programmierung der Komponenten Programm Test Test der Komponenten, Test ihrer Integration (Systemtest) Testprotokolle

31 Vorgehensmodelle: Überblick - Klassisches Phasenmodell (Wasserfallmodell) - Iteriertes Phasenmodell (Lebenszyklus) - Spiralmodell - Prototyping (evolutionäre Softwareentwicklung) - Transformationelle Softwareentwicklung - Systemzusammensetzung aus nachnutzbaren Komponenten

32 Iteriertes Phasenmodell Bewertung des iterierten Phasenmodells 1. Rückschritte sind nur zwischen den benachbarten Phasen möglich 2. Frühes Festschreiben der Anforderungen erschwert nachträgliche Änderungen; Fehler in der Anforderungsanalyse werden erst spät erkannt 3. Einführung Systems erfolgt erst sehr spät und erfolgt auf einen Schlag (Big Bang) Verbesserung durch Rapid Prototyping mit a) Throw-away Prototypes b) Evolutionären Prototypen

33 V-Modell (Life-Cycle) Betont die Wichtigkeit von Tests Quality Assurance Was nicht wirklich verbessert wird: Sequenzialität Feedback Risk Management (während der Entwicklung)

34 V-Modell-XT

35 Spiralmodell

36 Bewertung Spiralmodell - Big Bang-Effekt kann verhindert werden - enge Rückkopplung mit Anwender ermöglicht bessere Umsetzung der Anforderungen - im Gegensatz zum Wasserfallmodell sehr gute Möglichkeiten zum Rücksprung (Iterationen sind fest eingeplant) - ABER: der Projektverlauf ist schwer überprüfbar; die Schwierigkeit liegt im Abschätzen der noch benötigten Iterationen Besondere Problematik: - größerer organisatorischer Aufwand bei der Planung der evolutionären Schritte, d.h. in welche Iteration wird welche Funktionalität realisiert - Ausrichten der Architektur auf den evolutionären Bau - Durch Anpassung an die Änderungen der Anforderungen kann die ursprüngliche Architektur verloren gehen - Ein Projektende kann durch das Anpassen an neue Anforderungen nach hinten verschoben werden; ein dezidiertes Ende muß definiert werden

37 extreme Programming Projektzyklus: Planning Game On-Site Customer Acceptance Test Short Increments Entwicklungszyklus: Simple Design Pair Programming Unit Test Refactoring Unterstützende Praktiken Metaphor Collective Ownership Continuous Integration 40-hour week Programming Standards

8. Softwareentwicklung

8. Softwareentwicklung Schwerpunkte Problematik komplexer Programme 8. Softwareentwicklung (Software Engineering) Statistische Angaben zur Softwareentwicklung Eigenschaften von Software Qualitätskriterien für SW-Produkte Einbettung

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Ein 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 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++,

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

8. Softwareentwicklung

8. Softwareentwicklung 8. Softwareentwicklung (Software Engineering) Einbettung der Programmierung in der Gesamtprozess der Softwareentwicklung K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 20015/16 Version: 02.11..2015

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Programmierung. PRG, SS 08 March 19, 2008 1. Inhalt. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.

Programmierung. PRG, SS 08 March 19, 2008 1. Inhalt. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven. Inhalt Programmierung in Python Organisatorisches Allgemeines Python richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 19. März 2008 Organisatorisches Allgemeines Termin: Vorlesung

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

Programmierung. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.de. 14. März 2012. Inhalt

Programmierung. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.de. 14. März 2012. Inhalt Programmierung in Python richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 14. März 2012 Inhalt Organisatorisches Allgemeines Python PRG, SS 12 March 14, 2012 1 Organisatorisches

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Programmierung. HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4. richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.

Programmierung. HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4. richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven. Programmierung HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4 richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 14. März 2014 Organisatorisches Allgemeines Python PRG,

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Universitä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 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

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

SEP 114. Design by Contract

SEP 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

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess 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

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

1 Mathematische Grundlagen

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

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Softwaretechnik. Wesentliche Inhalte der Vorlesung Softwaretechnik Prof. Dr. Bernhard Schiefer schiefer@informatik.fh-kl.de http://www.informatik.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte der Vorlesung Phasen der Software-Entwicklung

Mehr

Some Software Engineering Principles

Some 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

Mehr

Algorithmen und Programmieren II Einführung in Python

Algorithmen und Programmieren II Einführung in Python Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

extreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Informationssystemanalyse 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

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 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

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++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

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

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

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Software Engineering. Dokumentation! Kapitel 21

Software 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;

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? 1954 1960 1965 1970 1975 1980 1985 1990 1995 01 02 03 04 40 Jahre Programmierenausbildung im Studiengang VG Programmiersprachen

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

Fragebogen ISONORM 9241/110-S

Fragebogen ISONORM 9241/110-S Fragebogen ISONORM 9241/110-S Beurteilung von Software auf Grundlage der Internationalen Ergonomie-Norm DIN EN ISO 9241-110 von Prof. Dr. Jochen Prümper www.seikumu.de Fragebogen ISONORM 9241/110-S Seite

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.

Eberhard 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

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Software 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

Mehr

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100

Mehr

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003 Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

6. Programmentwicklung

6. Programmentwicklung 6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE 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

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Einführung in die Programmierung

Einfü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

Mehr

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

IKP Uni Bonn Medienpraxis EDV II Internet Projekt IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Informationssystemanalyse Grundlagen 1 1

Informationssystemanalyse Grundlagen 1 1 Informationssystemanalyse Grundlagen 1 1 Software-Projekte Klassischerweise wird Software-Entwicklung in Projektform abgewickelt. Projekte kommen dabei zwischen einem Anbieter und einem Kunden zustande,

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Fragebogen: Abschlussbefragung

Fragebogen: Abschlussbefragung Fragebogen: Abschlussbefragung Vielen Dank, dass Sie die Ameise - Schulung durchgeführt haben. Abschließend möchten wir Ihnen noch einige Fragen zu Ihrer subjektiven Einschätzung unseres Simulationssystems,

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Einführung in. Logische Schaltungen

Einfü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

Mehr