Kapitel 3: Statische Analyse mit FUSION

Größe: px
Ab Seite anzeigen:

Download "Kapitel 3: Statische Analyse mit FUSION"

Transkript

1 Die erste Phase Kapitel 3: Statische Analyse mit FUSION SoPra 2008 Kap. 3: Statische Analyse mit FUSION (1/44)

2 Kapitel 3.1: Anforderungsdokument Vorgabe: Informelle Anforderungen (Requirements): Lastenheft (Kundenwünsche) Pflichtenheft (Verhandlungsergebnis, präzisiert Lastenheft) Inhalt: typischerweise umgangssprachlich gegeben fachchinesisch der Anwendung ideal: Beschreibung der Anforderungen (Was ist das Problem, das gelöst werden soll?) oft: Lösungsansätze oder -vorgaben für Teile des Systems manchmal auch: Implementierungsdetails häufig von mehreren Personen erstellt keine völlig einheitlichen Begriffe SoPra 2008 Kap. 3.1: Statische Analyse mit FUSION Anforderungsdokument (2/44)

3 Beispiel: Buchungssystem Allgemeines 1. Buchungssystem soll die Belegung von Räumen in einer Firma (oder der Uni) verwalten. 2. Gegeben ist eine Reihe von Gebäuden mit verschiedenartigen Räumen (Seminarräume, Besprechungsräume, Hörsäle etc.). 3. Räume unterscheiden sich nach Kapazität und Inventar (Beamer/Projektor/Tafel). 4. Belegungsplan der Räume wird verwaltet. (Welcher Raum ist wann von wem für welche Veranstaltung belegt?) SoPra 2008 Kap. 3.1: Statische Analyse mit FUSION Anforderungsdokument (3/44)

4 Beispiel: Buchungssystem Buchungen 1. Benutzer des Systems legt eine Buchung pro Veranstaltung an. 2. Buchungen bestehen aus einem oder mehreren Terminen, die je einen Raum zu einem festen Zeitpunkt für eine gewisse Dauer belegen. 3. Eine Buchung wird angelegt als Einzelbuchung: genau ein Raum wird zu einem Termin belegt periodische Buchung: regelmäßige Termine (jede Woche) Mehrfachbuchung: Mehrere Räume zu einem Termin (für Großveranstaltung, Tutorien) 4. Es soll möglich sein, ganze Buchungen oder auch nur einzelne Termine zu ändern (Zeit/Ort verlegen, streichen, erweitern etc.). 5. Der Benutzer wird über die erfolgten Buchungen informiert. SoPra 2008 Kap. 3.1: Statische Analyse mit FUSION Anforderungsdokument (4/44)

5 Beispiel: Buchungssystem Rechte 1. Das System ist ein Einzelplatzsystem (keine parallelen Clients). 2. Es gibt aber verschiedene Benutzer, die sich mit Passwort anmelden. 3. Benutzer können nur eigene Buchungen anlegen/ändern/löschen. 4. Benutzer können nur zukünftige Termine ändern. 5. Es gibt einen Administrator, der alle Buchungen ändern darf. SoPra 2008 Kap. 3.1: Statische Analyse mit FUSION Anforderungsdokument (5/44)

6 Beispiel: Buchungssystem Anlegen von Buchungen 1. Beim Anlegen (oder auch Ändern) einer Buchung gibt der Benutzer einen Wunsch ein, wie die Buchung aussehen soll: welcher Zeitraum welche Dauer welche Kapazität und Mindestausstattung welcher Raum und welches Gebäude (meist egal) 2. Das System macht Vorschläge, z.b. Raum 1005 ist von 10:00-15:00 Uhr für eine Stunde frei 3. Benutzer wählt dann die konkrete Stunde SoPra 2008 Kap. 3.1: Statische Analyse mit FUSION Anforderungsdokument (6/44)

7 Kapitel 3.2: Analyse mit FUSION Ziel und Ergebnisse Ziel: Präzisierung des Problems und der Lösungsanforderungen Vollständigkeit der Anforderungen Eindeutigkeit der Begriffsbildungen Widerspruchsfreiheit der Anforderungen Festlegung, was als (Software-)System realisiert wird Ergebnis: Semiformale Modelle semiformal = eindeutige Syntax, keine formalisierte Semantik typisch: Diagrammhafte Darstellungen von Objekten, Beziehungen, Abläufen Methoden unterscheiden sich in Art und Reihenfolge der Modelle SoPra 2008 Kap. 3.2: Statische Analyse mit FUSION Analyse mit FUSION (7/44)

