28.10.2014 Aufrufe

1. Übung zu Software Engineering

1. Übung zu Software Engineering

1. Übung zu Software Engineering

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>1.</strong> Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong><br />

WS 2009/2010<br />

Henning Heitkötter


Organisatorisches<br />

E-Mail: heitkoetter@wi.uni-muenster.de<br />

Telefon: 83 - 38 295<br />

Leonardo-Campus 3, Raum 332<br />

Übung (ungefähr) alle 2 Wochen<br />

Übungsgruppen mit höchstens 5 Teilnehmern<br />

Name, Matrikelnummer, E-Mail, Studiengang für jeden<br />

Teilnehmer<br />

Abgabe: Fach 143-146<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

1


Lastenheft „Google Maps“<br />

AUFGABE 1<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

2


Lastenheft<br />

Grobe Beschreibung des Produkts<br />

Anforderungen des Auftraggebers<br />

Struktur<br />

Zielbestimmung<br />

Anwendungsbereich/Zielgruppe<br />

Hauptfunktionen<br />

Wichtige Daten<br />

Leistungsanforderungen<br />

Qualitätsanforderungen<br />

…<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

3


Google Maps<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

4


Version Autor Datum Status Kommentar<br />

<strong>1.</strong>0 Heitkötter 30.10.2009 akzeptiert -<br />

<strong>1.</strong> Zielbestimmung<br />

Die Benutzer sollen in ihrem Browser Orte finden und in Karten<br />

navigieren können.<br />

Lastenheft I<br />

2. Produkteinsatz<br />

Das Produkt stellt relevante Informationen als Landkarten dar und<br />

ermöglicht die Suche in den Geoinformationen. Zielgruppe sind alle<br />

Benutzer mit einem schnellen Internet<strong>zu</strong>gang und einem modernen<br />

Browser.<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

5


Lastenheft II<br />

3. Produktfunktionen<br />

/LF10/ Anzeige von Straßenkarten<br />

/LF20/ Anzeige von Satellitenbildern<br />

/LF30/ Navigation in den Karten (Zoomen, Verschieben)<br />

/LF40/ Suche nach Orten<br />

/LF50/ Routenplanung<br />

4. Produktdaten<br />

/LD10/ Geodaten<br />

/LD20/ Satellitenbilder<br />

/LD30/ Verkehrsinformationen<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

6


Lastenheft III<br />

5. Leistungsanforderungen<br />

/LL10/<br />

/LL20/<br />

bis <strong>zu</strong> 10.000 Nutzer/Minute<br />

Bei guter Internetverbindung soll die Navigation flüssig<br />

ablaufen (Verzögerung < 0,5 s).<br />

6. Qualitätsanforderungen<br />

Funktionalität: sehr gut<br />

Zuverlässigkeit: gut<br />

Benutzbarkeit: sehr gut<br />

Effizienz: gut<br />

Änderbarkeit: normal<br />

Portierbarkeit: normal<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

7


FUNCTION-POINT-METHODE<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

8


Function-Point-Methode<br />

Analyseziel: Umfang der Anforderungen<br />

Daraus: Aufwand/Kosten schätzen<br />

Anwendersicht<br />

Grundlage: Lastenheft<br />

Unabhängig von Technologie, Implementierungsdetails<br />

Standardisiert im Counting Practices Manual (CPM)<br />

<strong>1.</strong> Identifizierung und Einstufung von<br />

a) Datenbeständen und<br />

b) Elementarprozessen<br />

2. Unbewertete Function Points zählen<br />

3. Allgemeine Einflussfaktoren bewerten<br />

4. Bewertete Function Points durch Gewichtung<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

9


Function-Point-Methode<br />

Datenbestände<br />

Intern (Datenbestände i.e.S.)<br />

Extern (Referenzdaten)<br />

Elementarprozesse<br />

Eingabe<br />

Ausgabe<br />

Abfrage<br />

<strong>1.</strong> Identifizieren<br />

2. Komplexität ermitteln (zwei Dimensionen)<br />

3. Function-Point-Beitrag bestimmen<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

10


Datenbestände<br />

interner Datenbestand (internal logical file; ILF)<br />

Logische Gruppe an Daten / Steuerinformationen ist für den<br />

Anwender sichtbar<br />

UND Daten werden über Elementarprozesse innerhalb der<br />

Anwendung gepflegt<br />

externer Datenbestand (external interface file; EIF)<br />

Gruppe an Daten / Steuerinformationen, für den Anwender sichtbar<br />

UND Daten werden von der Anwendung verwendet (von extern)<br />

UND Daten werden von der Anwendung nicht gepflegt<br />

UND Daten werden von einer anderen Anwendung als ILF gepflegt<br />

nur lesender Zugriff<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

11


Elementarprozesse<br />

Kleinste Aktivitätseinheit aus Anwendersicht<br />

