4. Übung zu Software Engineering

Ähnliche Dokumente
Übungen Softwaretechnik I

2. Übung zu Software Engineering

Phasenmodell. Problem stellung. Neue Anforderungen. Benutzerwünsche. Anforderungs analyse und - definition Systemmodell. Betrieb.

UML -Klassendiagramme

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Aufgabe 3 Erstellt am: Softwaretechnik Praktikum SS06 Verantwortliche: Irina Justus

Unified Modeling Language 2

Pflichtenheft zum erweiterten UML-Tool

Ein Beispiel-Pflichtenheft

PRÜFUNG. Grundlagen der Softwaretechnik

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Pflichtenheft Inhaltsverzeichnis. 1 Zielbestimmung Musskriterien Wunschkriterien Abgrenzungskriterien...

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

SOFTWAREPROJEKT (WI) Anforderungsanalyse. Projektveranstaltung im Wintersemester 2012/13 FG System- und Softwareengineering Dr.-Ing.

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

CAE Grundlagen. Prof. Metzler 1

Software- und Systementwicklung

UML 2.0 Das umfassende Handbuch

Teil II: OOP und JAVA (Vorlesung 9)

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Vorlesung Programmieren

Objektorientiertes Design

Das umfassende Handbuch

Unified Modelling Language

Pflichtenheft Projekt Rollercoaster. Projektgruppe: Gruppenname Phasenverantwortlich: Müller-Langowski 15. April 2002

Pflichtenheft zum UML-Tool des Programmierpraktikums

Einführung in die objektorientierte Programmierung

Software Engineering in der Praxis

Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme

Unified Modeling Language (UML)

Lastenheft Gruppe HK-03 erstellt am: Lastenheft

Vorlesung Informationssysteme

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

UML. Weiteres Vorgehen im Projekt

Pflichtenheft Projektarbeit 2008 / 2009

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

Marc Kandler

1. Übung Softwaretechnik - Planungsphase -

Klausur "OOAD" im SS Name, Vorname: Matrikel-Nr:

Von der UML nach C++

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Vorlesung Software-Engineering I

Softwaretechnik 2015/2016

SOFTWARE ENGINEERING (SWE) - VORLAGEN

Pflichtenheft. Software Engineering I WS 2011/2012. Dr.-Ing. Ina Schaefer 1. Software Systems Engineering TU Braunschweig

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben?

Assoziationen in Java

Quelle:

SOFTWARETECHNIK (FB MN) 1. PRAKTIKUM Diplom 4 (2430) Sommersemester FACHBEREICH INFORMATIK Michael Guist / Urs Andelfinger

Informatik IIa: Modellierung

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur

Beziehungen zwischen Objekten

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

Begriffe 1 (Wiederholung)

Pflichtenheft. Software für Ansteuerung eines Moving-Heads mittels PCI-Card DMX512b

OO-Design. Klausur FHF * WI1 / WI2 * SS Name:.../ Semester:...

Anwendungsfalldiagramm UseCaseDiagramm

Bitte beachten: Die Vorschläge sind keine Musterlösung!

Analyse und Design mit U ML 2.3

Analyse und Design mituml2.1

2. Der Software-Entwicklungszyklus

Aufgabe S1: Einmal quer durch s Skript

Modellierungstipps für die Anwendungsfallmodellierung

Sequenzdiagramme. Lebenslinie. Kathrin Gaißer, Jörg Depner Didaktik der Informatik

Pflichtenheft Projekt Yellowstone

Analyse und Design mituml2

NACHRICHTENTECHNISCHER SYSTEME

OOSE11 OOA: Klassen- und Objektdiagramme

Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Klausur am

Klausur. Softwareentwurf. 04. Februar 2013 Bearbeitungszeit: 120 Minuten

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Übungsaufgaben Softwaretechnologie

Automatischer Rasenmäher

UML (Unified Modelling Language) von Christian Bartl

Informatik IIa: Modellierung

Einführung in die Programmierung

