fachgebiet software engineering Übersicht © 22.01.2014 albert zündorf, kassel university...

24
Fachgebiet Software Engineering Übersicht © 03.07.22 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Upload: faramund-langsam

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Tätigkeiten bei der Softwareentwicklung

Page 2: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Iterativ und testgetrieben

für nächste Anforderung anf {

bis Funktionalität ist gut abgedeckt {

entwerfe Beispielablauf ba {

GUI Pappmodell des Aufruf

GUI Pappmodell des Ergebnis

textuelle Beschreibung der Schritte

}

für wichtige Schritte im Beispielablauf

{

Beispielobjektdiagramm

}

Klassendiagramm anpassen

Architektur anpassen

Tests implementieren

Funktionalität implementieren

Coverage prüfen

}

}

Anforderungsdefinition

Analyse

Design

Implementierung

Qualitäts Sicherung

Projekt Management

Page 3: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Das Projekthandbuch

Fasst Anforderungsdefintion, Analyse-, Design- und Implementierungs-Dokumentation zusammen

Referenz für alle Projektfragen

ständige Weiterentwicklung

Abgabe und Benotung zu den Meilensteinen

Autorangaben pro Kapitel / Absatz

Page 4: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Projekthandbuch

Deckblatt

Name

Autoren

Versionsbezeichner

Projekthandbuch

BeamMan

Gruppe: QuickSoft

Albert Zündorf, [email protected]örn Dreyer, [email protected]

Version: 1.0.20081028.233012

Page 5: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Inhalt

Kapitel nach Phasen

Inhaltsverzeichnis

1. Einleitung2. Anforderungen & Analyse3. Design & Architektur4. Implementierung & Test5. Zeitplan und Aufwände

Page 6: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Einleitung

Kurzer Überblick

(z.B. Aufgenabstellung)

1. Einleitung

Das Projekt BeamMan stellt eine Web basierte Anwendung zur Organisation der Beamer Ausleihe am Fachbereich 16 zur Verfügung. Fachgebiete die einen Beamer ausleihen wollen, können Beamer, die vom Studienservice und einigen anderen Fachgebieten zur Verfügung gestellt werden, für bestimmte Zeiträume reservieren. Die Ausleiher können ihr eigenes Gerät priorisiert reservieren bzw. Freigabezeiträume definieren.

Das System wird auch benutzt, um die Übergabe des Geräts bei Ausleihe und Wiedergabe so wie den einwandfreien Zustand des Geräts zu protokollieren.

Page 7: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Anforderungen

Use Case Diagramme

System

Anforderungen

Benutzer

2. Anforderungen & Analyse

Das Projekt ist in folgende Use Cases gegliedert:

Besitzer

bereit stellen

Sperrzeiten

Reservieren

Ausleihe

Leihender

Page 8: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

GUI Pappmodelle

Für jeden Use Case:

Beispielszenarios mit:

GUI Pappmodell

textuelle Ablaufbeschreibung

2. 1 Reservieren

Herr Maier logt sich mit seinem Webbrowser in das BeamMan Reservierungssystem ein und erhält folgende Übersicht:

BeamMan FB 16 Uni Kassel

Mon8:00 10:00 12:00 14:00 16:00

RA Beamer X X

StudServ X X

Page 9: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

GUI Pappmodelle

Für jeden Use Case:

Beispielszenarios mit:

GUI Pappmodell

textuelle Ablaufbeschreibung

Herr Maier klickt auf StudServ, Montag 16:00 Uhr. Das System prüft die Verfügbarkeit und trägt die Reservierung für Herrn Maier ein.

BeamMan FB 16 Uni Kassel

Mon8:00 10:00 12:00 14:00 16:00

RA Beamer X X

StudServ X X Maier

Page 10: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

GUI Pappmodelle

Für jeden Use Case:

Beispielszenarios mit:

GUI Pappmodell

textuelle Ablaufbeschreibung

BeamMan FB 16 Uni Kassel

Mon8:00 10:00 12:00 14:00 16:00

RA Beamer X X Maier

StudServ X X

Page 11: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

GUI Entwurf

analoge Technologie

GUI Elemente zum Ausschneiden (Vorlesungsseite): http://www.se.eecs.uni-kassel.de/se/uploads/media/Paper_Prototype_Templates.pdf

Entwurf und Gruppendiskussion mit (Hand-)Zeichnungen

Vorbereiten von Szenarios mit Papier GUI Elementen

Durchspielen mit Kunden (Betreuer)

Ausarbeiten in z.B. PowerPoint

Screen Dumps / Scans von Zeichnungen ins Projekthandbuch

Page 12: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

textuelle Abläufe

Für aktuellen Use Case:

Beispielszenarios mit:

GUI Pappmodell

