SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering...

23
SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines Software-Engineer… …von Märchen und Wahrheiten Prof. Dr. Andreas Rausch

Transcript of SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering...

Page 1: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

Technische Universität ClausthalInstitut für Informatik – Software Systems EngineeringLehrstuhl von Prof. Dr. Andreas Rausch

Schein und Sein eines Software-Engineer…

…von Märchen und Wahrheiten

Prof. Dr. Andreas Rausch

Page 2: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 2

• Was ist ein Software-Engineer?

• Warum ist Software-Engineering so besonders?

• Wie arbeitet ein Software-Engineer?

Inhalt

Page 3: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 3

Wer baut was?

• Bau-Ingenieur

• Maschinenbau-Ingenieur

• Elektrotechnik-Ingenieur

• Software-Ingenieur/-Engineer

Andere Ingenieure…

Page 4: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 4

Ein Zauberer?

Was ist ein Software-Engineer?

Ein Garagenbastler?

Ein Software-Engineer ist ein Engineer… …Engineering ist die Anwendung von

naturwissenschaftlichen Erkenntnissen und praktischen Erfahrungen, um für die Menschheit sinnvolle Dinge zu entwickeln und bereit zu stellen.

Page 5: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 5

• Software Engineering ist die zielorientierte Bereitstellung und Verwendung von systematischen, ingenieurmäßigen und quantifizierbaren Vorgehensweisen für Entwicklung, Betrieb, Wartung und Stilllegung von Software-Systemen.

• Zielorientiert bedeutet dabei die Berücksichtigung von Zeit, Kosten und Qualität.

• (Ethische) Verantwortung eines Engineers und damit auch eines Software-Engineers

Was ist ein Software-Engineer?

Zeit

Kosten Qualität

Leistung

Page 6: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 6

• Was ist ein Software-Engineer?

• Warum ist Software-Engineering so besonders?

• Wie arbeitet ein Software-Engineer?

Inhalt

Page 7: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 7

Die Bedeutung von Software…

Page 8: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch

• Haushalts- und Konsumelektronik– Handys, DVD-Player, Digitalkameras bestehen zu einem wesentlichen Teil aus

Softwaresystemen

– Aber auch Geräte wie Kaffee- und Waschmaschinen

• Automobilindustrie– Pro Fahrzeug bis zu 100 Mikrokontroller

– Mehr als 50% der Pannen Software beteiligt: Tendenz steigend

– Prozesse und Produktion ohne Software nicht mehr möglich

• Informationssysteme– Finanzen, Medizin, etc. – zwischen 60% - 90% Durchdringung

– 1 Geschäftsprozess integriert bis zu 15 Großanwendungen!

Die Bedeutung von Software für den Alltag…

8

Page 9: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 9

Die Bedeutung für Software für die Wirtschaft

0

500

1000

1500

2000

2500

3000

3500

Militär &

Verte

idig

un

g

Masch

inenbau

Auto

ind

ustrie

Chem

iein

dustrie

Textilin

dustrie

Inform. - und

Kom

m.-tech

nik

Tou

rismu

s

WeltweiteLeit-Industrien

(Umsatz 1994 in Milliarden US-$)

[Quelle: Balzert, Bd. 1, S. 28 Abb. 6]

Page 10: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 10

Software-Katastrophe: Start der Ariane-5 am 4. Juni 1996 (1)

Ein wirklich teurer Software-Fehler – Ariane 5:„On June 4, 1996, on its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then it began to veer off course. At the direction of the Ariane ground controller, the rocket was destroyed by remote control. … total cost of the disaster was $500 million.

[Quelle: Pfleeger, Software Engineering – Theory and Practice, S.37]

Ursache:

Flugbahn der Rakete wird durch „Inertial Reference System (SRI)“ gemessen, dessen Software teilweise von Ariane-4 übernommen wurde

ein Teilsystem von SRI rechnete nach dem Start weiter, obwohl seine Ergebnisse in Ariane-5 nicht mehr benötigt wurden

andere Flugbahndaten von Ariane-5 (als bei Ariane-4) erzeugten Überlauf bei Real-Integer-Konvertierung und verursachten Fehlfunktion des SRI-Systems

dadurch wurden wichtige Flugdaten durch ein Testmuster überschrieben

das SRI-System und sein Backup schalteten sich aufgrund des Fehlers ab

Page 11: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch

Software-Katastrophe: Patriot-Rakete (1)

Ein fataler Software-Fehler im Golfkrieg II:“During the Gulf war, a computer failure was responsible for the failure of a patriot missile to stop a scud missile that hit an American military barracks in Dharan … 28 dead …” [Quelle: ACM SIGSOFT Software Engineering Notes, vol. 16, no. 3 (1991),

S.19f]

Ursache:

der Steuercomputer lief 4 Tage ununterbrochen

dadurch lief das interne Timer-Register über 24 Bit hinaus und es entstanden Rundungsfehler bei der Bahnberechnung

wäre das Timer-Intervall 1/8 statt 1/10 Sekunde gewesen hätte es keine Rundungsfehler gegeben

