62
Software(technik)praktikum: Vorlesung 1 Eric Bodden, Ben Hermann Andreas Dann, Christopher Gerking, Johannes Geismann, Philipp Schubert Software(technik)praktikum SS 2017

Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Eric Bodden, Ben HermannAndreas Dann, Christopher Gerking, Johannes Geismann, Philipp Schubert

Software(technik)praktikumSS 2017

Page 2: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Betreuung des Softwaretechnik- und Softwarepraktikums 2017

■ Leitung■ Prof. Dr. Eric Bodden, Dr. Ben Hermann

■ Organisation■ Andreas Dann, Christopher Gerking, Johannes Geismann, Philipp Schubert

■ E-Mail: [email protected]

■ Tutoren■ Christin Löer, Ewald Neufeld, Johannes Schürmeyer

■ Programmierberatung■ Mario Treiber

2Software(technik)praktikum: Vorlesung 1

Die Aufgabenstellung und Organisatorisches werden zum Ende der heutigen Vorlesung bekanntgegeben.

Page 3: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

1. Eigenschaften von Software2. Herausforderungen der Softwareentwicklung3. Ziele des Praktikums

Einführung

Page 4: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Wie unterscheiden sich Softwareentwicklung und Programmieren?

4

Programm Software

löst eine Aufgabe löst eine Vielzahl von Aufgaben

besteht aus dem Programmcode besteht aus vielen Einzelteilen

kann von einer Personerstellt werden

wird von einemTeam erstellt

Überschaubar Potentiell nicht mehr überschaubar

Programmieren Entwickeln

Software(technik)praktikum: Vorlesung 1

Page 5: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Die Größe des Systems entscheidet…

5 Software(technik)praktikum: Vorlesung 1

Kleine AutomatisierungsaufgabeSmartphone-App

Internet ServiceEnterprise Application

Page 6: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Das richtige Werkzeug für die richtige Aufgabe

6

Page 7: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Softwareentwicklung ist …

■ … 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

7

Page 8: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Software ist komplex!

■ Software kann heute nicht mehr von einer einzelnen Person „programmiert“ werden

■ Software kann nicht mehr nur von einer einzelnen Person in ihrer Gesamtheit verstandenwerden!

■ 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.

8

Page 9: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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

9 8Software(technik)praktikum: Vorlesung 1

Page 10: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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)

■ Automatische Schwachstellenanalysen

■ Automatisches Beweisen (Model Checking)

10 9Software(technik)praktikum: Vorlesung 1

Page 11: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Charakteristika der Softwareentwicklung

■ Software unterliegt häufigen Änderungen

■ Re-Engineering notwendig

■ Software unterliegt hohen Qualitätsmaßstäben (Angriffssicherheit, 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. Git)

■ Änderungskontrolle (z.B. Trac)

■ (Code-) Reviews

■ Kosten-/Nutzen Analyse durch systematische Aufwandserfassung

11

Page 12: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Software erfordert Erfahrung

■ 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)

12

Page 13: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Ihre bisherigen Erfahrungen

13

GP1/GP2 Aufgaben

Ihre neue Aufgabe

Achtung! Sie erlernen diese Kenntnisse erst!

Page 14: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Erfahrung anderer nutzen

■ 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?

14 14Software(technik)praktikum: Vorlesung 1

Bekannt aus der Vorlesung

Softwareentwurf

Page 15: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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

15

Page 16: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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

16

Hard-Skills haben Sie zum Teil bereits in GP1, GP2, GPS, DuA und SE erlernt. Im Praktikum werden Sie diese vertiefen.

Page 17: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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

17

Soft-Skills wollen wir im Praktikum trainieren.

Page 18: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Softwareentwicklung ist Teamarbeit

Problem• Software kann nicht von Personen entwickelt werden, die

Experte für alles sind• Einzelne Personen können die Gesamtheit der Software nicht

mehr verstehen

Idee• Aufgabenaufteilung auf mehrere Personen (Rollen)• Jede Person muss nur Experte für ihre Aufgabe sein

