Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

29
Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008

Transcript of Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

Page 1: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

Philipp Ciechanowicz

1. Übung zu Software Engineering

WS 2007/2008

Page 2: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

2

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Organisatorisches

E-Mail: [email protected]

Telefon: 83 - 38 265

Leonardo-Campus 3, Raum 326

Übungsgruppen mit höchstens 5 Teilnehmern

[SE] als Teil des E-Mail Betreffsnicht: SE, Software Engineering, Blatt 01 etc.

Abgabe: EINE pdf-Datei, spätestens 12:00 Uhrnicht: xls, doc, rar oder zip

Lesebestätigungen werden ignoriert

Page 3: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

3

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Function-Point-Methode

Unterscheidung von Datenbeständen und Elementarprozessen

Datenbeständeintern

extern

ElementarprozesseEingabe

Ausgabe

Abfrage

Page 4: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

4

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Datenbestände

interner Datenbestand (interal logical file; ILF)Menge an Daten / Steuerinformationen ist für den Anwender sichtbar

UND Daten werden über Elementarprozesse gepflegt

externer Datenbestand (external interface file; EIF)Menge an Daten / Steuerinformationen ist für den Anwender sichtbar

UND Daten werden von der Anwendung verwendet

UND Daten werden von der Anwendung nicht gepflegt

UND Daten werden von einer anderen Anwendung als ILF gepflegtnur lesender Zugriff

Page 5: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

5

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Elementarprozesse

Funktionen, die dem Anwender für die Verarbeitung der Daten zur Verfügung stehen

Eingaben (external input; EI)

Ausgaben (external output; EO)

Abfragen (external queries; EQ)

Unterscheidungsmerkmal Hauptzweck (primary intent)Daten gelangen in das System (EI)

Daten verlassen das System (EO und EQ)Verarbeitungslogik (EO)

reine Präsentation (EQ)

Page 6: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

6

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Elementarprozesse - Eingaben

pflegen einen ILF oder ändern das SystemverhaltenDaten / Steuerinformationen gelangen von außen in das System

UND EinzigartigkeitVerarbeitungslogik ist einzigartig gegenüber anderen Eingaben

ODER es werden andere Datenfelder / Datenbestände verwendet als in anderen Eingaben

verhindert mehrfaches Zählen identischer Eingaben

Beispieleeingeben von Daten über die Tastatur oder CD/DVD

einlesen von Kartendaten bei einem EC-Automaten

Page 7: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

7

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Elementarprozesse - Ausgaben

präsentieren dem Anwender InformationenDaten / Steuerinformationen verlassen die Anwendung

UND Einzigartigkeit (siehe Eingaben)

UND Verarbeitungslogik ...enthält mind. eine Formel / Berechnung

ODER erzeugt abgeleitete Daten

ODER pflegt mind. einen ILF

ODER ändert das Systemverhalten

Abgrenzung zur Abfrage durch die VerarbeitungslogikAusgaben sind komplexere Abfragen

Page 8: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

8

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Elementarprozesse - Abfragen

präsentieren dem Anwender InformationenDaten / Steuerinformationen verlassen die Anwendung

UND Einzigartigkeit (siehe Eingaben)

UND Verarbeitungslogik ...bezieht Daten von einem ILF/EIF

UND enthält keine Formeln / Berechnungen

UND erzeugt keine abgeleiteten Daten

UND pflegt keinen ILF

UND ändert nicht das Systemverhalten

Abgrenzung zur Ausgabe durch die VerarbeitungslogikAbfragen sind einfache Ausgaben

Page 9: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

9

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

DETs, RETs und FTRs

DETs (data element type) sind vom Benutzer erkennbare Felder

Eingabefelder, Checkboxen, Optionsfelder, Schaltflächen, ...

FTRs (file type referenced)ILFs, die von Elementarprozessen gelesen / gepflegt werden

EIFs, die von Elementarprozessen gelesen werden

RETs (record element type) sind vom Benutzer erkennbare DET-Untergruppen in einem ILF / EIF

Mitarbeiter an der Uni teilen sich in Professoren und Assistenten

Page 10: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

10

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Komplexitätsgrade

ILF DETs

RETs

1-19 20-50 >50

1 einfach

einfach

mittel

2-5 einfach

mittel komplex

>5 mittel komplex