Abgeschlossen und konsistenzerhaltend<br />

Datenverarbeitung<br />

Eingaben (external input; EI)<br />

Ausgaben (external output; EO)<br />

Abfragen (external inquiry; EQ)<br />

Unterscheidungsmerkmal Hauptzweck (primary intent)<br />

Daten gelangen in das System (EI)<br />

Daten verlassen das System (EO und EQ)<br />

Berechnungen, abgeleitete Daten, gleichzeitige Schreib<strong>zu</strong>griffe (EO)<br />

reine Präsentation (EQ)<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

12


Elementarprozesse - Eingaben<br />

pflegen einen ILF oder ändern das Systemverhalten<br />

Daten / Steuerinformationen gelangen von außen in das System<br />

UND Einzigartigkeit<br />

Verarbeitungslogik ist einzigartig gegenüber anderen Eingaben<br />

ODER es werden andere Datenfelder / Datenbestände verwendet als in<br />

anderen Eingaben<br />

verhindert mehrfaches Zählen identischer Eingaben<br />

Beispiel<br />

Dateneingabe über Formular<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

13


Elementarprozesse - Ausgaben<br />

präsentieren dem Anwender Informationen<br />

Daten / Steuerinformationen verlassen die Anwendung<br />

UND Einzigartigkeit (siehe Eingaben)<br />

UND Verarbeitungslogik ...<br />

enthält mind. eine Formel / Berechnung<br />

ODER erzeugt abgeleitete Daten<br />

ODER pflegt mind. einen ILF<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

14


Elementarprozesse - Abfragen<br />

präsentieren dem Anwender Informationen<br />

Daten / Steuerinformationen verlassen die Anwendung<br />

UND Einzigartigkeit (siehe Eingaben)<br />

UND Verarbeitungslogik ...<br />

bezieht Daten von einem ILF/EIF<br />

UND enthält keine Formeln / Berechnungen<br />

UND erzeugt keine abgeleiteten Daten<br />

UND pflegt keinen ILF<br />

Vereinfachte Ausgabe<br />

Keine berechneten oder abgeleiteten Daten<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

15


Komplexität<br />

Komplexität abhängig von zwei Merkmalen (3×3-Matrix)<br />

Datenbestände: #DET × #RET<br />

Elementarprozesse: #DET × #FTR<br />

DET = Data Element Type<br />

RET = Record Element Type<br />

FTR = File Type Referenced<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

16


Data Element Type<br />

Vom Anwender erkennbares Datenfeld<br />

Bei Datenbeständen<br />

Felder, die von Elementarprozessen der Anwendung gepflegt oder<br />

gelesen werden<br />

Bei Elementarprozessen<br />

Eingabe- und Ausgabefelder<br />

KEINE Felder, die nur intern erzeugt oder gelesen werden<br />

1 DET für die Möglichkeit, eine Aktion aus<strong>zu</strong>lösen<br />

1 DET für die Möglichkeit <strong>zu</strong>r Anwender-Benachrichtigung (Bestätigung,<br />

Fehlermeldung)<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

17


RETs und FTRs<br />

RETs (record element type) sind vom Benutzer<br />

erkennbare DET-Untergruppen in einem ILF / EIF<br />

Mitarbeiter an der Uni teilen sich in Professoren und Assistenten<br />

FTRs (file type referenced) sind die Datenbestände<br />

ILFs, die vom Elementarprozess gelesen / gepflegt werden<br />

EIFs, die vom Elementarprozess gelesen werden<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

18


Komplexitätsgrade<br />

ILF<br />

DETs<br />

RETs 1-19 20-50 >50<br />

1 einfach einfach mittel<br />

2-5 einfach mittel komplex<br />

>5 mittel komplex komplex<br />

EI<br />

DETs<br />

FTRs 1-4 5-15 >15<br />

0-1 einfach einfach mittel<br />

2 einfach mittel komplex<br />

>2 mittel komplex komplex<br />

EIF<br />

DETs<br />

RETs 1-19 20-50 >50<br />

1 einfach einfach mittel<br />

2-5 einfach mittel komplex<br />

>5 mittel komplex komplex<br />

EO/EQ<br />

DETs<br />

FTRs 1-5 6-19 >19<br />

0-1 einfach einfach mittel<br />

2-3 einfach mittel komplex<br />

>3 mittel komplex komplex<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

19


Gewichtung<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

20


Function-Point-Analyse<br />

AUFGABE 2<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

21


Umfragesystem<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

22


Lastenheft (Aus<strong>zu</strong>g)<br />

Produktfunktionen<br />

/LF10/ Anzeige aller existierenden Umfragen<br />

/LF20/ Erstellen neuer Umfragen<br />

/LF30/ Anzeige einzelner Umfragen (inkl. Ergebnis)<br />

