Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software(technik)praktikum SS 2014

Ähnliche Präsentationen


Präsentation zum Thema: "Software(technik)praktikum SS 2014"—  Präsentation transkript:

1 Software(technik)praktikum SS 2014
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Software(technik)praktikum SS 2014 Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum: Vorlesung 1

2 Betreuung des Softwaretechnik- und Software-Praktikums 2013
Leitung Prof. Wilhelm Schäfer Organisation Christopher Gerking, Anas Anis Tutoren Sergio Martins Pereira, Ralph Menne, Alexei Quapp, Roman Koppe, Sebastian Thiele Programmierberatung Ingo Budde Die Aufgabenstellung und Organisatorisches werden zum Ende der heutigen Vorlesung bekanntgegeben. 2 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1

3 Softwaretechnikpraktikum: Vorlesung 1
7. April 2008 Einführung Eigenschaften von Software Herausforderungen der Softwareentwicklung Ziele des Praktikums Software(technik)praktikum: Vorlesung 1

4 Softwaretechnikpraktikum: Vorlesung 1
Programm vs. Software Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Software >> Programm Softwareentwicklung >>> Programmierung Ist sehr viel mehr als Ist sehr sehr viel mehr als Software(technik)praktikum: Vorlesung 1

5 Analogie bzgl. Programm vs. Software
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Software Softwareentwickler Softwareentwicklung Wenn jemand nur Hütten bauen kann, würden wir ihn keinen Wolkenkratzer bauen lassen. Wenn jemand dagegen programmieren kann, lassen wir ihn oft bedenkenlos Software entwickeln. Programm Programmierer Programmieren Software(technik)praktikum: Vorlesung 1

6 Softwareentwicklung ist …
Softwaretechnikpraktikum: Vorlesung 1 Softwareentwicklung ist … 7. April 2008 … deutlich mehr als Programmierung … analytische und konzeptuelle Arbeit … ein sozialer Prozess … eine Disziplin mit bewährten Konzepten, Methoden, Notationen und Werkzeugen … und immer wieder neuen Technologien Software(technik)praktikum: Vorlesung 1

7 Softwaretechnikpraktikum: Vorlesung 1
Software ist komplex! Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Software kann heute nicht mehr von einer einzelnen Person „programmiert“ werden Software kann nicht mehr nur von einer einzelnen Person in ihrer Gesamtheit verstanden werden! In vielen Projekten und Produkten ist die Entwicklung der Software ein maßgeblicher Kostenfaktor Entwicklungsaufwände von 10 oder 100 Personenjahren (PJ) sind keine Seltenheit. Software(technik)praktikum: Vorlesung 1

8 Software ist komplex! Softwaresysteme müssen mehr und mehr Aufgaben erfüllen aufgrund von Kundenwünschen bzw. Marktanforderungen Software ist heute oft maßgeblicher Innovationstreiber Software-Systeme sind miteinander vernetzt Plattform-Interoperabilität (z.B. Smartphone & PC) notwendig Softwaresysteme bestehen typischerweise aus einer Vielzahl von Komponenten Komponenten sind oft verteilt Kommunizieren über komplexe Protokolle 8 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1

9 Software ist komplex! Softwareprojekte sind heute meist interdisziplinär Eingebettete Systeme / Mechatronik Betriebliche Informationssysteme (Bank, Produktion, Logistik) Software muss oft sicherheitskritische Aufgaben erfüllen in Transportsystemen in medizinischen Geräten im Finanzbereich Ausführliche Analysen werden wichtiger & zugleich aufwändiger Manuelles Testen Automatisches Testen (JUnit) Automatisches Beweisen (Model Checking) 9 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1

10 Charakteristika der Softwareentwicklung
Software unterliegt häufigen Änderungen Re-Engineering notwendig Software unterliegt hohen Qualitätsmaßstäben (Korrektheit, Robustheit, Wartbarkeit, Interoperabilität, ...) Softwareproduktion ist ein industrieller Prozess Kosten/Nutzen-Abschätzung sehr wichtig Eingesetzte Techniken Objektorientierter Entwurf Qualitätssicherung durch Standardisierten Prozess und zugehörige Dokumente Versions-/Konfigurationsverwaltung (z.B. Subversion) Änderungskontrolle (z.B. Trac) (Code-) Reviews Kosten-/Nutzen Analyse durch systematische Aufwandserfassung Reihenfolge schlecht, unten anfangen Software(technik)praktikum: Vorlesung 1

