Grundbegriffe - Informatik
Grundbegriffe - Informatik
Grundbegriffe - Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1. <strong>Grundbegriffe</strong> der<br />
Softwaretechnik<br />
1.1 Herausforderungen
Worin bestehen die Herausforderungen<br />
großer (Software-)Projekte?<br />
„Ein Gartenbauer benötigt 3 Stunden, um eine<br />
0,8 m lange Zierbrücke über einen Gartenteich zu<br />
erstellen.<br />
Wie lange brauchen 100 Gartenbauer<br />
für eine 800 m lange Brücke?“<br />
!<br />
Große Projekte erfordern anderes Vorgehen zur<br />
Planung und Durchführung als kleine. Warum? …<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
2
• Erhöhte Komplexität : 800m Länge<br />
Deutlicher Aufwandsanstieg<br />
in Planung und Umsetzung<br />
• Unterschiedliche Bauprinzipien und -materialien: Holz-Steg vs.<br />
Stahlbetonbrücke<br />
• Erhöhter Koordinationsaufwand: 100 Arbeiter zzgl. Baumaschinen<br />
• Abstimmungsbedarf zwischen Beteiligten verschiedener<br />
Berufsgruppen: Stahlbau, Wasserbau, Projektplaner, …<br />
• Berücksichtigung verschiedener Anspruchsgruppen: Politik,<br />
Naturschutz, Verkehrsplanung, Anwohner, …<br />
!<br />
Große Projekte erfordern ein dediziertes<br />
(Projekt-) Management<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
3
Fallstudie<br />
„Flottenmanagement“<br />
• Ein Post- und Paketdienstleister möchte seine Lieferflotte<br />
optimieren. Bisher hatte jeder Zusteller ein festes<br />
Zustellgebiet.<br />
• Zukünftig soll eine Software die Zustellrouten flexibel nach<br />
Auftragslage und Personalverfügbarkeit disponieren.<br />
• Die Software soll von einem externen Softwarehaus<br />
umgesetzt werden.<br />
?<br />
Welche Herausforderungen stellen sich?<br />
a) … aus Sicht des Paketdienstleisters?<br />
b) … aus Sicht des externen Softwarehauses?<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
4
Paketdienstleister<br />
• Legt die Anforderungen an<br />
die Software fest.<br />
• Die neue Software soll<br />
Personal einsparen.<br />
• Mitarbeiter müssen bereit<br />
sein, Abläufe anzupassen.<br />
Manager, Anwender/Zusteller,<br />
IT-Mitarbeiter, Kunden<br />
Projekt betrifft<br />
IT und Organisation<br />
Softwarehaus<br />
• Soll die Anforderungen<br />
erfüllen<br />
• Muss dazu das<br />
Unternehmen erst kennen<br />
lernen: Abläufe und IT-<br />
Landschaft<br />
Berater, Programmierer<br />
!<br />
Entwicklung und Einführung von Software erfolgt in<br />
interdisziplinär besetzten Teams (auch Externe).<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
5
• Herausforderungen großer Softwareprojekte:<br />
– Softwareprojekte betreffen IT + Organisation<br />
– Koordination/ Kommunikation zwischen Beteiligten: Auftraggeber,<br />
Anwender, Entwickler<br />
• Zentrale Erfolgsfaktoren:<br />
– sorgfältige Analyse des Problemgegenstands<br />
– methodengestützte Softwareplanung<br />
– dediziertes Projektmanagement<br />
Fazit<br />
!<br />
Das Programmieren der Software wird in der Praxis<br />
häufig nicht als Herausforderung begriffen.<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
6
Ach ja …<br />
… bezüglich externer Anbieter<br />
gibt es gewisse Gerüchte …
Was der Kunde<br />
erklärte<br />
Was der<br />
Projektleiter<br />
verstand<br />
Wie es der<br />
Analytiker<br />
entwarf<br />
Was der<br />
Programmierer<br />
programmierte<br />
Was der Berater<br />
definierte<br />
Wie das Projekt<br />
dokumentiert<br />
wurde<br />
Was installiert<br />
wurde<br />
Was dem Kunden in<br />
Rechnung gestellt<br />
wurde<br />
Wie es gewartet<br />
wurde<br />
Was der Kunde<br />
wirklich<br />
gebraucht hätte<br />
Quelle: http://www.projectcartoon.com/cartoon/1178
1.<strong>Grundbegriffe</strong> der<br />
Softwaretechnik<br />
1.2 Lebenszyklus und Phasenmodell
Softwareentwicklung (SE) umfasst alle Prozesse der<br />
– Planung,<br />
– Realisierung (Implementierung),<br />
– Wartung und<br />
– Pflege,<br />
Definition:<br />
Softwareentwicklung<br />
die zur (Weiter-) Entwicklung von Software notwendig sind.<br />
!<br />
Softwarekosten sind über den gesamten<br />
Lebenszyklus zu betrachten (Total Cost of<br />
Ownership TCO)<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
10
Fallstudie<br />
„Open Source Software“<br />
Der Quellcode sog. Open Source Software (OSS) steht<br />
für jedermann kostenlos zu Verfügung.<br />
Bei der (Kauf-) Entscheidung für eine Software gilt es,<br />
sowohl Kosten als auch Nutzen und Risiken<br />
abzuschätzen.<br />
?<br />
Welche Kosten, Nutzen und Risiken können beim<br />
Einsatz von OSS auftreten?<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
11
• Kosten: keine Lizenzkosten aber…<br />
– Personalaufwand für die Anpassung der OSS<br />
– Aufwand für Schulung der Mitarbeiter<br />
– Aufwand für Wartung und Pflege schwer abzuschätzen<br />
• Risiken:<br />
– Zukunft von OSS-Projekten unsicher<br />
– Sicherheitslücken in der OSS<br />
• Nutzen:<br />
Fallstudie<br />
„Open Source Software“<br />
– Anpassbarkeit der quelloffenen Software an die spezifischen<br />
Anforderungen des Unternehmens<br />
– Nutzen von Software generell nur schwer abzuschätzen<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
12
Phasenmodell<br />
der Softwareentwicklung<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
„Wasserfallmodell der<br />
Softwareentwicklung“<br />
Test<br />
Einführung<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
13
Analyse<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Einführung<br />
Wartung<br />
• Analyse des Fachgegenstandes,<br />
der sog. Domäne<br />
• Nutzung der Fachsprache und<br />
Konzepte der Domäne, z. B.<br />
– betriebswirtschaftliche Modelle<br />
– Juristische Konzepte<br />
• Ergebnisse:<br />
– Anforderungsspezifikation<br />
– Ist-Modell<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
14
Entwurf / Design<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Einführung<br />
Planung der Software:<br />
• Fachmodell: Modellierung der Abläufe<br />
(Prozessmodelle, Use Case Diagramme)<br />
und der Daten/Objekte<br />
(z. B. Architekturmodelle,<br />
Klassendiagramme)<br />
• Softwaremodell: Anreicherung des<br />
Fachmodells mit Abstraktionen, die für<br />
die Software wichtig sind.<br />
• Technologieentscheidungen<br />
(z. B. Datenbanktechnologie,<br />
Programmiersprachen)<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
15
Implementierung<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
• Erstellung der Software<br />
• Typischerweise:<br />
Implementierung im Team<br />
Test<br />
Einführung<br />
?<br />
Welche Voraussetzungen muss die Planung schaffen,<br />
Wartung<br />
um im Team implementieren zu können?<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
16
Test und Qualitätssicherung<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Prüfung der Software auf …<br />
• Fehler<br />
• Performanz unter realen Bedingungen<br />
• Einhaltung der gestellten<br />
Anforderungen<br />
• Akzeptanz durch die Benutzer<br />
• etc.<br />
Einführung<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
17
Einführung<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Einführung<br />
Integration in den laufenden<br />
Betrieb:<br />
• Installation<br />
• Anwender-Schulung<br />
• Anpassung der betrieblichen<br />
Abläufe an das neue System.<br />
• Überführung („Migration“)<br />
der Daten eines<br />
Vorgängersystems in das<br />
neue Informationssystem<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
18
Wartung und Pflege<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Einführung<br />
• Verbesserung im Betrieb erkannter<br />
Schwächen der Software.<br />
• Behebung von Störungen , die im<br />
laufenden Betrieb entstehen.<br />
• Anpassung der Software an<br />
geänderte Anforderungen (z.B.<br />
Organisationsstrukturen)<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer - Dr. Carola Schauer<br />
19
Montag<br />
Fokus der Veranstaltung<br />
Dienstag<br />
„Zielspurt“<br />
(Prozessmodell<br />
BPMN)<br />
Fallstudie „Häck-<br />
Eck“<br />
(Prozessmodelle,<br />
Klassenmodelle)<br />
HTML-<br />
Suchmaschine<br />
(Prozessmodelle,<br />
Klassenmodelle)<br />
Analyse<br />
Entwurf / Design<br />
Implementierung<br />
Test<br />
Einführung<br />
HTML-<br />
Suchmaschine im<br />
Team fertig<br />
implementieren<br />
Debugging als<br />
Aufgabentyp<br />
Wartung<br />
17.11.2013 Dr. Hanno Schauer – Dr. Carola Schauer<br />
20