• Keine Ergebnisse gefunden

Praxis der Software-Entwicklung (PSE)

N/A
N/A
Protected

Academic year: 2022

Aktie "Praxis der Software-Entwicklung (PSE)"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praxis der Software-Entwicklung (PSE)

Prof. Dr.-Ing. Gregor Snelting (Koordinator)

WS 09/10

(2)

Praxis der Software-Entwicklung (PSE)

ñ Ziel: Entwicklung eines mittelgroßen Systems im Team mit moderner Softwaretechnik

ñ Zielsystem: max 10kLOC

objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (zB Jcov, Junit)

ñ Teilnehmer: 3. Sem BA Informatik

Voraussetzung:Grundbegriffe der Informatik, Programmieren, Algorithmen 1, Softwaretechnik 1

ñ Empfehlung: PSE erst, wenn alle Module aus 1./2. Semester bestanden sind

ñ Umfang: 6LP,≈ 200 Arbeitsstunden / Teilnehmer,

≈1.5 Arbeitstage/Woche/Teilnehmer

(3)

Praxis der Software-Entwicklung (PSE)

ñ Ziel: Entwicklung eines mittelgroßen Systems im Team mit moderner Softwaretechnik

ñ Zielsystem: max 10kLOC

objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (zB Jcov, Junit)

ñ Teilnehmer: 3. Sem BA Informatik

Voraussetzung:Grundbegriffe der Informatik, Programmieren, Algorithmen 1, Softwaretechnik 1

ñ Empfehlung: PSE erst, wenn alle Module aus 1./2. Semester bestanden sind

ñ Umfang: 6LP,≈ 200 Arbeitsstunden / Teilnehmer,

≈1.5 Arbeitstage/Woche/Teilnehmer

(4)

Praxis der Software-Entwicklung (PSE)

ñ Ziel: Entwicklung eines mittelgroßen Systems im Team mit moderner Softwaretechnik

ñ Zielsystem: max 10kLOC

objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (zB Jcov, Junit)

ñ Teilnehmer: 3. Sem BA Informatik

Voraussetzung:Grundbegriffe der Informatik, Programmieren, Algorithmen 1, Softwaretechnik 1

ñ Empfehlung: PSE erst, wenn alle Module aus 1./2.

Semester bestanden sind

ñ Umfang: 6LP,≈ 200 Arbeitsstunden / Teilnehmer,

≈1.5 Arbeitstage/Woche/Teilnehmer

(5)

Praxis der Software-Entwicklung (PSE)

ñ Ziel: Entwicklung eines mittelgroßen Systems im Team mit moderner Softwaretechnik

ñ Zielsystem: max 10kLOC

