Fundamentals of Software Engineering 1



Ähnliche Dokumente
Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Inhaltsverzeichnis. 1. Fragestellung

Datenbankmodelle 1. Das Entity-Relationship-Modell

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

4 Grundlagen der Datenbankentwicklung

ER-Modell. Entity-Relationship-Model

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Das Entity-Relationship-Modell

Kapitel 04 Strukturiertes Entity-Relationship-Modell. 4 Strukturiertes Entity-Relationship- Modell

Übung Datenbanksysteme

SWE5 Übungen zu Software-Engineering

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Allgemeines zu Datenbanken

Softwaretechnik (Allgemeine Informatik) Überblick

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Medizininformatik Software Engineering

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Professionelle Seminare im Bereich MS-Office

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Einführung in Datenbanken

3. Das Relationale Datenmodell

Willkommen zum DBS I Praktikum!

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen.

Datenbanken I - Übung 1

7. Analyse-Phase: Datenmodellierung Software Engineering

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

How to do? Projekte - Zeiterfassung

Geschäftsprozesse: Modellierung und Analyse

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

Relationale Datenbanken Datenbankgrundlagen

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Übungen zur Softwaretechnik

ABTEILUNGS- ABTEILUNGS- LEITER NAME

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Klausur Software-Engineering SS 2005 Iwanowski

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

Use Cases. Use Cases

7. Übung - Datenbanken

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Einführung in das Entity-Relationship-Modell

Klausur Software Engineering für WI (EuI)

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

macs Support Ticket System

Skriptenverkauf Datenmodell. Lars Trebing, 4. Juli 2008

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Datenbanken: Relationales Datenbankmodell RDM

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Themenblock 2: Datenmodellierung mit ERM

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Erstellen von x-y-diagrammen in OpenOffice.calc

Software Engineering Klassendiagramme Assoziationen

Data Quality Management: Abgleich großer, redundanter Datenmengen

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Übung 4. Musterlösungen

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

-Inhalte an cobra übergeben

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

UpToNet Workflow Workflow-Designer und WebClient Anwendung

1 Mathematische Grundlagen

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Vorlesung Dokumentation und Datenbanken Klausur

Datenbanken: ER-Modell

Benutzerverwaltung Business- & Company-Paket

Grundbegriffe der Informatik

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Fachhochschule Deggendorf Platzziffer:...

e LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen

Objektorientierte Datenmodelle und - verwaltung

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

Vom Entity-Relationship-Modell (ERM) zum relationalen Datenmodell (RDM)

Schulung FRBR Functional Requirements for Bibliographic Records

Vorlesung "Software-Engineering"

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Abschlussklausur am 12. Juli 2004

Datenbanken. Sommersemester 2010 Probeklausur

DOS-Sympas Scope Dateien in Excel einlesen

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

2. Datenmodellierung mit ERM. Motivation für Datenmodellierung. Begriffsklärung. Kardinalität/Komplexität von Beziehungstypen

Transkript:

Folie a: Name Fundamentals of Software Engineering 1 Grundlagen der Programmentwurfstechnik 1 Sommersemester 2012 Dr.-Ing. Stefan Werner Fakultät für Ingenieurwissenschaften Folie 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle 2.4 Datenmodelle 2.4.1 Überblick Datenmodelle 2.4.2 Das Entity Relationship Modell 2.4.3 Das Entity Relationship Diagramm 3 Strukturierte Analyse 4. Strukturierter Entwurf (SE) 5. Benutzersschnittstellen 6. Softwaretest Folie 2 1

2. Allgemeine 2.4 Datenmodellierung Reale Welt Folie 3 2. Allgemeine 2.4 Datenmodellierung Ebenenarchitektur bei der Datenmodellierung Reale Welt Schnittstellen definition Ausgangspunkt für Datenhaltung Transformations regeln Transformations regeln Datenbanksystem Folie 4 2

