Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University...
-
Upload
hilda-abke -
Category
Documents
-
view
112 -
download
4
Transcript of Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University...
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Projektmanagement
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Design-/Architekturbeispiel:
CalenderView
Client ServerCommunication
RESTAPI
ReservationSystem
Persistency
ReservationForm
UserManagement
UserAdministration
BusinessRules
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
BÖSE
Dogma der 70er und 80er
Ein Baustein eine Verantwortliche
Gut definierte Schnittstellen
Bausteine parallel implementieren
Bausteine einzeln testen
(Schrittweise) Integration der Bausteine
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel UniversityBÖSE
Design-/Architekturbeispiel: Horizontale WPs
CalenderView
Client ServerCommunication
RESTAPI
ReservationSystem
Persistency
ReservationForm
UserManagement
UserAdministration
BusinessRules
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Iterative / Agile /XP Vorgehensweise
Eine Funktionalität eine Verantwortliche
keine zusätzlichen Testtreiber
Schnittstellendefinition bei der Entwicklung
Schnittstellenverantwortung beim Schnittstellennutzer
Funktionalitäten durchschneiden Bausteine (vertikal)
parallele Entwicklung an vielen Bausteinen Versionsverwaltung mit optimistischen Sperrkonzepten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Design-/Architekturbeispiel: Vertikale WPs
CalenderView
Client ServerCommunication
RESTAPI
ReservationSystem
Persistency
ReservationForm
UserManagement
UserAdministration
BusinessRules
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
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Projektmeilensteine (alt)
12.11.08: Anforderungsanalyse Dokument
26.11.08: Analyse + Design Dokument
16.12.08: An-/Abmeldefrist OKA (noch 3 Tage)
17.12.08: Technische Dokumentation
14.01.09: 1. Messe
21.01.09: Anforderungsanalyse Integrationsaufgabe
28.01.09: Analyse + Design Integrationsaufgabe
04.02.09: Technische Dokumentation Integrationsaufgabe
11.02.09: 2. Messe
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Projektmeilensteine (neu)
12.11.08: Anforderungsanalyse Dokument
26.11.08: Projekthandbuch Sprint 2
16.12.08: An-/Abmeldefrist OKA (noch 3 Tage)
17.12.08: Projekthandbuch Sprint 3
14.01.09: 1. Messe
21.01.09: Projekthandbuch Integrationsaufgabe Sprint 1
28.01.09: Projekthandbuch Integrationsaufgabe Sprint 2
04.02.09: Projekthandbuch Integrationsaufgabe Sprint 3
11.02.09: 2. Messe
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Story Card
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University