8 Analyse mit FUSION Generelles Vorgehen in 5 Schritten (1) Statische Analyse 1. Entwicklung des Objektmodells (object model): Was sind die relevanten Begriffe für das Problem? In welchen Beziehungen stehen sie? Was liegt innerhalb/außerhalb des Systems? Dynamische Analyse 2. Entwicklung des Interaktionsmodells (interaction model): Wie wird mit dem System kommuniziert? Was sind typische Abläufe (Szenarios)? Was sind die Systemoperationen? SoPra 2008 Kap. 3.2: Statische Analyse mit FUSION Analyse mit FUSION (8/44)

9 Analyse mit FUSION Generelles Vorgehen in 5 Schritten (2) 3. Entwicklung des Operationsmodells (operation model) Deklarative Beschreibung des Verhaltens der Systemoperationen. 4. Entwicklung der Lebenszyklen (life cycle model) Was für Abläufe sind möglich? In welcher Reihenfolge werden Systemoperationen verwendet? In FUSION werden interaction model, operation model und life cycle model zusammen als interface model bezeichnet. 5. Abgleich der 4 Modelle Parallel dazu: Anlegen eines Glossars (data dictionary). SoPra 2008 Kap. 3.2: Statische Analyse mit FUSION Analyse mit FUSION (9/44)

10 Kapitel 3.3: Das Objektmodell Objektmodell besteht aus Klassen (classes) mit Attributen (attributes) und Assoziationen (associations) zwischen den Klassen Klassen (Name oben) werden als Rechtecke notiert, Attribute in der unteren Hälfte Assoziationen werden als Kanten notiert, Angaben zur Kardinalität an den Kanten Gebäude Name enthält 1 * Raum Sitzplätze hatbeamer SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (10/44)

11 Analyse mit FUSION Das Objektmodell: UML Klassendiagramme Vorgehen 1. Bestimmung der Klassen 2. Bestimmung der Assoziationen 3. Bestimmung der Attribute Im Folgenden: Begriffe und Vorgehen am Beispiel Buchungssystem SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (11/44)

12 Entwicklung des Objektmodells 1. Bestimmung relevanter Begriffe relevante Begriffe werden zu (Fach-)Klassen (und später: Attributen) zunächst alles als Klassen ( Objekttyp, Menge von gleichartigen Objekten) betrachten Heuristik: Substantiv Klasse physikalische Objekte Personen/Organisationen abstrakte Begriffe sowohl Klassen mit genau einer Instanz als auch solche mit vielen kommen vor SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (12/44)

13 Beispiel: Buchungssystem Allgemeines 1. Das Buchungssystem soll die Belegung von Räumen in einer Firma (oder der Uni) verwalten. 2. Gegeben ist eine Reihe von Gebäuden mit verschiedenartigen Räumen (Seminarräume, Besprechungsräume, Hörsäle etc.). Raumtyp 3. Die Räume unterscheiden sich nach Kapazität und Inventar (Beamer/Projektor/Tafel etc.). 4. Es wird ein Belegungsplan der Räume verwaltet. (Welcher Raum ist wann von wem für welche Veranstaltung belegt?) SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (13/44)

14 Beispiel: Buchungssystem Buchungen 1. Benutzer des Systems legt eine Buchung pro Veranstaltung an. 2. Buchungen bestehen aus einem oder mehreren Terminen, die einen Raum zu einem festen Zeitpunkt für eine gewisse Dauer belegen. 3. Eine Buchung wird angelegt als Einzelbuchung: genau ein Raum wird zu einem Termin belegt periodische Buchung: regelmäßige Termine (jede Woche) Mehrfachbuchung: Mehrere Räume zu einem Termin (für Großveranstaltung, Tutorien) 4. Es soll möglich sein, ganze Buchungen oder auch nur einzelne Termine zu ändern (Zeit/Ort verlegen, streichen, erweitern etc.). SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (14/44)

15 Beispiel: Buchungssystem Rechte 1. Das System ist ein Einzelplatzsystem (keine parallelen Clients). 2. Es gibt aber verschiedene Benutzer, die sich mit Passwort anmelden. 3. Benutzer können nur eigene Buchungen anlegen/ändern/löschen. 4. Benutzer können nur zukünftige Termine ändern. 5. Es gibt einen Administrator, der alle Buchungen ändern darf. SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (15/44)

16 Beispiel: Buchungssystem Anlegen von Buchungen 1. Beim Anlegen (oder auch Ändern) einer Buchung gibt der Benutzer einen Buchungswunsch ein, wie die Buchung aussehen soll: welcher Zeitraum welche Dauer welche Kapazität und Mindestausstattung welcher Raum und welches Gebäude (meist egal) Raumwunsch als Teil des Wunsches 2. Das System macht Vorschläge, z.b. Raum 1005 ist von 10:00-15:00 Uhr für eine Stunde frei. 3. Benutzer wählt dann die konkrete Stunde. SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (16/44)