2.4 Datenmodellierung - Betrachtungsebene für Daten - 1. Reale Welt rad Abstraktionsg 2. verbale Beschreibung der realen Welt 3. Modell der realen Welt 4. Konzeptionelles Datenmodell 5. Logisches Datenmodell 6. Gespeicherte Information 7. Speichermedium Folie 5 2. Allgemeine 2.4 Datenmodellierung 3-Ebenenmodell rad Abstraktionsg Externe Ebene Konzeptionelle Ebene Interne Ebene Prinzipielle Bedeutung dieses Schemas ist die Trennung von Datenhaltung und Benutzer. Folie 6 3

2.4 Datenmodellierung Transformationsregeln Transformations regeln Transformations regeln Folie 7 2.4 Datenmodellierung Konzeptionelles Schema Folie 8 4

2.4 Datenmodellierung Externes Schema Folie 9 2.4 Datenmodellierung Internes Schema Folie 10 5

2.4 Datenmodellierung - Vorteile der Ebenentrennung - Folie 11 2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Das hierarchische Datenmodell hierarchisch definierte Baumstruktur ('Vater-Sohn'-Beziehung). sequentieller Zugriff auf die Daten, Beispiel: Struktur eines hierarchischen Datenmodells für den Aufbau einer Firma Der hierarchische Aufbau der Firma ist hier deutlich zu erkennen. Zuordnung eines Mitarbeiters zu mehreren Projekten jedoch nicht möglich => kompliziertere Beziehungen wie (m:m)-beziehungen sind nicht darstellbar. Folie 12 6

2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Das Netzwerkmodell erlaubt die Modellierung von Datentypen, die mehreren Hierarchien zuzuordnen sind. Vorteil: Mehrfachbeziehungen sind modellierbar Nachteil: Zugriff auf die Daten nicht ausschließlich sequentiell Beispiel: Struktur eines Netzwerkmodells für den Aufbau einer Firma jetzt auch Zuordnung eines Mitarbeiters zu mehreren Projekten möglich Datenzugriff komplexer als beim HDM Folie 13 2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Das Relationenmodell ähnliche Datentypen werden zu Tabellen zusammengefaßt Zeilen der Tabellen werden als Tupel bezeichnet, das durch seine Attribute gekennzeichnet ist (Spalten der Tabelle) Relationen werden solange in mehrere kleine Relationen zerlegt, bis keine Redundanz mehr vorhanden ist => Normalisierung bezeichnet => Hierbei geht die Struktur eines Datentyps verloren. Beispiel: Tabellen eines Relationenmodells für den Aufbau einer Firma Folie 14 7

2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Das Relationenmodell Vorteile leichte Lesbarkeit: Der Mitarbeiter Herr Meier hat die Personalnummer 1427, bekommt ein Gehalt von 3.217,33DM Beziehungen: Mitarbeiter ist tin Abteilungen 3-1 1beschäftigt t Nachteile: Hoher Verlust an Semantik: Unterscheidung zwischen Objekten und Relationen nicht möglich => flache Darstellung Folie 15 2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Das Entity Relationship Modell Erweiterung des Relationenmodells Das ERM erlaubt die Darstellung von Entitäten ("eindeutig identifizierbare i 'Dinge' unserer Vorstellungswelt" [CHE 76]) und deren Beziehungen (relationships) untereinander Insgesamt mehr Semantik Firma 1 hat Beispiel: ERM für den Aufbau einer Firma n 1 Abteilung 1 bearbeitet n Projekt n arbeitet in n Mitarbeiter 1 arbeitet für Folie 16 8

