Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5...

31
Softwareengineering, Praktikum, Praxis Dietmar Lammers Institut f¨ ur Informatik Westf¨ alische Wilhelms-Universit¨ at M¨ unster

Transcript of Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5...

Page 1: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Softwareengineering, Praktikum, Praxis

Dietmar Lammers

Institut fur Informatik

Westfalische Wilhelms-Universitat Munster

Page 2: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 1

Page 3: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Gestern:

wenige Computer

wenige nicht zusammenarbei-

tende Mainframes

wenige, ausgebildete Be-

nutzer (an Terminals)

einfache, lineare Aufgaben

. . .

Heute:

viele Computer in vielen

Formen: PCs, Noteb o oks,

Handhelds, Handys, ...

viele, nichtausgebildete Be-

nutzer

komplexe, verteilt zusam-

menarb eitende Aufgab en

(Web)

zunehmende

Qualit�atsanforderungen

(Steuerungssysteme)

...

Dietmar Lammers Softwareengineering, Praktikum, Praxis 2

Page 4: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Gestern:

wenige Computer

wenige nicht zusammenarbei-

tende Mainframes

wenige, ausgebildete Be-

nutzer (an Terminals)

einfache, lineare Aufgaben

. . .

Heute:

viele Computer in vielen

Formen: PCs, Notebooks,

Handhelds, Handys, ...

viele, nichtausgebildete Be-

nutzer

komplexe, verteilt zusam-

menarbeitende Aufgaben

(Web)

zunehmende

Qualitatsanforderungen

(Steuerungssysteme)

...

Dietmar Lammers Softwareengineering, Praktikum, Praxis 2

Page 5: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Beispiel Telekommunikationssystem

Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mann-

jahre Programmieraufwand.

War das eine Programmiererin, die 6000 Jahre Programmiert hat?

O�ensichtliche Probleme: Zusammenarb eit und

Ub ersicht

- das skaliert nicht gut

Dietmar Lammers Softwareengineering, Praktikum, Praxis 3

Page 6: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Beispiel Telekommunikationssystem

Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mann-

jahre Programmieraufwand.

War das eine Programmiererin, die 6000 Jahre Programmiert hat?

O�ensichtliche Probleme: Zusammenarb eit und

Ub ersicht

- das skaliert nicht gut

Dietmar Lammers Softwareengineering, Praktikum, Praxis 3

Page 7: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Beispiel Telekommunikationssystem

Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mann-

jahre Programmieraufwand.

Das waren vermutlich eher 6000 Personen, die 1 Jahr gearbeitet

haben.

O�ensichtliche Probleme: Zusammenarb eit und

Ub ersicht

- das skaliert nicht gut

Dietmar Lammers Softwareengineering, Praktikum, Praxis 3

Page 8: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Wozu Softwareengineering?

Beispiel Telekommunikationssystem

Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mann-

jahre Programmieraufwand.

Das waren vermutlich eher 6000 Personen, die 1 Jahr gearbeitet

haben.

Offensichtliche Probleme: Zusammenarbeit und Ubersicht

- das skaliert nicht gut

Dietmar Lammers Softwareengineering, Praktikum, Praxis 3

Page 9: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 4

Page 10: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

geeignete Programmiersprachen / Paradigmen:

Zahlverarb eitung vs. Mo dellierung der Welt

prozedural vs. objektorientiert

ggf. ?? agentenbasiert ??

Standardsoftware und -bibliotheken

(man macht ja nicht alles neu, und b ekommt so auch vertrautes

lo ok and feel ...)

Dietmar Lammers Softwareengineering, Praktikum, Praxis 5

Page 11: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

geeignete Programmiersprachen / Paradigmen:

Zahlverarbeitung vs. Modellierung der Welt

prozedural vs. objektorientiert

ggf. ?? agentenbasiert ??

Standardsoftware und -bibliotheken

(man macht ja nicht alles neu, und b ekommt so auch vertrautes

lo ok and feel ...)

Dietmar Lammers Softwareengineering, Praktikum, Praxis 5

Page 12: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

geeignete Programmiersprachen / Paradigmen:

Zahlverarbeitung vs. Modellierung der Welt

prozedural vs. objektorientiert

ggf. ?? agentenbasiert ??

Standardsoftware und -bibliotheken

(man macht ja nicht alles neu, und bekommt so auch vertrautes

look and feel ...)

Dietmar Lammers Softwareengineering, Praktikum, Praxis 5

Page 13: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

Softwareentwicklung in Phasen: Planung, Definition, Entwurf,

Implementierung, Abnahme, Pflege

CASE-To ols

informell �! formal

Lastenheft �! Mo dell �! Programm

Analyse Design

Mo dellierung auf abstrakter Eb ene

UML

Dietmar Lammers Softwareengineering, Praktikum, Praxis 6

Page 14: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

Softwareentwicklung in Phasen: Planung, Definition, Entwurf,

Implementierung, Abnahme, Pflege

CASE-Tools

informell �! formal

Lastenheft �! Mo dell �! Programm

Analyse Design

Mo dellierung auf abstrakter Eb ene

UML

Dietmar Lammers Softwareengineering, Praktikum, Praxis 6

Page 15: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

Antworten der Informatik / Softwaretechnik

Softwareentwicklung in Phasen: Planung, Definition, Entwurf,

Implementierung, Abnahme, Pflege