17 Entwicklung des Objektmodells 2. Bestimmung relevanter Beziehungen relevante Beziehungen zwischen Objekten werden zu Assoziationen zwischen Klassen Assoziationen beschreiben Mengen von Objektpaaren verschiedene typische Fälle: 1. physikalische Beziehungen: Gebäude enthält Raum 2. Elementbeziehung: Termin ist Element von Buchung 3. Spezialisierung/Generalisierung 4. Wissen Beziehungen dauern an, sind zu speichern reine Aktionen, dynamisches Verhalten, Kommunikation mit dem System wird nicht als Assoziation modelliert: Benutzer gibt Raumwunsch ein SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (17/44)

18 2. Bestimmung relevanter Beziehungen Physikalische Beziehungen benachbart_zu Nachbar * Gebäude * Bezug Termin * findet_statt_in 1 Raum mögliche Kardinalitäten: 1, 0..3, * geben an, wie viele Objekte zu einem Objekt in Relation stehen können * : beliebig viele, + als Abkürzung für 1..* SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (18/44)

19 2. Bestimmung relevanter Beziehungen Elementbeziehung ist (physikalisch oder logisch) enthalten in, ist Bestandteil von Komposition und Aggregation Buchung * Termin Gebäude * Raum * Inventar SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (19/44)

20 2. Bestimmung relevanter Beziehungen Spezialisierung Spezialisierung/Generalisierung:... ist ein... Buchungswunsch Mehrfachwunsch periodischer Wunsch Einzelwunsch Zusätzliche Angaben: {disjoint}, {overlapping}, {complete}, {incomplete} SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (20/44)

21 2. Bestimmung relevanter Beziehungen Wissen A muss B kennen, damit Vorgänge sinnvoll durchgeführt werden können ( needs to know ). Raumwunsch 1 zulässige Räume 1..* Raum Der Raumwunsch muss die zulässigen Räume kennen sonst können keine Vorschläge berechnet werden. Termin muss den Raum kennen, den er belegt (1:1). Benutzer muss die Buchungen kennen, die ihm gehören. SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (21/44)

22 Entwicklung des Objektmodells 3. Festlegung der Attribute Attribute sind charakteristische Merkmale der Objekte eines Konzepts. Ob ein Merkmal eher ein Attribut oder ein Konzept (Klasse) ist, ist nicht immer eindeutig. Im Zweifel zunächst eher eine Klasse. Klassen sollten in Attribute gewandelt werden, wenn die Objekte der Klasse keine eigene Identität haben (zweimal das selbe Datum sollte nicht unterschieden werden). typisch für Attribute sind primitive Datentypen wie: boolean, int, String, Aufzählungstypen (Farbe, Wochentag, etc.) Attribute für zusammengesetzte Datentypen nur, wenn nicht weiter analysiert: Datum, Adresse, etc. Mindestanforderung für die Umwandlung einer Klasse in ein Attribut: Klasse kommt nur in 1:*-Beziehungen vor SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (22/44)

23 Objektmodell für Buchungssystem SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (23/44)

24 Bestimmung der Systemschnittstelle Festlegung, welche Konzepte (Klassen) zum System gehören, und welche außerhalb liegen. (System object model) Einzeichnen durch geschlossene, gestrichelte Kurve. Festlegung hängt von der intendierten Funktionalität ab. Beispiel Buchungssystem: alle Konzepte liegen innerhalb der Systemgrenze. SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (24/44)

25 Analyse Weitere Hinweise Die GUI, also wie die Daten präsentiert werden, ist unerheblich für die statische Analyse. also: keine Klassen für Oberfläche wie Mitarbeiterfenster erst Szenarien, Abläufe, Lebenszyklen bestimmen (ohne genaues Aussehen der Fenster), danach GUI-Design Eine Datenbank spielt ebenfalls keine Rolle in der Analyse (Abbildung Objekte auf Datenbank durch Persistenzschicht) SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (25/44)

26 Data Dictionary (1) Das Data Dictionary dient zur Dokumentation aller bei der Entwicklung des Systems verwendeten (eindeutigen) Begriffe. ohne Glossar sind die Diagramme kaum zu verstehen zentrale Stelle zum Nachschlagen vermeidet Inkonsistenzen bei großen Entwicklerteams, die Teile unabhängig voneinander entwickeln wichtig, um die Begriffe der Modelle zu erklären für später hinzu kommende Entwicker für spätere Wartung erleichtert die Erstellung der Dokumentation SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (26/44)

27 Data Dictionary (2) Das Data Dictionary ist zentrale Ablage und ein Nachschlagewerk von Begriffsdefinitionen und Konzepten. Sämtliche relevante Informationen, die in den Diagrammen keinen Platz finden, werden hier gesammelt. Es enthält u. a. Definitionen für Agenten, Klassen, Attribute, Assoziationen, Invarianten, Systemoperationen, Prädikate, Events. SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (27/44)

