• Keine Ergebnisse gefunden

Praxis der Software-Entwicklung (PSE)

N/A
N/A
Protected

Academic year: 2022

Aktie "Praxis der Software-Entwicklung (PSE)"

Copied!
16
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, wennalleModule aus 1./2. Semester vorliegen

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

≈1.5 Arbeitstage/Woche/Teilnehmer

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

in diesem Zeitraum 15 Wochen Praktikumsbetrieb nach Absprache

(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, wennalleModule aus 1./2. Semester vorliegen

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

≈1.5 Arbeitstage/Woche/Teilnehmer

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

in diesem Zeitraum 15 Wochen Praktikumsbetrieb nach Absprache

(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, wennalleModule aus 1./2.

Semester vorliegen

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

≈1.5 Arbeitstage/Woche/Teilnehmer

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

in diesem Zeitraum 15 Wochen Praktikumsbetrieb nach Absprache

(5)

PSE / Anmeldung

ñ vorläufige Anmeldung zur Veranstaltung: ab sofort via WebInscribe unter

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

(oder auch via Softwaretechnik 1)

ñ Es gibt ca. 20 verschiedene Aufgabenstellungen, die aber alle einem objektorientierten Phasenmodell folgen Es gibt ca. 40 Teams a 5-6 Studenten

ñ endgültige Anmeldung, Auftaktveranstaltung mit Aufgabenvorstellung, Teamzusammenstellung: Mitte Oktober (siehe Webseite / besondere Ankündigung)

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

(6)

PSE / Anmeldung

ñ vorläufige Anmeldung zur Veranstaltung: ab sofort via WebInscribe unter

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

(oder auch via Softwaretechnik 1)

ñ Es gibt ca. 20 verschiedene Aufgabenstellungen, die aber alle einem objektorientierten Phasenmodell folgen Es gibt ca. 40 Teams a 5-6 Studenten

ñ endgültige Anmeldung, Auftaktveranstaltung mit Aufgabenvorstellung, Teamzusammenstellung: Mitte Oktober (siehe Webseite / besondere Ankündigung)

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

(7)

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

(8)

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

(9)

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

(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 / 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)

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

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

(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 / 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

In diesem Praktikum sollen Sie mit JavaME, oder alternativ mit Android, einer anderen Java-Variation f¨ ur mobile Ger¨ ate, einen Tauchcomputer entwickeln, der auf mobilen Gr¨

ñ Ziel: Entwicklung eines mittelgroßen Systems im Team mit moderner 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..

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

Zudem soll ex- emplarisch die Übersetzung eines Ausschnittes einer realen Programmbibliothek der PPI AG mit dem entwickelten Übersetzer durchgeführt und evaluiert werden, so dass

[r]

[r]