11 Software ist nie fertig
Software lebt lange (Jahr-2000-Problem, Banksoftware > 40 Jahre) und muss permanent gewartet werden bei stets hoher Qualität Wissen über die ausgelieferte Software (& deren Technologien) sinkt Problem Softwareprodukt: guter Programmcode + explizites Wissen Entwicklungsprozesse sorgen für die systematische Persistenz Idee Wartbarkeit bereits bei der Entwicklung beachten Ausführliche Dokumentation (nachverfolgbare Anforderungen, Systemkontext, Entwurfsentscheidungen, Architektur) Sauberer Code und Code-Kommentare Testfälle Konsequenz Software(technik)praktikum: Vorlesung 1

12 Software erfordert Erfahrung
Softwaretechnikpraktikum: Vorlesung 1 Software erfordert Erfahrung 7. April 2008 Softwareentwicklung erfordert viel Erfahrung! Diese Erfahrung ... muss man selbst machen! ... wird im Software(technik)praktikum vermittelt! Unser Praktikum ist eine Kombination aus: Projektorientiertem Lernen Unterstützt durch Vorlesung(en) Software(technik)praktikum: Vorlesung 1

13 Analogie bzgl. Erfahrung sammeln
Softwaretechnikpraktikum: Vorlesung 1 Analogie bzgl. Erfahrung sammeln 7. April 2008 Die Erfahrung eines großen, komplexen und verteilten Projektes kann nicht durch viele kleine Projekte erreicht werden. SWTPra: Aufwand pro Teilnehmer 10 ECTS = 300h Arbeit 18h/Woche, ca. 3,5 Monate SoPra: Aufwand pro Teilnehmer 5 ECTS = 150h Arbeit 9h/Woche, ca. 3,5 Monate GP1-, GP2-Aufgaben SoPra SWTPra Software(technik)praktikum: Vorlesung 1

14 Erfahrung anderer nutzen
Softwaretechnikpraktikum: Vorlesung 1 Erfahrung anderer nutzen 7. April 2008 Prozess- bzw. Vorgehensmodelle sind die „zusammengeronnenen“ Erfahrungen erfolgreicher Softwareprojekte Beispiel: V-Modell Beschreiben zweckmäßiges Vorgehen & passende Dokumente Ermöglichen Wiederholbarkeit und Kontrollierbarkeit Wann ist was wie zu tun? Bekannt aus der Vorlesung Softwareentwurf 14 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1 14

15 Prozessmodelle und Vorgaben
Oft werden Prozesse und Modelle sehr schematisch und „geistlos“ eingesetzt Dokumente, Diagramme und Kommentare werden oft nur erstellt, weil es so verlangt wird Problem Viel Arbeit ohne nachträglichen Effekt Schlechte Dokumente helfen nicht weiter Verlust des Überblicks aufgrund zu vieler Dokumente Frust! Konsequenz Vorher nachdenken, welche Prozesse und Modelle für das Projekt passend sind Lernen, welche Informationen für die Dokumentation wichtig sind Lösung übersprungen Software(technik)praktikum: Vorlesung 1

16 Fähigkeiten von Softwareentwicklern
Heutige Entwickler müssen sehr gut ausgebildet sein und viele Fähigkeiten besitzen Wir unterscheiden in Hard-Skills Fachkompetenzen Benötigt um selbstständig und eigenverantwortlich zu arbeiten Soft-Skills Soziale Kompetenzen Wichtig zur Interaktion mit dem Team und dem Kunden Software(technik)praktikum: Vorlesung 1

17 Notwendige Hard-Skills
Programmieren Abstrahieren & Modellieren Konzepte erarbeiten & anwenden, Alternativen bewerten Lösungen dokumentieren und Notationen einsetzen Technologien kennen und schnell in neue Technologie einarbeiten Kosten und Aufwände abschätzen Hard-Skills haben Sie zum Teil bereits in GP1, GP2, GP, DuA und SE erlernt. Im Praktikum werden Sie diese vertiefen. Software(technik)praktikum: Vorlesung 1

18 Notwendige Soft-Skills zur Interaktion mit Kollegen & Kunden
Zuhören und Probleme verstehen Probleme/Lösungen kommunizieren (auch in Form von Dokumenten) Argumentieren und Kompromisse finden Eigeninitiative ergreifen & Verantwortung übernehmen Eigene Stärken kennen, einsetzen und reflektieren Stärken von anderen erkennen und nutzen Soft-Skills wollen wir im Praktikum trainieren. Software(technik)praktikum: Vorlesung 1

