Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software(technik)praktikum SS 2015

Ähnliche Präsentationen


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

1 Software(technik)praktikum SS 2015
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Software(technik)praktikum SS 2015 Wilhelm Schäfer Christian Brenner, Christopher Gerking, Marie Christin Platenius Software(technik)praktikum: Vorlesung 1

2 Betreuung des Softwaretechnik- und Software-Praktikums 2015
Leitung Prof. Wilhelm Schäfer Organisation Christian Brenner, Christopher Gerking, Marie Christin Platenius Tutoren Benedikt Berghaus, Julian Heinovski, Karsten Jungnitsch, Roman Kober, Ralph Menne, Sergio Martins Pereira, Sebastian Strotmeyer, Tristan Wittgen Programmierberatung Sebastian Heuchler Die Aufgabenstellung und Organisatorisches werden zum Ende der heutigen Vorlesung bekanntgegeben. 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 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 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 7. April 2008 Die Erfahrung eines großen, komplexen und verteilten Projektes kann nicht durch viele kleine Projekte erreicht werden. GP1-, GP2-Aufgaben SoPra SWTPra Software(technik)praktikum: Vorlesung 1

14 Erfahrung anderer nutzen
Softwaretechnikpraktikum: Vorlesung 1 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 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

16 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, GPS, DuA und SE erlernt. Im Praktikum werden Sie diese vertiefen. Software(technik)praktikum: Vorlesung 1

17 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

18 Softwareentwicklung ist Teamarbeit
Software kann nicht von Personen entwickelt werden, die Experte für alles sind Einzelne 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

19 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

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

21 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

22 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, GPS, 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

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

24 Aufgabenstellung Umsetzung eines verteilten Fußball-Strategiespiels
Ziel: Spieler so anweisen, dass sie den Ball in das gegnerische Tor schießen Dies geschieht durch Veränderungen des unterliegenden Modells Laufaktionen & Schussaktionen Konfigurationsmöglichkeiten (Feldgröße, Anzahl Spieler, erlaubte Maximaldistanz für Schussaktionen, …) Plattformen: Smartphone / Tablet & PC Spieler sind Menschen oder künstliche Intelligenz (KI) Software(technik)praktikum: Vorlesung 1

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

26 Aufgabenstellung Komponentenentwicklung findet verteilt statt
Komitee bestimmt die Interfaces Software(technik)praktikum: Vorlesung 1

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

28 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

29 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

30 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

31 Ereignis: Messe SWTPra- und SoPra-Gruppen tauschen kostenlos Komponenten SWTPra-Gruppen geben ihren Spielkonfigurator und den PC-Beobachter ab SoPra-Gruppen geben ihren Smartphone-Beobachter ab Software(technik)praktikum: Vorlesung 1

32 Ereignis: Turnier KI-Spieler der Teams treten gegeneinander an
Dazu kommen auch Spiel-Engine und Beobachter zum Einsatz Software(technik)praktikum: Vorlesung 1

33 Wöchentliche Meetings
Jedes Team hat ein wöchentliches, zweistündiges Meeting Es besteht Anwesenheitspflicht Anfangszeitpunkte PAUL entnehmen Mo Di Mi Do Fr 7:00 - 9:00 SoPra 3 E0.120 Ralph 9:00 -11:00 SWTPra 6 Julian SoPra 1 N2.228 Roman SoPra 2 Sebastian 14:00-16:00 SWTPra 1 SP Benedikt SWTPra 7 W2.110 Karsten SoPra 4 16:00-18:00 SWTPra 2 SWTPra 5 NW1.701 Tristan SWTPra 3 Sergio SWTPra 8 N1.101 18:00-20:00 SWTPra 4 Software(technik)praktikum: Vorlesung 1

34 Softwaretechnikpraktikum: Vorlesung 1
Aufgabe der Tutoren Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Jedes Team hat einen Tutor, der bei den wöchentlichen Meetings dabei ist und per Mail erreichbar 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

35 Entwicklerrollen der Teams
Projektmanager Koordiniert Aufgabenverteilung, Projektplan, Agenda (bei 12er Teams: 2 Rollen) Domänenanalyst & Architekturmanager Koordiniert Pflichtenheft sowie Analyse und Entwurf (bei 11er/12er 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 Werkzeugbeauftragter Experte im Umgang mit Eclipse, Latex, SVN, Trac Dokumentationsmanager Koordiniert Endabgabe, Javadoc, Handbuch Software(technik)praktikum: Vorlesung 1

36 Programmierberater und bereitgestellte Technik
Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Neben den Tutoren gibt es einen Programmierberater Dieses Jahr: Sebastian Heuchler Berät Sie bei Programmierproblemen Wöchentliche Sprechstunde auf Anfrage 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 36 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1 36

37 Abgabeplan Abgabeplan definiert harte Deadlines
Do Deadlines / Meilensteine Software(technik)praktikum: Vorlesung 1

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

39 Anmeldung Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Alle Teilnehmer mussten sich in PAUL zur Veranstaltung anmelden Prüfungsanmeldung erfolgt in PAUL bzw. im jeweiligen Prüfungssekretariat Gruppeneinteilung erfolgte ebenfalls über PAUL Ort der Meetings ist in PAUL einzusehen Ziel: Gleichmäßig große Gruppen 39 Software(technik)praktikum: Vorlesung 1 Software(technik)praktikum: Vorlesung 1 39

40 Gruppeneinteilung Aktueller Stand
SWTPra 89 Teilnehmer SoPra 44 Teilnehmer Gruppe Termin Teilnehmer SWTPra 1 Mi, 14-16 11 SWTPra 2 Mi, 16-18 SWTPra 3 Do, 16-18 12 SWTPra 4 Do, 18-20 10 SWTPra 5 SWTPra 6 Mo, 9-11 SWTPra 7 SWTPra 8 SoPra 1 SoPra 2 Di, 9-11 SoPra 3 Do, 7-9 8 SoPra 4 Fr, 14-15 Software(technik)praktikum: Vorlesung 1

41 Softwaretechnikpraktikum: Vorlesung 1
Webseite Softwaretechnikpraktikum: Vorlesung 1 7. April 2008 Regelmäßig besuchen Regelmäßig s lesen Fragen und Diskussionen im Koala Software(technik)praktikum: Vorlesung 1

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

43 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 43


Herunterladen ppt "Software(technik)praktikum SS 2015"

Ähnliche Präsentationen


Google-Anzeigen