komplex

EIF DETs

RETs 1-19 20-50 >50

1 einfach

einfach

mittel

2-5 einfach

mittel komplex

>5 mittel komplex

komplex

EI DETs

FTRs

1-4 5-15 >15

0-1 einfach

einfach

mittel

2 einfach

mittel komplex

>2 mittel komplex

komplex

EO/EQ

DETs

FTRs 1-5 6-19 >19

0-1 einfach

einfach

mittel

2-3 einfach

mittel komplex

>3 mittel komplex

komplex

Page 11: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

11

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1

Page 12: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

12

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1a

a) Erstellen Sie ein Lastenheft für die Entwicklung der Anwendung mit der oben beschriebenen Funktionalität. Gehen Sie dabei von folgenden Annahmen aus:

Es werden lediglich die vom Benutzer eingegebenen Daten gespeichert, nicht die vom System berechneten Function Points (ausgegraute Felder).

Es können lediglich bereits gespeicherte Analysen gelöscht werden. Um eine gespeicherte Analyse zu löschen, muss diese zunächst angezeigt werden.

Der Name einer Analyse identifiziert diese eindeutig.

Page 13: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

13

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1a

ZielbestimmungStudenten sollen bei der Durchführung der Function Point Analyse im Rahmen der Übung zu Software Engineering unterstützt werden.

ProdukteinsatzDas Produkt dient zur Durchführung und Verwaltung von Function Point Analysen. Zielgruppe sind sämtliche an der Übung teilnehmenden Studenten.

Version

Autor Datum Status Kommentar

1.0 Ciechanowicz

24.11.2007

akzeptiert

-

Page 14: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

14

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1a

Produktfunktionen/LF10/ durchführen von Function Point Analysen

/LF20/ speichern von Function Point Analysen

/LF30/ suchen von gespeicherten Function Point Analysen

/LF40/ anzeigen von gespeicherten Function Point Analysen

/LF50/ löschen von gespeicherten Function Point Analysen

Produktdaten/LD10/ speichern von relevante Daten für eine Function Point Analyse

Page 15: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

15

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1a

Produktleistungen/LL10/ alle Funktionen sollen höchstens 2 Sekunde benötigen

/LL20/ es sollen bis zu 1.000 Analysen gespeichert werden

QualitätsanforderungenFunktionalität: normal

Zuverlässigkeit: normal

Benutzbarkeit: gut

Effizienz: normal

Änderbarkeit: nicht relevant

Portierbarkeit: nicht relevant

Page 16: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

16

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b

b) Schätzen Sie anhand der GUI-Komponenten der Anwendung und des von Ihnen erstellten Lastenhefts den Aufwand für die Entwicklung der Anwendung nach der aus der Vorlesung bekannten Funtion Point Methode. Ein Excel-Spreadsheet zur Berechnung der Function Points steht auf der Übungsseite zur Verfügung. Erläutern Sie zusätzlich textuell, wie Sie zu den jeweiligen Bewertungen gekommen sind. Orientieren Sie sich bei der Bearbeitung der Aufgabe an dem auf der Vorlesungsseite bereitgestellten Function Point Counting Practices Manual (CPM).

Page 17: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

17

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Datenbestände

1 Datenbestand für die Function Point AnalyseTyp: ILF

25 DETs1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren

siehe Aufgabenstellung: Es werden lediglich die vom Benutzer eingegebenen Daten gespeichert, nicht die vom System berechneten Function Points (ausgegraute Felder).

1 RETkeine Untergruppen erkennbar

niedrige Komplexität, d.h. 7 FPs

Page 18: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

18

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

/LF10/ BerechnenTyp: EO

es wird noch nichts gespeichert

33 DETs5 Anzahl + 5 Komplexität + 5 unbewertete Function Points + 1 Summe (E1) + 14 Einflussfaktoren + 1 Summen (E2) + 1 bewertete Function Points + 1 Schaltfläche

1 FTRkeine Untergruppen erkennbar

mittlere Komplexität, d.h. 5 FPs

Page 19: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

19

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

/LF20/ SpeichernTyp: EI

ILF wird gepflegt

26 DETs1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche

1 FTRkeine Untergruppen erkennbar

mittlere Komplexität, d.h. 4 FPs

Page 20: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

20

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

/LF30/ SuchenTyp: EQ