das Intervall wurde entgegen der ursprünglichen Programmierung nachträglich von einem Manager auf 1/10 Sek. geändert

11

Page 12: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 12

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

• 1992: Integration des Reservierungssystems SABRE mit anderen Reservierungssystemen abgebrochen: 165 Mio. US-$.

• 1997: Entwicklung des Informationssystems SACSS für den Staat Kalifornien abgebrochen: 300 Mio. US-$.

• 1994: Eröffnung des Denver International Airport um 16 Monate verzögert wegen Softwareproblemen im Gepäcktransport-System: 655 Mio. US-$.

Deutschland kann das auch…• 2004: Das deutsche Maut Erfassungssystem „Toll Collect“

wurde mit großem Verzug in Betrieb genommen: ~6,5 Mrd. €.

IT-Projekt-Katastrophen: Alles Einzelfälle?

Page 13: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 13

• CHAOS Report– Jährlicher Bericht seit 1994 über den Erfolg von IT-Projekten– Es wurden ca. 100.000 Projekte (nur) in den USA untersucht– Herausgeber: Standish Group International, Inc.

• Der CHAOS Report ordnet IT-Projekte in drei Kategorien ein– Succeeded: Projekt wurde innerhalb der vorgegebenen Zeit

und Budget abgeschlossen, ist im Einsatz und erfüllt alle Anforderungen.

– Challenged: Projekt ist abgeschlossen. Projektergebnis ist im Einsatz. Zeit, Budget oder Leistung sind aber nicht im vorgegebenen Umfang erreicht worden.

– Failed: Das Projekt wurde vorzeitig abgebrochen oder das Projektergebnis wurde nie eingesetzt.

Erfolgsstatistik von IT-Projekten (1)

Page 14: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 14

Erfolgsstatistik von IT-Projekten (2)

26 28

28 23

16

31

5346 49

0%

20%

40%

60%

80%

100%

1994 1996 1998 2000

27

40

33

2003

15

51

34

Succeeded Failed ChallengedQuelle: CHAOS Report, Standish Group International, Inc.

Page 15: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 15

Unsere IT-Landschaft bildlich dargestellt…

Page 16: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 16

• Software unterliegt keinen physikalischen Gesetzen, Software ist immateriell

• Software Engineering ist die einzige Ingenieursdisziplin, die sich mit nicht fassbaren Systemen beschäftigt

• Unterschiede und Missverständnisse– Nur Entwicklung, keine Produktion

Software ist leicht änderbar

– Softwaresysteme haben (fast) keinen Verschleiß Betrieb und Nutzung kann vernachlässigt werden

– Softwaresysteme haben einen relativ kurzen Entwicklungszyklus Große Softwaresysteme sind kurzlebig

Unterschiede von Software

Page 17: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 17

• Was ist ein Software-Engineer?

• Warum ist Software-Engineering so besonders?

• Wie arbeitet ein Software-Engineer?

Inhalt

Page 18: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 18

Wie arbeitet ein Software-Engineer?

Page 19: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 19

Häufig: Arbeiten in ProjektenEin Projekt ist ein einmaliges Vorhaben mit einem gewissen Risiko. Ein vorgegebenes Ziel muss innerhalb einer vorgegebenen Zeit unter Einsatz von vorhandenen, meist beschränkten Mitteln erarbeitet werden.

Größe von ProjektenKlein: 1 PJ, 1-2 Bearbeiter, Entwicklung für EigenbedarfMittel: 1-10 PJ, 3-10 Bearbeiter, Compiler, Steuerprogramme, Entwicklung für KundenGroß: 5-50 PJ, 10 bis 30 Bearbeiter, Datenbanken, Spiele, Individual-SW-SystemeRiesig: 50-5.000 PJ, 20-1000 Bearbeiter, Gesamtlösungen für Unternehmen

Software Engineers arbeiten in Teams

Page 20: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 20

Tätigkeit eines Software Engineer

ausgewählterAdresssatz in

KU-Verknüpfungvorhanden?

Adresssatz =E inzeladress-

satzNein

Der Aufru f der Kundenmappeerfo lgt aus Kurzin fo im Rahmen vonPRO FiLStartbedingung: Adresssatzvorhanden

Person aus AT1des Adresssatzeswird autom atischvom System als

BP angelegt.

Ja

Gem einschaftsadresssatz =Eheverbund

Eheverbund wirdautom atisch vom

System als BPangelegt.H inweis:

Für persönl.Inform ationen istein E inzeladress-satz notwendig!

Ja

Nein

Keine Anlageeiner BP m öglich.

Nein

Aufruf derKundenm appe/

Basiskom ponente

Besteht fürausgewählten

Adresssatzeine BP?

Nein

Bestehtinnerhalb derKU-Verknüpf-ung eine BP?

Ja

Die verknüpftenAdresssätze

werdenautom atisch vom

System zu BPzusam m engefasst

Nein

Ja

ausgewählterAdresssatz in

einer KU-Verknüpfungvorhanden?

Nein

Zusam m en-stellung der

Ansicht

Ja

ManuelleNachbearbeitungder BP durch den

Berater

Ja

Aufruf der FunktionKundenm appe