Vorteil• Komplexität wird handhabbar & Produkt ist schneller entwickelt

Herausforderung• Missverständnisse, Soft-Skills, Unvollständiges Wissen, ...

Konsequenz• Software-Management (Zeit und Qualität) und

Entwicklungsprozesse einführen

18

Page 19: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Einige beteiligte Rollen

19

Projektmanagerverfolgt und leitet Projektverlauf

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

Kundestellt (sich wechselnde ☺) Anforderungen und nimmt das fertige Produkt ab

Page 20: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Kommunikation zwischen den Rollen ist wichtig

20

Page 21: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Mögliche Rollenverteilung im V-Modell

21

Domänenanalyst

Softwarearchitekt

Softwareentwickler

Tester

Plattformexperte

Domänenanalyst

Im Praktikum sollen Sie möglichst viele Rollen trainieren.

Page 22: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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

22

Page 23: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Organisatorisches & Aufgabenstellung

Page 24: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Fragen

24

Fragen bitte am Ende!

Besteht Anwesenheitspflicht?

Wird die Klausur schwer?WTF?

Software(technik)praktikum: Vorlesung 1

Page 25: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

25

Page 26: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

26

■ Spielaufbau

Page 27: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

27

■ Spielvorbereitung

Page 28: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

28

■ Spielablauf

Page 29: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

29

■ Spielablauf

Page 30: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

30

■ Spielablauf & Spielgewinn

Page 31: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

■ Entwicklung eines verteilten Tsuro-Brettspiels

31

■ „Erweiteres“ Tsuro-Spiel■ mehr Wegfelder■ komplexeres Spielfeld

■ Verteilte Anwendung■ Client-Server-Architektur

■ Konfigurationsmöglichkeiten■ Spielfeld■ Anzahl / Typ Wegfelder

Page 32: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabenstellung

Zur Erstellung der Spielkonfigurationen

• Mensch spielt via Smartphone

• Künstliche Intelligenz spielt vollautomatisch

Spielverlauf lässt sich via PC & Smartphone beobachten

• Leitet das Spiel• Verwaltet Clients• Überwacht Ein-haltung der Regeln

32

Page 33: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Aufgabenstellung

Komitee bestimmt die Interfaces

33 Software(technik)praktikum: Vorlesung 1

Page 34: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Vorgaben bzgl. Technologien und Entwicklungswerkzeuge

34

Page 35: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Entwicklungsprozess & Rollen§ Das System wird nach dem V-Modell entwickelt

§ Das Orga-Team ist der Kunde

§ Sie übernehmen alle weiteren Rollen

35

Page 36: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Artefakte und Ereignisse während des Praktikums

36

Messe

TurnierAbschlusspräsentation

Angebot

Pflichtenheft

Lastenheft

Analyse- & Entwurfsdokumentinkl. Interfacedefinition

ImplementierungsabgabeAbschlussdokumentation

Erhalten Sie diese Woche.

Page 37: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Interface-Komitee

■ Ziel■ 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- & Entwurfsdokumente■ 2.0: für Änderungen während der Implementierungsphase

■ Endabgabe und Turnier halten sich an Version 2.0

37

Page 38: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

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

38 Software(technik)praktikum: Vorlesung 1

Page 39: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Ereignis: Turnier

■ KI-Spieler der Teams treten gegeneinander an.

■ Dabei kommen auch Spiel-Engine und Beobachter zum Einsatz.

39 Software(technik)praktikum: Vorlesung 1

Page 40: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Wöchentliche Meetings

§ Jedes Team hat ein wöchentliches, zweistündiges Meeting.§ Es besteht Anwesenheitspflicht.§ Anfangszeitpunkte PAUL entnehmen

§ Achtung: Beim ersten Termin beginnen einige Gruppen später!

40

Mo Di Mi Do Fr7:00 -9:00

SWTPra 3E2.310

Christin

SWTPra 9E2.316

Christin

SWTPra 7E2.310

