Informatik ist viel mehr als Delphi-Programmierung !

17
Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen) Informatik ist viel mehr als Delphi-Programmierung ! Bedeutung der Informationstechnik Disziplinen der Informatik • Programmiersprachen • Softwaretechnologie

description

Informatik ist viel mehr als Delphi-Programmierung !. Bedeutung der Informationstechnik Disziplinen der Informatik Programmiersprachen Softwaretechnologie. Wirtschaftliche Bedeutung von Informations- und Kommunikationstechnik. Weltweite Leitindustrien (Umsatz 1994 in Milliarden US-$). - PowerPoint PPT Presentation

Transcript of Informatik ist viel mehr als Delphi-Programmierung !

Page 1: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Informatik ist viel mehr als Delphi-Programmierung !

• Bedeutung der Informationstechnik

• Disziplinen der Informatik

• Programmiersprachen

• Softwaretechnologie

Page 2: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Wirtschaftliche Bedeutung von Informations- und Kommunikationstechnik

0

500

1000

1500

2000

2500

3000

3500

Militär &

Verteid

igung

Masch

inenbau

Autoind

ustrie

Chem

ieindustrie

Textilin

dustrie

Inform. - und

Kom

m.-technik

Tourism

us

WeltweiteLeitindustrien

(Umsatz 1994 in Milliarden US-$)

ICT =Information andCommunicationTechnologyQuelle: Balzert, Bd. 1

Page 3: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Dynamik des IT-Marktes

02468

10121416

Hardware Software Services

1997199819992000

Jährliche Wachstumsraten im westeuropäischen IT-Markt (Angaben in%):

Quelle: EITO

Page 4: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Teilgebiete der Informatik

• Theoretische Informatik– Theoretische Grundlagen der Informationsverarbeitung

– Komplexität, Berechenbarkeit, Modellbildung, ...

• Technische Informatik– Konstruktion von informationsverarbeitenden Maschinen (Hardware)

• Praktische Informatik– Konstruktion von Algorithmen und Programmen (Software)

– Softwaretechnologie

– Betriebssysteme, Rechnernetze, Datenbanken, Compilerbau, Computergrafik, ...

• Angewandte Informatik– Einsatz maschineller Informationsverarbeitung

– Interdisziplinarität

• Künstliche Intelligenz– Lernende Maschinen, Sprach- und Bildverstehen, log. Schliessen

Page 5: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Theoretische Informatik - Highlights

• Theorie der Berechenbarkeit:– Man kann beweisen, daß manche Aufgaben nicht durch Algorithmen

lösbar sind !

– Beispiel: Programm zur Analyse von Programmen auf die Möglichkeit von endlosen Abläufen

• Komplexitätsklassen:– Man kann von manchen Problemen beweisen, daß ihre Lösung für

größere Datenmengen exponentiell großen Zeit- oder Speicheraufwand benötigt.

• Kodierungstheorie:– Theorie der "Redundanz" und optimaler Codierungen ermöglicht

Kompression - spart Speicherplatz und Übertragungszeit.

Page 6: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Praktische Informatik - Highlights

• Automatische Generierung von Sprachübersetzer (Compiler) aus Beschreibung von Programmiersprache

• Datenbanksysteme mit praktisch unbegrenztem Speichervermögen und zehntausenden gleichzeitiger Zugriffe

• Realistische dreidimensionale Grafik-Animationen

• Zuverlässige, störfallresistente und dynamisch erweiterbare globale Computernetzwerke

• Entwicklungsmethodik für systematische Konstruktion von komplexen, anpassungsfähigen Softwaresystemen

Page 7: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

"Stammbaum" von Programmiersprachen

ALGOL

Simula

CLOS

LISP

SmalltalkEiffel

C

C++

VisualC++

Java

Pascal

Turbo Pascal

ObjectPascal/ Delphi

Ada

Ada-95

UCSD Pascal

FORTRAN

BASIC

VisualBasic

COBOL

PL/I

Page 8: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

"Generationen" von Programmiersprachen

• 1. Generation: Maschinensprachen– rein binär

• 2. Generation: Assemblersprachen– bequemer handhabbare Darstellung der Maschinensprache