PRÜFUNG. Grundlagen der Softwaretechnik

2. Tutorium zu Softwaretechnik I

Probeklausur 2. Name: Vorname: Matrikelnr.: Datum:

Objektorientiertes Programmieren

Kurzeinführung in UML

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten

Pflichtenheft. Praktikumsgruppe 11

Klassendiagramm im Rahmen der objekt-orientierten Analyse

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Aktivitätsdiagramm. 1 b b,c a,d b,d b,d 2 a,b,d a,d a,c a,b,c b,c 3 a c,d a,b a,d a,b 4 c,d c b,c a,d d 5 c,d a,c a,b d c

Informatik IIa: Modellierung

Software Engineering in der Praxis

Techniken der Projektentwicklungen

ANWENDUNGSFALLDIAGRAMM:

Transkript:

4. Übung zu Software Engineering WS 2007/2008

Aufgabe 8 Erstellen Sie für den aus Aufgabe 1 bekannten Function-Point-Kalkulator ein Pflichtenheft. Bitte begrenzen Sie dessen Umfang auf maximal 2 DIN A4 Seiten. 1

Aufgabe 8 Definitionsphase Eingabe (aus der Planungsphase): vage, unvollständige und inkonsistente Anforderungen (Pflichtenheft) Ausgabe (der Definitionsphase): vollständige, konsistente, eindeutige und erfüllbare Anforderungen erstellte Dokumente: Pflichtenheft, Produktmodell, GUI-Modell Pflichtenheft fasst fachliche und nicht-formalisierbaren Anforderungen zusammen beschreibt was und nicht wie, d.h. keine unnötigen Einschränkungen legt Entwicklungsprioritäten aus Auftraggebersicht fest kann aus dem Lastenheft entwickelt werden, aber viel detaillierter soll als Basis eines juristischen Vertrags dienen können, anhand dessen das fertige Produkt abgenommen werden kann 2

Aufgabe 8 Zielbestimmungen Musskriterien, Wünsche, Abgrenzungen Produkteinsatz Zielgruppen, Betriebsbedingungen Produkt-Umgebung Software, Hardware, Schnittstellen Produktfunktionen Produktdaten Leistungsanforderungen Antwortzeit, Platzbedarf, Genauigkeit Benutzeroberfläche Qualitätsanforderungen Testfälle Entwicklungsumgebung Software, Hardware, Schnittstellen Ergänzungen Index, Glossar 3

Aufgabe 9 Ein fiktives Multimedia-Mobiltelefon stellt dem Benutzer die gängige Funktionalität zur Verfügung: Anrufe tätigen, Nachrichten verschicken, Fotos aufnehmen, Musik hören sowie ein Adressbuch pflegen. Neben dem Versenden von SMS unterstützt das Telefon auch das Versenden von MMS, wobei der Benutzer hier zunächst ein Foto bzw. ein Video aufnehmen muss. Anrufe können ausschließlich zu Kontakten erfolgen, die vorher im Adressbuch angelegt wurden. Angelegte Kontakte können selbstverständlich bearbeitet werden, außerdem ist es möglich, nach Kontakten zu suchen. Erstellen Sie für das obige Szenario ein Anwendungsfalldiagramm und überlegen Sie, an welchen Stellen <<include>>- und <<extend>>-beziehungen sinnvoll eingesetzt werden können. 4

Aufgabe 9 5

Aufgabe 9 Anwendungsfalldiagramme bilden die aus Benutzersicht verwendbaren Funktionen ab <<include>> bzw. <<use>> extrahiert gemeinsame Verhaltensbestandteile zeigt vom benutzenden zum benutzten Anwendungsfall bildt keine Bedingungen ab Kontakt kann nur angerufen werden, wenn er vorher angelegt wurde <<extend>> Normalfall-Sonderfall-Beziehung zeigt vom Sonderfall zum Normalfall <<include>>-beziehungen zu Normalfällen beinhalten auch sämtliche Sonderfälle MMS verschicken beinhaltet fotografieren und Video aufnehmen 6