19 Softwareentwicklung ist Teamarbeit
Software kann nicht Personen entwickelt werden, die Experte für alles Einzelnen Personen können die Gesamtheit der Software nicht mehr verstehen Problem Aufgabenaufteilung auf mehrere Personen (Rollen) Jede Person muss nur Experte für ihre Aufgabe sein Idee Komplexität wird handhabbar & Produkt ist schneller entwickelt Vorteil Missverständnisse, Soft-Skills, Unvollständiges Wissen, ... Herausforderung Software-Management (Zeit und Qualität) und Entwicklungsprozesse einführen Konsequenz übersprungen Software(technik)praktikum: Vorlesung 1

20 Einige beteiligte Rollen
Kunde stellt (sich wechselnde ) Anforderungen und nimmt das fertige Produkt ab Domänen-analyst nimmt Kunden-anforderungen auf und verfolgt deren Ein-haltung Software-architekt konzipiert das Gesamt-system Software-entwickler programmiert einzelne Komponenten der Software Tester erstellt Testfälle und führt diese aus Plattform-experte konfiguriert die Software für die jeweilige Plattform Projektmanager verfolgt und leitet Projektverlauf Software(technik)praktikum: Vorlesung 1

21 Kommunikation zwischen den Rollen ist wichtig
Software(technik)praktikum: Vorlesung 1

22 Mögliche Rollenverteilung im V-Modell
Domänenanalyst Domänenanalyst Softwarearchitekt Plattformexperte Softwareentwickler Tester Im Praktikum sollen Sie möglichst viele Rollen trainieren. Software(technik)praktikum: Vorlesung 1

23 Fazit: Ziele des SWTPra / SoPra
Hard- und Soft-Skills in der Softwareentwicklung lernen und verbessern Entwicklung eines Softwaresystems im Team Anwendung des Gelernten aus GP1, GP2, GP, SE und DuA Ausführung eines Softwareentwicklungsprozesses von der Anforderungsdefinition bis zur Realisierung Projektmanagement Sammeln von Programmiererfahrung Erstellen von sinnvollen Modellen und Dokumenten Einsatz von Technologien und Werkzeugen Qualitätssicherung Software(technik)praktikum: Vorlesung 1

24 Organisatorisches & Aufgabenstellung
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Organisatorisches & Aufgabenstellung Software(technik)praktikum: Vorlesung 1 24

25 Aufgabenstellung Umsetzung einer verteilten Scrabble-Variante
Ähnlich zum Original Ziel des Spiels Maximalpunktzahl mit gültigen Wörter an Bord. Unsere Variante Konfigurierbare Spielsprache (Englisch, Deutsch, …) Konfigurierbare Board. Plattformen: Smartphone & PC Spieler sind Menschen oder künstliche Intelligenz (KI) Software(technik)praktikum: Vorlesung 1

26 Aufgabenstellung Realisierung unterschiedlicher Komponenten
Zur Erstellung der Spielkonfigurationen Leitet das Spiel Verwaltet Clients Überwacht Regel-einhaltung Spielverlauf lässt sich via PC & Smartphone beobachten Mensch spielt via PC oder Smartphone Künstliche Intelligenz spielt vollautomatisch Software(technik)praktikum: Vorlesung 1

27 Aufgabenstellung Komponentenentwicklung findet verteilt statt
Schnittstellen werden gemeinsam definiert Komitee bestimmt die Interfaces Software(technik)praktikum: Vorlesung 1

28 Vorgaben bzgl. Technologien und Entwicklungswerkzeuge
Software(technik)praktikum: Vorlesung 1

29 Entwicklungsprozess & Rollen
Das System wird nach dem V-Modell entwickelt Das Orga-Team ist der Kunde Sie übernehmen alle weiteren Rollen Software(technik)praktikum: Vorlesung 1

30 Artefakte und Ereignisse während des Praktikums
Erhalten Sie diese Woche. Turnier Abschlusspräsentation Lastenheft Abschlussdokumentation Angebot Implementierungsabgabe Pflichtenheft Analyse- & Entwurfsdokument inkl. Interfacedefinition Messe Software(technik)praktikum: Vorlesung 1

31 Interface-Komitee Ziel Teilnehmer Versionen
Definition der Interfaces zwischen Spielkonfigurator & Spiel-Engine Server & Clients Teilnehmer je Team ein Mitglied Mehrheitsentscheidung Vorsitzender (leitet Komitee, von Beauftragten gewählt) Berater des Komitees: Programmierberater Versionen 1.0: erste vorläufig finale Fassung für Analyse- & Entwurfsdok. 2.0: für Änderungen während der Implementierungsphase Endabgabe und Turnier halten sich an Version 2.0 Software(technik)praktikum: Vorlesung 1