CASE-Tools

informell −→ formal

Lastenheft −→ Modell −→ Programm

Analyse Design

Modellierung auf abstrakter Ebene

UML

Dietmar Lammers Softwareengineering, Praktikum, Praxis 6

Page 16: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Problemlosungen und Werkzeuge

UML - Eine normierte Sammlung von Diagrammen

Anwendungsfalldiagramm (use case, Geschaftsprozesse)

sehr abstrakte Darstellung der beteiligten Personen und Kompo-

nenten und der Hauptvorgange

Klassendiagramm

Modellierung der Komponenten und ihrer Beziehungen unterneinan-

der - Attribute, Methoden, Vererbung, Assoziationen ...

In aktuellen CASE-Tools wird daraus (Rumpf-)Code generiert!

Verhaltensdiagramme

Verschiedene Diagramme, um Ablaufe in zeitlicher / funktionaler

/ logischer Reihenfolge darzustellen. U.a. Aktivitats-, Sequenz-,

Kollaborationsdiagramme.

Implementierungsdiagramme

Komponenten- und Einsatzdiagramme.

Dietmar Lammers Softwareengineering, Praktikum, Praxis 7

Page 17: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Werkzeuge - BSP use case Diagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 8

Page 18: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Werkzeuge - BSP Sequenzdiagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 9

Page 19: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Werkzeuge - BSP Klassendiagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 10

Page 20: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Werkzeuge - BSP Klassendiagramm (2)

Dietmar Lammers Softwareengineering, Praktikum, Praxis 11

Page 21: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 12

Page 22: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praktikum

Lernziele im Programmierpraktikum

Erfassung und Erfahrung der Probleme beim kooperativem Ar-

beiten und Programmieren

Einsatz von CASE-To ols

Mal ein gr�osseres Programmsystem erstellt zu hab en

Ideal: n�utzliches To ol als Ergebnis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 13

Page 23: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praktikum

Lernziele im Programmierpraktikum

Erfassung und Erfahrung der Probleme beim kooperativem Ar-

beiten und Programmieren

Einsatz von CASE-Tools

Mal ein gr�osseres Programmsystem erstellt zu hab en

Ideal: n�utzliches To ol als Ergebnis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 13

Page 24: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praktikum

Lernziele im Programmierpraktikum

Erfassung und Erfahrung der Probleme beim kooperativem Ar-

beiten und Programmieren

Einsatz von CASE-Tools

Mal ein grosseres Programmsystem erstellt zu haben

Ideal: n�utzliches To ol als Ergebnis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 13

Page 25: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praktikum

Lernziele im Programmierpraktikum

Erfassung und Erfahrung der Probleme beim kooperativem Ar-

beiten und Programmieren

Einsatz von CASE-Tools

Mal ein grosseres Programmsystem erstellt zu haben

Ideal: nutzliches Tool als Ergebnis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 13

Page 26: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praxis

Programmieren in der Praxis:

So ahnlich geht das schon ab, aber ...

... CASE-Tools werden oft nicht eingesetzt, oder es werden fir-

menspezifische Tools und Verfahrensweisen eingesetzt

... da gehts um Geld, also ist viel mehr Druck dab ei

... da gibt es viel mehr Altlasten

Informationen veralten schnell!

Das ist nur ein kleiner Teil der Informatik!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 14

Page 27: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praxis

Programmieren in der Praxis:

So ahnlich geht das schon ab, aber ...

... CASE-Tools werden oft nicht eingesetzt, oder es werden fir-

menspezifische Tools und Verfahrensweisen eingesetzt

... da gehts um Geld, also ist viel mehr Druck dabei

... da gibt es viel mehr Altlasten

Informationen veralten schnell!

Das ist nur ein kleiner Teil der Informatik!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 14

Page 28: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praxis

Programmieren in der Praxis:

So ahnlich geht das schon ab, aber ...

... CASE-Tools werden oft nicht eingesetzt, oder es werden fir-

menspezifische Tools und Verfahrensweisen eingesetzt

... da gehts um Geld, also ist viel mehr Druck dabei

... da gibt es viel mehr Altlasten

Informationen veralten schnell!

Das ist nur ein kleiner Teil der Informatik!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 14

Page 29: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praxis

Programmieren in der Praxis:

So ahnlich geht das schon ab, aber ...

... CASE-Tools werden oft nicht eingesetzt, oder es werden fir-

menspezifische Tools und Verfahrensweisen eingesetzt

... da gehts um Geld, also ist viel mehr Druck dabei

... da gibt es viel mehr Altlasten

Informationen veralten schnell!

Das ist nur ein kleiner Teil der Informatik!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 14

Page 30: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Praxis

Programmieren in der Praxis:

So ahnlich geht das schon ab, aber ...

... CASE-Tools werden oft nicht eingesetzt, oder es werden fir-

menspezifische Tools und Verfahrensweisen eingesetzt

... da gehts um Geld, also ist viel mehr Druck dabei

... da gibt es viel mehr Altlasten

Informationen veralten schnell!

Das ist nur ein kleiner Teil der Informatik!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 14

Page 31: Softwareengineering, Praktikum, PraxisDietmar Lammers Softwareengineering, Praktikum, Praxis 5 Probleml osungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung

Schluss, Aus, Ende ...

Schonen Abend noch!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 15