5

Legende:es handelt s ich um einen Ablauf fürAdresssätze, die nicht KU-verknüpft s indAnwender m uss eine Tätigkeit durchführenautom atische Ausführung durch das System

Nein

W ar derausgewählteAdresssatz

ursprünglichm it einemweiteren

Adresssatz zueiner BP

zusam m enge-fasst?

Ja

Fall 8

AF Beteiligte Partei bearbeiten

AF Beteiligte Parteiausw ählen

Handelt essich bei dem

ausgewähltenAdresssatz umeine natürlichePerson (nichtselbständig/selbständig)

1

Ja

Nein

2

3

Aufruf einerBasiskom ponente, die als

Basis die BP benötigt (z. B .Liquiditätsaufstellung)

In d iesem Fall handelt es sich umreine F irmenkunden (G mbH, KG ,O HG usw.)

1

2

3

4

5

6 78

9

10

11 12

13

14

ManuelleNachbearbei-

tungnotwendig?

Ja

17Nein

Anzahl derBeteiligten

Parteien >1

Ja

Nein

18

19

20

ManuelleNachbearbei-

tungnotwendig?

Nein

Ja

31

32

fi l ter:= 1 , fal ls der erste Name des Adresseintrags referenziert wird.= 2 , fal ls der zweite Name des Adresseintrags referenziert wird.= 0 , fal ls der Verbund referenziert wird.

Wie w erden zu einer beteiligten Partei die Konten ermittelt, über die sie (als Inhaber oder als Zeichnungsberechtigte / HB-Berechtigte?) v erfügen kann?

Zu einer beteiligten Partei können im ZAB (ADRSFXXX) mehrere Adresseinträge gefunden w erden. Diese können sich bezüglich Meldeadresse, Zustelladresse etc. unterscheiden? Welche dieser Informationen soll beipielsw eise bei einer Suche an den Frontend-Serv er zurückgeliefert und angezeigt w erden?

Bereich Karte & Kartenvertrag Bereich Beteil igte Partei(Anbindung zum ZAB)

Bereiche existierender Systeme

0;2

Kartenfunktionalitaet

(from Daten KVS)

Verfuegungsmoeglichkei t

konkretesAnwendungskontolimit : BetragInfoverfuegbaresKonto : KontoKey

(from Daten KVS)

1

0..n

1

0..n

AdresseBeteil igtePartei

<<PK>> adressNr<<PK>> spkNrzuname1vorname1zuname2vorname2meldeadressezustelladresse...

(from Daten Kundensystem)

LogischeKarte

kartenverfuegungsvereinbarungprimaeresKontoderKarte : KontoKey

(from Daten KVS)

1

0..n

1

0..n

Konto

satzartspkNrinstitutsNrkontoNradressNr

(from Kontoführung und Verträge)

1 0..n

+kontoinhaber

1 0..n

/

0..120..n

+zeichnungsberechtigter0..120..n

ZB-Verknüpfung

1

0..n

+primaeresKontoDerKarte1

0..n

1

0..n

+verfuegbaresKonto1

0..n

BPAdresszuordnung

fi lter

(from Daten KVS)

1

0..n

1

0..nKartenverfügungsvereinbarung

karteninhaber : BPKey

(from Daten KVS)

1

0..n

1

+kartenFuerKarteninhaber 0..n

Kartenvertrag

preisbelastungskonto : KontoKeykartenvertragspartner : BPKey

(from Daten KVS)

1

1..n

1

1..n

1

0..n

+preisbelastungskonto1

0..n

Beteil igtePartei

sucheKontenMitVerfuegungsberechtigung()

(from Daten KVS)

1 1..n1 1..n

1

0..n

+karteninhaber1

0..n

1

0..n

+kartenvertragspartner

1

0..n

0..n

+mitgl ied

Verbundzuordnung

+verbund

0..n

Page 21: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 21

• Sportler sollten für ein optimales Training in einem bestimmten Soll-Pulsbereich trainieren

• Soll-Pulsbereich ist abhängig von Parametern, z.B.:– Individuelles Leistungsprofil– Profil der Rennstrecke

-> Soll-Puls muss während des Trainings angepasst werden• Ist-Pulsbereich wird durch Vorgaben gesteuert, z.B.:

– Leistungsvorgabe für den Sportler– Gegenwind durch Position in der Gruppe

-> Vorgaben müssen während des Trainings angepasst werden

Aufgabe des Assisted Training SystemsOptimierung des Einzeltraining eines Rennradsportlers

Optimierung des Gruppentraining einer Rennradgruppe

Beispiel für verlässliche adaptive Systeme (1)

Page 22: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

Kapitel 5

Vortragstitel hier eintragen©Autor hier eintragen 22

Beispiel für verlässliche adaptive Systeme

Pedal PowerSensor

Bluetooth /WLAN

GPS

GSM

AmI PDA

Wind SensorMICA Nodes

Pulse SensorTrainer

Internet-basierteTrainingsdatenbank

Page 23: SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch Schein und Sein eines.

SSE

©Prof. Dr. Andreas Rausch 23

Perspektive eines Software-Engineer