Aufgabe 10 Erstellen Sie ein Klassendiagramm aus der Spezifikationsperspektive, dass das UML Klassendiagramm modelliert, d.h. ein Meta-Modell für UML Klassendiagramme. Modellieren Sie dabei ausschließlich die folgenden Sachverhalte: Klassen besitzen Attributen und Methoden. Klassen können über Assoziationen miteinander verknüpft werden. Klassen können über eine Vererbungshierarchie miteinander in Beziehung stehen. Neben Assoziationen können Klassen auch durch Aggregationen und Kompositionen miteinander verknüpft werden. 7

Aufgabe 10 8

Aufgabe 10 Klassen besitzen Attribute und Methoden Klassen Klasse, Attribute, Methode Attribut und Methode als Teil (Komposition) von Klasse Klassen können über Assoziationen miteinander verknüpft werden Klasse Assoziation zwei Assoziationen zwischen Klasse und Assoziation für Anfang und Ende Klassen können über eine Vererbungshierarchie miteinander in Beziehung stehen Autoassoziation von Klasse Neben Assoziationen können Klassen auch durch Aggregationen und Kompositionen miteinander verknüpft werden Klassen Aggregation und Komposition Aggregation und Komposition als spezielle Assoziation 9

Aufgabe 10 - Alternative 10

Aufgabe 10 - Alternative abstrakte Oberklasse Beziehung Unterklassen Vererbung und Assoziation, wobei letztere wiederum die Unterklassen Aggregation und Komposition besitzt sachlich falsch: Unterklassen Assoziation, Aggregation und Komposition, da letztere spezielle Assoziationen sind Assoziation zwischen Klasse und Beziehung und nicht zwischen Klasse und allen Unterklassen von Beziehung nur eine Assoziation zwischen Klasse und Beziehung mit Kardinalität 2 kleiner Nachteil: eingeschränkte Lesbarkeit 11

Aufgabe 11 Betrachten Sie das unten dargestellte Klassendiagramm, das für ein (vereinfachtes) Kursbuchungssystem erstellt wurde. Erzeugen Sie je ein Sequenzdiagramm, das einen der folgenden Abläufe nachbildet: Der Veranstalter erzeugt einen Kurs mit dem Namen Programmieren mit Cobol. Ein Teilnehmer meldet sich für den obigen Kurs an. Der Kurs wird vom Veranstalter gelöscht, da sich nur ein Interessent gefunden hat. Achten Sie bei der Modellierung darauf, dass die Klasse Kurs sowohl den Veranstalter als auch sämtliche Teilnehmer über relevante Kursänderungen benachrichtigt, d.h. ob sich ein neuer Teilnehmer angemeldet hat, der Kurs erzeugt oder gelöscht wurde. Benutzen Sie für die Lösung dieser Aufgabe ausschließlich Methoden, die in den Klassen zur Verfügung stehen. 12

Aufgabe 11 13

Aufgabe 11 Der Veranstalter erzeugt einen Kurs mit dem Namen Programmieren mit Cobol 14

Aufgabe 11 Ein Teilnehmer meldet sich für den obigen Kurs an 15

Aufgabe 11 Der Kurs wird vom Veranstalter gelöscht, da sich nur ein Interessent gefunden hat 16

Aufgabe 11 Sequenzdiagramm Objekte mit Namen versehen k: Kurs, t: Teilnehmer, v: Veranstalter, kbs: Kursbuchungssystem Methodensignaturen einhalten Argumente spezifizieren kein return-wert, wo keiner ist Navigationsrichtung beachten Lebenslinie zeigt an, dass ein Objekt erzeugt wurde erzeugte Objekte mit einem Pfeil auf den Namenskasten markieren gelöschte Objekte mit einem Kreuz auf der Lebenslinie markieren 17

Der PI-Lehrstuhl wünscht frohe Weihnachten und einen guten Rutsch ins neue Jahr! 18