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

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

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

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

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

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

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

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

Einführung in die SWE

Einführung in die SWE Einführung in die SWE Inhalte der Vorlesung Allgemeine Ziele der Lehrveranstaltung Entwickeln einer kleinen Applikation nach professionellem Vorgehensmodell Erlernen des objektorientierten Herangehens

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

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

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

- Agile Programmierung -

- Agile Programmierung - Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Stichworte zur Ideengeschichte der Programmiersprachen

Stichworte zur Ideengeschichte der Programmiersprachen Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology robert@techfak.uni-bielefeld.de Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung

Mehr

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013 Ein Streifzug durch die Programmiersprachenlandschaft in der Schule Gerald Futschek TU Wien Informatiktag 2013 Urwald der Programmiersprachen COBOL Visual Basic Modula-2 Logo Pascal SQL APL BASIC LISP

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen,

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 1 Software Engineering: Überblick Kapitel 1 Software Engineering: Überblick 2 Ziele Verstehen, womit sich die Disziplin

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

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache

Mehr

Systemen - Testen im Softwarelebenszyklus

Systemen - Testen im Softwarelebenszyklus P r a k t I s c h e Entwicklung und Test Testen von Software-Systemen Systemen - Testen im Softwarelebenszyklus Entwickler erstellen ihr System bzw. ihre Software und testen es/sie zur Entwicklungszeit

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

Informatik Programmiersprachen eine kurze Übersicht

Informatik Programmiersprachen eine kurze Übersicht Informatik eine kurze Übersicht Seite 1 natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau

Mehr

Einführung in die Softwaretechnik 9. Softwareprozesse

Einführung in die Softwaretechnik 9. Softwareprozesse 9. Softwareprozesse Klaus Ostermann (Mit Folien von Christian Kästner, Gabriele Taentzer und Wolfgang Hesse) 1 Agenda Wie kommt man vom Kundenwunsch zur fertigen Software? Wie strukturiert man ein Softwareprojekt?

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr

Softwaretechnik WS 2013/14. Fomuso Ekellem

Softwaretechnik WS 2013/14. Fomuso Ekellem WS 2013/14 Organisatorisches Dozentin : Ango (Raum 2.250) Fragen und Übungen: mathe_ekellem@yahoo.com (Nur hier, sonst wird nicht bewertet) Folien: http://www.gm.fh-koeln.de/~afomusoe/softwaretechnik.html

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

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

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

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

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

Projektmanagement: Prozessmodelle

Projektmanagement: Prozessmodelle Projektmanagement: Prozessmodelle Martin Wirsing Institut für Informatik Ludwig-Maximilians-Universität München WS 2006/07 Ziele Wichtige Prozessparadigmen und Vorgehensmodelle wiederholen und in Zusammenhang

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Hochschule Darmstadt Prof.Dr. H.P.Weber. Programmieren 1. 2006 Pearson Education, Inc. All rights reserved.

Hochschule Darmstadt Prof.Dr. H.P.Weber. Programmieren 1. 2006 Pearson Education, Inc. All rights reserved. 1 PG 1 Hochschule Darmstadt Prof.Dr. H.P.Weber Programmieren 1 2 Inhalt von Programmieren 1 1 Einführung 2 Grundelemente der C++ Programmierung 3 Einführung in Klassen und Objekte 4 Kontrollanweisungen:

Mehr

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003):

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 (30.06.2003): Professionelles Projekt-Management in der Praxis Veranstaltung 7 Teil 1 (30.06.2003): Prof. Dr. Phuoc Tran-Gia, FB Informatik, Prof. Dr. Margit Meyer, FB Wirtschaftswissenschaften, Dr. Harald Wehnes, AOK

Mehr

Beraterprofil. Persönliche Daten. Schwerpunkt. Einsatzdaten. Ausbildung/ Werdegang. Fremdsprachen. Sprachen

