Upload
faramund-langsam
View
104
Download
0
Embed Size (px)
Citation preview
Fachgebiet Software Engineering Übersicht © 11.04.23 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
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
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
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
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
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
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
Implementierung
endlich
wie geübt
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
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)
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
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University