objektorientierter Entwurf (UML), Implementierung (Java/C++/C#), Qualitätssicherung (zB Jcov, Junit)

ñ Teilnehmer: 3. Sem BA Informatik

Voraussetzung:Grundbegriffe der Informatik, Programmieren, Algorithmen 1, Softwaretechnik 1

ñ Empfehlung: PSE erst, wenn alle Module aus 1./2.

Semester bestanden sind

ñ Umfang: 6LP,≈ 200 Arbeitsstunden / Teilnehmer,

≈1.5 Arbeitstage/Woche/Teilnehmer

(6)

PSE / Organisation

ñ Zeitplan: Mitte Oktober 2009 - Mitte März 2010;

15 Wochen Praktikumsbetrieb nach Absprache

ñ ca. 20 verschiedene Aufgabenstellungen von 15 Lehrstühlen

ñ objektorientiertes Phasenmodell verbindlich (vgl.

Modulhandbuch)

ñ ca. 40 Teams a 5-6 Studenten

Wünsche zu Teamzusammensetzung / Aufgabe werden nach Möglichkeit berücksichtigt

ñ Auftaktveranstaltung, Aufgabenvorstellung, endgültige Teamzusammenstellung:Di 20.10.09, 15:45, HSaF

ñ Bitte auch Webseite beachten:

http://pp.info.uni-karlsruhe.de/lehre/WS200910/pse/

(7)

PSE / Organisation

ñ Zeitplan: Mitte Oktober 2009 - Mitte März 2010;

15 Wochen Praktikumsbetrieb nach Absprache

ñ ca. 20 verschiedene Aufgabenstellungen von 15 Lehrstühlen

ñ objektorientiertes Phasenmodell verbindlich (vgl.

Modulhandbuch)

ñ ca. 40 Teams a 5-6 Studenten

Wünsche zu Teamzusammensetzung / Aufgabe werden nach Möglichkeit berücksichtigt

ñ Auftaktveranstaltung, Aufgabenvorstellung, endgültige Teamzusammenstellung:Di 20.10.09, 15:45, HSaF

ñ Bitte auch Webseite beachten:

http://pp.info.uni-karlsruhe.de/lehre/WS200910/pse/

(8)

PSE / Übersicht

ñ moderne Softwaretechnik ist wichtig für alle BA-Absolventen!

ñ vollständige Entwicklung eines größeren Systems

ñ Phasenmodell: Pflichtenheft, Entwurf, Spezifikation, Implementierung, Validierung

ñ Abschlusspräsentation

ñ Teamarbeit (Teams a 5-6 Teilnehmer)

ñ durchgehend Objektorientierung

ñ Toolunterstützung, zB Eclipse, Rational Architect, JUnit, JCov, ...

(9)

Pflichtenheft

Phasenziel

detaillierte Festlegung der Leistungsmerkmale eines Systems Grundprinzipien

ñ Präzision

ñ Vollständigkeit

ñ Konsistenz Vorgehen

ñ Systemmodell (grobe Übersicht), Systemumgebung (Hard/Software)

ñ vollständige funktionale Anforderungen

ñ GUI-Entwürfe (manuell oder programmiert)

ñ ausführliche Testfallszenarien

verlangt wird

Abgabe des Pflichtenheftes nach 2 Wochen;

Erläuterung im ersten Kolloquium

(10)

Entwurf & Spezifikation

objektorientiert (UML)

Phasenziel

ñ Festlegung der Klassenstruktur

ñ Schnittstellendefinition der Klassen

ñ Beziehungen zw. Klassen (Vererbung, Assoziationen)

ñ Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm

ñ Einsatz von Design Patterns, MVC

Grundprinzipien

ñ Geheimnisprinzip

ñ schwache Kopplung

ñ hohe Kohäsion

ñ Lokalitätsprinzip

ñ Wiederverwendbarkeit von Klassen/Subsystemen

ñ OO: Vererbung/dynamische Bindung statt Fallunterscheidung

(11)

Entwurf & Spezifikation

objektorientiert (UML)

Phasenziel

ñ Festlegung der Klassenstruktur

ñ Schnittstellendefinition der Klassen

ñ Beziehungen zw. Klassen (Vererbung, Assoziationen)

ñ Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm

ñ Einsatz von Design Patterns, MVC Grundprinzipien

ñ Geheimnisprinzip

ñ schwache Kopplung

ñ hohe Kohäsion

ñ Lokalitätsprinzip

ñ Wiederverwendbarkeit von Klassen/Subsystemen

ñ OO: Vererbung/dynamische Bindung statt Fallunterscheidung

(12)

Entwurf & Spezifikation

objektorientiert (UML)

Phasenziel

ñ Festlegung der Klassenstruktur

ñ Schnittstellendefinition der Klassen

ñ Beziehungen zw. Klassen (Vererbung, Assoziationen)

ñ Klassendiagramm, ausgewählte Sequenzdiagramme, evtl. Zustandsdiagramm

ñ Einsatz von Design Patterns, MVC Grundprinzipien

ñ Geheimnisprinzip

ñ schwache Kopplung

ñ hohe Kohäsion

ñ Lokalitätsprinzip

ñ Wiederverwendbarkeit von Klassen/Subsystemen

ñ OO: Vererbung/dynamische Bindung statt Fallunterscheidung

(13)

Entwurf & Spezifikation / 2

Vorgehen

ñ Kombination von Top-Down und Bottom-Up Design

ñ Identifikation von Klassen, Vererbung, Assoziationen

ñ Festlegung der Schnittstellen aller Klassen

ñ informale Beschreibung aller Klassen

ñ evtl. Einsatz von Entwurfsmetriken (JMetrics)

verlangt wird

ñ Abgabe der UML-Diagramme nebst informeller Beschreibung nach 4 Wochen;

Verteidigung im zweiten Kolloquium

ñ Nachweis der Evolutionsfähigkeit(zB Lokalitätsprinzip)

(14)

Entwurf & Spezifikation / 2

Vorgehen

ñ Kombination von Top-Down und Bottom-Up Design

ñ Identifikation von Klassen, Vererbung, Assoziationen

ñ Festlegung der Schnittstellen aller Klassen

ñ informale Beschreibung aller Klassen

ñ evtl. Einsatz von Entwurfsmetriken (JMetrics) verlangt wird

ñ Abgabe der UML-Diagramme nebst informeller Beschreibung nach 4 Wochen;

Verteidigung im zweiten Kolloquium

ñ Nachweis der Evolutionsfähigkeit(zB Lokalitätsprinzip)

(15)

Implementierung & Validierung

Phasenziel

Programmierung und Test des Systems Grundprinzipien

ñ Programmierung in Java (evtl. C#, C++)

ñ Umsetzung der Architektur

ñ werkzeugunterstützte Qualitätssicherung

Vorgehen

ñ Implementierung der Methoden

ñ funktionaler Komponententest mitJunit, evtl. Überdeckungstests (zB JCov); verschränkt mit Implementierung

ñ Integrationstest, Robustheitstest

ñ Realisation der Szenarien aus Pflichtenheft

(16)

Implementierung & Validierung

Phasenziel

Programmierung und Test des Systems Grundprinzipien

ñ Programmierung in Java (evtl. C#, C++)

ñ Umsetzung der Architektur

ñ werkzeugunterstützte Qualitätssicherung Vorgehen

ñ Implementierung der Methoden

ñ funktionaler Komponententest mitJunit, evtl.

Überdeckungstests (zB JCov); verschränkt mit Implementierung

ñ Integrationstest, Robustheitstest

ñ Realisation der Szenarien aus Pflichtenheft

(17)

Implementierung & Validierung / 2

verlangt wird

ñ Implementierungsplan; Implementierung;

ñ Implementierungskolloquium (2 Wochen vor Abschluss)

ñ Testbericht; Systemabnahme (1 Woche vor Abschluss)

ñ Abschlusspräsentation (Februar/März 2010)

Referenzen

ÄHNLICHE DOKUMENTE

Die Veranstaltung sollte erst belegt werden, wenn alle Module aus den ersten beiden Semestern abgeschlossen

Ziel: Entwicklung eines mittelgroßen Systems im Team mit objektorientierter Softwaretechnik.. Zielsystem:

Das Modul muss zusammen mit dem Modul Teamarbeit in der Software-Entwicklung [IN2INSWPS] belegt werden.. Der erfolgreiche Abschluss der Module Grundbegriffe der Informatik

Ziel: Entwicklung eines mittelgroßen Systems im Team mit objektorientierter Softwaretechnik.. Zielsystem:

Ihre Aufgabe ist die Implementierung eines Rubik-W¨ urfels f¨ ur Handys mit Hilfe von JavaME, oder alternativ mit Android, einer anderen Java- Variation f¨ ur mobile Ger¨ ate..

Wunschkriterien: Von den Gruppen selbst definierte, zus¨ atzliche Funk- tionalit¨ at.. Abgrenzungskriterien:

• Detailliertere Beschreibung der Architektur: Identifizieren Sie Module / Pakete innerhalb Ihrer Architektur und beschreiben Sie deren Kom- munikation untereinander..

• Optional: Vergleich geplanter Zeitplan (Gantt-Diagramm der Entwurfs- phase) mit tatsächlichem Zeitablauf (wieder in Form eines