/LF40/ Abstimmen inkl. Benutzerauthentifizierung<br />

Produktdaten<br />

/LD10/ Umfrage-Stammdaten<br />

/LD20/ Abstimmungsdaten<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

23


Aufgabe 2 - Datenbestände<br />

1 Datenbestand für die Umfrage-Stammdaten<br />

Typ: ILF<br />

4 DETs<br />

1 RET<br />

Titel<br />

Umfragetext<br />

Startdatum<br />

Enddatum<br />

keine Untergruppen erkennbar (als 1 RET <strong>zu</strong> zählen)<br />

niedrige Komplexität, d.h. 7 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

24


Aufgabe 2 - Datenbestände<br />

1 Datenbestand für die Benutzer<br />

Typ: EIF<br />

(Nur lesender) Zugriff auf die Daten eines externen Systems<br />

2 DETs<br />

1 RET<br />

E-Mail-Adresse<br />

Passwort<br />

keine Untergruppen erkennbar<br />

niedrige Komplexität, d.h. 5 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

25


Aufgabe 2 - Datenbestände<br />

1 Datenbestand für die Antworten<br />

Typ: ILF<br />

3 DETs<br />

1 RET<br />

Betroffene Umfrage<br />

Betroffener Benutzer<br />

Antwort (Ja oder Nein)<br />

keine Untergruppen erkennbar<br />

niedrige Komplexität, d.h. 7 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

26


Aufgabe 2 - Elementarprozesse<br />

Liste der Umfragen (/LF10/)<br />

Typ: EO<br />

Berechnung: Anzahl Umfragen<br />

2 DETs<br />

1 FTR<br />

Titel (wiederholt)<br />

Anzahl Umfragen<br />

Umfrage<br />

niedrige Komplexität, d.h. 4 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

27


Aufgabe 2 - Elementarprozesse<br />

Neue Umfrage erstellen (/LF20/)<br />

Typ: EI<br />

ILF (Umfrage) wird gepflegt<br />

5 DETs<br />

1 FTR<br />

Titel<br />

Text<br />

Enddatum<br />

“capability to send a system response message“ (Fehlermeldung)<br />

“ability to specify an action to be taken“ (Button)<br />

Umfrage<br />

einfache Komplexität, d.h. 3 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

28


Aufgabe 2 - Elementarprozesse<br />

Anzeige einer Umfrage (/LF30/)<br />

Typ: EO<br />

Berechnung der Stimmen für Ja/Nein, Anzahl Teilnehmer<br />

7 DETs<br />

2 FTR<br />

Titel, Text, Start, Ende<br />

#Ja, #Nein, #Teilnehmer<br />

Umfrage<br />

Antwort<br />

mittlere Komplexität, d.h. 5 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

29


Aufgabe 2 - Elementarprozesse<br />

Abstimmen (/LF40/)<br />

Typ: EI<br />

6 DET<br />

3 FTR<br />

ILF (Antwort) wird gepflegt<br />

Titel der Umfrage<br />

Antwort<br />

E-Mail, Passwort<br />

Button, Fehlermeldung<br />

Umfrage<br />

Antwort<br />

Benutzer<br />

Hohe Komplexität, d.h. 6 FPs<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

30


Aufgabe 2 - Function Point Analyse<br />

Kategorie Anzahl Klassifizierung Gewichtung S<br />

Datenbestände 2 einfach * 7 14<br />

(s. CPM 6-11ff) mittel * 10<br />

komplex * 15<br />

Referenzdaten 1 einfach * 5 5<br />

(s. CPM 6-11ff) mittel * 7<br />

komplex * 10<br />

Eingabedaten 1 einfach * 3 3<br />

(s. CPM 7-21ff) mittel * 4<br />

1 komplex * 6 6<br />

Abfragen einfach * 3<br />

(s. CPM 7-21ff) mittel * 4<br />

komplex * 6<br />

Ausgaben 1 einfach * 4 4<br />

(s. CPM 7-21ff) 1 mittel * 5 5<br />

komplex * 7<br />

Summe (E1) 37<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

31


Projektplanung, Klassen-, Sequenz-, Zustandsdiagramm<br />

2. ÜBUNGSZETTEL<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

32


Projektplanung<br />

MS Project<br />

OpenProj (http://openproj.org/)<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

33


UML-Werkzeug<br />

Visual Paradigm for UML<br />

http://www.visual-paradigm.com/product/vpuml/<br />

Community Edition<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

34


Aufgaben<br />

Aufgabe 3: Netzplantechnik<br />

Aufgabe 4: Klassen-, Sequenzdiagramm<br />

Aufgabe 5: Zustandsdiagramm (Harel-Automat)<br />

Fragen?<br />

Übung <strong>zu</strong> <strong>Software</strong> <strong>Engineering</strong> im WS 2009/2010<br />

35

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!