Beraterprofil. Persönliche Daten. Schwerpunkt. Einsatzdaten. Ausbildung/ Werdegang. Fremdsprachen. Sprachen Beraterprofil Persönliche Daten Name: Peter J. Brunner Geburtsjahr: 1941 Nationalität: Österreich Schwerpunkt Seit 1964 in der IT-Branche tätig. Aufgrund langjähriger Erfahrung im Bereich der Compiler-,

Mehr

Ganzheitliches IT-Projektmanagement

Ganzheitliches IT-Projektmanagement Ganzheitliches IT-Projektmanagement Kapitel 2 nach dem Buch: Ruf, Walter; Fittkau, Thomas: "Ganzheitliches IT-Projektmanagement" Wissen - Praxis - Anwendungen R. Oldenbourg Verlag München - Wien 2008;

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

Programmieren. Wie entsteht ein Programm

Programmieren. Wie entsteht ein Programm Wie entsteht ein Programm 1/9 1. Schritt: Programmentwurf Der wichtigste Teil beim Erstellen eines Programms ist der Programmentwurf. Dabei wird das vorgegebene Problem analysiert, es wird ermittelt, welche

Mehr

Hochschule Darmstadt Prof.Dr. H.P.Weber. Informatik 1. 2006 Pearson Education, Inc. All rights reserved.

Hochschule Darmstadt Prof.Dr. H.P.Weber. Informatik 1. 2006 Pearson Education, Inc. All rights reserved. 1 Inf 1 Hochschule Darmstadt Prof.Dr. H.P.Weber Informatik 1 2 Inhalt von Informatik 1 1 Einführung 2 Grundelemente der C Programmierung 3 Kontrollanweisungen: Teil 1 4 Kontrollanweisungen: Teil 2 5 Funktionen

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

WS 2011/2012. Georg Sauthoff 1. November 10, 2011

WS 2011/2012. Georg Sauthoff 1. November 10, 2011 in in WS 2011/2012 Georg 1 AG Praktische Informatik November 10, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen

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

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck. Programmierkurs Java Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Algorithmen, Maschinen- und Programmiersprachen Algorithmen

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Wie entsteht ein Computerprogramm?

Wie entsteht ein Computerprogramm? Wie entsteht ein Computerprogramm Grundstrukturen von Programmen Programmiersprachen Entwicklungsschritte eines Programms Programmdokumentation Seite 1 Telefonanruf-Algorithmus Start Rufnummer bereitstellen

Mehr

Die Phasen der Software-Entwicklung

Die Phasen der Software-Entwicklung Die Phasen der Software-Entwicklung c OSTC GmbH, T. Birnthaler 2011-2015 V1.7 [sw-entwicklung-phasen.txt] 1 Übersicht Die Entwicklung von Software im Rahmen eines Projekts umfasst im wesentlichen die Phasen

Mehr

Teil VII. Software Engineering

Teil VII. Software Engineering Teil VII Software Engineering Überblick 1 Einführung 2 Der Softwareentwicklungsprozess 3 Methoden und Werkzeuge Eike Schallehn Grundlagen der Informatik für Ingenieure 2008/2009 7 1 Einführung Die Softwarekrise

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

Softwarelabor 1. Einführung

Softwarelabor 1. Einführung Softwarelabor 1. Einführung Prof. Dr. holger.vogelsang@fh-karlsruhe.de Inhalt Inhalt 1. Einführung Warum Java? Marktanforderungen Geschichte von Java Eigenschaften von Java Einführung in Eclipse Kleine

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

Programmiersprachen in der Bioinformatik

Programmiersprachen in der Bioinformatik Programmiersprachen in der Bioinformatik Bioinformatik In der Biologie immer größere Datenmengen (z.b. Genome, Proteinsequenzen) Sequenzanalyse, Strukturvorhersage Informationen in Datenbanken abrufbar

Mehr

Erste Schritte in Java

Erste Schritte in Java Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem

Mehr

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

Java Einführung. SOFTWARE-ENTWICKLUNG Kapitel 1