32 Ereignis: Messe SWTPra- und SoPra-Gruppen tauschen kostenlos Komponenten SWTPra-Gruppen geben ihren Spielkonfiguration und den Smartphone-Spieler ab SoPra-Gruppen geben ihren Smartphone-Beobachter ab Vor der Messe Software(technik)praktikum: Vorlesung 1

33 Ereignis: Messe SWTPra- und SoPra-Gruppen tauschen kostenlos Komponenten SWTPras geben Spielkonfiguration und Smartphone-Spieler ab SoPras geben ihren Smartphone-Beobachter ab Termin: 23. Juni, 14:00 – 16:00, ZM1 Nach der Messe Software(technik)praktikum: Vorlesung 1

34 Ereignis: Turnier SWTPra- und SoPra-Gruppen haben KI-Spieler erstellt
SWTPra- und SoPra-Gruppen haben (optional) PC-Spieler und -Beobachter erstellt KI-Spieler der Teams treten gegeneinander an Zum Turnier SWTPra SoPra Software(technik)praktikum: Vorlesung 1

35 Wöchentliche Meetings
Jedes Team hat ein wöchentliches, zweistündiges Meeting Es besteht Anwesenheitspflicht Mo Di Mi Do Fr 7:00 - 9:00 So3 Ralph E 2 310 ab 17.4. SWT6 Sergio E 2 310 ab 25.4. 9:00 -11:00 So1 Roman O 1 252 ab 14.4. SWT7 Christopher N 3 211 So2 Roman N 4 232 ab 15.4. 14:00-16:00 SWT2 Sebastian N 3 211 ab 16.4. SWT8 Sergio N 2 228 So4 Ralph E 2 310 16:00-18:00 SWT1 Sebastian NW 1 701 SWT3 Sergio N 2 228 SWT4 Alexei N 1 101 18:00-20:00 SWT5 Alexei O 1 252 Software(technik)praktikum: Vorlesung 1

36 Softwaretechnikpraktikum: Vorlesung 1
Aufgabe der Tutoren 7. April 2008 Jedes Team hat einen Tutor, der bei den wöchentlichen Meetings dabei ist und per Mail erreichbar ist Sie werden im Laufe der Woche erfahren, wer ihr Tutor ist. Nicht die Aufgabe des Tutors die Arbeit machen (das macht das Team) die Gruppe leiten, das Meeting vorbereiten & moderieren (das macht der Projektleiter) der Kunde sein (das ist das Orga-Team) Technikprobleme lösen (hierfür berät Sie der Programmierberater) Aufgabe des Tutors ein Berater und Coach sein (Consultant) Fragen klären ggf. auf Probleme hinweisen & Zwischenreviews durchführen Software(technik)praktikum: Vorlesung 1

37 Entwicklerrollen der Teams
Projektmanager Koordiniert Aufgabenverteilung, Projektplan, Agenda Domänenanalyst & Architekturmanager Koordiniert Pflichtenheft sowie Analyse und Entwurf (bei 11-er Teams: 2 Rollen) Modellierungsexperte Experte für Metamodellierung, EMF, OCL, Entwurfsmuster, Architekturmuster Technologieexperte Experte für Eclipse PDE, GEF/Graphiti, Android, JSON Implementierungsmanager Koordiniert Teilproduktimplementierung & Integration zum Gesamtprodukt Qualitätsmanager Koordiniert Dokument- & Code-Reviews, betreut Bugtracker Testmanager Koordiniert Erstellung und Ausführung manueller und automatischer Tests Produktmanager Koordiniert Abschlusspräsentation, Webseite, Messe CASE-Tools-Experte Experte im Umgang mit Eclipse, Latex, SVN, Trac Dokumentationsmanager Koordiniert Endabgabe, Javadoc, Handbuch Software(technik)praktikum: Vorlesung 1

38 Programmierberater und bereitgestellte Technik
Softwaretechnikpraktikum: Vorlesung 1 Programmierberater und bereitgestellte Technik 7. April 2008 Neben den Tutoren gibt es einen Programmierberater Dieses Jahr: Ingo Budde Berät Sie bei Programmierproblemen Hat eine wöchentliche Sprechstunde Sonst nur über das Kommunikations-Forum Koala erreichbar Bitte immer konkrete Fragen stellen Bei Problemen bitte immer den problematischen Code und ggf. Fehlermeldungen und Stacktraces angeben Jedes Team bekommt folgende Technik bereitgestellt eigenes Versionsverwaltungssystem (SVN) eigenen Bug- & Feature-Tracker (Trac) eigenen Mailverteiler 38 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1 38