textuelle Ablaufbeschreibung

mit Betreuer besprechen

bis jetzt Kundentauglich

…Ablauf: 1. Durch den Klick auf StudServ, Montag 16:00

Uhr wird ein entsprechender Reservierungs-wunsch im Webbrowser zusammengestellt.

2. Der Reservierungswunsch wird an den BeamMan Server übermittelt.

3. Der BeamMan Server greift auf die Datenbank zu und holt sich den Eintrag für den StudServ Beamer und den gewünschten Timeslot.

4. Da der Timeslot noch frei ist, wird die Reservierung für Herrn Maier eingetragen.

5. Die Änderung wird in der Datenbank gespeichert.

6. Die Bestätigung der Reservierung wird an den Webbrowser zurückgemeldet.

7. Der Webbrowser holt sich die neuen Wochendaten und zeigt sie an.

Page 13: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Objektdiagramme

Analyse:

Hier Datenmodellentwurf

Für zentrale Schritte:

Objektdiagramm

Ziel:

Datenorganisation muss klar werden

3. Der BeamMan Server greift auf die Datenbank

zu und holt sich den Eintrag für den StudServ Beamer und den gewünschten Timeslot.

beamMan

RABeamer: Beamer

StudServ: Beamer

r1: Reservierung

von: Mo 10:00bis: Mo 12:00

r2: Reservierung

von: Mo 12:00bis: Mo 14:00

Page 14: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Design

Klassendiagramm ableiten

…3. Design und Architektur

Folgendes Klassendiagramm fasst unseren Datenentwurf zusammen:

BeamMan

Reservierung

von: longbis: long

Beamer

name: String

Page 15: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Architektur

Architektur hier Standard

…Folgendes Deploymentdiagramm stellt unsere

Client Server Architektur dar.

dekanatsserver

ReservierungsDatenbank

BeamManService

PC1

WebBrowser

Page 16: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Iterativ und testgetrieben

für nächste Anforderung anf {

bis Funktionalität ist gut abgedeckt {

entwerfe Beispielablauf ba {

GUI Pappmodell des Aufruf

GUI Pappmodell des Ergebnis

textuelle Beschreibung der Schritte

}

für wichtige Schritte im Beispielablauf

{

Beispielobjektdiagramm

}

Klassendiagramm anpassen

Architektur anpassen

Test implementieren

Funktionalität implementieren

Coverage prüfen

}

}

Anforderungsdefinition

Analyse

Design

Implementierung

Qualitäts Sicherung

Projekt Management

Page 17: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

JUnit Tests mit GWT

siehe Anleitung Vorlesungsseite

Szenario dient als Vorlage für die Tests

zuerst kleine Teilfunktionalitäten einzeln testen (und implementieren)

dann Gesamtszenario testen (und implementieren)

Test legt Beispieldaten an

Test führt Beispieloperation des Benutzers durch

Test prüft Reaktion des Systems im Vergleich mit Szenario

Page 18: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Implementierung

endlich

wie geübt

Page 19: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Coverage Prüfung

Manuell Szenarios durchgehen funktioniert dieser Schritt? Alternative Situation denkbar?

Prüfung der Implementierung mit z.B. ECL Emma Test durchlaufen alle Code Teile? Gut. Wenn nein, Implementierung behandelt Sonderfälle? Sonderfälle in Szenarios und Tests gießen

Page 20: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Aufwände

Zeitplan später

Stundenzettel:

arbeit an Use Case xSzenario y

PappmodellLeute, Stunden

TextszenarienLeute, Stunden

ObjektdiagrammeLeute, Stunden

Inhaltsverzeichnis

1. Einleitung2. Anforderungen & Analyse3. Design & Architektur4. Implementierung & Test5. Zeitplan und Aufwände

Page 21: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Meilensteine:

Mittwoch 12.11.: Anforderungsdefinition

Mittwoch 26.11.: Analyse & Design

Mittwoch 17.12.: Technische Dokumentation

Mittwoch 14.1.: 1. Messe (Präsentation)

Mittwoch 21.1.: Anforderungsanalyse Integrationsaufgabe

Mittwoch 28.1: Analyse + Design Integrationsaufgabe

Mittwoch 4.2.: Technische Dokumentation Integrationsaufgabe

Mittwoch 11.2.: 2. Messe (Abschlusspräsentation)

Page 22: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Deadline: Mittwoch 12. November

Anforderungsanalyse Dokument

Projekthandbuch mit: Pappmodellen, Textszenarios und Objektdiagrammen

für Großteil der Funktionalität Klassen- und Architekturdiagramm dazu Test Doku soweit vorhanden (JUnit Screen Dumps) Stundenzettel

Page 23: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Page 24: Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Tätigkeiten bei der Softwareentwicklung

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University