Java Einführung. SOFTWARE-ENTWICKLUNG Kapitel 1 Java Einführung SOFTWARE-ENTWICKLUNG Kapitel 1 Inhalt dieser Einheit Phasen eines Softwareprojekts Algorithmus Überblick über (Programmier-) Sprachen Wie funktioniert JAVA? 2 Software Engineering Fachgebiet

Mehr

3. Vorgehensmethoden/Prozessmodelle

3. Vorgehensmethoden/Prozessmodelle 3. Vorgehensmethoden/Prozessmodelle Vorgehensmethode/Prozessmodell: Ablauforganisation des Projektes für eine effektive und zielgerichtete Softwareentwicklung Wasserfallmodell Spiralmodell Agiles Vorgehen

Mehr

Taschenbuch Programmiersprachen

Taschenbuch Programmiersprachen Taschenbuch Programmiersprachen von Peter A. Henning, Holger Vogelsang 2., neu bearbeitete Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40744 2 Zu Inhaltsverzeichnis

Mehr

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester 2005 02. August 2005 Deckblatt Hinweise Die Bearbeitungszeit der Klausur beträgt 90 Minuten. Es sind alle

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

Mehr

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, FH KL Software Engineering 2015 1 Inhalte Begrüßung Vorstellung, Übersicht Formales

Mehr

Software Engineering

Software Engineering Software Engineering Softwareentwicklungsmethoden und -modelle Prof. Dr.-Ing. habil. Reiner R. Dumke http://www.smlab.de R. Dumke 2-1 Software Engineering - LV-Inhalt - 3. Softwareentwicklungsmethoden

Mehr

Operatoren. Programmiersprachen. Programmablaufplan und Struktogramm.

Operatoren. Programmiersprachen. Programmablaufplan und Struktogramm. Operatoren. Programmiersprachen. Programmablaufplan und Struktogramm. Jörn Loviscach Versionsstand: 7. Oktober 2011, 11:16 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Software- Projektmanagement. Dokument V 1.2-2010. Oliver Lietz - Projektmanagement. Projektmodelle im Vergleich. Agil Extreme Programming /

Software- Projektmanagement. Dokument V 1.2-2010. Oliver Lietz - Projektmanagement. Projektmodelle im Vergleich. Agil Extreme Programming / Software- Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.2-2010 Projektmodelle im Vergleich Klassisch Wasserfall -Modell Spezifikation/Pflichtenheft

Mehr

INP (1) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter

INP (1) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter INP (1) 1 of 25 INP (1) Prof. Dr.-Ing. S. Gössner University of Applied Sciences Lippe & Höxter INP (1) 2 of 25 Inhalt INP (1) Inhalt Kontakt Ziele Anforderungen Programmieren Softwareentwicklung vs. Programmieren

Mehr

Handbuch Programmiersprachen

Handbuch Programmiersprachen Handbuch Programmiersprachen Peter A. Henning, Holger Vogelsang Softwareentwicklung zum Lernen und Nachschlagen ISBN 3-446-40558-5 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40558-5

Mehr

Lego MindStorms Implementierung für Etoys

Lego MindStorms Implementierung für Etoys NXTeToys Lego MindStorms Implementierung für Etoys NXTeToys Gruppe 5 Tobias Schubotz, Björn Groneberg, Florian Westphal, Felix Leupold, Richard Meißner, Gerardo Navarro Suarez Motivation 2 Kinder lernen

Mehr

Tel. 0531 295-2599 E-Mail: Hartmut.Helmke@DLR.DE. Vorstellung der eigenen Person

Tel. 0531 295-2599 E-Mail: Hartmut.Helmke@DLR.DE. Vorstellung der eigenen Person Prof. Dr.-Ing. Hartmut Helmke in Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Institut für Flugführung Abteilung Lotsenassistenzsysteme Postfach 32 67 38108 Braunschweig Know-How-Abfrage Fragebogen

Mehr