Informationen werden präsentiert

26 DETs1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche

Einzigartigkeit; „Berechnen“ als Elementarprozess schon erfasst

1 FTRkeine Untergruppen erkennbar

mittlere Komplexität, d.h. 4 FPs

Page 21: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

21

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

/LF40/ NavigationTyp: EQ

Informationen werden präsentiert

26 DET1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche

Einzigartigkeit; „Berechnen“ als Elementarprozess schon erfasst

1 FTRkeine Untergruppen erkennbar

mittlere Komplexität, d.h. 4 FPs

Page 22: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

22

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

/LF50/ LöschenTyp: EI

ILF wird gepflegt

keine Daten, aber Steuerinformation

2 DETs1 Name + 1 Schaltfläche

siehe Aufgabenstellung: Der Name einer Analyse identifiziert diese eindeutig.

1 FTRkeine Untergruppen erkennbar

niedrige Komplexität, d.h. 3 FPs

Page 23: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

23

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Einflussfaktoren

1 Datenkommunikation3 Punkte (die Anwendung beinhaltet Online-Datenerfassung oder ein Frontend)

Online-Erfassung meint die sofortige Speicherung von Daten in ILF oder EIF im Gegensatz zum Batch-Processing

2 verteilte Verarbeitung0 Punkte (Daten werden nicht an eine andere Komponente des Systems übertragen oder dort verarbeitet)

3 Leistungsanforderungen1 Punkt (Leistungsanforderungen wurden definiert, erfordern aber keine besonderen Maßnahmen)

Page 24: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

24

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Einflussfaktoren

4 Ressourcennutzung1 Punkt (Es gibt Beschränkungen, die aber keine besonderen Maßnahmen erfordern)

5 Transaktionsrate0 Punkte (es wird keine Hauptbelastungszeit erwartet)

6 Online-Schnittstelle5 Punkte (mehr als 30% der Elementarprozesse sind interaktiv)

Interaktivität meint, dass die eingegebenen Daten ohne Verzögerung verarbeitet und in interne Datenbestände abgelegt werden

2 von 5 Elementarprozessen interaktiv sind (speichern und löschen)

Page 25: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

25

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

7 Anwenderfreundlichkeit2 Punkte (vorwärts und rückwärts blättern, Listboxen, intensive Nutzung von grafischen Anzeigeelementen, Mausunterstützung)

8 Onlineverarbeitung1 Punkt (Onlineverarbeitung von 1-3 Datenbeständen)

9 komplexe Verarbeitung0 Punkte (keines der Merkmale trifft zu)

10 Wiederverwendbarkeit0 Punkte (kein wiederverwendbarer Quellcode)

11 Migrations- und Installationshilfen0 Punkte (keine besonderen Anforderungen, keine Installationshilfen)

Page 26: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

26

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Elementarprozesse

12 Betriebshilfen0 Punkte (keine besonderen Anforderungen über normale Datensicherung hinaus)

13 Mehrfachinstallation1 Punkte (Mehrfachinstallation in ähnlichen Betriebsumgebungen ist vorgesehen)

14 Änderungsfreundlichkeit1 Punkt (ein Punkt; es können einfache Abfragen verarbeitet werden)

Page 27: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

27

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Aufgabe 1b - Function Point Analyse

Page 28: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

28

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Literatur

Benjamin Poensgen, Bertram Bock: Function-Point-Analyse. Ein Praxishandbuch. dpunkt.verlag 2005

Manfred Bundschuh, Axel Fabry: Aufwandschätzung von IT-Projekten. mitp 2004

Page 29: Philipp Ciechanowicz 1. Übung zu Software Engineering WS 2007/2008.

29

Übung zu Software Engineering im WS 2007/2008

Philipp Ciechanowicz

Microsoft Project

Anlegen von VorgängenAnsicht Balkendiagramm (Gantt)

Verknüpfen von Vorgängen über die Spalte „Vorgänger“

Anzeigen von zusätzlichen Spalten über Einfügen Spalte... oder Rechtsklick auf eine bestehende Spalte

Fixkosten „feste Kosten“

Gesamtkosten „Kosten“

Anlegen von Ressourcen (z.B. Mitarbeitern)Ansicht Ressource: Tabelle

Name, Kosten, Überstundensatz etc.