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

Post on 18-Jan-2021

5 views 0 download

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

Softwareengineering, Praktikum, Praxis

Dietmar Lammers

Institut fur Informatik

Westfalische Wilhelms-Universitat Munster

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 1

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

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

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

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

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

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

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 4

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

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

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

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

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

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

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

Werkzeuge - BSP use case Diagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 8

Werkzeuge - BSP Sequenzdiagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 9

Werkzeuge - BSP Klassendiagramm

Dietmar Lammers Softwareengineering, Praktikum, Praxis 10

Werkzeuge - BSP Klassendiagramm (2)

Dietmar Lammers Softwareengineering, Praktikum, Praxis 11

Ubersicht

1. Wozu Softwareengineering?

2. Problemlosungen und Werkzeuge

3. Praktikum

4. Praxis

Dietmar Lammers Softwareengineering, Praktikum, Praxis 12

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

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

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

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

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

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

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

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

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

Schluss, Aus, Ende ...

Schonen Abend noch!!

Dietmar Lammers Softwareengineering, Praktikum, Praxis 15