Schnelles Prototyping (Rapid Application Development, RAD)

Schnelles Prototyping (Rapid Application Development, RAD) Schnelles Prototyping (Rapid Application Development, RAD) Prof. Dr. rer. nat. habil. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 2

Mehr

2 Grundlagen der Programmierung

2 Grundlagen der Programmierung Kap02.fm Seite 81 Dienstag, 7. September 2010 2:21 14 2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

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

Vorlesungsveranstaltung

Vorlesungsveranstaltung Vorlesungsveranstaltung Softwareengineering Dipl.-Inform. Adriano Gesué Gesue@t-online.de Vorlesungsübersicht Inhalte Einführung Software und Softwareengineering Vorgehensmodelle Klassische Entwurfsmethoden

Mehr

Softwaretechnik Überblick

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

Mehr

Einführung in das objektorientierte Programmieren

Einführung in das objektorientierte Programmieren Einführung in das objektorientierte Programmieren Nils Schmeißer Forschungszentrum Rossendorf e.v. Objektorientiertes Programmieren - Nils Schmeißer 1 Inhalt Programmiersprachen Der objektorientierte Programmierstil

Mehr

Ruby. Programmieren mit Zucker. Thomas Kühn

Ruby. Programmieren mit Zucker. Thomas Kühn Ruby Programmieren mit Zucker Thomas Kühn Gliederung Geschichte Philosophie Syntax mit Zucker Sprachkonzepte Pakete und Frameworks Ausblick Beispiele Yukihiro Matz Matsumoto Geboren am 14.April 1965 Geschichte

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

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Übersicht In den ersten Wochen: Einführung in objektorientierte Programmierung mit C++ Anschließend: Einführung in die programmierbare

Mehr

Semantik von Programmiersprachen

Semantik von Programmiersprachen Semantik von Programmiersprachen 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Sommersemester 2013 1. Einführung 1.1 Sprachen und

Mehr

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 3. Vorgehensmodelle Software Engineering Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006 Agenda Agenda Übersicht V-Modell Rational Unified Process Extreme Programming Fazit, Literatur, Kontrollfragen

Mehr

Pr og r ammier kur s

Pr og r ammier kur s Pr og r ammier kur s SoSe 2013 Markus Geveler Inst. f. Applied Mathematics, TU Dortmund markus.geveler@math.tu-dortmund.de HOME http://www.mathematik.tu-dortmund.de/sites/pk-ss13 Lesson 1 Was machen wir

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

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

Extreme Programming: Überblick

Extreme Programming: Überblick Extreme Programming: Überblick Stefan Diener / Apr 18, 2007 / Page 1 Prinzipien Rollen Planung Implementierung Praktiken weitere Vorgehensweisen Grenzen Inhalt Stefan Diener / Apr 18, 2007 / Page 2 Prinzipien

Mehr

Einführung in die Computerlinguistik Einführung in Python (1)

Einführung in die Computerlinguistik Einführung in Python (1) Einführung in die Computerlinguistik Einführung in Python (1) Dozentin: Wiebke Petersen 10. Foliensatz Wiebke Petersen Einführung CL 1 Compiler Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2011 3. April 2011 Sprachen als Kommunikationsmittel Natürliche Sprachen dienen zur mündlichen und schriftlichen Kommunikation zwischen Menschen Künstliche

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

GEDS Dienstleistungen. Software Engineering

GEDS Dienstleistungen. Software Engineering GEDS Dienstleistungen Software Engineering GEDS Software Engineering Übersicht Leistungen Methoden Vorgehen Projektablauf Technologien Software Engineering Leistungen Auftragsprogrammierung Wir übernehmen

Mehr

Technische Probleme lösen mit C/C++

Technische Probleme lösen mit C/C++ Technische Probleme lösen mit C/C++ Von der Analyse bis zur Dokumentation von Norbert Heiderich, Wolfgang Meyer 1. Auflage Hanser München 2010 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 42382

Mehr