SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering...
-
Upload
waldeburg-lehrmann -
Category
Documents
-
view
108 -
download
2
Transcript of SSE Technische Universität Clausthal Institut für Informatik – Software Systems Engineering...
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
SSE
©Prof. Dr. Andreas Rausch 2
• Was ist ein Software-Engineer?
• Warum ist Software-Engineering so besonders?
• Wie arbeitet ein Software-Engineer?
Inhalt
SSE
©Prof. Dr. Andreas Rausch 3
Wer baut was?
• Bau-Ingenieur
• Maschinenbau-Ingenieur
• Elektrotechnik-Ingenieur
• Software-Ingenieur/-Engineer
Andere Ingenieure…
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.
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
SSE
©Prof. Dr. Andreas Rausch 6
• Was ist ein Software-Engineer?
• Warum ist Software-Engineering so besonders?
• Wie arbeitet ein Software-Engineer?
Inhalt
SSE
©Prof. Dr. Andreas Rausch 7
Die Bedeutung von Software…
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
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]
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
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
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?
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)
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.
SSE
©Prof. Dr. Andreas Rausch 15
Unsere IT-Landschaft bildlich dargestellt…
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
SSE
©Prof. Dr. Andreas Rausch 17
• Was ist ein Software-Engineer?
• Warum ist Software-Engineering so besonders?
• Wie arbeitet ein Software-Engineer?
Inhalt
SSE
©Prof. Dr. Andreas Rausch 18
Wie arbeitet ein Software-Engineer?
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
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
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)
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
SSE
©Prof. Dr. Andreas Rausch 23
Perspektive eines Software-Engineer