290 likes | 386 Views
1. Übung zu Software Engineering. WS 2007/2008. Organisatorisches. E-Mail: philipp.ciechanowicz@wi.uni-muenster.de Telefon: 83 - 38 265 Leonardo-Campus 3, Raum 326 Übungsgruppen mit höchstens 5 Teilnehmern [SE] als Teil des E-Mail Betreffs nicht: SE, Software Engineering, Blatt 01 etc.
E N D
1. Übung zu Software Engineering WS 2007/2008
Organisatorisches • E-Mail: philipp.ciechanowicz@wi.uni-muenster.de • Telefon: 83 - 38 265 • Leonardo-Campus 3, Raum 326 • Übungsgruppen mit höchstens 5 Teilnehmern • [SE] als Teil des E-Mail Betreffs • nicht: SE, Software Engineering, Blatt 01 etc. • Abgabe: EINE pdf-Datei, spätestens 12:00 Uhr • nicht: xls, doc, rar oder zip • Lesebestätigungen werden ignoriert
Function-Point-Methode • Unterscheidung von Datenbeständen und Elementarprozessen • Datenbestände • intern • extern • Elementarprozesse • Eingabe • Ausgabe • Abfrage
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 gepflegt • nur lesender Zugriff
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)
Elementarprozesse - Eingaben • pflegen einen ILF oder ändern das Systemverhalten • Daten / Steuerinformationen gelangen von außen in das System • UND Einzigartigkeit • Verarbeitungslogik ist einzigartig gegenüber anderen Eingaben • ODER es werden andere Datenfelder / Datenbestände verwendet als in anderen Eingaben • verhindert mehrfaches Zählen identischer Eingaben • Beispiele • eingeben von Daten über die Tastatur oder CD/DVD • einlesen von Kartendaten bei einem EC-Automaten
Elementarprozesse - Ausgaben • präsentieren dem Anwender Informationen • Daten / 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 Verarbeitungslogik • Ausgaben sind komplexere Abfragen
Elementarprozesse - Abfragen • präsentieren dem Anwender Informationen • Daten / 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 Verarbeitungslogik • Abfragen sind einfache Ausgaben
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
Aufgabe 1a • 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.
Aufgabe 1a • Zielbestimmung • Studenten sollen bei der Durchführung der Function Point Analyse im Rahmen der Übung zu Software Engineering unterstützt werden. • Produkteinsatz • Das Produkt dient zur Durchführung und Verwaltung von Function Point Analysen. Zielgruppe sind sämtliche an der Übung teilnehmenden Studenten.
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
Aufgabe 1a • Produktleistungen • /LL10/ alle Funktionen sollen höchstens 2 Sekunde benötigen • /LL20/ es sollen bis zu 1.000 Analysen gespeichert werden • Qualitätsanforderungen • Funktionalität: normal • Zuverlässigkeit: normal • Benutzbarkeit: gut • Effizienz: normal • Änderbarkeit: nicht relevant • Portierbarkeit: nicht relevant
Aufgabe 1b • 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).
Aufgabe 1b - Datenbestände • 1 Datenbestand für die Function Point Analyse • Typ: ILF • 25 DETs • 1 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 RET • keine Untergruppen erkennbar • niedrige Komplexität, d.h. 7 FPs
Aufgabe 1b - Elementarprozesse • /LF10/ Berechnen • Typ: EO • es wird noch nichts gespeichert • 33 DETs • 5 Anzahl + 5 Komplexität + 5 unbewertete Function Points + 1 Summe (E1) + 14 Einflussfaktoren + 1 Summen (E2) + 1 bewertete Function Points + 1 Schaltfläche • 1 FTR • keine Untergruppen erkennbar • mittlere Komplexität, d.h. 5 FPs
Aufgabe 1b - Elementarprozesse • /LF20/ Speichern • Typ: EI • ILF wird gepflegt • 26 DETs • 1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche • 1 FTR • keine Untergruppen erkennbar • mittlere Komplexität, d.h. 4 FPs
Aufgabe 1b - Elementarprozesse • /LF30/ Suchen • Typ: EQ • Informationen werden präsentiert • 26 DETs • 1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche • Einzigartigkeit; „Berechnen“ als Elementarprozess schon erfasst • 1 FTR • keine Untergruppen erkennbar • mittlere Komplexität, d.h. 4 FPs
Aufgabe 1b - Elementarprozesse • /LF40/ Navigation • Typ: EQ • Informationen werden präsentiert • 26 DET • 1 Name + 5 Anzahl + 5 Komplexität + 14 Einflussfaktoren + 1 Schaltfläche • Einzigartigkeit; „Berechnen“ als Elementarprozess schon erfasst • 1 FTR • keine Untergruppen erkennbar • mittlere Komplexität, d.h. 4 FPs
Aufgabe 1b - Elementarprozesse • /LF50/ Löschen • Typ: EI • ILF wird gepflegt • keine Daten, aber Steuerinformation • 2 DETs • 1 Name + 1 Schaltfläche • siehe Aufgabenstellung: Der Name einer Analyse identifiziert diese eindeutig. • 1 FTR • keine Untergruppen erkennbar • niedrige Komplexität, d.h. 3 FPs
Aufgabe 1b - Einflussfaktoren • 1 Datenkommunikation • 3 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 Verarbeitung • 0 Punkte (Daten werden nicht an eine andere Komponente des Systems übertragen oder dort verarbeitet) • 3 Leistungsanforderungen • 1 Punkt (Leistungsanforderungen wurden definiert, erfordern aber keine besonderen Maßnahmen)
Aufgabe 1b - Einflussfaktoren • 4 Ressourcennutzung • 1 Punkt (Es gibt Beschränkungen, die aber keine besonderen Maßnahmen erfordern) • 5 Transaktionsrate • 0 Punkte (es wird keine Hauptbelastungszeit erwartet) • 6 Online-Schnittstelle • 5 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)
Aufgabe 1b - Elementarprozesse • 7 Anwenderfreundlichkeit • 2 Punkte (vorwärts und rückwärts blättern, Listboxen, intensive Nutzung von grafischen Anzeigeelementen, Mausunterstützung) • 8 Onlineverarbeitung • 1 Punkt (Onlineverarbeitung von 1-3 Datenbeständen) • 9 komplexe Verarbeitung • 0 Punkte (keines der Merkmale trifft zu) • 10 Wiederverwendbarkeit • 0 Punkte (kein wiederverwendbarer Quellcode) • 11 Migrations- und Installationshilfen • 0 Punkte (keine besonderen Anforderungen, keine Installationshilfen)
Aufgabe 1b - Elementarprozesse • 12 Betriebshilfen • 0 Punkte (keine besonderen Anforderungen über normale Datensicherung hinaus) • 13 Mehrfachinstallation • 1 Punkte (Mehrfachinstallation in ähnlichen Betriebsumgebungen ist vorgesehen) • 14 Änderungsfreundlichkeit • 1 Punkt (ein Punkt; es können einfache Abfragen verarbeitet werden)
Literatur • Benjamin Poensgen, Bertram Bock: Function-Point-Analyse. Ein Praxishandbuch. dpunkt.verlag 2005 • Manfred Bundschuh, Axel Fabry: Aufwandschätzung von IT-Projekten. mitp 2004
Microsoft Project • Anlegen von Vorgängen • Ansicht 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.