Softwaretechnik Was und wofür ist das? - Institut für

Universität Stuttgart
Institut für Automatisierungs- und Softwaretechnik
Prof. Dr.-Ing. Dr. h. c. P. Göhner
Softwaretechnik
Was und wofür ist das?
Ringvorlesung
„Aspekte der Mechatronik:
Aufgabengebiete der Automatisierungstechnik“
Peter Göhner
07.05.2012
www.ias.uni-stuttgart.de
© IAS, Universität Stuttgart
1
Ringvorlesung Systemtechnik – Softwaretechnik
Software als Wirtschaftsfaktor:
• Die Informations- und Kommunikationstechnologie (IKT) ist noch vor dem
Maschinen- und Automobilbau auf Platz 1 der Industriesektoren in
Maschinen
Deutschland
• Ca. 80% der Innovationen in einem Auto basieren heute auf IT.
• IKT ist zudem entscheidende Voraussetzung für andere Zukunftstechnologien
wie Nano-und Biotechnologie, Medizintechnik, Automatisierungstechnik und
Verkehrstechnologie.
Nationaler IT-Gipfel seit 2006
Beispiel: Produktautomatisierung
• zunehmende Komplexität der Produkte
• zunehmender Softwareanteil
• kürzere Entwicklungszeiten
g
© IAS, Universität Stuttgart
2
Ringvorlesung Systemtechnik – Softwaretechnik
Zeitungsmeldung 2012
„Hunderttausende Gehaltszahlungen
verzögerten
ö
t sich
i h durch
d
h einen
i
Software-Fehler
S ft
F hl
bei einer der größten Banken in Japan ”
… durch einen Software
Software-Fehler
Fehler bei einer der
größten Banken in Japan fielen landesweit 5.600
Geldautomaten für 24 Stunden aus
aus. Um die
Systemwiederherstellung zu beschleunigen,
mussten alle 38.000 Geldautomaten vom Netz
genommen werden …
… erst nach einer zehntägigen Verzögerung konnte
die Bank alle Lohnüberweisungen mit einem
Gesamtvolumen von 1,5 Milliarden US-Dollar (über
eine Milliarde Euro) bearbeiten…
Quelle: Computer
p
Reseller News ((crn.de))
© IAS, Universität Stuttgart
3
Ringvorlesung Systemtechnik – Softwaretechnik
Gliederung
¾ Einleitung
¾ Warum ist Software fehleranfällig?
¾ Warum ist Softwaretechnik wichtig?
¾ Was ist Softwaretechnik?
¾ Lehre und Forschung am IAS
© IAS, Universität Stuttgart
4
Warum ist Software fehleranfällig?
Was ist Software?
– Computerprogramme und
dazugehörige Dokumentation
Ö Das Softwareprodukt ist
nur die Spitze des Eisbergs
© IAS, Universität Stuttgart
5
Warum ist Software fehleranfällig?
Charakteristika von Software
– Software ist immateriell
– Software wird nicht durch physikalische Gesetze begrenzt:
Æ Das Denkmögliche erscheint machbar
– Software ist im Allgemeinen leichter und schneller zu ändern als ein
technisches Produkt
– Software lebt in der digitalen Welt
Æ Minimale Änderungen können maximale Auswirkungen haben
– Software unterliegt keinem Verschleiß
– Für Software gibt es keine Ersatzteile
– Software altert
– Herstellung vieler Exemplare trivial
© IAS, Universität Stuttgart
6
Ringvorlesung Systemtechnik – Softwaretechnik
Gliederung
¾ Einleitung
¾ Warum ist Software fehleranfällig?
¾ Warum ist Softwaretechnik wichtig?
¾ Was ist Softwaretechnik?
¾ Lehre und Forschung am IAS
© IAS, Universität Stuttgart
7
Warum ist Softwaretechnik wichtig?
Lebenszyklus eines Softwareprodukts
...
Pflichtenh ft
heft
Wartungsphase
Programme
g
Programme
g
Dokumentation
Requirementspezifkation
q
p
( 500 Anforderungen )
Produkt
(1 Megabyte Code + Doku)
Dokumentation
Programme
Systemanalyse
( 2000 detaillierte
Anforderungen )
Software Programme
( 100 000 Codezeilen )
Grobentwurf
( 50 Modulpakete )
Feinentwurf
( 1500 Module )
© IAS, Universität Stuttgart
Programme
8
Warum ist Softwaretechnik wichtig?
Fehlerhäufigkeit
– Normale Software
25 Fehler pro 1000 Codezeilen
– Wichtige Software
2 - 3 Fehler pro 1000 Codezeilen
– Medizinische Software
0.2 Fehler pro 1000 Codezeilen
– Space Shuttle Software
< 0.1 Fehler pro 1000 Codezeilen
– Beispiel Space Shuttle Software
• 3 Millionen Zeilen
Æ 300 Fehler
• $ 3 Milli
Milliarden
d K
Kosten
Æ $ 1000 pro Z
Zeile
il
• 15 000 Mannjahre
Film: GOALIAS
© IAS, Universität Stuttgart
9
Warum ist Softwaretechnik wichtig?
Verschärfung der Probleme
– Die Komplexität von Programmen nimmt ständig zu
– Umfang und Lebensdauer nehmen zu
– Neue Anwendungen werden für den Rechnereinsatz erschlossen
– Die Softwareentwicklung ist ein integraler Bestandteil der
Systementwicklung
y
g
– Immer mehr Entwickler sind mit der Pflege von Altsystemen beschäftigt
© IAS, Universität Stuttgart
10
Ringvorlesung Systemtechnik – Softwaretechnik
Gliederung
¾ Einleitung
¾ Warum ist Software fehleranfällig?
¾ Warum ist Softwaretechnik wichtig?
¾ Was ist Softwaretechnik?
¾ Lehre und Forschung am IAS
© IAS, Universität Stuttgart
11
Was ist Softwaretechnik?
Softwaretechnik – die Anfänge:
„Softwaretechnik ist die Anwendung von Prinzipien, Fähigkeiten und Kunstfertigkeiten beim Entwurf und die Erstellung von Programmen und Systemen
von Programmen.“
[Dennis, 1975]
Æ Künstler, Einzelkämpfer
Softwaretechnik
o
heute:
u
– Basiert auf Vorgehensmodellen
– Entwicklung wird methodisch
durchgeführt
– Softwarewerkzeuge zur
Beherrschung der Komplexität
Vorgehensmodelle
QualitätsFokus
Werkzeuge
© IAS, Universität Stuttgart
Methoden
12
Was ist Softwaretechnik?
Projektvorgehensmodell
– Eine vereinfachte Darstellung des Softwareentwicklungsprozesses aus
einer bestimmten Perspektive
Abnahmetest
Kundenerwartungen
Abnahme
Systemtest
Anforderungsdefinition
Integrationstest
Grobentwurf
Systemintegration
Modulintegration
Modultest
Feinentwurf
Modulimplementierung
© IAS, Universität Stuttgart
13
Was ist Softwaretechnik?
Methoden der Softwareentwicklung
– Planmäßiges Verfahren zur Erreichung eines bestimmten Zieles
– Beruht auf Modellvorstellung und leitet Aktionen ab
– Beispiel: Analyse-und Entwurfsmethoden:
Agentenorientiert
Komponentenbasiert
Objektorientiert
Strukturiert / Funktionsorientiert
Programmieren als Kunst
Basteln
1950
1960
Systematisches Neuentwickeln
1970
© IAS, Universität Stuttgart
1980
1990
Konfigurieren
2000
2010
Selbstorganisation
2020
14
Was ist Softwaretechnik?
Software Werkzeuge
Software-Werkzeuge
– Arbeitsmittel zur Bearbeitung von Werkstücken
– Ganz oder teilweise automatisiertes Vorgehen
– Beispiele im Softwarebereich:
• CASE-Werkzeuge
• Projektmanagement-Werkzeuge
• Testsysteme
• IDE (Integrated Development Environment)
Ö Softwaretechnik ist eine Ingenieur-Disziplin
• Systematisches Vorgehen
• Denken in Baugruppen
• Wiederverwendung
• Prozessstrukturierung
• Prozessbegleitendes Qualitätsbewusstsein
© IAS, Universität Stuttgart
15
Ringvorlesung Systemtechnik – Softwaretechnik
Gliederung
¾ Einleitung
¾ Warum ist Software fehleranfällig?
¾ Warum ist Softwaretechnik wichtig?
¾ Was ist Softwaretechnik?
¾ Lehre und Forschung am IAS
© IAS, Universität Stuttgart
16
Lehre und Forschung am IAS
Lehrveranstaltungen des Instituts für Mechatronik
Mechatronik-Studierende
Studierende
Vorlesung
LP
Zeitpunkt
Umfang
Softwaretechnik I *
6
WS
2V / 2Ü
Ü
Softwaretechnik II
6
SS
2V / 2Ü
Automatisierungstechnik I *
6
SS
2V / 2Ü
Automatisierungstechnik II
6
WS
2V / 2Ü
Zuverlässigkeit
g
und Sicherheit von Automatisierungssystemen
g y
6
SS
2V / 2Ü
Softwaretechnik-Ringvorlesung
3
WS
2V
Praktische Übungen im Labor (Softwaretechnik)
6
SS
Teamarbeit
Praktische Übungen im Labor (Automatisierungstechnik)
6
WS
8 Versuche
* Pflichtmodul
Service bei allen Vorlesungen
¾ Komplettes Vorlesungsmaterial auf CD
¾ Online Vorlesungsportal
¾ VorlesungsV l
und
d Üb
Übungsaufzeichnungen
f i h
© IAS, Universität Stuttgart
17
Lehre und Forschung am IAS
Bachelor und Masterarbeiten
Bachelor¾ Theoretische Analyse und/oder Entwicklung von Software- und/oder
Hardwaresystemen
¾ Konzipierung als Entwicklungsprojekt von 3 bzw
bzw. 6 Monaten
¾ Institutsrichtlinien für die Bearbeitung
¾ Themen aus den Forschungsgebieten des Instituts
¾ CD als Ergebnis
© IAS, Universität Stuttgart
18
Lehre und Forschung am IAS
Modellprozesse am IAS:
Automatisierte
Waschmaschine
Automatisierter
Tipp-Kick-Torwart
Tipp
Kick Torwart
Automatisierte
F ßb ll h h D
Fußballschuh
David
id
Automatisierte
Farbanpassung
Automatisierter
K ff
Kaffeeautomat
t
t
Automatisierter
Truck
Automatisiertes
Verkerzeichen
Automatisierte
Fußbälle
Automatisierter
Tischkicker
Automatisiertes
Gokart
Automatisiertes
Hochregallager
Automatisiertes
Kugellabyrinth
Automatisierter
Autoschutz
Automatisierter
Torhüter GOALIAS
Automatisierter
Aufzug
Automatisierter
Klavierlehrer
Automatisiertes
Hovercraft
© IAS, Universität Stuttgart
Automatisierter
Arzneischrank
Automatisierte
Pyrotechnik-Show
19
Lehre und Forschung am IAS
Automatisierter Arzneischrank am IAS
© IAS, Universität Stuttgart
20
Lehre und Forschung am IAS
Mechatronisches Projekt am IAS
Automatisierter Fußballschuh
Fil David
Film:
D id
© IAS, Universität Stuttgart
21
Lehre und Forschung am IAS
Forschungsgebiete des Instituts
ƒ Agenten in der Automatisierungstechnik
ƒ Benutzerorientierte
e ut e o e t e te Automatisierung
uto at s e u g
ƒ Energieoptimierung in der Automatisierungstechnik
ƒ Verlässlichkeit
V lä li hk it von A
Automatisierungssystemen
t
ti i
t
ƒ Wiederverwendungskonzepte in der Automatisierungstechnik
ƒ Lernfähigkeit von automatisierten Systemen
© IAS, Universität Stuttgart
22
Kooperation mit folgenden Firmen
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ABB (Asea
(A
Brown
B
Boveri
B
i AG)
ads-tec Automation und Systemtechnik
BASF
Borries
Daimler Forschung
ETAS GmbH
Festo GmbH
iss (Innovative Software Services GmbH) Stuttgart
IVM ((Technical Consultants Stuttgart
g GmbH))
Mestron GmbH
Robert Bosch GmbH
Robert Bosch Krankenhaus GmbH
Siemens AG
Vector Consulting Services GmbH
Vector Informatik GmbH
Whitestein Technologies
WMF
© IAS, Universität Stuttgart
23
Zusätzlicher Service für Studierende am IAS:
ƒ
Online-Stellenbörse
ƒ
Bewerbungsseminar für
Studierende des IAS
ƒ
Vorlesungs- und Übungsaufzeichnungen im
Internet
© IAS, Universität Stuttgart
24
Lehre und Forschung am IAS
Vortragsunterlagen
¾ Unterlagen
g zum Vortrag:
g
ƒ Folien und Aufzeichnung:
www.ias.uni-stuttgart.de
g
>> Service >> Vorträge
g
Weitere Informationen
¾ Flyer
¾ Homepage: www.ias.uni
www.ias.uni-stuttgart.de
stuttgart.de
ƒ Forschung und Lehre am IAS (Lehrveranstaltungen, Bachelor- und
Masterarbeiten))
ƒ Aktuelle Veranstaltungen
¾ Ansprechpartner:
Prof. Dr.-Ing. Dr. h. c. P. Göhner
E Mail: [email protected]
E-Mail:
ias@ias uni stuttgart de
© IAS, Universität Stuttgart
25