28 Data Dictionary (3) Form der Einträge 3 Spalten: Name Typ (Klasse, Assoziation,... ) Beschreibung Hinweise intuitive Namen verwenden Beschreibung sollte nicht den Inhalt des Objektmodells wiederholen Einheitliche Sprache (Deutsch oder Englisch, wie vom Kunden gefordert) SoPra 2008 Kap. 3.3: Statische Analyse mit FUSION Das Objektmodell (28/44)

29 Kapitel 3.4: Beispiel: Data Dictionary für das Buchungssystem (1) Name Typ Beschreibung Raum Klasse Beschreibt einen buchbaren Ort Gebäude BW Mehrfachbuchung BW Einzelbuchung BW periodische Buchung Klasse Klasse Klasse Klasse übergreifendes Strukturierungsmerkmal für Räume Hält die für eine Mehrfachbuchung nötigen Merkmale eines BW fest. Hält die für eine Einzelbuchung nötigen Merkmale eines BW fest. Hält die für eine periodische Buchung nötigen Merkmale eines BW fest. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (29/44)

30 Buchungssystem: Analyse, data dictionary (2) Name Typ Beschreibung Buchung Termin Benutzer Klasse Klasse Klasse Im System gespeicherte Reservierung von Räumen für eine Veranstaltung mit einem oder mehreren definierten Terminen. Ein Termin steht für einen gebuchten oder einen buchbaren Zeitraum an einem bestimmten Tag. Benutzer des Systems. Authentisiert sich gegenüber dem System. Veranlasst Buchungen. Wird über erfolgreiche Buchungen informiert. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (30/44)

31 Buchungssystem: Analyse, data dictionary (3) Name Typ Beschreibung Administrator Klasse Ein Benutzer des Systems mit speziellen Rechten zur Benutzer- und Rechteverwaltung. Gesamtbelegungsplan Klasse Gesamtverzeichnis der Buchungen aller Benutzer. Diese Buchungen sind konsistent. Konsistent Invariante Buchungen sind konsistent, wenn sie untereinander terminlich konfliktfrei sind und die Wünsche der Benutzer erfüllen. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (31/44)

32 Buchungssystem: Analyse, data dictionary (4) Name Typ Beschreibung Buchungswunsch Klasse Wunsch des Benutzers bzgl. Zeit, Dauer, Raum und Inventar für eine bestimmte Veranstaltung. Anforderungen können eng oder weit formulierbar sein. Je weiter sie sind, desto höher sind die Erfolgschancen. Ein Buchungswunsch ist entweder ein Wunsch über eine Einzelbuchung, eine periodische Buchung oder eine Mehrfachbuchung (Aufteilung vollständig und disjunkt). SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (32/44)

33 Buchungssystem: Analyse, data dictionary (5) Name Typ Beschreibung BW Mehrfachbuchung Klasse Ein Mehrfachbuchungswunsch bezieht sich auf eine Veranstaltung, die einmal, aber aufgeteilt in mehreren Räumen stattfindet. BW Einzelbuchung Klasse Ein Einzelbuchungswunsch bezieht sich auf eine Veranstaltung mit einem Termin. BW periodische Buchung Klasse Ein periodischer Buchungswunsch bezieht sich auf eine Veranstaltung, die regelmäßig zu bestimmten Termin stattfinden soll. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (33/44)

34 Buchungssystem: Analyse, data dictionary (6) Name Typ Beschreibung Raumwunsch Klasse Anforderungen an einen Raum bzgl. Kapazität, Typ, Gebäude und Inventar. Inventar Klasse Speichert, welche Ausrüstungsgegenstände sich in einem buchbaren Raum befinden (z.b.: Beamer, Projektor, Tafel) Gebäude Klasse Nennt Lage und Räume. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (34/44)

35 Buchungssystem: Analyse, data dictionary (7) Name Typ Beschreibung Raum Klasse Beschreibt Kapazität, Nummer, Typ und Inventar. Buchungsvorschlag Klasse Antwort des Systems auf den Buchungswunsch eines Benutzers. Es kann mehrere Vorschläge zur Auswahl geben. Raumbelegungsplan Klasse Gibt für einen Zeitraum die Belegung eines Raumes an. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (35/44)

36 Buchungssystem: Analyse, data dictionary (8) Name Typ Beschreibung Gehört Assoziation Welcher Benutzer für eine Buchung verantwortlich ist. Macht Assoziation Welcher Benutzer einen Buchungswunsch erzeugte. GebuchtMit Assoziation Aus welchem Buchungswunsch eine Buchung hervorging. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (36/44)