• 3. Generation: "höhere Programmiersprachen"– z.B. ALGOL, ObjectPascal, Java

• 4. Generation: Baukästen für Anwendungssysteme– z.B. CSP, QMF, Natural, z.T. auch Delphi

• (5. Generation: Intelligente selbstlernende Systeme)

Page 9: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Programmiersprachen: Schnappschuß 1998

• In deutschen Softwarehäusern überwiegend verwendete Sprachen (Mehrfachnennungen möglich)

• Quelle: Universität Köln, nach Computerzeitung 36/1998

1419

22

44 45 47

05

101520253035404550

PL/1 Java VisualBasic

COBOL C C++

Nennungen %

Page 10: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

"Hello World" in Java

class HelloWorld {

public static void main (String[] args) {

System.out.println("Hello, World!");

}

}

Definierte Klasse

Definierte Methode

Resultat-Typ Argument-Typ

VerwendeteKlasse

VerwendetesObjekt

VerwendeteMethode

Page 11: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Definition einer Klasse

class Point {

public double x, y;

public void clear(); {

x = 0; y = 0;

}

public double distance (Point that) {

double xdiff, ydiff;

xdiff = x - that.x;

ydiff = y - that.y;

return Math.sqrt(xdiff*xdiff+ydiff*ydiff);

}

}

Point

xy

cleardistance

Page 12: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Erzeugen von Objekten, Methodenaufruf

Point p1 = new Point();

Point p2 = new Point();

p1.clear();

p2.x = 3.0;

p2.y = 4.0;

System.out.println(p1.distance(p2));

Page 13: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Vererbung, Redefinition von Methoden

class ColorPoint extends Point {

Color color;

public void clear() {

super.clear();

color = null;

}

}

Page 14: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Die permanente Softwarekrise ?

• 1965: Der Begriff der Softwarekrise etabliert sich in Industrie und Wissenschaft.

– Fehler in Computersystemen sind fast immer Softwarefehler.

– Software wird nicht termingerecht und/oder zu höheren Kosten als geschätzt fertiggestellt.

– Software entspricht oft nicht den Anforderungen ihrer Benutzer.

• 1979: Studie zu Softwareprojekten (USA), insges. ca. 7 Mio US-$. 75% der Ergebnisse nie eingesetzt; 19% der Ergebnisse stark überarbeitet. 6% benutzbar.

• 1981: US Air Force Command&Control Software überschreitet Kostenvoranschlag fast um den Faktor 10 (3,2 Mio US-$)

• 1996: Absturz der 'Ariane 5' wegen eines Software-Fehlers.

• November 1997: Entwicklung des Informationssystems SACSS für den Staat Kalifornien abgebrochen. Aufgelaufene Kosten 300 Mio US-$ (200 % des Voranschlags)

• 1999: Absturz einer Mars-Sonde wegen eines Software-Fehlers

Page 15: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Ungefähre Verteilung des Arbeitsaufwandes

Analyse

Entwurf

Implementierung

Test,Integration

Wartung

10 %

20 %

50 %20 %

Page 16: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Arbeitsalltag eines Software-Ingenieurs

• Anteil an der Arbeitszeit:

– Schreiben von Programmen: 15 %– Kommunikation (Kollegen, Kunden): 30 %

– Diverse weitere Aufgaben:

» Analyse

» Spezifikation

» Dokumentation

» Test

» Wartung

Page 17: Informatik ist viel mehr als Delphi-Programmierung !

Technische Universität Dresden Prof. Hußmann Informatik II (Maschinenwesen)

Daten

• Die typische Dauer eines Softwareprojekts ist 1-2 Jahre.Zykluszeit bis zur Freigabe einer neuen Version sinkt, derzeit oft bei 6-9 Monaten.

• Nur 70 - 80 % aller Projekte werden erfolgreich abgeschlossen.

• Das Kostenverhältnis von Hard- zu Software lag– 1955 bei 4 : 1

– 1985 bei 1 : 4

• Die Siemens AG bezieht 50 % ihrer Wertschöpfung aus Software.

• Die Entwicklungskosten für technische Produkte bestehen zu ca. 50% (große PKWs) bis 80% (Meß- und Regeltechnik) aus Kosten für die Softwareentwicklung.