39 Praxis-Tutorials Unsere Tutoren werden mind. fünf Tutorials anbieten
Eclipse GEF SVN Testen Latex Jedes Team kann maximal ein Mitglied zu den Tutorials entsenden Dieses Mitglied vermittelt das erlernte Wissen seinem Team. Ort & Termin werden noch bekannt gegeben Software(technik)praktikum: Vorlesung 1

40 Abgabeplan Abgabeplan definiert harte Deadlines
Enthält Vorschläge für den Beginn der jeweiligen Aufgaben Task Name Start Ende Duration Software(technik)praktikum Wed Tue 75 dys Beginn der Vorlesungszeit 1 dy Vorlesung (4 Termine) Thu 7 dys Kick-Off der Teams Mon Fri 5 dys Angebot Mon Fri Pflichtenheft erstellen Mon Fri 10 dys Interfaces im Komitee definieren Thu 14 dys Analyse- & Entwurfsdokument erstellen Mon Fri Produkt implementieren (Messeversion) Mon Fri 15 dys Messevorbereitung Mon Fri Messe Mon Produkt implementieren (Turnierversion) Tue Fri 9 dys Endabgabe erstellen (Dokumentation & Präsentation) Mon Fri Abschlusspräsentation halten Mon Thu 4 dys Turnier Fri Ende der Vorlesungszeit Klausur ? Deadlines / Meilensteine Software(technik)praktikum: Vorlesung 1

41 Bestehen der Veranstaltung
Der Veranstalter kann Zwischenprüfungen mit einzelnen Studenten durchzuführen, falls Zweifel an der erfolgreichen Teilnahme der Veranstaltung bestehen. Voraussetzung für das Bestehen Aktive Teilnahme an der Projektarbeit Anwesenheitspflicht bei den Gruppenmeetings eingehalten Einhaltung der Abgabetermine Klausur bestanden TBA Ggf. bestandene Zwischenprüfung  Die Veranstaltung ist die Prüfung Software(technik)praktikum: Vorlesung 1

42 Softwaretechnikpraktikum: Vorlesung 1
Anmeldung 7. April 2008 Alle Teilnehmer mussten sich in PAUL zur Veranstaltung anmelden Deadline ist Freitag Prüfungsanmeldung muss im jeweiligen Prüfungssekretariat erfolgt sein Ausnahme: bei Wirtschaftsinformatikern ist die Anmeldung in PAUL gleichzeitig die Prüfungsanmeldung Gruppeneinteilung erfolgte über moreganize.ch Wer bisher ohne Gruppe ist: bitte nach der Vorlesung melden Ort der Meetings wird noch bekanntgegeben Tutor wird noch bekannt gegeben Ziel: Gleichmäßig große Gruppen 42 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1 42

43 Gruppeneinteilung Aktueller Stand
SWTPra Paul: 96 Teilnehmer Moreganize: 8 Gruppen á 12 Stud. SoPra Paul: 48 Teilnehmer 4 Gruppen á 12 Stud. SWTPra 1: Di 16-18 ab 15.4. 12 SWTPra 2: Mi 14-16 ab 16.4. SWTPra 3: Mi 16-18 SWTPra 4: Do 16-18 ab 17.4. SWTPra 5: Do 18-20 SWTPra 6: Fr 7-9 ab 25.4. SWTPra 7: Mo 9-11 ab 14.4. SWTPra 8: Mi 14-16 SoPra 1: Mo 9-11 11 SoPra 2: Di 9-11 SoPra 3: Do 7-9 SoPra 4: Fr 14-16 13 Software(technik)praktikum: Vorlesung 1

44 Softwaretechnikpraktikum: Vorlesung 1
Webseite Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Y Regelmäßig besuchen Regelmäßig s lesen Software(technik)praktikum: Vorlesung 1

45 IMT-Einstellungen Muss aktiviert sein, um Zugang zu den Repositories und Mailverteilern zu erhalten Software(technik)praktikum: Vorlesung 1

46 Viel Spaß beim diesjährigen Software(technik)-Praktikum! 
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Viel Spaß beim diesjährigen Software(technik)-Praktikum!  Software(technik)praktikum: Vorlesung 1 46

47 Webseite ist aktualisiert
Lastenheft, Vorlesungsfolien, Vorlagen, ... sind online Software(technik)praktikum: Vorlesung 1


Herunterladen ppt "Software(technik)praktikum SS 2014"

Ähnliche Präsentationen


Google-Anzeigen