2.4 Datenmodelle 2.4.1 Überblick Datenmodelle Datenmodellierung mit UML (Unified Modelling Laguage) Modellierungssprache zur objektorientierten Modellierung eines Anwendungssystems für die Phasen Analyse und Design unterstützt mehrere Phasen des Software Life-Cycles: Analyse, Entwurf, Dokumentation besteht aus verschiedenen Sichten / Diagrammen (statische, dynamische) Einsatz bei der Datenmodellierung: konzeptionelle Datenmodellierung (basierend auf ähnliche Konzepten wie ERD) Folie 17 2.4.2 Das Entity Relationship Modell -Historie- Das Entity-Relationship-Modell kurz: ER-Modell bzw. ERM wurde 1976 von Peter Chen vorgeschlagen Standardmodell für frühe Entwurfsphasen in der Datenbankentwicklung mittlerweile existieren viele Varianten und Erweiterungen eingesetzt auch in anderen Bereichen der Informatik Eigenschaften Grundkonzepte Entity und Relationship werden als natürlich und trotz ihrer Einfachheit als ausreichend für viele Situationen empfunden unterstützt verschiedene Abstraktionsmechanismen (Klassifikation, Aggregation und Verallgemeinerung) starre Informationsstruktur, d. h., Ausrichtung auf große Datenmengen Definition von statischen Eigenschaften und Integritätsbedingungen Folie 18 9

2.4.2 Das Entity Relationship Modell -Elemente - 1. Entity, Entity Set, Entity-Typ, Objekt der realen oder einer virtuellen Welt, bzgl. dem Informationen zu speichern sind. Man abstrahiert ähnliche Objekte zu einem Entity-Typ. 2. Relationship, Relationship Set, Beziehungstyp Beziehung zwischen Entities. Man abstrahiert die Beziehung zwischen Entity-Typen zu einem Beziehungstyp. 3. Attribut Eigenschaft von Entities oder Beziehungen. Attribute sind von einem bestimmten Typ und haben Werte. 4. Rolle Dokumentiert die Rolle eines Objektes (Entity) in einer Beziehung (Relationship). Folie 19 2.4.2 Das Entity Relationship Modell - 1:1 Beziehungen - jedem Entity vom Typ E1 ist maximal eine Entity vom Typ E2 zugeordnet und umgekehrt Beispiel: Ein Mann ist mit maximal einer Frau verheiratet und jede Frau mit maximal einem Mann Folie 20 10

2.4.2 Das Entity Relationship Modell - 1:n Beziehungen - jedem Entity vom Typ E1 können beliebig viele Entities vom Typ E2 zugeordnet sein, aber zu jedem Entity aus E2 gibt es maximal ein Entity aus E1 Beispiel: ein Verlag ist Herausgeber von n Büchern, bzw. ein Buch wird von höchstens einem Verlag herausgeben Folie 21 2.4.2 Das Entity Relationship Modell - n:m Beziehungen - jedem Entity vom Typ E1 können beliebig viele Entities vom Typ E2 zugeordnet werden und jedem Entity vom Typ E2 können beliebig viele Entities vom Typ E1 zugeordnet werden Beispiel: In ein Buchladen können beliebig viele verschiedene Bücher verkauft werden und jedes Buch kann in beliebig vielen, verschiedenen Shops verkauft werden. Folie 22 11

2.4.2 Das Entity Relationship Modell - Erweiterte Kardinalitätsrestriktionen - Einschränkungen der bisher kennen gelernten Kardinalitäten: 1:1 bedeutet höchstens eins aber genau eins kann nicht ausgedrückt werden spezifische Restriktionen wie z.b. ein Kind hat genau zwei biologische Eltern oder ein Fahrzeug hat mindestens 2 aber maximal 4 Räder) können nicht ausgedrückt werden. Hierfür: Verwendung einer Min/Max-Notation i Folie 23 2.4.2 Das Entity Relationship Modell - (min, max)-beziehungen - die mögliche Anzahl von Instanzen der beteiligten Entity-Typen an einer Beziehung wird eingeschränkt, indem ein minimaler und ein maximaler Wert definiert wird Für e1є E1 und e2 Є E2 gilt: e1 nimmt an mindestens min1 und höchstens max1 Beziehungen vom Typ R teil e2 nimmt an mindestens min2 und höchstens max2 Beziehungen vom Typ R teil Beispiel: Jedes Rad eines Entity-Sets E1 gehört zu keinem oder genau einem Fahrzeug eines Entity-Sets E2. Jedes Fahrzeug des Entity Sets E2 besitzt 2 oder 4 Räder des Entity-Sets E1 Folie 24 12

