47
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS 2014 09.04.2014 Software(technik)praktikum: Vorlesung 1 1

© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

Embed Size (px)

Citation preview

Page 1: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

1

Wilhelm Schäfer

Christopher Gerking, Anas Anis

Software(technik)praktikumSS 2014

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 2: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

2

Betreuung des Softwaretechnik- und Software-Praktikums 2013

Leitung Prof. Wilhelm Schäfer

Organisation Christopher Gerking, Anas Anis E-Mail: [email protected]

Tutoren Sergio Martins Pereira, Ralph

Menne, Alexei Quapp, Roman Koppe, Sebastian Thiele

Programmierberatung Ingo Budde

2Software(technik)praktikum: Vorlesung 1

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

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 3: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

3

Einführung

1. Eigenschaften von Software

2. Herausforderungen der Softwareentwicklung

3. Ziele des Praktikums

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 4: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Programm vs. Software

Software >> Programm

Softwareentwicklung >>> Programmierung

4Software(technik)praktikum: Vorlesung 1

Ist sehr viel mehr als

Ist sehr sehr viel mehr als

09.04.2014

Page 5: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Analogie bzgl. Programm vs. Software

5Software(technik)praktikum: Vorlesung 1

ProgrammProgrammiererProgrammieren

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

09.04.2014

Page 6: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

6

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

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 7: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

7Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 8: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

8Software(technik)praktikum: Vorlesung 1 09.04.2014Software(technik)praktikum: Vorlesung 1

Page 9: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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)

9Software(technik)praktikum: Vorlesung 1 09.04.2014Software(technik)praktikum: Vorlesung 1

Page 10: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

10Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 11: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 12: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

12

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)

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 13: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Analogie bzgl. Erfahrung sammeln

13Software(technik)praktikum: Vorlesung 1

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

SoPraGP1-, GP2-Aufgaben

SoPra: Aufwand pro Teilnehmer• 5 ECTS = 150h Arbeit• 9h/Woche, ca. 3,5 Monate

SWTPra09.04.2014

Page 14: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

14

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?

Erfahrung anderer nutzen

14Software(technik)praktikum: Vorlesung 1

Bekannt aus der Vorlesung

Softwareentwurf

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 15: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 16: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 17: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

Software(technik)praktikum: Vorlesung 1

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

09.04.2014

Page 18: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

Software(technik)praktikum: Vorlesung 1

Soft-Skills wollen wir im Praktikum trainieren.

09.04.2014

Page 19: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 20: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

20

Einige beteiligte Rollen

Software(technik)praktikum: Vorlesung 1

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

09.04.2014

Page 21: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

21

Kommunikation zwischen den Rollen ist wichtig

Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 22: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

22

Mögliche Rollenverteilung im V-Modell

Software(technik)praktikum: Vorlesung 1

Domänenanalyst

Softwarearchitekt

Softwareentwickler

Tester

Plattformexperte

Domänenanalyst

Im Praktikum sollen Sie möglichst viele Rollen trainieren.

09.04.2014

Page 23: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

23Software(technik)praktikum: Vorlesung 1 09.04.2014

Page 24: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

24

Organisatorisches & Aufgabenstellung

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 25: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

25

Aufgabenstellung

Umsetzung einer verteilten Scrabble-Variante

09.04.2014

• Ä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)

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 26: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

26

Server

Clients

SmartphonePlayer

Configuration Manager

Network

Game Engine

PC Observer

PC Player AI Player Smartphone Observer

Aufgabenstellung

Realisierung unterschiedlicher Komponenten

09.04.2014

Zur Erstellung der Spielkonfigurationen

• Mensch spielt via PC oder Smartphone

• Künstliche Intelligenz spielt vollautomatisch

Spielverlauf lässt sich via PC & Smartphone beobachten

• Leitet das Spiel• Verwaltet Clients• Überwacht

Regel-einhaltung

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 27: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

27

Aufgabenstellung

Komponentenentwicklung findet verteilt statt Schnittstellen werden gemeinsam definiert

09.04.2014

Komitee bestimmt die Interfaces

09.04.2014Software(technik)praktikum: Vorlesung 1

Server

Clients

SmartphonePlayer

Configuration Manager

SWTPra SoPra Interface Committee

Network

Game Engine

Optional

PC Observer

PC Player AI Player Smartphone Observer

Page 28: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

28

Vorgaben bzgl. Technologien und Entwicklungswerkzeuge

Software(technik)praktikum: Vorlesung 1 09.04.2014

Server

Clients

AI Player

GameEngine

Smartphone Player PC Observer

Configuration Manager

NetworkIViewer

IPlayer

IServer

Config(ecore)

PC Player Smartphone Observer

Page 29: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 30: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

30

Artefakte und Ereignisse während des Praktikums

Software(technik)praktikum: Vorlesung 1

Messe

TurnierAbschlusspräsentation

Angebot

Pflichtenheft

Lastenheft

Analyse- & Entwurfsdokumentinkl. Interfacedefinition

ImplementierungsabgabeAbschlussdokumentation

Erhalten Sie diese Woche.

09.04.2014

Page 31: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

31

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

• Endabgabe und Turnier halten sich an Version 2.0

Software(technik)praktikum: Vorlesung 1 09.04.2014

Server

Clients

AI Player

GameEngine

Smartphone Player PC Observer

Configuration Manager

NetworkIViewer

IPlayer

IServer

Config(ecore)

PC Player Smartphone Observer

Page 32: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