37 Buchungssystem: Analyse, data dictionary (9) Name Typ Beschreibung Enthält Assoziation Aus welchen Buchungen der Raumbelegungsplan hervorging. Für Assoziation Zu welchem Raum ein Raumbelegungsplan gehört. FindetStattIn Assoziation Der Raum zu einem Termin. ZulässigeGebäude Assoziation Alle möglichen Gebäude zu einem Raumwunsch. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (37/44)

38 Buchungssystem: Analyse, data dictionary (10) Name Typ Beschreibung ZulässigeRäume Assoziation Alle für einen Raumwunsch möglichen Räume. Benötigt FändeStattIn ErfülltDurch Assoziation Assoziation Assoziation Welches Inventar bei einem Raumwunsch gebraucht wird. In welchem Raum ein Termin (der zu diesem Zeitpunkt noch Teil eines BVs ist) stattfinden könnte, wenn der BV akzeptiert werden würde. Aus welchem Buchungswunsch ein Buchungsvorschlag hervorging. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (38/44)

39 Buchungssystem: Analyse, data dictionary (11) Name Typ Beschreibung Nutzerkennung Attribut Eindeutige systeminterne Identifikation eines Benutzers. Name Attribut Name und Vorname eines Benutzers, mit der Benutzer angesprochen wird. Attribut adresse eines Benutzers, die zur Benachrichtigung verwendet wird. Passwort Attribut Zur Identifikation passende Zugangsbeschränkung. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (39/44)

40 Buchungssystem: Analyse, data dictionary (12) Name Typ Beschreibung Titel Attribut Name einer Buchung oder Veranstaltung. Beschreibung Attribut Enthält zusätzliche Informationen über eine Buchung/ Veranstaltung. Zeitraum(Gebucht/Buchbar) Attribut Festgelegter (Buchung) oder möglicher (Buchungsvorschlag) Zeitraum. ErfassterZeitraum Attribut Zeitraum, für den der Raumbelegungsplan erstellt wird. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (40/44)

41 Buchungssystem: Analyse, data dictionary (13) Name Typ Beschreibung Kapazität Raumnummer Attribut Attribut Die Anzahl an Personen, die in einem Raum Platz finden. Die Identifikation eines Raums innerhalb eines Gebäudes. Raumtyp HatBeamer Attribut Attribut Informationen über den Typ eines Raums (Seminarraum, Hörsaal, Besprechungsraum, Computerraum etc.). Speichert, ob ein Raum mit einem Beamer ausgestattet ist. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (41/44)

42 Buchungssystem: Analyse, data dictionary (14) Name Typ Beschreibung HatProjektor Attribut Ob ein Raum mit einem Projektor ausgestattet ist. HatTafel Attribut Ob ein Raum mit einer Tafel ausgestattet ist. GeeigneterZeitraum Attribut Angabe eines Benutzers, in welchem Zeitraum seine Buchung liegen sollte. BenötigteKapazität Attribut Angabe eines Benutzers, wieviele Personen in dem zu buchenden Raum Platz finden sollen. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (42/44)

43 Buchungssystem: Analyse, data dictionary (15) Name Typ Beschreibung BenötigteDauer Attribut Speichert, wie lange der Raum benötigt wird. GeeigneteRaumtypen Attribut Enthält Informationen über die Art des angeforderten Raumes. Adresse Attribut Die Anschrift eines Gebäudes. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (43/44)

44 Buchungssystem: Analyse, data dictionary (16) Name Typ Beschreibung ZulässigeWochentage Attribut Speichert, welche Wochentage für Buchungsvorschläge überhaupt in Frage kommen. Seriendauer Attribut Über welchen Zeitraum (Wochen, Monate) eine periodische Buchung laufen soll. SoPra 2008 Kap. 3.4: Statische Analyse mit FUSION Beispiel: Data Dictionary (44/44)

Software-Projekt. Sommersemester 2010. Kurt Stenzel, Hella Seebach. Lehrstuhl für Softwaretechnik und Programmiersprachen

Software-Projekt. Sommersemester 2010. Kurt Stenzel, Hella Seebach. Lehrstuhl für Softwaretechnik und Programmiersprachen Software-Projekt Sommersemester 2 Kurt Stenzel, Hella Seebach Lehrstuhl für Softwaretechnik und Programmiersprachen Kapitel : Organisatorisches SoPro 2 : Organisatorisches (/) Darum geht es im SoPro: Ziele

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 2 Aufgabe 1 (Konzeptmodell: Klassen) Finden der Konzepte Nominalphrasenmethode