2.4 Datenmodelle 2.4.3 Das Entity Relationship Diagramm Grafische Basissymbole des Entity Relationship Modells Folie 25 2.4.3 Das Entity Relationship Diagramm - IS-A und Hierarchie-Beziehung - Folie 26 13

2.4.3 Das Entity Relationship Diagramm -Beispiele: Einfache ERD- Folie 27 2.4.3 Das Entity Relationship Diagramm Beispiel/Übung 4: Bibliothek Aufgabe: Entwickeln Sie das ERD einer Bibliothek in der Bücher und Zeitschriften von den Benutzern ausgeliehen werden können. Die Bücher seien beschrieben durch ihre Buchkennung, ihren Titel, den Verlag und das Erscheinungsjahr. Zeitschriften werden ebenfalls als Bücher aufgefasst, es wird jedoch zusätzlich der Erscheinungszeitraum angegeben (täglich, wöchentlich etc.) Außerdem sollen Benutzerdaten erfasst werden und zwar der Name und Vorname, die Anschrift und das Datum seit dem der Benutzer über einen Benutzerausweis verfügt. Schließlich soll abgebildet werden, welche Bücher von einem Benutzer ausgeliehen sind, bzw. von welchem Benutzer ein Buch ausgeliehen ist. Folie 28 14

2.4.3 Das Entity Relationship Diagramm - Gleichwertigkeit der Darstellungen ERD <->ERM - ENTITY SET: Name : BUCH Attribute: Buchkng : - 1 - CHAR (7) Titel :-1 - CHAR (35) Verlag : - 1 - CHAR (35) Erscheinjahr: - 1 - INTEGER (4) KEY: BuchKng ENTITY SET: Name : ZEITSCHRIFTEN IS-A : BUCH Attribute: ErschgsZeitraum : - 1 - CHAR (15) KEY : BuchKng ENTITY SET Name : BENUTZER Attribute : BenutzerNr : - 1 - INTEGER Name : - 1 - CHAR (20) Vorname : - 1 - CHAR (20) Anschrift : - 1 - CHAR (50) MitgliedSeit: - 1 - DATE KEY : BenutzerNr RELATIONSHIP SET NAME : AUSGELIEHEN_VON ENTITY-SETS:BUCHBESTAND, BENUTZER TYP : n:1 Folie 29 2.4.3 Das Entity Relationship Diagramm Beispiel/ Übung 5: Klausuraufgabe SomSem 1993 Eine dreiköpfige Familie besteht aus den verheirateten Eltern und ihrem Sohn. Die Daten der einzelnen Familienmitglieder sind in den Entity-Sets PERSON, MANN und FRAU gespeichert. Zeichnen Sie in das ERD alle Beziehungskonstrukte, die zur Beschreibung der Beziehungen der einzelnen Familienmitglieder it untereinander nötig sind ein. Personal ausweisnr Name Vorname Geb. Datum IS-A Person IS-A Whdi Wehrdienst Mädchenname Mann Frau Folie 30 15

2.4.3 Das Entity Relationship Diagramm Beispiel/ Übung 6: Formel 1 Aufgabe: Es soll eine Formel 1 Saison mittels Entity Relationship Methode modelliert werden. Erfaßt werden sollen pro Rennen der Ort und das Datum, pro Fahrer der Name und die Startnummer, pro Team der Name. Gehen Sie davon aus, daß jedes Team bis zu zwei Fahrer hat und keine Fahrerwechsel innerhalb einer Saison zulässig sind. Pro Rennen soll die Plazierung jedes Fahrers festgehalten werden. Ergänzung: Das Datenmodell soll es erlauben, jederzeit den Stand der WM-Wertung(en) zu ermitteln (Punkte). Es gibt 10 Punkte pro Sieg, 6, 4, 3, 2, 1 für die Plätze 2, 3, 4, 5, 6. Folie 31 16