Software Engineering I Vorlesung im Wintersemester 2011/12 Prof. Albert Zündorf Betreuer: Andreas Koch, Andreas Scharf, et. al. Fachgebiet für Software Engineering Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Was braucht man für die Softwareentwicklung im Team? Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Inhalte und Lernziele: Größere Software Legacy Code Bibliotheken Architekturen Umbauten Software Entwicklung im Team Konzeptdiskussionen Koordination und Absprachen Aufgabenverteilung Versionsverwaltung JUnit Tests Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Inhalte und Lernziele: Software Projekt Management Qualitätsmanagement Projektaktivitäten / -phasen Aufwandsschätzung Zeit- und Kostenplanung Organisation / Vorgehensmodelle Projektdokumente Projektmanagementwerkzeuge Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Inhalte und Lernziele: Software Entwurf: Konzeption neuer (komplexer) Funktionalität Konzeption von (Architektur) Umbauten Architekturkonzepte Requirements Engineering Konzepterarbeitung mit Laien / Kunden Verständliche Szenarios Klärung der Funktionalität Nichtfunktionale Anforderungen Anforderungsdokumentation Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Projektziel im WS 11/12 Cold Iron Client Server Spiel http://seblog.cs.uni-kassel.de/category/currentterm/se1ws1112/ Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Organisatorisches Umfang: 4 SWS teils Vorlesungen teils Übungen Übungsbetreuung: SE Tutoren Ort und Zeit: Montag 10:30 – 12:00 Raum 1114 Mittwoch 12:00 - 13:30 Raum -1606 und nach Vereinbarung Beginn: Montag, den 24.10.2011 Prüfung: • Projektarbeit • Gruppen a 8 Personen • wird nur einmal im Jahr angeboten (und nächstes Semester) Folienskript, Unterlagen, Aufgabenstellungen: http://seblog.cs.uni-kassel.de/category/currentterm/se1ws1112/ Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Gruppen- / Projekteinteilung Vorlesungen bis Weihnachten Teamarbeit nach SCRUM 8 Sprints a 2 Wochen 4 Releases Wöchentliche Präsenz-Gruppentreffen/-arbeit mit Tutor Release Presentationen vor „Kunden“ 1000 LOC Abschlusstunier Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Noten: 30% Anwesenheit: 15% Teamzeit 15% Individualzeit 25% Kunagi: Stories Tasks, Burn Down 25% SVN SVN Statistiken 1000 LOC 20% Release Präsentationen Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Zeitaufwand 4 SWS = 6 ECTS 1 ECTS = 30 Stunden 20 SWS = 30 ECTS = 900 Stunden pro Semester 40 Stunden pro Woche = 22,5 Wochen pro Semester 4 SWS = 8 Stunden pro Woche * 22,5 Wochen = 180 Stunden Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Zeitaufwand 180 Stunden SE1 9 Vorlesungen a 90 Minuten = 13,5 Stunden Teambildung diese Woche = 2 Stunden 4 Kundenpräsentationen a 1 Stunde = 4 Stunden 160 Stunden Teamarbeit, z.B.: 16 Wochen a 10 Stunden Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Literatur Grundlegend: • Helmut Balzert: Lehrbuch der Software-Technik (Bd. 1 und 2), Spektrum Akademischer Verlag 1996 (viele Details, sehr umfassend, eher ein Nachschlagewerk) Unified Modeling Language: • Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language – User Guide, Addison Wesley 1999 (die haben das erfunden) • Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Software Development Process, Addison Wesley 1999 (relativ wichtiges Standardwerk) • Jochen Seemann, Jürgen Wolff von Gudenberg: Software Entwurf mit UML; Springer 2000 (ziemlich gut) Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Literatur • Martin Hitz, Gerti Kappel: UML @ Work, dpunkt.verlag 1999 (ziemlich gut, umfangreich) • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns, Addison Wesley 1995 (wichtiger Trendsetter) • Albert Zündorf: Rigorous Software Development with UML, http://www.se.eecs.uni-kassel.de Hintergrund: • Frederick P.\ Brooks: The Mythical Man Month, Addison Wesley 1975 (ist nur kurz aber ziemlich witzig, unbedingt mal lesen) • Watts Humphrey: The Personal Software Process Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Software Engineering I: Teamkoordination Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Pessimistische Sperren: RCS Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
optimistische Sperren: CVS, Subversion, … Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University
Java im Team (Demo) Requirements Page: http://wasp-enterprises.de/ Install subclipse plugin für Eclipse http://subclipse.tigris.org/ Scrum Master: Create eclipse project Share project Team Member Checkout project Coding Update Checkin Fachgebiet Software Engineering Übersicht © 27.03.2017 Albert Zündorf, Kassel University