Softwareengineering, Praktikum, Praxis Dietmar Lammers Institut für Informatik Westfälische Wilhelms-Universität Münster
Übersicht 1. Wozu Softwareengineering? 2. Problemlösungen und Werkzeuge 3. Praktikum 4. Praxis Dietmar Lammers Softwareengineering, Praktikum, Praxis 1
:etueh negnuredr ofnasta leive Computer in vielen nemr: PCs, Noteb o oks, o F sdlehdnah,handys,. eleiv,nichtausgebildete Bereztun exelpmo,verteilt k zusam- rbeitende anem Aufgab en )be W( ednemhenuz tilauq )emetsysgnureuets(. Wozu Softwareengineering? Gestern: wenige Computer wenige nicht zusammenarbeitende Mainframes wenige, ausgebildete Benutzer (an Terminals) einfache, lineare Aufgaben... Dietmar Lammers Softwareengineering, Praktikum, Praxis 2
Wozu Softwareengineering? Heute: Gestern: wenige Computer wenige nicht zusammenarbeitende Mainframes wenige, ausgebildete Benutzer (an Terminals) einfache, lineare Aufgaben... viele Computer in vielen Formen: PCs, Notebooks, Handhelds, Handys,... viele, nichtausgebildete Benutzer komplexe, verteilt zusammenarbeitende Aufgaben (Web) zunehmende Qualitätsanforderungen (Steuerungssysteme)... Dietmar Lammers Softwareengineering, Praktikum, Praxis 2
r das eine Programiererin, die 60 Jahre Programiert hat? a W hcilthcisneoeprobleme: rbeit Zusamena und - das reilatnicht sk gut Ubersicht Wozu Softwareengineering? Beispiel Telekommunikationssystem Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mannjahre Programmieraufwand. Dietmar Lammers Softwareengineering, Praktikum, Praxis 3
hcilthcisneoeprobleme: rbeit Zusamena und - das reilatnicht sk gut Ubersicht Wozu Softwareengineering? Beispiel Telekommunikationssystem Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mannjahre Programmieraufwand. War das eine Programmiererin, die 6000 Jahre Programmiert hat? Dietmar Lammers Softwareengineering, Praktikum, Praxis 3
hcilthcisneoeprobleme: rbeit Zusamena und - das reilatnicht sk gut Ubersicht Wozu Softwareengineering? Beispiel Telekommunikationssystem Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mannjahre Programmieraufwand. Das waren vermutlich eher 6000 Personen, die 1 Jahr gearbeitet haben. Dietmar Lammers Softwareengineering, Praktikum, Praxis 3
Wozu Softwareengineering? Beispiel Telekommunikationssystem Ein Telekommunikationssystem erforderte 1994 ca. 6000 Mannjahre Programmieraufwand. Das waren vermutlich eher 6000 Personen, die 1 Jahr gearbeitet haben. Offensichtliche Probleme: Zusammenarbeit und Übersicht - das skaliert nicht gut Dietmar Lammers Softwareengineering, Praktikum, Praxis 3
Übersicht 1. Wozu Softwareengineering? 2. Problemlösungen und Werkzeuge 3. Praktikum 4. Praxis Dietmar Lammers Softwareengineering, Praktikum, Praxis 4
reund -bibliothek a w tfosdr adnats rbeitung arevlhaz vs. Mo delierung der tle W ne am(nmacht ja nicht ales neu, und b mot ek so auch vertrautes look and fel.) arudezorl p vs. treitneir objekto fg.? agentenbasiert? Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik geeignete Programmiersprachen / Paradigmen: Dietmar Lammers Softwareengineering, Praktikum, Praxis 5
reund -bibliothek a w tfosdr adnats ne am(nmacht ja nicht ales neu, und b mot ek so auch vertrautes look and fel.) Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik geeignete Programmiersprachen / Paradigmen: Zahlverarbeitung vs. Modellierung der Welt prozedural vs. objektorientiert ggf.?? agentenbasiert?? Dietmar Lammers Softwareengineering, Praktikum, Praxis 5
Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik geeignete Programmiersprachen / Paradigmen: Zahlverarbeitung vs. Modellierung der Welt prozedural vs. objektorientiert ggf.?? agentenbasiert?? Standardsoftware und -bibliotheken (man macht ja nicht alles neu, und bekommt so auch vertrautes look and feel...) Dietmar Lammers Softwareengineering, Praktikum, Praxis 5
o ols T-ESAC fehnetsalt emrl ofni! Mo del sylanae Design Modelierung auf abstrakter Eb ene! lamr fo LMU! Program Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung in Phasen: Planung, Definition, Entwurf, Implementierung, Abnahme, Pflege Dietmar Lammers Softwareengineering, Praktikum, Praxis 6
fehnetsalt emrl ofni! Mo del sylanae Design Modelierung auf abstrakter Eb ene! lamr fo LMU! Program Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung in Phasen: Planung, Definition, Entwurf, Implementierung, Abnahme, Pflege CASE-Tools Dietmar Lammers Softwareengineering, Praktikum, Praxis 6
Problemlösungen und Werkzeuge Antworten der Informatik / Softwaretechnik Softwareentwicklung in Phasen: Planung, Definition, Entwurf, Implementierung, Abnahme, Pflege CASE-Tools informell formal Lastenheft Modell Programm Analyse Design Modellierung auf abstrakter Ebene UML Dietmar Lammers Softwareengineering, Praktikum, Praxis 6
Problemlösungen und Werkzeuge UML - Eine normierte Sammlung von Diagrammen Anwendungsfalldiagramm (use case, Geschäftsprozesse) sehr abstrakte Darstellung der beteiligten Personen und Komponenten und der Hauptvorgänge Klassendiagramm Modellierung der Komponenten und ihrer Beziehungen unterneinander - Attribute, Methoden, Vererbung, Assoziationen... In aktuellen CASE-Tools wird daraus (Rumpf-)Code generiert! Verhaltensdiagramme Verschiedene Diagramme, um Abläufe in zeitlicher / funktionaler / logischer Reihenfolge darzustellen. U.a. Aktivitäts-, Sequenz-, Kollaborationsdiagramme. Implementierungsdiagramme Komponenten- und Einsatzdiagramme. Dietmar Lammers Softwareengineering, Praktikum, Praxis 7
Werkzeuge - BSP use case Diagramm Dietmar Lammers Softwareengineering, Praktikum, Praxis 8
Werkzeuge - BSP Sequenzdiagramm Dietmar Lammers Softwareengineering, Praktikum, Praxis 9
Werkzeuge - BSP Klassendiagramm Dietmar Lammers Softwareengineering, Praktikum, Praxis 10
Werkzeuge - BSP Klassendiagramm (2) Dietmar Lammers Softwareengineering, Praktikum, Praxis 11
Übersicht 1. Wozu Softwareengineering? 2. Problemlösungen und Werkzeuge 3. Praktikum 4. Praxis Dietmar Lammers Softwareengineering, Praktikum, Praxis 12
tasniez von o ols CASE-T aml eresosprogramsystem ein gr erstelt zu hab en ehcilztus laedi:n o ol T als Ergebnis Praktikum Lernziele im Programmierpraktikum Erfassung und Erfahrung der Probleme beim kooperativem Arbeiten und Programmieren Dietmar Lammers Softwareengineering, Praktikum, Praxis 13
aml eresosprogramsystem ein gr erstelt zu hab en ehcilztus laedi:n o ol T als Ergebnis Praktikum Lernziele im Programmierpraktikum Erfassung und Erfahrung der Probleme beim kooperativem Arbeiten und Programmieren Einsatz von CASE-Tools Dietmar Lammers Softwareengineering, Praktikum, Praxis 13
ehcilztus laedi:n o ol T als Ergebnis Praktikum Lernziele im Programmierpraktikum Erfassung und Erfahrung der Probleme beim kooperativem Arbeiten und Programmieren Einsatz von CASE-Tools Mal ein grösseres Programmsystem erstellt zu haben Dietmar Lammers Softwareengineering, Praktikum, Praxis 13
Praktikum Lernziele im Programmierpraktikum Erfassung und Erfahrung der Probleme beim kooperativem Arbeiten und Programmieren Einsatz von CASE-Tools Mal ein grösseres Programmsystem erstellt zu haben Ideal: nützliches Tool als Ergebnis Dietmar Lammers Softwareengineering, Praktikum, Praxis 13
enoitamrn ofni veralten schnel! ads ist nur ein kleiner iel T der!kitamr Info. da gehts um Geld, also ist viel mehr Druck dab ei. da gibt es viel mehr Altlasten Praxis Programmieren in der Praxis: So ähnlich geht das schon ab, aber...... CASE-Tools werden oft nicht eingesetzt, oder es werden firmenspezifische Tools und Verfahrensweisen eingesetzt Dietmar Lammers Softwareengineering, Praktikum, Praxis 14
enoitamrn ofni veralten schnel! ads ist nur ein kleiner iel T der!kitamr Info. da gibt es viel mehr Altlasten Praxis Programmieren in der Praxis: So ähnlich geht das schon ab, aber...... CASE-Tools werden oft nicht eingesetzt, oder es werden firmenspezifische Tools und Verfahrensweisen eingesetzt... da gehts um Geld, also ist viel mehr Druck dabei Dietmar Lammers Softwareengineering, Praktikum, Praxis 14
enoitamrn ofni veralten schnel! ads ist nur ein kleiner iel T der!kitamr Info Praxis Programmieren in der Praxis: So ähnlich geht das schon ab, aber...... CASE-Tools werden oft nicht eingesetzt, oder es werden firmenspezifische Tools und Verfahrensweisen eingesetzt... da gehts um Geld, also ist viel mehr Druck dabei... da gibt es viel mehr Altlasten Dietmar Lammers Softwareengineering, Praktikum, Praxis 14
ads ist nur ein kleiner iel T der!kitamr Info Praxis Programmieren in der Praxis: So ähnlich geht das schon ab, aber...... CASE-Tools werden oft nicht eingesetzt, oder es werden firmenspezifische Tools und Verfahrensweisen eingesetzt... da gehts um Geld, also ist viel mehr Druck dabei... da gibt es viel mehr Altlasten Informationen veralten schnell! Dietmar Lammers Softwareengineering, Praktikum, Praxis 14
Praxis Programmieren in der Praxis: So ähnlich geht das schon ab, aber...... CASE-Tools werden oft nicht eingesetzt, oder es werden firmenspezifische Tools und Verfahrensweisen eingesetzt... da gehts um Geld, also ist viel mehr Druck dabei... da gibt es viel mehr Altlasten Informationen veralten schnell! Das ist nur ein kleiner Teil der Informatik!! Dietmar Lammers Softwareengineering, Praktikum, Praxis 14
Schluss, Aus, Ende... Schönen Abend noch!! Dietmar Lammers Softwareengineering, Praktikum, Praxis 15