Mehr

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30)

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Kapitel 4: Dynamische Analyse mit FUSION SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Dokumente der dynamischen Analyse Analyse des Systemverhaltens (dynamischer Aspekt). Zu entwickeln sind:

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Softwareprojekt. Kapitel 0 : Organisatorisches. Kurt Stenzel, Hella Seeebach

Softwareprojekt. Kapitel 0 : Organisatorisches. Kurt Stenzel, Hella Seeebach Softwareprojekt Kapitel 0 : Organisatorisches Kurt Stenzel, Hella Seeebach Organisatorisches DARUM GEHT ES IM SOPRO: ZIELE Softwareprojekt - Kapitel-0 2 Darum geht es im SoPro: Ziele Vermitteln eines methodischen,

Mehr

Kurzeinführung in UML

Kurzeinführung in UML Kurzeinführung in UML Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von Softwaresystemen. Der Grundgedanke bei UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete

Mehr

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Kapitel 6: Objektinteraktionsgraphen. SoPra 2008 Kap. 6: Objektinteraktionsgraphen (1/24)

Kapitel 6: Objektinteraktionsgraphen. SoPra 2008 Kap. 6: Objektinteraktionsgraphen (1/24) Kapitel 6: Objektinteraktionsgraphen SoPra 2008 Kap. 6: Objektinteraktionsgraphen (1/24) Kapitel 6.1: Überblick Objektinteraktionsgraphen (OIGs): UML Kommunikationsdiagramme Definition Notation Beispiel

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

3. Objektorientierte Analyse

3. Objektorientierte Analyse 3. Objektorientierte Analyse 3. Systemanalyse Witzfrage (nach Booch 9): Welches ist der älteste Beruf: Arzt, Bauingenieur oder Systemanalytiker? Anforderungsanalyse Analyse Anforderungs- Ermittlung Anforderungs-

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Vorgehen, Modellstruktur und Spezifikationsdokument - Ein Fazit Burkhardt Renz THM, Fachbereich MNI Wintersemester 208/9 Übersicht Vorgehen Struktur des Modells Metamodell Generierung

Mehr

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

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

Mehr

5.2 Entity-Relationship-Modell

5.2 Entity-Relationship-Modell 5.2 Entity-Relationship-Modell Mod-5.8 Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende

Mehr

Datenstrukturen -- die komplexe Welt in FileMaker Feldern beschreiben

Datenstrukturen -- die komplexe Welt in FileMaker Feldern beschreiben FileMaker Konferenz2010 Datenstrukturen -- die komplexe Welt in FileMaker Feldern beschreiben Modellbildung und Datendefinition für FileMaker Entwickler. * dr.filemaker@mac.com FileMaker Konferenz2010

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle

Mehr

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht)

Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Kapitel 3: Hörsaalbeispiel Klassendiagramm (Analysesicht) Anforderungen In einer Hochschulverwaltung sind mehrere Personengruppen tätig. Die Hochschule hat Angestellte, die Professoren, Labor-Ingenieure,

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Das konzeptionelle Datenmodell

Das konzeptionelle Datenmodell Das konzeptionelle Datenmodell Signifikanz der Datenmodellierung Anforderungsanalyse Effizienz der Anwendung. Redundanzfreiheit. Datenintegrität. Reibungsarme Umsetzung des Datenmodells in das physikalische

Mehr

MODELLIERUNG UND SPEZIFIKATION

MODELLIERUNG UND SPEZIFIKATION MODELLIERUNG UND SPEZIFIKATION EINE ZUSAMMENFASSUNG JAN SÜRMELI T o P THEORY OF PROGRAMMING INHALTSVERZEICHNIS 2 ALLGEMEINES UML: OBJEKTORIENTIERTE MODELLIERUNG CASL: ALGEBRAISCHE SPEZIFIKATION PETRINETZE:

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model FB Informatik Datenbanken und Verteilte Systeme Arthur Herzog 1 Entity Relationship Model FB Informatik Datenbanken und

Mehr

1. Informationen zum Dokument

1. Informationen zum Dokument Inhaltsverzeichnis 1. Informationen zum Dokument...3...4 2.1. Vorbereitung:...4 2.2. Übungen Softwareinstallation an einzelnen Clients...4 2.2.1. Installation des Programms firefox automatisiert beim nächsten

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

VU Objektorientierte Modellierung Übung 2

VU Objektorientierte Modellierung Übung 2 VU Objektorientierte Modellierung Übung 2 Übungsgruppen: 2.4.2008-25.4.2008 Aufgabe : Objektdiagramm Gegeben ist folgendes Objektdiagramm: z = :A w = 3 :B x = 8 :C z = 2 :A w = 4 :B y = 9 :E w = 5 :B x

Mehr

Datenbanken. Teil 2: Informationen. Kapitel 2: Einführung. Zusammenfassung der Grundbegriffe. Übersicht über wichtige Grundbegriffe:

Datenbanken. Teil 2: Informationen. Kapitel 2: Einführung. Zusammenfassung der Grundbegriffe. Übersicht über wichtige Grundbegriffe: Datenbanken Einführung Seite 1 von 17 Datenbanken Teil 2: Informationen Kapitel 2: Einführung Zusammenfassung der Übersicht über wichtige : 1. Merkmal,, 2., 3., 4., nname 5. Beziehungstabelle, zusammengesetzter

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Vorlesung 3 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen

Mehr

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

D1: Relationale Datenstrukturen (14)

D1: Relationale Datenstrukturen (14) D1: Relationale Datenstrukturen (14) Die Schüler entwickeln ein Verständnis dafür, dass zum Verwalten größerer Datenmengen die bisherigen Werkzeuge nicht ausreichen. Dabei erlernen sie die Grundbegriffe

Mehr

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

Mehr

VU Objektorientierte Modellierung Übung 1

VU Objektorientierte Modellierung Übung 1 VU Objektorientierte Modellierung Übung Übungsgruppen: 3..2008-7..2008 Aufgabe : Strukturmodellierung mittels Klassendiagramm Theoriefragen Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem

Mehr

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009 Name Vorname Matrikelnummer Universität Zürich Informatik IIa: Modellierung Frühlingssemester 2009 Assessment Prüfung 5. Juni 2009 Für den Test stehen Ihnen 30 Minuten zur Verfügung. Verwenden Sie nur

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

Datenbanken II A: Datenbank-Entwurf Klausur

Datenbanken II A: Datenbank-Entwurf Klausur Prof. Dr. Stefan Brass 19. Februar 2015 Institut für Informatik MLU Halle-Wittenberg Datenbanken II A: Datenbank-Entwurf Klausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Konzeptueller

