Post on 17-Sep-2018
transcript
1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Softwaretechnik (CNAM)
1. Einführung
Wintersemester 2009 / 2010Prof. Dr. Bernhard HummHochschule Darmstadt, FB Informatik
Kennenlernen und Organisatorisches
Definition
Motivation an Projektbeispielen
Überblick Softwaretechnik
Literatur
� Kennenlernen und Organisatorisches
Agenda
3 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Gemeinsames Kennenlernen
� Was ist Ihr beruflicher Hintergrund?
� Welche Projekterfahrung haben Sie?
� Was ist Ihr methodischer Hintergrund (RUP, V-Modell, UML, …)?
� Was ist Ihr Programmierhintergrund (Java, C++, …)?
4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Organisation
� Vorlesung: wöchentlich Dienstags, 18:00 – 21:00, D14 / 4.03
� Praktikum: zweiwöchentlich Mittwochs, 18:00 – 21:00, D14 / 0.15Im Praktikum wird ein komplettes Projekt über alle Phasen exemplarisch durchgeführt. Die Anwendungsdomäne bestimmen Sie!Bitte bringen Sie dazu Notebooks mit. Alle benötigte Software ist Open Source
� Klausur: Di., 9.2.2010, ab 18:00
� Vorlesungs- und Praktikumsunterlagen können von meiner Homepagewww.fbi.h-da.de/~b.humm geladen werden
5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Terminplanung
Di., 29.09.2009 Vorlesung Mi., 30.09.2009 ./.Di., 06.10.2009 Vorlesung Mi., 07.10.2009 PraktikumDi., 13.10.2009 Vorlesung Mi., 14.10.2009 PraktikumDi., 20.10.2009 Herbstferien Mi., 21.10.2009 ./.Di., 27.10.2009 Vorlesung Mi., 28.10.2009 ./.Di., 03.11.2009 Vorlesung Mi., 04.11.2009 PraktikumDi., 10.11.2009 Vorlesung Mi., 11.11.2009 ./.Di., 17.11.2009 Vorlesung Mi., 18.11.2009 PraktikumDi., 24.11.2009 Vorlesung Mi., 25.11.2009 ./.Di., 01.12.2009 Vorlesung Mi., 02.12.2009 PraktikumDi., 08.12.2009 Vorlesung Mi., 09.12.2009 PraktikumDi., 15.12.2009 Vorlesung Mi., 16.12.2009 ./.Di., 22.12.2009 Weihnachtspause Mi., 23.12.2009 ./.Di., 29.12.2009 Weihnachtspause Mi., 30.12.2009 ./.Di., 05.01.2010 Vorlesung Mi., 06.01.2010 PraktikumDi., 12.01.2010 Vorlesung Mi., 13.01.2010 ./.Di., 19.01.2010 Vorlesung Mi., 20.01.2010 PraktikumDi., 26.01.2010 Vorlesung Mi., 27.01.2010 ./.Di., 02.02.2010 Vorlesung Mi., 03.02.2010 ./.Di., 09.02.2010 Klausur Mi., 10.02.2010 ./.
Kennenlernen und Organisatorisches
Definition
Motivation an Projektbeispielen
Überblick Softwaretechnik
Literatur
� Definition
Agenda
7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Was ist Software Engineering?
Software Engineering (nach [IEEE-1990]) = Softwaretechnik“the systematic approach to the development, operation, maintenance, and
retirement of software” (dt. „der systematische Ansatz zu Entwicklung, Betrieb, Wartung und Außerbetriebnahme von Software”) -> der komplette
“Lebenszyklus” von Software
Software (nach [IEEE-1990]) “programs, procedures, rules, and any associated documentation pertaining to the operation of a computer system” (dt. “Programme, Verfahren und Regeln
sowie jegliche zugehörige Dokumentation zum Betrieb eines Computersystems“)
Engineering (nach [PRESSMAN-1997]) “Engineering is the analysis, design, construction, verifikation, and management
of technical (or social) entities” (dt. “unter Engineering versteht man die Untersuchung, die Gestaltung, die Ausführung, die Überprüfung und die
Handhabung von technischen (oder gesellschaftlichen) Dingen.“)
8 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Warum ist Software Engineering wichtig?
� Weil viel Geld auf dem Spiel steht und Dinge wirklich schief gehen können
� Gegenüberstellung zweier fiktiver Projektbeispiele: Kreditkarten-Abwickler und Reise-Veranstalter:
– Geschäft
– Vorgehensmodell
– Qualitätssicherung: frühe Phasen
– Qualitätssicherung: Tests
– Management von Randbedingungen
Kennenlernen und Organisatorisches
Definition
Motivation an Projektbeispielen
Überblick Softwaretechnik
Literatur
� Motivation an Projektbeispielen
Agenda
10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Geschäft Kreditkarten-Abwickler
� Produkte: Eurocard, VISA-Card, Servicekarten für Geschäftsreisen
� Junges Unternehmen, innovative Produkte, führend in Marktsegment
� Stärke: schnelle Reaktion auf neue Marktchancen
� Schnell gewachsene Systemlandschaft
� Ziel: mehr Sicherheit in den Kernsystemen
� IT-Strategie: Host → Client/Server
11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Kreditkarten-Abwicklungssystem
FTM
Transaktionseingang
Zugriffsschicht
KK-Autor. (Authhost) Cargo DB
Stammdaten-Zugriffsschicht
DWH
DWH
externe Auswerte-Systeme
externe Quelle
B
Frontend-Systeme
Zugriffsschicht.
Auto
Autorisierung im weiteren Sinne
KI
VU
ec-Geb.
Rechnungsdruck
Auswertungs-gebühren
Cargo ZIZusatz-
daten(Amadeus)
Buch.-daten
gebuchte TX
Zusatz-infos / daten
Dialog
Dialog
KI / VU / Data in -Anlief.
(ohne VISA)
Debitoren- und Kreditoren- Buchhaltung
Zusatzinfos/ Zusatzdaten
Buchungs-Daten
Rück-meldung
Auf-trag
z.B. Abrech. Ebene
z.B. Einzugsinfos
TXE-Dialoge
Deb/Kred.-Dialoge
Stammdaten
Umsatz
Produktgebühren
VISA Schnittstelleon-us /
not-on-us(return,
charge back)
not-on-us, on us (charge back)
Karten-Umsatz
VTI
A
C
D
Bank24
VTI-Anl. (soweit nicht direkt)
Personal
RKA
Direkt-Marketing
Hauptbuch, Anlagebuchhaltung, Kosten-und Leistungsrechnung
Batch-Input
Reise-kosten
Pers-Kosten
DM-Daten
GL-Dialoge
sonst. Buch.
ec-Autor.
ec-Anl.
(LASG-VUs)
KK-Anl.
(LASG-VUs)
curr. bal.
(bzw. offene
Posten)
z.B. Konto-Hist
12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Reiseveranstalter
� Weltweit in der Spitzenklasse
� > 10.000 Reisebüros
� Herausforderung: Aufkauf und Integration weiterer Veranstalter
� Stärke: Sicherheit in den Kernsystemen
� Ziel: hohe Geschwindigkeit
� IT-Strategie: Host → Client/Server (Internet)
13 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Touristische Kernsysteme
Leistung einkaufen
Angebot bilden
Prospektdatenerfassen
Verkaufspreiseerstellen
Katalog herstellen,distributierenProduktion
Reise verkaufen
Leistungdisponieren
Verkauf
Rechnungfakturieren/verbuchen
Kundendokumente
erstellen/versenden
Reiseauftrag avisieren
Reise durchführen
Leistungenregulieren,verbuchen
Abwicklung
Saison auswerten
Paxe planen
Planung
14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
ProduktEinführungs
Prozeß
Vorgehensmodell: Kreditkarten-Abwickler
� Inhaltlich gut
� Gute Darstellung im Intranet
� Entwickelt durch Methodenabteilung
� Von Entwicklungsabteilungen nicht gelebt
� Gegenseitige Ressentiments:
– Entwickler: „Vorgehensmodell nicht praxisgerecht“
– Methodenabteilung: „Vorgehen der Entwickler nicht strukturiert“
15 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Vorgehensmodell: Reiseveranstalter
� Inhaltlich gut
� In Projekten von der Anwendungsentwicklung erstellt
� Von der Methodenabteilung gewartet
� Seit 10 Jahren gelebte Praxis
� Bei technologischer Neuausrichtung (Internet) erweitert
16 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Teilprojekt IT-Realisierung
Projektlaufzeit
IT-Konstruktion IT-Spezifikation IT-Test IT-EinführungIT-Programmier.IT-Design
(Markt-) Analyse Definition Produkt-
einführung
QS frühe Phasen: Kreditkarten-Abwickler
� Erstellung umfangreicher Konzepte: Fachkonzepte (Analyse), DV-Konzepte (Design)
� Gute Mitarbeit der Fachbereiche bei Erstellung
� Wenig Enthusiasmus beim Gegenlesen der Konzepte:
– „Soviel Papier kann ja keiner lesen“
– „Da kann sich immer noch was ändern“
– „Wenn ich hier unterschreibe, bin ich verraten und verkauft“
� Beispiel: ec-Authorisierungsgebüren
17 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
QS frühe Phasen: Reiseveranstalter
� QS etablierte Abteilung
� Straffes Kundenmanagement:
– „Abnahme ist Abnahme“
– Änderungen nur über Change Requests(Kosten / Zeit)
� Projekte schätzen harte QS (auch wenn sie im ersten Moment weh tut)
� Projektprobleme werden auf Gesamtprojekt verteilt
Einführung
Initiali-sierung
Fach-konzept
DV-Konzept
Realisierung
StudieIntegration
18 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
QS Tests: Kreditkarten-Abwickler
� Probleme bei Test und Abnahme:
– „Mit diesem System kann man fachlich nicht arbeiten“
– „Jetzt versucht Ihr Euch hinter den Konzepten zu verstecken“
– „Ihr wollt uns mit QS-Listen nur kontrollieren und uns den schwarzen Peter in die Schuhe schieben“
� Spezifikationsänderungen in der TestphaseBeispiel: Zusatzinformationen fremder KI / eigenes VU
Teilprojekt IT-Realisierung
Projektlaufzeit
IT-Konstruktion IT-Spezifikation IT-TestIT-Design
(Markt-) Analyse Definition Produkt-
einführung
IT-EinführungIT-Programmier.
19 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
QS Tests: Reiseveranstalter
� QS-Abteilung verantwortlich für:
– Planung und Durchführung von Tests
– Verwaltung von QS-Ebene (separat von Entwickler- und Produktionsebene)
– Entscheidung zur Produktionsübergabe
� Transportmechanismus zwischen Ebenen
� Bewusster Bottleneck zur Überprüfung der Einführbarkeit Einführung Initiali-
sierung
Studie
Fach-konzept
DV-Konzept
Realisierung
Integration
20 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Management von Randbedingungen: Aufbau RZ bei Kreditkarten-Abwickler
� IT-Strategie (Host → C/S) ohne Umsetzungsstrategie
� Hardware-Anschaffung:
– Vor Software-Entscheidung
– Grundlage: Kundenbeziehung zum Hardware-Hersteller
– Keine Passung zu Software-Lösung: Hardware-Architektur und Prozessorleistung
– Keine Werkzeugunterstützung
� Hohe Ausfallzeiten für Entwicklung und Test
21 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Management von Randbedingungen: Aufbau RZ bei Reiseveranstalter
� Politik der kleinen Schritte
� Ausgangsbasis: stabile Host-Umgebung
� Start mit unkritischem Projekt: „Minensuchhund“
� Produktionserfahrung sammeln mit neuem RZ
� Planung für mittelkritische Projekte
� Unternehmenskritische Systeme auf Host belassen
22 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Resümee
� Großprojekte sind komplex
� Komplexität muss beherrscht werden
� Klare Vorgehensweisen; straffes Management
� Nur gelebte Projektvorgehensweise zählt
� Umsetzung schwer; Erfahrung erforderlich
Kennenlernen und Organisatorisches
Definition
Motivation an Projektbeispielen
Überblick Softwaretechnik
Literatur
� Überblick Softwaretechnik
Agenda
24 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Software-Engineering-Ebenen
Das Ziel von SE ist die systematische Verwendung von Prozessen, Methoden und Werkzeugen für die arbeitsteilige Entwicklung von umfangreichen Software-Systemen unter Beachtung der gegebenen Randbedingungen
Bekenntnis zu Qualität
Prozesse
Methoden
WerkzeugeRand-
bedingungen
Ressourcen
Kosten
Zeit
25 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Themengebiete des Software Engineering
Vorgehens- und Prozessmodelle
Analyse-, Entwurfs- und Implementierungsmethoden(kompletter Lebenszyklus)
Werkzeugunterstützung (CASE, IDE, ...)
RequirementsEngineering
Software-Architektur
und -Entwurf
Software-Wartung
ProgrammierungIntegration
Projektm
anagement
Qualitätssicherung (inkl.
Testverfahren)
26 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Das magische Viereck des Software Engineering
QualitätFunktionalität
Software-Produkt
Zeit Kosten
27 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Übersicht über den gesamten Kurs
1. Einführung
2. Vorgehensmodelle
3. Analyse-Phase: Anwendungsfälle
4. Analyse-Phase: Datenmodell
5. Analyse-Phase: Dialoge
6. Design-Phase: Architektur-Grundlagen
7. Design-Phase: Referenzarchitektur betriebliche Informationssysteme
8. Design-Phase: Querschnittsthemen und Muster
9. Programmierungs-Phase
10.Testphase, Einführung, Qualitätsmanagement
11.Projektmanagement
28 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Überblick über das Praktikum
� Wir führen gemeinsam ein Softwareprojekt über alle Phasen exemplarisch durch
� Sie bestimmen die Anwendungsdomäne: Bibliotheksverwaltung, Autovermietung, Reisebuchung, …
� Sie sind das Projektteam, ich der Auftraggeber. Ich bin Interviewpartner für die Anforderungen und nehme Zwischenergebnisse ab
� Ihre Ergebnisse werden in einem UML-Werkzeug erstellt. Sie arbeiten alle gemeinsam an demselben Modell
� Sie sollten jeweils in Zweiergruppen arbeiten
� Das modellierte System wird prototypisch in Java implementiert
29 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Was sind Ihre Wünsche und Vorstellungen?
� Vorlesungsinhalte?
� Vorlesungsstil?
� Praktikum
Kennenlernen und Organisatorisches
Definition
Motivation an Projektbeispielen
Überblick Softwaretechnik
Literatur� Literatur
Agenda
31 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Literatur (1/2)
� Urs Andelfinger, Frank Bühler, Michael Guist, Stephan Karczewski, Gerhard Raffius, Inge Schestag, Wolfgang Weber, Gerhard Winkler: Skript „Softwaretechnik“ Version 2. http://www.fbi.h-da.de/fileadmin/personal/r.hahn/2005SS/Downloads/SWT1/skriptSWTV2.pdf
� Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“, 2. Auflage. Hanser-Verlag, 2005
� Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli: Fundamentals of Software Engineering (2nd Edition), Prentice Hall 2004
32 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 29.9.2009
Literatur (2/2)
� F. Brooks: The Mythical Man Month. Addison Wesley; 1995
� T. DeMarco: Peopleware; Doorset House. 1999 (Deutsch: „Wien wartet auf Dich“)
� J. Siedersleben (Hrsg): Softwaretechnik. Hanser; 2002