Johannes

SWTPra 6E2.310Ewald

9:00-11:00

SWTPra 1N3.211Ewald

SoPra1E0.120

Johannes

SWTPra 8N4.232

JohannesSoPra 3E0.120

Christin

11:00-13:00

14:00-16:00

16:00-18:00

SWTPra 2E0.120Ewald

SoPra 2E0.120

Johannes

SWTPra 4N3.211Ewald

SWTPra 5N5.235

Christin

SWTPra 10E0.120

Christin

Page 41: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Aufgabe der Tutoren

■ Jedes Team hat einen Tutor, der für 45 Minuten bei den wöchentlichenMeetings 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

41

Page 42: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

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, 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, Git, Trac

Dokumentationsmanager Koordiniert Endabgabe, Javadoc, Handbuch

42

Page 43: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Programmierberater und bereitgestellte Technik

■ Neben den Tutoren gibt es einen Programmierberater■ Dieses Jahr: Mario Treiber■ Berät Sie bei Technik- und Programmierproblemen■ Wöchentliche Sprechstunde: TBA■ Sonst nur über das Kommunikations-Forum in koaLA erreichbar■ Bitte immer konkrete Fragen stellen■ Bei Problemen bitte immer den problematischen Code und ggf.

Fehlermeldungen sowie Stacktraces angeben

■ Jedes Team bekommt folgende Technik bereitgestellt■ eigenes Versionsverwaltungssystem (Git)

■ inkl. Bug- & Feature-Tracker und Wiki■ eigenen Mailverteiler

43Software(technik)praktikum: Vorlesung 1

Page 44: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

■ Abgabeplan definiert harte Deadlines

Software(technik)praktikum: Vorlesung 1

Abgabeplan

44

Deadlines / Meilensteine

Page 45: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Anmeldung

■ 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

■ Voraussetzung für die Teilnahme an der Veranstaltung sind vorhandene Prüfungsabschlüsse in■ Grundlagen der Programmierung 1■ Grundlagen der Programmierung 2■ Softwareentwurf

45Software(technik)praktikum: Vorlesung 1

Page 46: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

GruppeneinteilungAktueller Stand

■ SWTPra■ 113 Teilnehmer

■ SoPra■ 36 Teilnehmer

46

Gruppe Termin TeilnehmerSWTPra 1 Mo, 9-11 11SWTPra 2 Mo, 16-18 10SWTPra 3 Di, 7-9 12SWTPra 4 Mi, 16-18 12SWTPra 5 Do, 16-18 12SWTPra 6 Fr, 7-9 12SWTPra 7 Mi, 7-9 10SWTPra 8 Mo, 9-11 11SWTPra 9 Di, 7-9 11SWTPra 10 Do, 16-18 12SoPra 1 Mo, 9-11 10SoPra 2 Di, 16-18 12SoPra 3 Fr, 9-11 12SoPra 4 Aufteilen 2

Page 47: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Bestehen der Veranstaltung

■ Der Veranstalter kann Zwischenprüfungen mit einzelnen Studentendurchzufü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

47

Page 48: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse

48

§ Das Praktikum unterscheidet sich von den „üblichen“ Lehrveranstaltungen, die Sie bereits kennen.

§ Es erfordert daher eine andere Herangehensweise und Mentalität.

§ Legen Sie neue Maßstäbe an!

Software(technik)praktikum: Vorlesung 1

Page 49: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (1)

49

Das V-Modell ist nichtmehr zeitgemäß, da esbei Google nicht zurAnwendung kommt.

Google verfolgtein andersartigesGeschäftsmodell.

Das V-Modell ist industrieller Standard für die EntwicklungsicherheitskritischerSoftwaresysteme.

Software(technik)praktikum: Vorlesung 1

Page 50: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (2)

50

Können wir nichteinfach Dropbox benutzen?

Der Umgang mit einemVersionsverwaltungs-system ist industriellerAlltag und daherLehrinhalt des Praktikums.