32Software(technik)praktikum: Vorlesung 1 09.04.2014

Vor der Messe

Page 33: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

33Software(technik)praktikum: Vorlesung 1

Nach der Messe

09.04.2014

Page 34: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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

34Software(technik)praktikum: Vorlesung 1

ZumTurnier

SWTPra SoPra

09.04.2014

Page 35: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

35

Wöchentliche Meetings

Jedes Team hat ein wöchentliches, zweistündiges Meeting Es besteht Anwesenheitspflicht

09.04.2014Software(technik)praktikum: Vorlesung 1

Mo Di Mi Do Fr

7:00 - 9:00

So3Ralph

E 2 310ab 17.4.

SWT6SergioE 2 310ab 25.4.

9:00 -11:00

So1RomanO 1 252ab 14.4.

SWT7Christopher

N 3 211ab 14.4.

So2 RomanN 4 232ab 15.4.

14:00-16:00

SWT2Sebastian

N 3 211ab 16.4.

SWT8SergioN 2 228ab 16.4.

So4Ralph

E 2 310ab 25.4.

16:00-18:00

SWT1SebastianNW 1 701ab 15.4.

SWT3SergioN 2 228ab 16.4.

SWT4Alexei

N 1 101ab 17.4.

18:00-20:00

SWT5Alexei

O 1 252ab 17.4.

Page 36: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

36

Aufgabe der Tutoren

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

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 37: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 38: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

38

Programmierberater und bereitgestellte Technik

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

38Software(technik)praktikum: Vorlesung 1 09.04.2014Software(technik)praktikum: Vorlesung 1

Page 39: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 40: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

40

Abgabeplan

Software(technik)praktikum: Vorlesung 1

Abgabeplan definiert harte Deadlines Enthält Vorschläge für den Beginn der jeweiligen Aufgaben

Deadlines / Meilensteine09.04.2014

Task Name Start Ende Duration

Software(technik)praktikum Wed 09.04.14 Tue 22.07.14 75 dys

Beginn der Vorlesungszeit Wed 09.04.14 Wed 09.04.14 1 dy

Vorlesung (4 Termine) Wed 09.04.14 Thu 17.04.14 7 dys

Kick-Off der Teams Mon 14.04.14 Fri 18.04.14 5 dys

Angebot Mon 21.04.14 Fri 25.04.14 5 dys

Pflichtenheft erstellen Mon 28.04.14 Fri 09.05.14 10 dys

Interfaces im Komitee definieren Mon 28.04.14 Thu 15.05.14 14 dys

Analyse- & Entwurfsdokument erstellen Mon 12.05.14 Fri 23.05.14 10 dys

Produkt implementieren (Messeversion) Mon 26.05.14 Fri 13.06.14 15 dys

Messevorbereitung Mon 16.06.14 Fri 20.06.14 5 dys

Messe Mon 23.06.14 Mon 23.06.14 1 dy

Produkt implementieren (Turnierversion) Tue 24.06.14 Fri 04.07.14 9 dys

Endabgabe erstellen (Dokumentation & Präsentation) Mon 07.07.14 Fri 11.07.14 5 dys

Abschlusspräsentation halten Mon 14.07.14 Thu 17.07.14 4 dys

Turnier Fri 18.07.14 Fri 18.07.14 1 dy

Ende der Vorlesungszeit Fri 18.07.14 Fri 18.07.14 1 dy

Klausur ? ? 1 dy

Page 41: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

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 09.04.2014

Page 42: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

42

Anmeldung

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

42Software(technik)praktikum: Vorlesung 1 09.04.2014Software(technik)praktikum: Vorlesung 1

Page 43: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

43

GruppeneinteilungAktueller Stand

SWTPra Paul: 96 Teilnehmer Moreganize:

• 8 Gruppen á 12 Stud.

SoPra Paul: 48 Teilnehmer Moreganize:

• 4 Gruppen á 12 Stud.

Software(technik)praktikum: Vorlesung 1 09.04.2014

SWTPra 1: Di 16-18 ab 15.4. 12

SWTPra 2: Mi 14-16 ab 16.4. 12

SWTPra 3: Mi 16-18 ab 16.4. 12

SWTPra 4: Do 16-18 ab 17.4. 12

SWTPra 5: Do 18-20 ab 17.4. 12

SWTPra 6: Fr 7-9 ab 25.4. 12

SWTPra 7: Mo 9-11 ab 14.4. 12

SWTPra 8: Mi 14-16 ab 16.4. 12

SoPra 1: Mo 9-11 ab 14.4. 11

SoPra 2: Di 9-11 ab 15.4. 12

SoPra 3: Do 7-9 ab 17.4. 12

SoPra 4: Fr 14-16 ab 25.4. 13

Page 44: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Webseite

44Software(technik)praktikum: Vorlesung 1

http://www.hni.uni-paderborn.de/swt/lehre/softwaretechnik-software-praktikum-ss-2014/

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

09.04.2014

Page 45: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

IMT-Einstellungen

45Software(technik)praktikum: Vorlesung 1

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

09.04.2014

Page 46: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

46

Viel Spaß beim diesjährigen Software(technik)-Praktikum!

09.04.2014Software(technik)praktikum: Vorlesung 1

Page 47: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Wilhelm Schäfer Christopher Gerking, Anas Anis Software(technik)praktikum SS

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

47

Webseite ist aktualisiert Lastenheft, Vorlesungsfolien, Vorlagen, ... sind online

Software(technik)praktikum: Vorlesung 1 09.04.2014