Mehr

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

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 22. März 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [

Mehr

ERM Modellierung Teil 2

ERM Modellierung Teil 2 ERM Modellierung Teil 2 Oliver Berthold Frank Huber Heiko Müller Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Generalisierung / Spezialisierung Mehrstellige Beziehungen Lehr-

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 07.05.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung zu Kapitel 3: Von (E)ER nach UML Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den Videos wissen

Mehr

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

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 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Einführung in die Datenorganisation. Informationssysteme

Einführung in die Datenorganisation. Informationssysteme Einführung in die Datenorganisation Informationssysteme Informationen Sind Kenntnisse über Sachverhalte Daten sind abgelegte Informationen Nachrichten sind Informationen zur Weitergabe Drei Betrachtungsebenen

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein

Blöcke. Block Definitionsdiagramm. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition: Block (Systembaustein) Eine Block beschreibt den Aufbau, die Eigenschaften und das Verhalten einer Komponente (eines Systems)

Mehr

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

Assoziationen in Java

Assoziationen in Java Assoziationen in Java Michael Dienert 16. Oktober 2018 1 Wiederholung: Gerneralisierung und Vererbung Gerneralisierung ist das Gegenteil von Vererbung: Eine spezielle Klasse erbt von der allgemeineren

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Anwendungsentwicklung Datenbanken Datenbankentwurf. Stefan Goebel

Anwendungsentwicklung Datenbanken Datenbankentwurf. Stefan Goebel Anwendungsentwicklung Datenbanken Datenbankentwurf Stefan Goebel Warum eine Datenbank? Nutzung von gleichen Daten durch viele Anwender auch an unterschiedliche Orten Daten können mit unterschiedlicher

Mehr

Disclaimer. 1 Allgemeine Grundlagen (8 Punkte) (3 Punkte) (3 Punkte) (2 Punkte)... 2

Disclaimer. 1 Allgemeine Grundlagen (8 Punkte) (3 Punkte) (3 Punkte) (2 Punkte)... 2 Disclaimer Dieser Braindump ist nach bestem Wissen und Gewissen erstellt, dennoch kann für Richtigkeit nicht garantiert werden. Siehe auch den zugehörigen Thread im FSI-Forum. Alle Aufgaben sind selbstverständlich

Mehr

Informatik IIa: Modellierung

Informatik IIa: Modellierung Informatik IIa: Modellierung Frühlingssemester 2014 Übung 2: Datenmodelle Kapitel 3 Ausgabe: 07.03.2014 Abgabe: 21.03.2014 Name: Matrikelnummer: Aufgabe 1 Theorie von Datenmodellen (9 Punkte) Frage 1 (8

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................

Mehr

Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme

Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme I Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme Abgabetermin: 11. Juni 24.00 Uhr Per e-mail an Tutor Seite 1 / 9 Aufgabe 1 (3%) Klassendiagramme von einer abstrakten Klasse können keine

Mehr

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Objektorientierte Analyse am Beispiel Silent Kitchen Company Objektorientierte Analyse am Beispiel Silent Kitchen Company Anforderungsanalyse Die objektorientierte Analyse (OOA) beginnt mit der Anforderungsanalyse. Es soll der Problemraum erkannt, erfasst und definiert

Mehr

6.3 Entity-Relationship-Modell. Einführendes Beispiel

6.3 Entity-Relationship-Modell. Einführendes Beispiel 6.3 Entity-Relationship-Modell Entity-Relationship-Modell, ER-Modell (P. Chen 1976): Kalkül zur Modellierung von Aufgabenbereichen mit ihren Objekten, Eigenschaften und Beziehungen. Weitergehende Zwecke:

Mehr

Realität zu modellieren eine

Realität zu modellieren eine Objektorientierung Objektorientierung ist zunächst einmal eine Möglichkeit, Realität zu modellieren dem menschlichen Denken ähnliche Art, an Probleme heran zu gehen Objektorientierung ist eine Vorgehensweise

Mehr

Thema 3 Das UML- Metamodell

Thema 3 Das UML- Metamodell SE Vertiefung Beuth-Hochschule Berlin Thema 3 Das UML- Metamodell Ecore passte auf eine Seite (c) schmiedecke 11 SE3-3-UML-Superstructure 2 http://download.eclipse.org/modeling/emf/emf/javadoc/2.7.0/org/eclipse/emf/ecorel

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 1 Aufgabe 1 (MagicDraw / UML Use Cases) (20/15 Punkte) Vorbemerkung: Use Cases

Mehr

Objektorientierung in Oracle

Objektorientierung in Oracle Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Benutzerhandbuch (Lehrer)

Benutzerhandbuch (Lehrer) (Lehrer) Internetportal Berufsfelder erkunden Version: 2.0 Datum: 26. Februar 2015 2.2015 Seite 1 von 12 Inhaltsverzeichnis Inhaltsverzeichnis 2 Lehrer 3 Anmeldung 3 Erstmalige Anmeldung 4 Abmelden 4 Aufgaben

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr

Am Anfang werden die Attribute deklariert public class Kreis {

Am Anfang werden die Attribute deklariert public class Kreis { Klassendiagramm Kreis Entwerfen Sie ein Klassendiagramm der Klasse Kreis mit allen Attributen und min. drei Methoden. public class Kreis { sichtbar Platz für Atributeund Methoden protected int xposition;

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Eine Klassen-Deklaration besteht folglich aus Deklarationen von:

Eine Klassen-Deklaration besteht folglich aus Deklarationen von: Zusammenfassung: Eine Klassen-Deklaration besteht folglich aus Deklarationen von: Attributen für die verschiedenen Wert-Komponenten der Objekte; Konstruktoren zur Initialisierung der Objekte; Methoden,

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS05 27.04.

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS05 27.04. Grundlagen der UML-Modellierung Modellierung Elena Paslaru paslaru@inf.fu-berlin.de Inhalt Einführung konzeptuelle Modellierung Die Sprache UML Grundlegende Modellierung mit UML Modellierungsprimitiven

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Einführung in Datenbanken. Definition einer Datenbank. Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt:

Einführung in Datenbanken. Definition einer Datenbank. Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt: Einführung in Datenbanken Definition einer Datenbank Es gibt verschiedene Definitionen für eine Datenbank. Zwei Beispiele werden hier aufgeführt: Informatikduden: "Eine Datenbank (auch Datenbanksystem)

Mehr

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014 Daten Bank 2. Vorlesung Dr. Karsten Tolle PRG2 SS 2014 Letzte Vorlesung Grundbegriffe SQL create table insert select Dr. Karsten Tolle PRG2 SS 2014 2 Heute Übersicht Modellierung (ER-Diagramme) Entitäten

Mehr

Softwarepraktikum: Enigma

Softwarepraktikum: Enigma Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,

Mehr

Blöcke Strukturelemente. Dr. Beatrice Amrhein

Blöcke Strukturelemente. Dr. Beatrice Amrhein Blöcke Strukturelemente Block Definitionsdiagramm Dr. Beatrice Amrhein Definition Ein Block Definitionsdiagramm (oder Blockdiagramm) o zeigt die statische Struktur des Systems, o beschreibt, welche Systembausteine

Mehr

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML The role of UML Theoretical model model for comparison calibration verification Empirical model model of deduction induction Generating

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Buchung von Hallenstunden

Buchung von Hallenstunden Buchung von Hallenstunden Diese kurze Einführung erläutert Ihnen alle wichtigen Funktionen des Buchungssystems. Über den Schalter Hilfe Ein? (oben rechts auf dem Bildschirm) erhalten Sie über die Online-Hilfe

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

Mehr