Software(technik)praktikum: Vorlesung 1

Page 51: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (3)

51

Warum gibt esSeitenlimits? Viel zu schreiben ist doch gut.

Seitenlimits gehörenzum Tagesgeschäft(z.B. bei der EinreichungwissenschaftlicherVeröffentlichungen).

Sich knapp und präzise auszudrückenist eine Kunst, die eszu lernen gilt.

Software(technik)praktikum: Vorlesung 1

Page 52: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

52

Manuell zuprogrammieren ist doch viel einfacher,als Framework X zubenutzen.

Das Praktikum ist aucheine Lehrveranstaltung.

Es heißtSoftwaretechnikpraktikumund nichtProgrammierpraktikum.

SoftwaretechnikbedeutetingenieurmäßigesVorgehen bei der Softwareentwicklung.

Häufige Missverständnisse (4)

Software(technik)praktikum: Vorlesung 1

Page 53: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (5)

53

Wir müssen unbedingtdie neuartigeTechnologie X benutzen, denn die hat viele Vorteile.

Wissen wir in der Regel J

Für das Praktikumnutzen wir marktüblicheTechnologien.

Kundenwünscheschließen oft eineAbwärtskompatibilität ein.Mit gegebenen Mittelnzurecht zukommen ist industrieller Alltag.

Software(technik)praktikum: Vorlesung 1

Page 54: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (6)

54

Der Programmierberaterist unfähig, denn erkonnte unser Problem nicht lösen.

Nein.

Der Programmierberaterzeigt nurLösungsmöglichkeitenauf.

Lösungsmöglichkeitenmüssen selbstständigexploriert werden, ohneGarantie auf Erfolg.

Software(technik)praktikum: Vorlesung 1

Page 55: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (7)

55

Der Programmierberaterist unfair, denn er gibt die Musterlösung nichtheraus.

Nein.

Wir führen ein Projektdurch.

Es gibt in der Regel keine Musterlösung!

Software(technik)praktikum: Vorlesung 1

Page 56: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (8)

56

In der Abschlusspräsentationzeigen wir unser wahresGesicht und geben der Orga zurück, was sieuns angetan hat!

Keine gute Idee.

Die Präsentation dientals Projektabschlussund wird entsprechendbewertet.

Software(technik)praktikum: Vorlesung 1

Page 57: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (9)

57

In der Abschlusspräsentationweisen wir unsgegenseitig die Schuldzu.

Keine gute Idee.

Bitte als Team auftreten!

Selbstreflexion ist nur eineinzelner Bestandteil der Präsentation.

Software(technik)praktikum: Vorlesung 1

Page 58: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Häufige Missverständnisse (10)

58

Der Zeitaufwand ist viel höher als beiVorlesung X.

Ja. Siehe ECTS.

Der tatsächliche Aufwandist stark abhängig von der Selbstorganisationinnerhalb der Gruppe.

Software(technik)praktikum: Vorlesung 1

Page 59: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Webseite

59

https://www.hni.uni-paderborn.de/swt/lehre/softwaretechnik-softwarepraktikum-ss-2017

• Fragen und Diskussionenim koaLA

• Regelmäßig besuchen• Regelmäßig E-Mails lesen

Software(technik)praktikum: Vorlesung 1

Page 60: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

IMT-Einstellungen

60

Muss aktiviert sein, um Zugang zu den Repositories und Mailverteilern zu erhalten.

https://sp.upb.de

Page 61: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

GitLab

61

https://git.cs.uni-paderborn.de

Erstmaliger Login aktiviert Dienstnutzung

Page 62: Software(technik)praktikum SS 2017 - Heinz Nixdorf …...Software(technik)praktikum: Vorlesung 1 Betreuungdes Softwaretechnik-und Softwarepraktikums2017 Leitung Prof. Dr. Eric Bodden,

Software(technik)praktikum: Vorlesung 1

Viel Spaß beim diesjährigenSoftware(technik)-Praktikum! J

… und bis morgen um 18:00 Uhr!